Compare commits
2 Commits
614b7c0185
...
abfaedda2d
Author | SHA1 | Date | |
---|---|---|---|
abfaedda2d | |||
527b9a8394 |
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@dzeio/schema",
|
"name": "@dzeio/schema",
|
||||||
"version": "0.4.0",
|
"version": "0.4.1",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@dzeio/schema",
|
"name": "@dzeio/schema",
|
||||||
"version": "0.4.0",
|
"version": "0.4.1",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@dzeio/object-util": "^1.8.3",
|
"@dzeio/object-util": "^1.8.3",
|
||||||
"@standard-schema/spec": "^1.0.0",
|
"@standard-schema/spec": "^1.0.0",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@dzeio/schema",
|
"name": "@dzeio/schema",
|
||||||
"version": "0.4.0",
|
"version": "0.4.1",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@dzeio/object-util": "^1.8.3"
|
"@dzeio/object-util": "^1.8.3"
|
||||||
},
|
},
|
||||||
|
@ -17,7 +17,12 @@ export default class SchemaNullable<Type extends SchemaItem> extends SchemaItem<
|
|||||||
}
|
}
|
||||||
|
|
||||||
public override parse(input: unknown, options?: { fast?: boolean }): ValidationResult<SchemaInfer<Type> | undefined> {
|
public override parse(input: unknown, options?: { fast?: boolean }): ValidationResult<SchemaInfer<Type> | undefined> {
|
||||||
if (this.isNull(input)) {
|
const res = super.parse(input, options)
|
||||||
|
if (!res.valid) {
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.isNull(res.object)) {
|
||||||
return {
|
return {
|
||||||
valid: true,
|
valid: true,
|
||||||
object: undefined
|
object: undefined
|
||||||
@ -28,7 +33,7 @@ export default class SchemaNullable<Type extends SchemaItem> extends SchemaItem<
|
|||||||
}
|
}
|
||||||
|
|
||||||
public override isOfType(input: unknown): input is SchemaInfer<Type> | undefined {
|
public override isOfType(input: unknown): input is SchemaInfer<Type> | undefined {
|
||||||
return Array.isArray(input)
|
return this.isNull(input) || this.child.isOfType(input)
|
||||||
}
|
}
|
||||||
|
|
||||||
private isNull(value: unknown): value is undefined | null {
|
private isNull(value: unknown): value is undefined | null {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user