@powerlines/schema 0.11.26 → 0.11.27
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/bundle.mjs.map +1 -1
- package/dist/codegen.cjs +49 -6
- package/dist/codegen.d.cts +21 -3
- package/dist/codegen.d.cts.map +1 -1
- package/dist/codegen.d.mts +21 -3
- package/dist/codegen.d.mts.map +1 -1
- package/dist/codegen.mjs +44 -3
- package/dist/codegen.mjs.map +1 -1
- package/dist/constants.cjs +19 -0
- package/dist/constants.d.cts +17 -0
- package/dist/constants.d.cts.map +1 -0
- package/dist/constants.d.mts +17 -0
- package/dist/constants.d.mts.map +1 -0
- package/dist/constants.mjs +18 -0
- package/dist/constants.mjs.map +1 -0
- package/dist/extract.cjs +23 -4
- package/dist/extract.d.cts.map +1 -1
- package/dist/extract.d.mts.map +1 -1
- package/dist/extract.mjs +23 -4
- package/dist/extract.mjs.map +1 -1
- package/dist/helpers.cjs +94 -0
- package/dist/helpers.d.cts +44 -0
- package/dist/helpers.d.cts.map +1 -0
- package/dist/helpers.d.mts +44 -0
- package/dist/helpers.d.mts.map +1 -0
- package/dist/helpers.mjs +90 -0
- package/dist/helpers.mjs.map +1 -0
- package/dist/index.cjs +19 -2
- package/dist/index.d.cts +7 -4
- package/dist/index.d.mts +7 -4
- package/dist/index.mjs +6 -3
- package/dist/jtd.mjs.map +1 -1
- package/dist/persistence.cjs +76 -0
- package/dist/persistence.d.cts +47 -0
- package/dist/persistence.d.cts.map +1 -0
- package/dist/persistence.d.mts +47 -0
- package/dist/persistence.d.mts.map +1 -0
- package/dist/persistence.mjs +71 -0
- package/dist/persistence.mjs.map +1 -0
- package/dist/reflection.cjs +13 -6
- package/dist/reflection.d.cts.map +1 -1
- package/dist/reflection.d.mts.map +1 -1
- package/dist/reflection.mjs +12 -6
- package/dist/reflection.mjs.map +1 -1
- package/dist/resolve.mjs.map +1 -1
- package/dist/type-checks.cjs +21 -2
- package/dist/type-checks.d.cts +16 -2
- package/dist/type-checks.d.cts.map +1 -1
- package/dist/type-checks.d.mts +16 -2
- package/dist/type-checks.d.mts.map +1 -1
- package/dist/type-checks.mjs +21 -4
- package/dist/type-checks.mjs.map +1 -1
- package/dist/types.d.cts +42 -12
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +42 -12
- package/dist/types.d.mts.map +1 -1
- package/package.json +19 -7
package/dist/types.d.mts
CHANGED
|
@@ -51,6 +51,10 @@ interface JsonSchemaLike {
|
|
|
51
51
|
[key: string]: unknown;
|
|
52
52
|
}
|
|
53
53
|
interface SchemaMetadata {
|
|
54
|
+
/**
|
|
55
|
+
* 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.
|
|
56
|
+
*/
|
|
57
|
+
name?: string;
|
|
54
58
|
/**
|
|
55
59
|
* 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.
|
|
56
60
|
*/
|
|
@@ -68,9 +72,20 @@ interface SchemaMetadata {
|
|
|
68
72
|
*/
|
|
69
73
|
examples?: unknown[];
|
|
70
74
|
/**
|
|
71
|
-
*
|
|
75
|
+
* 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.
|
|
76
|
+
*
|
|
77
|
+
* @remarks
|
|
78
|
+
* The concept of "groups" is not a standard feature of JSON Schema or JSON Type Definition, but it can be a useful convention for organizing schemas in larger projects or for providing additional metadata that can be leveraged by documentation generators or other tools. The specific meaning and usage of groups would depend on the conventions established within the project or the tools being used.
|
|
79
|
+
*/
|
|
80
|
+
groups?: string[];
|
|
81
|
+
/**
|
|
82
|
+
* 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
83
|
*/
|
|
73
|
-
|
|
84
|
+
visibility?: "public" | "protected" | "private";
|
|
85
|
+
/**
|
|
86
|
+
* A resource identifier 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.
|
|
87
|
+
*/
|
|
88
|
+
resourceId?: string;
|
|
74
89
|
/**
|
|
75
90
|
* An indicator specifying if the field should be marked as hidden or not.
|
|
76
91
|
*/
|
|
@@ -107,6 +122,15 @@ interface SchemaMetadata {
|
|
|
107
122
|
union?: JsonSchemaLike[];
|
|
108
123
|
[key: string]: unknown | undefined;
|
|
109
124
|
}
|
|
125
|
+
type JTDSchemaObjectForm<TMetadata extends Partial<SchemaMetadata> = Partial<SchemaMetadata>> = {
|
|
126
|
+
properties: Record<string, JTDSchemaType<TMetadata>>;
|
|
127
|
+
optionalProperties?: Record<string, JTDSchemaType<TMetadata>>;
|
|
128
|
+
additionalProperties?: boolean;
|
|
129
|
+
} | {
|
|
130
|
+
properties?: Record<string, JTDSchemaType<TMetadata>>;
|
|
131
|
+
optionalProperties: Record<string, JTDSchemaType<TMetadata>>;
|
|
132
|
+
additionalProperties?: boolean;
|
|
133
|
+
};
|
|
110
134
|
type JTDSchemaType<TMetadata extends Partial<SchemaMetadata> = Partial<SchemaMetadata>> = ({
|
|
111
135
|
ref: string;
|
|
112
136
|
} | {
|
|
@@ -117,15 +141,7 @@ type JTDSchemaType<TMetadata extends Partial<SchemaMetadata> = Partial<SchemaMet
|
|
|
117
141
|
elements: JTDSchemaType<TMetadata>;
|
|
118
142
|
} | {
|
|
119
143
|
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
|
-
} | {
|
|
144
|
+
} | JTDSchemaObjectForm<TMetadata> | {
|
|
129
145
|
discriminator: string;
|
|
130
146
|
mapping: Record<string, JTDSchemaType<TMetadata>>;
|
|
131
147
|
} | {}) & {
|
|
@@ -133,16 +149,30 @@ type JTDSchemaType<TMetadata extends Partial<SchemaMetadata> = Partial<SchemaMet
|
|
|
133
149
|
metadata?: TMetadata;
|
|
134
150
|
definitions?: Record<string, JTDSchemaType<TMetadata>>;
|
|
135
151
|
};
|
|
152
|
+
type JTDSchemaObjectType<TMetadata extends Partial<SchemaMetadata> = Partial<SchemaMetadata>> = JTDSchemaObjectForm<TMetadata> & {
|
|
153
|
+
nullable?: boolean;
|
|
154
|
+
metadata?: TMetadata;
|
|
155
|
+
definitions?: Record<string, JTDSchemaType<TMetadata>>;
|
|
156
|
+
};
|
|
136
157
|
type SchemaSourceVariant = "standard-schema" | "jtd-schema" | "json-schema" | "zod3" | "untyped" | "reflection";
|
|
137
158
|
type SchemaInputVariant = SchemaSourceVariant | "type-definition";
|
|
138
159
|
type SchemaSourceInput<TMetadata extends Partial<SchemaMetadata> = Partial<SchemaMetadata>> = StandardJSONSchemaV1 | JTDSchemaType<TMetadata> | JsonSchemaType | z3.ZodTypeAny | UntypedInputObject | UntypedSchema | Type;
|
|
139
160
|
type TypeDefinitionReference = TypeDefinition | string;
|
|
140
161
|
type SchemaInput = SchemaSourceInput | Schema | TypeDefinitionReference;
|
|
162
|
+
/**
|
|
163
|
+
* A type representing a schema that has been extracted from a source input. This type includes a `hash` property, which is a string that uniquely identifies the schema based on its content and source; a `variant` property, which indicates the format or type of the original input from which the schema was extracted (e.g., "jtd-schema", "json-schema", "zod3", "untyped", "reflection", or "type-definition"); and a `schema` property, which is the extracted schema itself represented as a JSON Type Definition (JTD) schema object with optional metadata. This type can be used to represent schemas in a standardized format regardless of their original source or representation.
|
|
164
|
+
*/
|
|
141
165
|
interface Schema<TMetadata extends Partial<SchemaMetadata> = Partial<SchemaMetadata>> {
|
|
142
166
|
hash: string;
|
|
143
167
|
variant: SchemaInputVariant;
|
|
144
168
|
schema: JTDSchemaType<TMetadata>;
|
|
145
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* A type representing a JSON Type Definition (JTD) schema that specifically has an object form (i.e., it has either a `properties` property that is an object or an `optionalProperties` property that is an object, as per the structure of JTD schema objects). This type extends the base {@link Schema} type and narrows the `schema` property to be a `JTDSchemaObjectType`, which ensures that any schema of this type will have the structure of a JTD object schema.
|
|
172
|
+
*/
|
|
173
|
+
interface ObjectSchema<TMetadata extends Partial<SchemaMetadata> = Partial<SchemaMetadata>> extends Schema<TMetadata> {
|
|
174
|
+
schema: JTDSchemaObjectType<TMetadata>;
|
|
175
|
+
}
|
|
146
176
|
interface BaseSchemaSource {
|
|
147
177
|
hash: string;
|
|
148
178
|
variant: SchemaSourceVariant;
|
|
@@ -177,5 +207,5 @@ interface ExtractedSchema<TMetadata extends Partial<SchemaMetadata> = Partial<Sc
|
|
|
177
207
|
source: SchemaSource;
|
|
178
208
|
}
|
|
179
209
|
//#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 };
|
|
210
|
+
export { BaseSchemaSource, ExtractedSchema, JTDNumberType, JTDSchemaObjectForm, JTDSchemaObjectType, JTDSchemaSchemaSource, JTDSchemaType, JTDStringType, JTDType, JsonSchemaLike, JsonSchemaSchemaSource, ObjectSchema, ReflectionSchemaSource, Schema, SchemaInput, SchemaInputVariant, SchemaMetadata, SchemaSource, SchemaSourceInput, SchemaSourceVariant, StandardSchemaSchemaSource, TypeDefinitionReference, UntypedInputObject, UntypedSchema, UntypedSchemaSource, Zod3SchemaSource };
|
|
181
211
|
//# sourceMappingURL=types.d.mts.map
|
package/dist/types.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","names":[],"sources":["../src/types.ts"],"mappings":";;;;;;;;KAyBY,kBAAA,GAAqB,
|
|
1
|
+
{"version":3,"file":"types.d.mts","names":[],"sources":["../src/types.ts"],"mappings":";;;;;;;;KAyBY,kBAAA,GAAqB,WAAW;AAAA,KAChC,aAAA,GAAgB,QAAO;AADnC;;;AAAA,KAMY,aAAA;AANgC;AAC5C;;AAD4C,KAmBhC,aAAA;;AAlBuB;AAKnC;KAkBY,OAAA,GAAU,aAAA,GAAgB,aAAa;AAAA,UAElC,cAAA;EACf,IAAA;EACA,MAAA;EACA,IAAA;EACA,KAAA;EACA,KAAA,GAAQ,cAAA,GAAiB,cAAA;EACzB,UAAA,GAAa,MAAA,SAAe,cAAA;EAC5B,iBAAA,GAAoB,MAAA,SAAe,cAAA;EACnC,oBAAA,aAAiC,cAAA;EACjC,QAAA;EACA,KAAA,GAAQ,cAAA;EACR,KAAA,GAAQ,cAAA;EACR,KAAA,GAAQ,cAAA;EACR,IAAA;EACA,WAAA;EACA,KAAA;EACA,OAAA;EACA,QAAA;EACA,OAAA;EACA,OAAA;EACA,gBAAA;EACA,gBAAA;EACA,QAAA;EACA,WAAA,GAAc,MAAA,SAAe,cAAA;EAC7B,KAAA,GAAQ,MAAA,SAAe,cAAA;EACvB,aAAA;IAAkB,YAAA;EAAA;EAAA,CACjB,GAAA;AAAA;AAAA,UAGc,cAAA;EALD;;;EASd,IAAA;EA7BA;;;EAkCA,KAAA;EAhCA;;;EAqCA,WAAA;EApCoB;;;EAyCpB,OAAA;EAvCA;;;EA4CA,QAAA;EA1CQ;;;;;;EAkDR,MAAA;EA5CA;;;EAiDA,UAAA;EA7CA;;;EAkDA,UAAA;EAhD6B;;;EAqD7B,QAAA;EAnDA;;;EAwDA,SAAA;EAvDY;AAGd;;;;EA2DE,UAAA;EAlDA;;;EAuDA,SAAA;EAhCA;;;EAqCA,UAAA;EAjBA;;;EAsBA,YAAA;EAAA;;;EAKA,KAAA;EAOC;;AAAW;EAFZ,KAAA,GAAQ,cAAc;EAAA,CAErB,GAAA;AAAA;AAAA,KAGS,mBAAA,mBACQ,OAAA,CAAQ,cAAA,IAAkB,OAAA,CAAQ,cAAA;EAGhD,UAAA,EAAY,MAAA,SAAe,aAAA,CAAc,SAAA;EACzC,kBAAA,GAAqB,MAAA,SAAe,aAAA,CAAc,SAAA;EAClD,oBAAA;AAAA;EAGA,UAAA,GAAa,MAAA,SAAe,aAAA,CAAc,SAAA;EAC1C,kBAAA,EAAoB,MAAA,SAAe,aAAA,CAAc,SAAA;EACjD,oBAAA;AAAA;AAAA,KAGM,aAAA,mBACQ,OAAA,CAAQ,cAAA,IAAkB,OAAA,CAAQ,cAAA;EAGhD,GAAA;AAAA;EAGA,IAAA,EAAM,OAAA;AAAA;EAGN,IAAA;AAAA;EAGA,QAAA,EAAU,aAAA,CAAc,SAAA;AAAA;EAGxB,MAAA,EAAQ,aAAA,CAAc,SAAA;AAAA,IAExB,mBAAA,CAAoB,SAAA;EAElB,aAAA;EACA,OAAA,EAAS,MAAA,SAAe,aAAA,CAAc,SAAA;AAAA;EAK1C,QAAA;EACA,QAAA,GAAW,SAAA;EACX,WAAA,GAAc,MAAA,SAAe,aAAA,CAAc,SAAA;AAAA;AAAA,KAGjC,mBAAA,mBACQ,OAAA,CAAQ,cAAA,IAAkB,OAAA,CAAQ,cAAA,KAClD,mBAAA,CAAoB,SAAA;EACtB,QAAA;EACA,QAAA,GAAW,SAAA;EACX,WAAA,GAAc,MAAA,SAAe,aAAA,CAAc,SAAA;AAAA;AAAA,KAGjC,mBAAA;AAAA,KAQA,kBAAA,GAAqB,mBAAmB;AAAA,KAExC,iBAAA,mBACQ,OAAA,CAAQ,cAAA,IAAkB,OAAA,CAAQ,cAAA,KAElD,oBAAA,GACA,aAAA,CAAc,SAAA,IACd,cAAA,GACA,EAAA,CAAG,UAAA,GACH,kBAAA,GACA,aAAA,GACA,IAAA;AAAA,KAEQ,uBAAA,GAA0B,cAAc;AAAA,KAExC,WAAA,GAAc,iBAAA,GAAoB,MAAA,GAAS,uBAAA;;;;UAKtC,MAAA,mBACG,OAAA,CAAQ,cAAA,IAAkB,OAAA,CAAQ,cAAA;EAEpD,IAAA;EACA,OAAA,EAAS,kBAAA;EACT,MAAA,EAAQ,aAAA,CAAc,SAAA;AAAA;;;;UAMP,YAAA,mBACG,OAAA,CAAQ,cAAA,IAAkB,OAAA,CAAQ,cAAA,WAC5C,MAAA,CAAO,SAAA;EACf,MAAA,EAAQ,mBAAA,CAAoB,SAAA;AAAA;AAAA,UAGb,gBAAA;EACf,IAAA;EACA,OAAA,EAAS,mBAAA;EACT,MAAA,EAAQ,iBAAiB;AAAA;AAAA,UAGV,qBAAA,mBACG,OAAA,CAAQ,cAAA,IAAkB,OAAA,CAAQ,cAAA,WAC5C,gBAAA;EACR,OAAA;EACA,MAAA,EAAQ,aAAA,CAAc,SAAA;AAAA;AAAA,UAGP,sBAAA,SAA+B,gBAAgB;EAC9D,OAAA;EACA,MAAA,EAAQ,cAAA;AAAA;AAAA,UAGO,0BAAA,SAAmC,gBAAgB;EAClE,OAAA;EACA,MAAA,EAAQ,oBAAA;AAAA;AAAA,UAGO,gBAAA,SAAyB,gBAAgB;EACxD,OAAA;EACA,MAAA,EAAQ,EAAA,CAAG,UAAA;AAAA;AAAA,UAGI,sBAAA,SAA+B,gBAAgB;EAC9D,OAAA;EACA,MAAA,EAAQ,IAAA;AAAA;AAAA,UAGO,mBAAA,SAA4B,gBAAA;EAC3C,OAAA;EACA,MAAA,EAAQ,kBAAA,GAAqB,aAAA;AAAA;AAAA,KAGnB,YAAA,GACR,sBAAA,GACA,qBAAA,GACA,0BAAA,GACA,gBAAA,GACA,mBAAA,GACA,sBAAA;AAAA,UAEa,eAAA,mBACG,OAAA,CAAQ,cAAA,IAAkB,OAAA,CAAQ,cAAA,WAC5C,MAAA,CAAO,SAAA;EACf,MAAA,EAAQ,YAAA;AAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerlines/schema",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.27",
|
|
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/
|
|
24
|
+
"directory": "packages/devkit/schema"
|
|
25
25
|
},
|
|
26
26
|
"funding": {
|
|
27
27
|
"type": "github",
|
|
@@ -58,11 +58,23 @@
|
|
|
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
|
},
|
|
69
|
+
"./helpers": {
|
|
70
|
+
"import": "./dist/helpers.mjs",
|
|
71
|
+
"require": "./dist/helpers.cjs"
|
|
72
|
+
},
|
|
65
73
|
"./jtd": { "import": "./dist/jtd.mjs", "require": "./dist/jtd.cjs" },
|
|
74
|
+
"./persistence": {
|
|
75
|
+
"import": "./dist/persistence.mjs",
|
|
76
|
+
"require": "./dist/persistence.cjs"
|
|
77
|
+
},
|
|
66
78
|
"./reflection": {
|
|
67
79
|
"import": "./dist/reflection.mjs",
|
|
68
80
|
"require": "./dist/reflection.cjs"
|
|
@@ -84,9 +96,9 @@
|
|
|
84
96
|
"typings": "dist/index.d.mts",
|
|
85
97
|
"files": ["dist"],
|
|
86
98
|
"dependencies": {
|
|
87
|
-
"@powerlines/core": "^0.
|
|
88
|
-
"@powerlines/deepkit": "^0.
|
|
89
|
-
"@powerlines/unplugin": "^0.0.
|
|
99
|
+
"@powerlines/core": "^0.15.24",
|
|
100
|
+
"@powerlines/deepkit": "^0.9.23",
|
|
101
|
+
"@powerlines/unplugin": "^0.0.39",
|
|
90
102
|
"@standard-schema/spec": "^1.1.0",
|
|
91
103
|
"@stryke/hash": "^0.13.29",
|
|
92
104
|
"@stryke/helpers": "^0.10.16",
|
|
@@ -101,9 +113,9 @@
|
|
|
101
113
|
"typescript": "^6.0.3",
|
|
102
114
|
"untyped": "^1.5.2"
|
|
103
115
|
},
|
|
104
|
-
"devDependencies": { "@types/node": "^25.
|
|
116
|
+
"devDependencies": { "@types/node": "^25.9.0", "zod": "^4.4.3" },
|
|
105
117
|
"peerDependencies": { "zod": "^3.25.0 || ^4.0.0" },
|
|
106
118
|
"peerDependenciesMeta": { "zod": { "optional": true } },
|
|
107
119
|
"publishConfig": { "access": "public" },
|
|
108
|
-
"gitHead": "
|
|
120
|
+
"gitHead": "fa8c4ae579471be5f678883ecb35d00ea17c29ba"
|
|
109
121
|
}
|