@powerlines/schema 0.11.28 → 0.11.38

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.
Files changed (82) hide show
  1. package/dist/bundle.cjs +34 -20
  2. package/dist/bundle.d.cts +3 -3
  3. package/dist/bundle.d.cts.map +1 -1
  4. package/dist/bundle.d.mts +3 -3
  5. package/dist/bundle.d.mts.map +1 -1
  6. package/dist/bundle.mjs +35 -21
  7. package/dist/bundle.mjs.map +1 -1
  8. package/dist/codegen.cjs +55 -8
  9. package/dist/codegen.d.cts +12 -6
  10. package/dist/codegen.d.cts.map +1 -1
  11. package/dist/codegen.d.mts +12 -6
  12. package/dist/codegen.d.mts.map +1 -1
  13. package/dist/codegen.mjs +52 -8
  14. package/dist/codegen.mjs.map +1 -1
  15. package/dist/constants.cjs +42 -0
  16. package/dist/constants.d.cts +15 -0
  17. package/dist/constants.d.cts.map +1 -0
  18. package/dist/constants.d.mts +15 -0
  19. package/dist/constants.d.mts.map +1 -0
  20. package/dist/constants.mjs +39 -0
  21. package/dist/constants.mjs.map +1 -0
  22. package/dist/extract.cjs +144 -95
  23. package/dist/extract.d.cts +34 -69
  24. package/dist/extract.d.cts.map +1 -1
  25. package/dist/extract.d.mts +34 -69
  26. package/dist/extract.d.mts.map +1 -1
  27. package/dist/extract.mjs +144 -95
  28. package/dist/extract.mjs.map +1 -1
  29. package/dist/helpers.cjs +87 -0
  30. package/dist/helpers.d.cts +48 -0
  31. package/dist/helpers.d.cts.map +1 -0
  32. package/dist/helpers.d.mts +48 -0
  33. package/dist/helpers.d.mts.map +1 -0
  34. package/dist/helpers.mjs +84 -0
  35. package/dist/helpers.mjs.map +1 -0
  36. package/dist/index.cjs +29 -5
  37. package/dist/index.d.cts +8 -5
  38. package/dist/index.d.mts +8 -5
  39. package/dist/index.mjs +7 -4
  40. package/dist/metadata.cjs +80 -0
  41. package/dist/metadata.d.cts +52 -0
  42. package/dist/metadata.d.cts.map +1 -0
  43. package/dist/metadata.d.mts +52 -0
  44. package/dist/metadata.d.mts.map +1 -0
  45. package/dist/metadata.mjs +76 -0
  46. package/dist/metadata.mjs.map +1 -0
  47. package/dist/persistence.cjs +75 -0
  48. package/dist/persistence.d.cts +47 -0
  49. package/dist/persistence.d.cts.map +1 -0
  50. package/dist/persistence.d.mts +47 -0
  51. package/dist/persistence.d.mts.map +1 -0
  52. package/dist/persistence.mjs +71 -0
  53. package/dist/persistence.mjs.map +1 -0
  54. package/dist/reflection.cjs +292 -299
  55. package/dist/reflection.d.cts +3 -16
  56. package/dist/reflection.d.cts.map +1 -1
  57. package/dist/reflection.d.mts +3 -16
  58. package/dist/reflection.d.mts.map +1 -1
  59. package/dist/reflection.mjs +291 -299
  60. package/dist/reflection.mjs.map +1 -1
  61. package/dist/resolve.cjs +7 -7
  62. package/dist/resolve.mjs +7 -7
  63. package/dist/resolve.mjs.map +1 -1
  64. package/dist/type-checks.cjs +126 -25
  65. package/dist/type-checks.d.cts +45 -23
  66. package/dist/type-checks.d.cts.map +1 -1
  67. package/dist/type-checks.d.mts +45 -23
  68. package/dist/type-checks.d.mts.map +1 -1
  69. package/dist/type-checks.mjs +125 -25
  70. package/dist/type-checks.mjs.map +1 -1
  71. package/dist/types.d.cts +237 -95
  72. package/dist/types.d.cts.map +1 -1
  73. package/dist/types.d.mts +237 -95
  74. package/dist/types.d.mts.map +1 -1
  75. package/package.json +24 -8
  76. package/dist/jtd.cjs +0 -385
  77. package/dist/jtd.d.cts +0 -15
  78. package/dist/jtd.d.cts.map +0 -1
  79. package/dist/jtd.d.mts +0 -15
  80. package/dist/jtd.d.mts.map +0 -1
  81. package/dist/jtd.mjs +0 -384
  82. package/dist/jtd.mjs.map +0 -1
package/dist/types.d.mts CHANGED
@@ -1,6 +1,6 @@
1
+ import { FormatName } from "ajv-formats/dist/formats.js";
1
2
  import { Type } from "@powerlines/deepkit/vendor/type";
