@agentuity/schema 0.0.112 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base.d.ts +5 -0
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js +5 -0
- package/dist/base.js.map +1 -1
- package/dist/coerce/boolean.d.ts +2 -0
- package/dist/coerce/boolean.d.ts.map +1 -1
- package/dist/coerce/boolean.js +2 -1
- package/dist/coerce/boolean.js.map +1 -1
- package/dist/coerce/date.d.ts +2 -0
- package/dist/coerce/date.d.ts.map +1 -1
- package/dist/coerce/date.js +2 -1
- package/dist/coerce/date.js.map +1 -1
- package/dist/coerce/number.d.ts +2 -0
- package/dist/coerce/number.d.ts.map +1 -1
- package/dist/coerce/number.js +2 -1
- package/dist/coerce/number.js.map +1 -1
- package/dist/coerce/string.d.ts +2 -0
- package/dist/coerce/string.d.ts.map +1 -1
- package/dist/coerce/string.js +2 -1
- package/dist/coerce/string.js.map +1 -1
- package/dist/complex/array.d.ts +2 -0
- package/dist/complex/array.d.ts.map +1 -1
- package/dist/complex/array.js +2 -1
- package/dist/complex/array.js.map +1 -1
- package/dist/complex/object.d.ts +2 -0
- package/dist/complex/object.d.ts.map +1 -1
- package/dist/complex/object.js +2 -1
- package/dist/complex/object.js.map +1 -1
- package/dist/complex/record.d.ts +2 -0
- package/dist/complex/record.d.ts.map +1 -1
- package/dist/complex/record.js +2 -1
- package/dist/complex/record.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/json-schema.d.ts.map +1 -1
- package/dist/json-schema.js +5 -3
- package/dist/json-schema.js.map +1 -1
- package/dist/primitives/any.d.ts +2 -0
- package/dist/primitives/any.d.ts.map +1 -1
- package/dist/primitives/any.js +2 -1
- package/dist/primitives/any.js.map +1 -1
- package/dist/primitives/boolean.d.ts +2 -0
- package/dist/primitives/boolean.d.ts.map +1 -1
- package/dist/primitives/boolean.js +2 -1
- package/dist/primitives/boolean.js.map +1 -1
- package/dist/primitives/null.d.ts +2 -0
- package/dist/primitives/null.d.ts.map +1 -1
- package/dist/primitives/null.js +2 -1
- package/dist/primitives/null.js.map +1 -1
- package/dist/primitives/number.d.ts +2 -0
- package/dist/primitives/number.d.ts.map +1 -1
- package/dist/primitives/number.js +2 -1
- package/dist/primitives/number.js.map +1 -1
- package/dist/primitives/string.d.ts +2 -0
- package/dist/primitives/string.d.ts.map +1 -1
- package/dist/primitives/string.js +2 -1
- package/dist/primitives/string.js.map +1 -1
- package/dist/primitives/undefined.d.ts +2 -0
- package/dist/primitives/undefined.d.ts.map +1 -1
- package/dist/primitives/undefined.js +2 -1
- package/dist/primitives/undefined.js.map +1 -1
- package/dist/primitives/unknown.d.ts +2 -0
- package/dist/primitives/unknown.d.ts.map +1 -1
- package/dist/primitives/unknown.js +2 -1
- package/dist/primitives/unknown.js.map +1 -1
- package/dist/utils/literal.d.ts +2 -0
- package/dist/utils/literal.d.ts.map +1 -1
- package/dist/utils/literal.js +2 -1
- package/dist/utils/literal.js.map +1 -1
- package/dist/utils/nullable.d.ts +2 -0
- package/dist/utils/nullable.d.ts.map +1 -1
- package/dist/utils/nullable.js +2 -1
- package/dist/utils/nullable.js.map +1 -1
- package/dist/utils/optional.d.ts +2 -0
- package/dist/utils/optional.d.ts.map +1 -1
- package/dist/utils/optional.js +2 -1
- package/dist/utils/optional.js.map +1 -1
- package/dist/utils/union.d.ts +2 -0
- package/dist/utils/union.d.ts.map +1 -1
- package/dist/utils/union.js +2 -1
- package/dist/utils/union.js.map +1 -1
- package/package.json +3 -3
- package/src/base.ts +6 -0
- package/src/coerce/boolean.ts +2 -1
- package/src/coerce/date.ts +2 -1
- package/src/coerce/number.ts +2 -1
- package/src/coerce/string.ts +2 -1
- package/src/complex/array.ts +2 -1
- package/src/complex/object.ts +2 -1
- package/src/complex/record.ts +2 -1
- package/src/index.ts +1 -1
- package/src/json-schema.ts +5 -3
- package/src/primitives/any.ts +2 -1
- package/src/primitives/boolean.ts +2 -1
- package/src/primitives/null.ts +2 -1
- package/src/primitives/number.ts +2 -1
- package/src/primitives/string.ts +2 -1
- package/src/primitives/undefined.ts +2 -1
- package/src/primitives/unknown.ts +2 -1
- package/src/utils/literal.ts +2 -1
- package/src/utils/nullable.ts +2 -1
- package/src/utils/optional.ts +2 -1
- package/src/utils/union.ts +2 -1
package/src/json-schema.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import type { Schema } from './base';
|
|
3
|
+
import { SCHEMA_KIND } from './base';
|
|
3
4
|
import { string } from './primitives/string';
|
|
4
5
|
import { number } from './primitives/number';
|
|
5
6
|
import { boolean } from './primitives/boolean';
|
|
@@ -12,11 +13,12 @@ import { nullable } from './utils/nullable';
|
|
|
12
13
|
import { union } from './utils/union';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
|
-
* Check schema type
|
|
16
|
-
*
|
|
16
|
+
* Check schema type using a minification-safe SCHEMA_KIND tag.
|
|
17
|
+
* This works across bundled modules and after minification because it uses
|
|
18
|
+
* a Symbol.for() based tag rather than constructor.name which gets mangled.
|
|
17
19
|
*/
|
|
18
20
|
function isSchemaType(schema: any, typeName: string): boolean {
|
|
19
|
-
return schema?.
|
|
21
|
+
return schema?.[SCHEMA_KIND] === typeName;
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
/**
|
package/src/primitives/any.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Schema } from '../base';
|
|
2
|
-
import { success, createParseMethods } from '../base';
|
|
2
|
+
import { success, createParseMethods, SCHEMA_KIND } from '../base';
|
|
3
3
|
import { optional } from '../utils/optional';
|
|
4
4
|
import { nullable } from '../utils/nullable';
|
|
5
5
|
|
|
@@ -23,6 +23,7 @@ const parseMethods = createParseMethods<any>();
|
|
|
23
23
|
*/
|
|
24
24
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
25
25
|
export class AnySchema implements Schema<any, any> {
|
|
26
|
+
readonly [SCHEMA_KIND] = 'AnySchema';
|
|
26
27
|
description?: string;
|
|
27
28
|
|
|
28
29
|
readonly '~standard' = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Schema } from '../base';
|
|
2
|
-
import { createIssue, failure, success, createParseMethods } from '../base';
|
|
2
|
+
import { createIssue, failure, success, createParseMethods, SCHEMA_KIND } from '../base';
|
|
3
3
|
import { optional } from '../utils/optional';
|
|
4
4
|
import { nullable } from '../utils/nullable';
|
|
5
5
|
|
|
@@ -16,6 +16,7 @@ const parseMethods = createParseMethods<boolean>();
|
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
18
|
export class BooleanSchema implements Schema<boolean, boolean> {
|
|
19
|
+
readonly [SCHEMA_KIND] = 'BooleanSchema';
|
|
19
20
|
description?: string;
|
|
20
21
|
|
|
21
22
|
readonly '~standard' = {
|
package/src/primitives/null.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Schema } from '../base';
|
|
2
|
-
import { createIssue, failure, success, createParseMethods } from '../base';
|
|
2
|
+
import { createIssue, failure, success, createParseMethods, SCHEMA_KIND } from '../base';
|
|
3
3
|
import { optional } from '../utils/optional';
|
|
4
4
|
import { nullable } from '../utils/nullable';
|
|
5
5
|
|
|
@@ -9,6 +9,7 @@ const parseMethods = createParseMethods<null>();
|
|
|
9
9
|
* Schema for validating null values.
|
|
10
10
|
*/
|
|
11
11
|
export class NullSchema implements Schema<null, null> {
|
|
12
|
+
readonly [SCHEMA_KIND] = 'NullSchema';
|
|
12
13
|
description?: string;
|
|
13
14
|
|
|
14
15
|
readonly '~standard' = {
|
package/src/primitives/number.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Schema } from '../base';
|
|
2
|
-
import { createIssue, failure, success, createParseMethods } from '../base';
|
|
2
|
+
import { createIssue, failure, success, createParseMethods, SCHEMA_KIND } from '../base';
|
|
3
3
|
import { optional } from '../utils/optional';
|
|
4
4
|
import { nullable } from '../utils/nullable';
|
|
5
5
|
|
|
@@ -18,6 +18,7 @@ const parseMethods = createParseMethods<number>();
|
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
20
|
export class NumberSchema implements Schema<number, number> {
|
|
21
|
+
readonly [SCHEMA_KIND] = 'NumberSchema';
|
|
21
22
|
description?: string;
|
|
22
23
|
private _finite = false;
|
|
23
24
|
private _min?: number;
|
package/src/primitives/string.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Schema } from '../base';
|
|
2
|
-
import { createIssue, failure, success, createParseMethods } from '../base';
|
|
2
|
+
import { createIssue, failure, success, createParseMethods, SCHEMA_KIND } from '../base';
|
|
3
3
|
import { optional } from '../utils/optional';
|
|
4
4
|
import { nullable } from '../utils/nullable';
|
|
5
5
|
|
|
@@ -16,6 +16,7 @@ const parseMethods = createParseMethods<string>();
|
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
18
|
export class StringSchema implements Schema<string, string> {
|
|
19
|
+
readonly [SCHEMA_KIND] = 'StringSchema';
|
|
19
20
|
description?: string;
|
|
20
21
|
private _min?: number;
|
|
21
22
|
private _max?: number;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Schema } from '../base';
|
|
2
|
-
import { createIssue, failure, success, createParseMethods } from '../base';
|
|
2
|
+
import { createIssue, failure, success, createParseMethods, SCHEMA_KIND } from '../base';
|
|
3
3
|
import { optional } from '../utils/optional';
|
|
4
4
|
import { nullable } from '../utils/nullable';
|
|
5
5
|
|
|
@@ -9,6 +9,7 @@ const parseMethods = createParseMethods<undefined>();
|
|
|
9
9
|
* Schema for validating undefined values.
|
|
10
10
|
*/
|
|
11
11
|
export class UndefinedSchema implements Schema<undefined, undefined> {
|
|
12
|
+
readonly [SCHEMA_KIND] = 'UndefinedSchema';
|
|
12
13
|
description?: string;
|
|
13
14
|
|
|
14
15
|
readonly '~standard' = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Schema } from '../base';
|
|
2
|
-
import { success, createParseMethods } from '../base';
|
|
2
|
+
import { success, createParseMethods, SCHEMA_KIND } from '../base';
|
|
3
3
|
import { optional } from '../utils/optional';
|
|
4
4
|
import { nullable } from '../utils/nullable';
|
|
5
5
|
|
|
@@ -24,6 +24,7 @@ const parseMethods = createParseMethods<unknown>();
|
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
26
|
export class UnknownSchema implements Schema<unknown, unknown> {
|
|
27
|
+
readonly [SCHEMA_KIND] = 'UnknownSchema';
|
|
27
28
|
description?: string;
|
|
28
29
|
|
|
29
30
|
readonly '~standard' = {
|
package/src/utils/literal.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Schema } from '../base';
|
|
2
|
-
import { createIssue, failure, success, createParseMethods } from '../base';
|
|
2
|
+
import { createIssue, failure, success, createParseMethods, SCHEMA_KIND } from '../base';
|
|
3
3
|
import { optional } from '../utils/optional';
|
|
4
4
|
import { nullable } from '../utils/nullable';
|
|
5
5
|
|
|
@@ -16,6 +16,7 @@ import { nullable } from '../utils/nullable';
|
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
18
|
export class LiteralSchema<T extends string | number | boolean> implements Schema<T, T> {
|
|
19
|
+
readonly [SCHEMA_KIND] = 'LiteralSchema';
|
|
19
20
|
description?: string;
|
|
20
21
|
private parseMethods = createParseMethods<T>();
|
|
21
22
|
|
package/src/utils/nullable.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Schema, Infer } from '../base';
|
|
2
|
-
import { success, createParseMethods } from '../base';
|
|
2
|
+
import { success, createParseMethods, SCHEMA_KIND } from '../base';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Schema for nullable values (T | null).
|
|
@@ -19,6 +19,7 @@ import { success, createParseMethods } from '../base';
|
|
|
19
19
|
export class NullableSchema<T extends Schema<any, any>>
|
|
20
20
|
implements Schema<Infer<T> | null, Infer<T> | null>
|
|
21
21
|
{
|
|
22
|
+
readonly [SCHEMA_KIND] = 'NullableSchema';
|
|
22
23
|
readonly schema: T;
|
|
23
24
|
description?: string;
|
|
24
25
|
|
package/src/utils/optional.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Schema, Infer } from '../base';
|
|
2
|
-
import { success, createParseMethods } from '../base';
|
|
2
|
+
import { success, createParseMethods, SCHEMA_KIND } from '../base';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Schema for optional values (T | undefined).
|
|
@@ -19,6 +19,7 @@ import { success, createParseMethods } from '../base';
|
|
|
19
19
|
export class OptionalSchema<T extends Schema<any, any>>
|
|
20
20
|
implements Schema<Infer<T> | undefined, Infer<T> | undefined>
|
|
21
21
|
{
|
|
22
|
+
readonly [SCHEMA_KIND] = 'OptionalSchema';
|
|
22
23
|
readonly schema: T;
|
|
23
24
|
description?: string;
|
|
24
25
|
|
package/src/utils/union.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Schema, Infer } from '../base';
|
|
2
|
-
import { createIssue, failure, createParseMethods } from '../base';
|
|
2
|
+
import { createIssue, failure, createParseMethods, SCHEMA_KIND } from '../base';
|
|
3
3
|
import { optional } from '../utils/optional';
|
|
4
4
|
import { nullable } from '../utils/nullable';
|
|
5
5
|
|
|
@@ -29,6 +29,7 @@ type InferUnion<T extends Schema<any, any>[]> = Infer<T[number]>;
|
|
|
29
29
|
export class UnionSchema<T extends Schema<any, any>[]>
|
|
30
30
|
implements Schema<InferUnion<T>, InferUnion<T>>
|
|
31
31
|
{
|
|
32
|
+
readonly [SCHEMA_KIND] = 'UnionSchema';
|
|
32
33
|
description?: string;
|
|
33
34
|
private parseMethods = createParseMethods<InferUnion<T>>();
|
|
34
35
|
|