Compare commits
3 Commits
817b7d6774
...
8d6e9d61a1
Author | SHA1 | Date | |
---|---|---|---|
8d6e9d61a1 | |||
18aa6c8300 | |||
780423ab47 |
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@dzeio/schema",
|
||||
"version": "1.0.0",
|
||||
"version": "0.0.3",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@dzeio/schema",
|
||||
"version": "1.0.0",
|
||||
"version": "0.0.3",
|
||||
"dependencies": {
|
||||
"@dzeio/object-util": "^1.8.3",
|
||||
"@standard-schema/spec": "^1.0.0",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@dzeio/schema",
|
||||
"version": "0.0.2",
|
||||
"version": "0.0.3",
|
||||
"dependencies": {
|
||||
"@dzeio/object-util": "^1.8.3"
|
||||
},
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* eslint-disable id-blacklist */
|
||||
import { parseForm, parseFormData, parseQuery } from 'helpers'
|
||||
import SchemaAny from 'items/any'
|
||||
import SchemaDate from 'items/date'
|
||||
import SchemaRecord from 'items/record'
|
||||
import SchemaArray from './items/array'
|
||||
@ -45,6 +46,7 @@ export function parceable() {
|
||||
type SchemaItemStatic = new (...args: Array<any>) => SchemaItem
|
||||
|
||||
export const Types = {
|
||||
Any: SchemaAny,
|
||||
Array: SchemaArray,
|
||||
Boolean: SchemaBoolean,
|
||||
Date: SchemaDate,
|
||||
@ -79,6 +81,10 @@ export default class Schema<T extends Record<string, SchemaItem> = Record<string
|
||||
return this.registeredModules.find((it) => it.name === name)
|
||||
}
|
||||
|
||||
public static any() {
|
||||
return new SchemaAny()
|
||||
}
|
||||
|
||||
public static array<Type extends SchemaItem>(
|
||||
...inputs: ConstructorParameters<typeof SchemaArray<Type>>
|
||||
): SchemaArray<Type> {
|
||||
@ -232,10 +238,9 @@ export * from './helpers'
|
||||
export type * from './types.d.ts'
|
||||
|
||||
export {
|
||||
SchemaArray,
|
||||
SchemaAny, SchemaArray,
|
||||
SchemaBoolean, SchemaDate, SchemaEnum, SchemaItem, SchemaLiteral,
|
||||
SchemaNullable,
|
||||
SchemaNumber,
|
||||
SchemaObject, SchemaRecord, SchemaString,
|
||||
SchemaNumber, SchemaObject, SchemaRecord, SchemaString,
|
||||
SchemaUnion
|
||||
}
|
||||
|
7
src/items/any.ts
Normal file
7
src/items/any.ts
Normal file
@ -0,0 +1,7 @@
|
||||
import SchemaItem from '../SchemaItem'
|
||||
|
||||
export default class SchemaAny extends SchemaItem {
|
||||
public override isOfType(input: unknown): input is any {
|
||||
return true
|
||||
}
|
||||
}
|
@ -6,7 +6,7 @@ type ModelInfer<M extends Record<string, SchemaItem>> = {
|
||||
[key in keyof M]: SchemaInfer<M[key]>
|
||||
}
|
||||
|
||||
export default class SchemaObject<T extends Record<string, SchemaItem> = Record<string, SchemaItem>> extends SchemaItem<ModelInfer<T>> {
|
||||
export default class SchemaObject<T extends Record<string, SchemaItem> = any> extends SchemaItem<ModelInfer<T>> {
|
||||
public id = 'object'
|
||||
|
||||
public constructor(public readonly model: T) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user