2
3
  import { StandardJSONSchemaV1 } from "@standard-schema/spec";
3
- import { JsonSchemaType } from "@stryke/json/types";
4
4
  import { TypeDefinition } from "@stryke/types/configuration";
5
5
  import { InputObject, Schema as Schema$1 } from "untyped";
6
6
  import * as z3 from "zod/v3";
@@ -9,47 +9,165 @@ import * as z3 from "zod/v3";
9
9
  type UntypedInputObject = InputObject;
10
10
  type UntypedSchema = Schema$1;
11
11
  /**
12
- * The set of numeric `type` strings supported by JSON Type Definition (RFC 8927).
12
+ * JSON Schema primitive type names used by {@link stringifyType}.
13
13
  */
14
- type JTDNumberType = "float32" | "float64" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32";
14
+ type JsonSchemaPrimitiveType = "string" | "number" | "integer" | "boolean" | "null" | "object" | "array";
15
+ type StrictNullChecksWrapper<Name extends string, Type> = undefined extends null ? `strictNullChecks must be true in tsconfig to use ${Name}` : Type;
16
+ type UnionToIntersection<U> = (U extends any ? (_: U) => void : never) extends ((_: infer I) => void) ? I : never;
15
17
  /**
16
- * The set of string `type` strings supported by JSON Type Definition (RFC 8927).
18
+ * A JSON Schema type that is compatible with all the JSON schema variants, and includes additional Powerlines-specific metadata properties. This type is designed to be flexible and accommodate various schema shapes while still providing the ability to include metadata for documentation or other purposes. The presence of the metadata properties does not affect the validation behavior of the schema itself, but they can provide additional context or information about the schema when used in conjunction with compatible tools.
17
19
  */
18
- type JTDStringType = "string" | "timestamp";
19
- /**
20
- * The set of `type` strings supported by JSON Type Definition (RFC 8927).
21
- */
22
- type JTDType = JTDNumberType | JTDStringType | "boolean";
23
- interface JsonSchemaLike {
24
- type?: string | string[];
25
- format?: string;
26
- enum?: unknown[];
27
- const?: unknown;
28
- items?: JsonSchemaLike | JsonSchemaLike[];
29
- properties?: Record<string, JsonSchemaLike>;
30
- patternProperties?: Record<string, JsonSchemaLike>;
31
- additionalProperties?: boolean | JsonSchemaLike;
32
- required?: string[];
33
- anyOf?: JsonSchemaLike[];
34
- oneOf?: JsonSchemaLike[];
35
- allOf?: JsonSchemaLike[];
36
- $ref?: string;
37
- description?: string;
38
- title?: string;
39
- default?: unknown;
40
- examples?: unknown[];
20
+ type JsonSchemaLike = UncheckedJsonSchemaType<Known, true> & SchemaMetadata;
21
+ type UncheckedPartialSchema<T> = Partial<UncheckedJsonSchemaType<T, true>>;
22
+ type JsonType<T extends string, IsPartial extends boolean> = IsPartial extends true ? T | undefined : T;
23
+ type NumberFormat = "int32" | "float" | "double" | "int8" | "uint8" | "int16" | "uint16" | "int64" | "uint64";
24
+ interface NumberKeywords {
25
+ /** The inclusive lower bound allowed for numeric values. */
41
26
  minimum?: number;
27
+ /** The inclusive upper bound allowed for numeric values. */
42
28
  maximum?: number;
43
- exclusiveMinimum?: number | boolean;
44
- exclusiveMaximum?: number | boolean;
45
- nullable?: boolean;
46
- definitions?: Record<string, JsonSchemaLike>;
47
- $defs?: Record<string, JsonSchemaLike>;
48
- discriminator?: {
49
- propertyName?: string;
50
- } | string;
51
- [key: string]: unknown;
29
+ /** The exclusive lower bound allowed for numeric values. */
30
+ exclusiveMinimum?: number;
31
+ /** The exclusive upper bound allowed for numeric values. */
32
+ exclusiveMaximum?: number;
33
+ /** The numeric increment that values must be a multiple of. */
34
+ multipleOf?: number;
35
+ /** The numeric format hint recognized by compatible validators. */
36
+ format?: NumberFormat | string;
52
37
  }
38
+ interface StringKeywords {
39
+ /** The minimum number of characters allowed in the string. */
40
+ minLength?: number;
41
+ /** The maximum number of characters allowed in the string. */
42
+ maxLength?: number;
43
+ /** A regular expression that matching strings must satisfy. */
44
+ pattern?: string;
45
+ /**
46
+ * A format for the schema, which can be used by validation libraries or other tools that support this feature to provide additional validation or formatting rules for the data that the schema represents. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the expected data when used in conjunction with compatible tools.
47
+ *
48
+ * @see https://ajv.js.org/packages/ajv-formats.html
49
+ *
50
+ * @remarks
51
+ * The `format` property is a string that specifies the format of the data that the schema represents. It can be used to indicate that a string should be validated as an email address, a date-time, a URI, or any other format supported by compatible validation libraries. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the expected data when used in conjunction with compatible tools.
52
+ */
53
+ format?: FormatName | string;
54
+ }
55
+ type Known = {
56
+ [key: string]: Known;
57
+ } | [Known, ...Known[]] | Known[] | number | string | boolean | null;
58
+ type UncheckedPropertiesSchema<T> = { [K in keyof T]-?: (UncheckedJsonSchemaType<T[K], false> & Nullable<T[K]>) | {
59
+ $ref: string;
60
+ } };
61
+ type UncheckedRequiredMembers<T> = { [K in keyof T]-?: undefined extends T[K] ? never : K }[keyof T];
62
+ type Nullable<T> = undefined extends T ? {
63
+ /** Indicates that the value may be null in addition to the declared type. */nullable: true; /** A constant value constrained to null when the schema is nullable. */
64
+ const?: null; /** Allowed values, including null when the schema is nullable. */
65
+ enum?: readonly (T | null)[]; /** The default value to use when none is provided. */
66
+ default?: T | null;
67
+ } : {
68
+ /** Indicates whether the value may be null. */nullable?: false; /** A constant value allowed by the schema. */
69
+ const?: T; /** The set of values allowed by the schema. */
70
+ enum?: readonly T[]; /** The default value to use when none is provided. */
71
+ default?: T;
72
+ };
73
+ type UncheckedJsonSchemaType<T, IsPartial extends boolean> = ({
74
+ anyOf: readonly UncheckedJsonSchemaType<T, IsPartial>[];
75
+ } | {
76
+ oneOf: readonly UncheckedJsonSchemaType<T, IsPartial>[];
77
+ } | ({
78
+ type: readonly (T extends number ? JsonType<"number" | "integer", IsPartial> : T extends string ? JsonType<"string", IsPartial> : T extends boolean ? JsonType<"boolean", IsPartial> : never)[];
79
+ } & UnionToIntersection<T extends number ? NumberKeywords : T extends string ? StringKeywords : T extends boolean ? {} : never>) | ((T extends number ? {
80
+ type: JsonType<"number" | "integer", IsPartial>;
81
+ } & NumberKeywords : T extends string ? {
82
+ type: JsonType<"string", IsPartial>;
83
+ } & StringKeywords : T extends boolean ? {
84
+ type: JsonType<"boolean", IsPartial>;
85
+ } : T extends readonly [any, ...any[]] ? {
86
+ type: JsonType<"array", IsPartial>; /** The tuple items in order. */
87
+ items: { readonly [K in keyof T]-?: UncheckedJsonSchemaType<T[K], false> & Nullable<T[K]> } & {
88
+ length: T["length"];
89
+ }; /** The minimum number of items allowed in the tuple. */
90
+ minItems: T["length"];
91
+ } & ({
92
+ /** The maximum number of items allowed in the tuple. */maxItems: T["length"];
93
+ } | {
94
+ /** Disallows items beyond the tuple length. */additionalItems: false;
95
+ }) : T extends readonly any[] ? {
96
+ type: JsonType<"array", IsPartial>; /** The schema that each array item must satisfy. */
97
+ items: UncheckedJsonSchemaType<T[0], false>; /** A schema that at least one array item must satisfy. */
98
+ contains?: UncheckedPartialSchema<T[0]>; /** The minimum number of items allowed in the array. */
99
+ minItems?: number; /** The maximum number of items allowed in the array. */
100
+ maxItems?: number; /** The minimum number of matching items required by {@link contains}. */
101
+ minContains?: number; /** The maximum number of matching items allowed by {@link contains}. */
102
+ maxContains?: number; /** Indicates that array items must be unique. */
103
+ uniqueItems?: true; /** Additional tuple items are not permitted in this schema shape. */
104
+ additionalItems?: never;
105
+ } : T extends Record<string, any> ? {
106
+ type: JsonType<"object", IsPartial>; /** The schema for properties not matched by {@link properties} or {@link patternProperties}. */
107
+ additionalProperties?: boolean | UncheckedJsonSchemaType<T[string], false>; /** The schema for properties not yet evaluated by other object keywords. */
108
+ unevaluatedProperties?: boolean | UncheckedJsonSchemaType<T[string], false>; /** The declared object properties and their schemas. */
109
+ properties?: IsPartial extends true ? Partial<UncheckedPropertiesSchema<T>> : UncheckedPropertiesSchema<T>; /** The schemas for properties whose names match the given patterns. */
110
+ patternProperties?: Record<string, UncheckedJsonSchemaType<T[string], false>>; /** The schema that each property name must satisfy. */
111
+ propertyNames?: Omit<UncheckedJsonSchemaType<string, false>, "type"> & {
112
+ type?: "string";
113
+ }; /** A map of property-specific dependency requirements. */
114
+ dependencies?: { [K in keyof T]?: readonly (keyof T)[] | UncheckedPartialSchema<T> }; /** Properties that become required when the key property is present. */
115
+ dependentRequired?: { [K in keyof T]?: readonly (keyof T)[] }; /** Subschemas that apply when the key property is present. */
116
+ dependentSchemas?: { [K in keyof T]?: UncheckedPartialSchema<T> }; /** The minimum number of own properties allowed. */
117
+ minProperties?: number; /** The maximum number of own properties allowed. */
118
+ maxProperties?: number;
119
+ /**
120
+ * An optional array of property names that are considered primary keys for the object. This property can be used by validation libraries or other tools that support this feature to provide additional validation rules or constraints for the data that the schema represents. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the expected data when used in conjunction with compatible tools.
121
+ */
122
+ primaryKey?: (keyof T)[];
123
+ /**
124
+ * A name for the database schema associated with the data represented by this schema. This property can be used by documentation tools or other libraries that support this feature to provide additional context or information about the data model that the schema represents. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the expected data when used in conjunction with compatible tools.
125
+ */
126
+ databaseSchemaName?: string;
127
+ } & (IsPartial extends true ? {
128
+ /** The set of required property names for partial schemas. */required: readonly (keyof T)[];
129
+ } : [UncheckedRequiredMembers<T>] extends [never] ? {
130
+ /** The set of required property names when none are statically required. */required?: readonly UncheckedRequiredMembers<T>[];
131
+ } : {
132
+ /** The set of required property names for the object. */required: readonly UncheckedRequiredMembers<T>[];
133
+ }) : T extends null ? {
134
+ /** The JSON Schema null type. */type: JsonType<"null", IsPartial>; /** Indicates that only null is allowed. */
135
+ nullable: true;
136
+ } : never) & {
137
+ /** A set of schemas where the data must satisfy all members. */allOf?: readonly UncheckedPartialSchema<T>[]; /** A set of schemas where the data must satisfy at least one member. */
138
+ anyOf?: readonly UncheckedPartialSchema<T>[]; /** A set of schemas where the data must satisfy exactly one member. */
139
+ oneOf?: readonly UncheckedPartialSchema<T>[]; /** A schema that the data must not satisfy. */
140
+ if?: UncheckedPartialSchema<T>; /** A schema applied when {@link if} matches. */
141
+ then?: UncheckedPartialSchema<T>; /** A schema applied when {@link if} does not match. */
142
+ else?: UncheckedPartialSchema<T>; /** A schema that must not match the data. */
143
+ not?: UncheckedPartialSchema<T>;
144
+ })) & {
145
+ /**
146
+ * A unique identifier for the schema, which can be used to reference or identify the schema in various contexts. This property is part of the JSON Schema specification and does not affect the validation behavior of the schema itself, but it can provide additional context or information about the schema when used in conjunction with compatible tools.
147
+ */
148
+ $id?: string;
149
+ /**
150
+ * A reference to another schema definition, which can be used to reuse or reference schema definitions in other parts of the document or external schemas. This property is part of the JSON Schema specification and does not affect the validation behavior of the schema itself, but it can be used to create modular and reusable schema structures.
151
+ */
152
+ $ref?: string;
153
+ /**
154
+ * A comment or annotation for the schema, which can be used to provide additional context or information about the schema. This property is part of the JSON Schema specification and does not affect the validation behavior of the schema itself, but it can be used by documentation tools or other libraries that support this feature.
155
+ */
156
+ $comment?: string;
157
+ /**
158
+ * A record of schema definitions that can be referenced throughout the schema using `$ref`. This property can be used to define reusable schema components and reduce redundancy in schema definitions. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the schema when used in conjunction with compatible tools.
159
+ */
160
+ $defs?: Record<string, UncheckedJsonSchemaType<Known, true>>;
161
+ /**
162
+ * A record of schema definitions that can be referenced throughout the schema using `$ref`. This property is a legacy version of `$defs` and is maintained for backward compatibility with earlier versions of the JSON Schema specification. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the schema when used in conjunction with compatible tools.
163
+ */
164
+ definitions?: Record<string, UncheckedJsonSchemaType<Known, true>>;
165
+ /**
166
+ * A name for the schema, which can be used by documentation tools or other libraries that support this feature to provide a human-readable name or description for the schema. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the schema when used in conjunction with compatible tools.
167
+ */
168
+ name?: string;
169
+ [keyword: string]: any;
170
+ };
53
171
  interface SchemaMetadata {
54
172
  /**
55
173
  * A title for the schema, which can be used by documentation tools or other libraries that support this feature to provide a human-readable name or description for the schema. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the schema when used in conjunction with compatible tools.
@@ -60,122 +178,146 @@ interface SchemaMetadata {
60
178
  */
61
179
  description?: string;
62
180
  /**
63
- * A default value for the schema, which can be used by validation libraries or other tools that support this feature. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the expected data when used in conjunction with compatible tools.
181
+ * A URL or string containing documentation for the schema, which can be used by documentation tools or other libraries that support this feature to provide additional information or resources related to the schema. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the schema when used in conjunction with compatible tools.
64
182
  */
65
- default?: unknown;
183
+ docs?: string;
66
184
  /**
67
185
  * An array of example values that conform to the schema. This property can be used to provide sample data for documentation purposes or to assist developers in understanding the expected structure and content of the data that the schema represents. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the expected data when used in conjunction with compatible tools.
68
186
  */
69
- examples?: unknown[];
187
+ examples?: string[];
188
+ /**
189
+ * An array of strings or an alias reference to indicate that the field is an alias for one or more other fields.
190
+ */
191
+ alias?: string[];
192
+ /**
193
+ * An array of strings indicating groups that the schema belongs to. This property can be used for organizational or categorization purposes in documentation tools or other libraries that support this feature. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the schema when used in conjunction with compatible tools.
194
+ */
195
+ tags?: string[];
70
196
  /**
71
- * A table name for the schema, which can be used by documentation tools or other libraries that support this feature to provide a human-readable name or description for the schema. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the schema when used in conjunction with compatible tools.
197
+ * A visibility level for the schema, which can be used by documentation tools or other libraries that support this feature to determine how the schema should be presented or accessed. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the schema when used in conjunction with compatible tools.
72
198
  */
73
- table?: string;
199
+ visibility?: "public" | "protected" | "private";
74
200
  /**
75
- * An indicator specifying if the field should be marked as hidden or not.
201
+ * An indicator specifying if the field is deprecated or not. This property can be used by documentation tools or other libraries that support this feature to provide additional information or warnings about the usage of the schema. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the schema when used in conjunction with compatible tools.
76
202
  */
77
- isHidden?: boolean;
203
+ deprecated?: boolean;
78
204
  /**
79
- * An indicator specifying if the field should be ignored or not.
205
+ * An indicator specifying if the field should be marked as hidden or not. This property can be used by documentation tools or other libraries that support this feature to provide additional information or warnings about the usage of the schema. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the schema when used in conjunction with compatible tools.
80
206
  */
81
- isIgnored?: boolean;
207
+ hidden?: boolean;
208
+ /**
209
+ * An indicator specifying if the field should be ignored or not. This property can be used by documentation tools or other libraries that support this feature to provide additional information or warnings about the usage of the schema. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the schema when used in conjunction with compatible tools.
210
+ */
211
+ ignore?: boolean;
82
212
  /**
83
213
  * An indicator specifying if the field is internal or not.
84
214
  *
85
215
  * @internal
86
216
  */
87
- isInternal?: boolean;
217
+ internal?: boolean;
88
218
  /**
89
219
  * An indicator specifying if the field should only be populated at runtime or not.
90
220
  */
91
- isRuntime?: boolean;
221
+ runtime?: boolean;
92
222
  /**
93
- * An indicator specifying if the field is read-only or not. This property can be used to indicate that a field should not be modified after it has been set, which can be useful for documentation purposes or to assist developers in understanding the expected behavior of the data that the schema represents. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the expected data when used in conjunction with compatible tools.
223
+ * An indicator specifying if the field is read-only or not.
94
224
  */
95
- isReadonly?: boolean;
225
+ readOnly?: boolean;
96
226
  /**
97
- * An indicator specifying if the field is a primary key or not. This property can be used to indicate that a field serves as a unique identifier for records in a dataset, which can be useful for documentation purposes or to assist developers in understanding the expected structure and behavior of the data that the schema represents. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the expected data when used in conjunction with compatible tools.
227
+ * An indicator specifying if the field is write-only or not. This property can be used by documentation tools or other libraries that support this feature to provide additional information or warnings about the usage of the schema. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the schema when used in conjunction with compatible tools.
98
228
  */
99
- isPrimaryKey?: boolean;
229
+ writeOnly?: boolean;
100
230
  /**
101
- * An array of strings or an alias reference to indicate that the field is an alias for one or more other fields. This property can be used to provide alternative names or references for a field, which can be useful for documentation purposes or to assist developers in understanding the expected structure and content of the data that the schema represents. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the expected data when used in conjunction with compatible tools.
231
+ * The content media type for the schema, which can be used by documentation tools or other libraries that support this feature to provide additional information about the expected content type of the data that the schema represents. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the expected data when used in conjunction with compatible tools.
102
232
  */
103
- alias?: string[];
233
+ contentMediaType?: string;
234
+ /**
235
+ * The content encoding for the schema, which can be used by documentation tools or other libraries that support this feature to provide additional information about the expected encoding of the data that the schema represents. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the expected data when used in conjunction with compatible tools.
236
+ */
237
+ contentEncoding?: string;
104
238
  /**
105
- * Schemas that are unioned together to form a single schema. This property can be used to represent complex data structures that can conform to multiple different schemas. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the expected data when used in conjunction with compatible tools.
239
+ * The content schema for the schema, which can be used by documentation tools or other libraries that support this feature to provide additional information about the expected structure of the data that the schema represents. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the expected data when used in conjunction with compatible tools.
106
240
  */
107
- union?: JsonSchemaLike[];
108
- [key: string]: unknown | undefined;
241
+ contentSchema?: string;
109
242
  }
110
- type JTDSchemaType<TMetadata extends Partial<SchemaMetadata> = Partial<SchemaMetadata>> = ({
111
- ref: string;
112
- } | {
113
- type: JTDType;
114
- } | {
115
- enum: string[];
116
- } | {
117
- elements: JTDSchemaType<TMetadata>;
118
- } | {
119
- values: JTDSchemaType<TMetadata>;
120
- } | {
121
- properties: Record<string, JTDSchemaType<TMetadata>>;
122
- optionalProperties?: Record<string, JTDSchemaType<TMetadata>>;
123
- additionalProperties?: boolean;
124
- } | {
125
- properties?: Record<string, JTDSchemaType<TMetadata>>;
126
- optionalProperties: Record<string, JTDSchemaType<TMetadata>>;
127
- additionalProperties?: boolean;
128
- } | {
129
- discriminator: string;
130
- mapping: Record<string, JTDSchemaType<TMetadata>>;
131
- } | {}) & {
132
- nullable?: boolean;
133
- metadata?: TMetadata;
134
- definitions?: Record<string, JTDSchemaType<TMetadata>>;
243
+ type JsonSchemaProperty<T extends Record<string, any> = Record<string, any>, TName extends string = string> = JsonSchemaObject<T[TName]> & {
244
+ /** The property name within the parent object schema. */name: TName;
245
+ /**
246
+ * An indicator specifying if the field is nullable or not. If `true`, the field can accept `null` as a valid value. This property can be used by validation libraries or other tools that support this feature to provide additional validation rules for the data that the schema represents. The presence of this property does not affect the validation behavior of the schema itself, but it can provide additional context or information about the expected data when used in conjunction with compatible tools.
247
+ */
248
+ nullable: boolean;
135
249
  };
136
- type SchemaSourceVariant = "standard-schema" | "jtd-schema" | "json-schema" | "zod3" | "untyped" | "reflection";
250
+ /**
251
+ * A JSON Schema type that includes additional Powerlines-specific metadata properties. This type extends the standard JSON Schema definition with optional properties such as `name`, `title`, `description`, `default`, `examples`, `groups`, `visibility`, and various flags for controlling how the schema is treated by documentation tools or other libraries that support these features. The presence of these metadata properties does not affect the validation behavior of the schema itself, but they can provide additional context or information about the schema when used in conjunction with compatible tools.
252
+ */
253
+ type JsonSchema<T = unknown> = StrictNullChecksWrapper<"JsonSchema", UncheckedJsonSchemaType<T, false>> & SchemaMetadata;
254
+ /**
255
+ * A JSON Schema object type that includes a `type` property set to "object", a `properties` object defining the properties of the schema, and optional metadata properties. This type is used to represent JSON Schema definitions for objects, and it extends the standard JSON Schema definition with additional Powerlines-specific metadata properties. The presence of these metadata properties does not affect the validation behavior of the schema itself, but they can provide additional context or information about the schema when used in conjunction with compatible tools.
256
+ */
257
+ type JsonSchemaObject<T extends Record<string, any> = Record<string, any>> = Omit<JsonSchemaLike, "type" | "properties" | "required"> & {
258
+ /** The JSON Schema object type discriminator. */type: "object"; /** The object properties mapped to their schema definitions. */
259
+ properties: Record<string, JsonSchemaProperty<T>>; /** The property names that are required on the object. */
260
+ required?: string[];
261
+ } & SchemaMetadata;
262
+ type SchemaSourceVariant = "standard-schema" | "json-schema" | "zod3" | "untyped" | "reflection";
137
263
  type SchemaInputVariant = SchemaSourceVariant | "type-definition";
138
- type SchemaSourceInput<TMetadata extends Partial<SchemaMetadata> = Partial<SchemaMetadata>> = StandardJSONSchemaV1 | JTDSchemaType<TMetadata> | JsonSchemaType | z3.ZodTypeAny | UntypedInputObject | UntypedSchema | Type;
264
+ type SchemaSourceInput<T = unknown> = StandardJSONSchemaV1 | JsonSchema<T> | z3.ZodTypeAny | UntypedInputObject | UntypedSchema | Type;
139
265
  type TypeDefinitionReference = TypeDefinition | string;
140
- type SchemaInput = SchemaSourceInput | Schema | TypeDefinitionReference;
141
- interface Schema<TMetadata extends Partial<SchemaMetadata> = Partial<SchemaMetadata>> {
266
+ type SchemaInput<T = unknown> = SchemaSourceInput<T> | Schema<T> | TypeDefinitionReference;
267
+ /**
268
+ * A schema extracted from a source input, normalized to JSON Schema.
269
+ */
270
+ interface Schema<T = unknown> {
271
+ /** A stable content hash for the normalized schema. */
142
272
  hash: string;
273
+ /** The source variant used to derive the normalized {@link JsonSchema}. */
143
274
  variant: SchemaInputVariant;
144
- schema: JTDSchemaType<TMetadata>;
275
+ /** The normalized schema definition. */
276
+ schema: JsonSchema<T>;
145
277
  }
146
278
  interface BaseSchemaSource {
279
+ /** A stable content hash for the original source schema. */
147
280
  hash: string;
281
+ /** The specific source format used for the schema input. */
148
282
  variant: SchemaSourceVariant;
283
+ /** The original schema input captured before normalization. */
149
284
  schema: SchemaSourceInput;
150
285
  }
151
- interface JTDSchemaSchemaSource<TMetadata extends Partial<SchemaMetadata> = Partial<SchemaMetadata>> extends BaseSchemaSource {
152
- variant: "jtd-schema";
153
- schema: JTDSchemaType<TMetadata>;
154
- }
155
- interface JsonSchemaSchemaSource extends BaseSchemaSource {
286
+ interface JsonSchemaSchemaSource<TMetadata extends SchemaMetadata = SchemaMetadata> extends BaseSchemaSource {
287
+ /** Indicates the source input already uses JSON Schema syntax. */
156
288
  variant: "json-schema";
157
- schema: JsonSchemaType;
289
+ /** The original JSON Schema document. */
290
+ schema: JsonSchema<TMetadata>;
158
291
  }
159
292
  interface StandardSchemaSchemaSource extends BaseSchemaSource {
293
+ /** Indicates the source input follows the Standard Schema format. */
160
294
  variant: "standard-schema";
295
+ /** The original Standard Schema document. */
161
296
  schema: StandardJSONSchemaV1;
162
297
  }
163
298
  interface Zod3SchemaSource extends BaseSchemaSource {
299
+ /** Indicates the source input is a Zod v3 schema. */
164
300
  variant: "zod3";
301
+ /** The original Zod v3 schema instance. */
165
302
  schema: z3.ZodTypeAny;
166
303
  }
167
304
  interface ReflectionSchemaSource extends BaseSchemaSource {
305
+ /** Indicates the source input is a Deepkit reflection {@link Type}. */
168
306
  variant: "reflection";
307
+ /** The original Deepkit reflection type. */
169
308
  schema: Type;
170
309
  }
171
310
  interface UntypedSchemaSource extends BaseSchemaSource {
311
+ /** Indicates the source input comes from the Untyped schema model. */
172
312
  variant: "untyped";
313
+ /** The original Untyped schema input. */
173
314
  schema: UntypedInputObject | UntypedSchema;
174
315
  }
175
- type SchemaSource = JsonSchemaSchemaSource | JTDSchemaSchemaSource | StandardSchemaSchemaSource | Zod3SchemaSource | UntypedSchemaSource | ReflectionSchemaSource;
176
- interface ExtractedSchema<TMetadata extends Partial<SchemaMetadata> = Partial<SchemaMetadata>> extends Schema<TMetadata> {
316
+ type SchemaSource = JsonSchemaSchemaSource | StandardSchemaSchemaSource | Zod3SchemaSource | UntypedSchemaSource | ReflectionSchemaSource;
317
+ interface ExtractedSchema<T = unknown> extends Schema<T> {
318
+ /** The schema source that produced this normalized schema. */
177
319
  source: SchemaSource;
178
320
  }
179
321
  //#endregion
180
- export { BaseSchemaSource, ExtractedSchema, JTDNumberType, JTDSchemaSchemaSource, JTDSchemaType, JTDStringType, JTDType, JsonSchemaLike, JsonSchemaSchemaSource, ReflectionSchemaSource, Schema, SchemaInput, SchemaInputVariant, SchemaMetadata, SchemaSource, SchemaSourceInput, SchemaSourceVariant, StandardSchemaSchemaSource, TypeDefinitionReference, UntypedInputObject, UntypedSchema, UntypedSchemaSource, Zod3SchemaSource };
322
+ export { BaseSchemaSource, ExtractedSchema, JsonSchema, JsonSchemaLike, JsonSchemaObject, JsonSchemaPrimitiveType, JsonSchemaProperty, JsonSchemaSchemaSource, JsonType, NumberFormat, NumberKeywords, ReflectionSchemaSource, Schema, SchemaInput, SchemaInputVariant, SchemaMetadata, SchemaSource, SchemaSourceInput, SchemaSourceVariant, StandardSchemaSchemaSource, StringKeywords, TypeDefinitionReference, UntypedInputObject, UntypedSchema, UntypedSchemaSource, Zod3SchemaSource };
181
323
  //# sourceMappingURL=types.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../src/types.ts"],"mappings":"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"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../src/types.ts"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerlines/schema",
3
- "version": "0.11.28",
3
+ "version": "0.11.38",
4
4
  "private": false,
5
5
  "description": "A package containing a Powerlines plugin to assist in developing other Powerlines plugins.",
6
6
  "keywords": [
@@ -21,7 +21,7 @@
21
21
  "repository": {
22
22
  "type": "github",
23
23
  "url": "https://github.com/storm-software/powerlines.git",
24
- "directory": "packages/base/schema"
24
+ "directory": "packages/devkit/schema"
25
25
  },
26
26
  "funding": {
27
27
  "type": "github",
@@ -58,11 +58,26 @@
58
58
  "import": "./dist/codegen.mjs",
59
59
  "require": "./dist/codegen.cjs"
60
60
  },
61
+ "./constants": {
62
+ "import": "./dist/constants.mjs",
63
+ "require": "./dist/constants.cjs"
64
+ },
61
65
  "./extract": {
62
66
  "import": "./dist/extract.mjs",
63
67
  "require": "./dist/extract.cjs"
64
68
  },
65
- "./jtd": { "import": "./dist/jtd.mjs", "require": "./dist/jtd.cjs" },
69
+ "./helpers": {
70
+ "import": "./dist/helpers.mjs",
71
+ "require": "./dist/helpers.cjs"
72
+ },
73
+ "./metadata": {
74
+ "import": "./dist/metadata.mjs",
75
+ "require": "./dist/metadata.cjs"
76
+ },
77
+ "./persistence": {
78
+ "import": "./dist/persistence.mjs",
79
+ "require": "./dist/persistence.cjs"
80
+ },
66
81
  "./reflection": {
67
82
  "import": "./dist/reflection.mjs",
68
83
  "require": "./dist/reflection.cjs"
@@ -84,9 +99,9 @@
84
99
  "typings": "dist/index.d.mts",
85
100
  "files": ["dist"],
86
101
  "dependencies": {
87
- "@powerlines/core": "^0.11.28",
88
- "@powerlines/deepkit": "^0.11.28",
89
- "@powerlines/unplugin": "^0.0.16",
102
+ "@powerlines/core": "^0.48.2",
103
+ "@powerlines/deepkit": "^0.9.34",
104
+ "@powerlines/unplugin": "^0.0.50",
90
105
  "@standard-schema/spec": "^1.1.0",
91
106
  "@stryke/hash": "^0.13.29",
92
107
  "@stryke/helpers": "^0.10.16",
@@ -96,14 +111,15 @@
96
111
  "@stryke/types": "^0.12.4",
97
112
  "@stryke/zod": "^0.3.22",
98
113
  "ajv": "^8.20.0",
114
+ "ajv-formats": "^3.0.1",
99
115
  "defu": "^6.1.7",
100
116
  "esbuild": "^0.27.7",
101
117
  "typescript": "^6.0.3",
102
118
  "untyped": "^1.5.2"
103
119
  },
104
- "devDependencies": { "@types/node": "^25.8.0", "zod": "^4.4.3" },
120
+ "devDependencies": { "@types/node": "^25.9.1", "zod": "^4.4.3" },
105
121
  "peerDependencies": { "zod": "^3.25.0 || ^4.0.0" },
106
122
  "peerDependenciesMeta": { "zod": { "optional": true } },
107
123
  "publishConfig": { "access": "public" },
108
- "gitHead": "85b163645876ace8f026f7acc0e0e9fa247f9748"
124
+ "gitHead": "63c6c22ee9f8ceb3fb4302204d8e6079bbd98b6c"
109
125
  }