@danielfgray/pg-sourcerer 0.2.1 → 0.3.0
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/cli.js +3 -4
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +14 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +2 -0
- package/dist/errors.js.map +1 -1
- package/dist/generate.d.ts +5 -9
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +27 -29
- package/dist/generate.js.map +1 -1
- package/dist/index.d.ts +19 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -13
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +39 -9
- package/dist/init.js.map +1 -1
- package/dist/ir/extensions/queries.d.ts +264 -0
- package/dist/ir/extensions/queries.d.ts.map +1 -0
- package/dist/ir/extensions/queries.js +153 -0
- package/dist/ir/extensions/queries.js.map +1 -0
- package/dist/ir/extensions/schema-builder.d.ts +61 -0
- package/dist/ir/extensions/schema-builder.d.ts.map +1 -0
- package/dist/ir/extensions/schema-builder.js +5 -0
- package/dist/ir/extensions/schema-builder.js.map +1 -0
- package/dist/lib/conjure.d.ts +66 -0
- package/dist/lib/conjure.d.ts.map +1 -1
- package/dist/lib/conjure.js +127 -29
- package/dist/lib/conjure.js.map +1 -1
- package/dist/lib/hex.d.ts +10 -3
- package/dist/lib/hex.d.ts.map +1 -1
- package/dist/lib/hex.js +18 -8
- package/dist/lib/hex.js.map +1 -1
- package/dist/plugins/arktype.d.ts +27 -14
- package/dist/plugins/arktype.d.ts.map +1 -1
- package/dist/plugins/arktype.js +166 -130
- package/dist/plugins/arktype.js.map +1 -1
- package/dist/plugins/effect.d.ts +53 -0
- package/dist/plugins/effect.d.ts.map +1 -0
- package/dist/plugins/effect.js +1074 -0
- package/dist/plugins/effect.js.map +1 -0
- package/dist/plugins/http-elysia.d.ts +32 -0
- package/dist/plugins/http-elysia.d.ts.map +1 -0
- package/dist/plugins/http-elysia.js +613 -0
- package/dist/plugins/http-elysia.js.map +1 -0
- package/dist/plugins/http-express.d.ts +36 -0
- package/dist/plugins/http-express.d.ts.map +1 -0
- package/dist/plugins/http-express.js +388 -0
- package/dist/plugins/http-express.js.map +1 -0
- package/dist/plugins/http-hono.d.ts +36 -0
- package/dist/plugins/http-hono.d.ts.map +1 -0
- package/dist/plugins/http-hono.js +453 -0
- package/dist/plugins/http-hono.js.map +1 -0
- package/dist/plugins/http-orpc.d.ts +55 -0
- package/dist/plugins/http-orpc.d.ts.map +1 -0
- package/dist/plugins/http-orpc.js +370 -0
- package/dist/plugins/http-orpc.js.map +1 -0
- package/dist/plugins/http-trpc.d.ts +59 -0
- package/dist/plugins/http-trpc.d.ts.map +1 -0
- package/dist/plugins/http-trpc.js +392 -0
- package/dist/plugins/http-trpc.js.map +1 -0
- package/dist/plugins/kysely/queries.d.ts +92 -0
- package/dist/plugins/kysely/queries.d.ts.map +1 -0
- package/dist/plugins/kysely/queries.js +1169 -0
- package/dist/plugins/kysely/queries.js.map +1 -0
- package/dist/plugins/kysely/shared.d.ts +59 -0
- package/dist/plugins/kysely/shared.d.ts.map +1 -0
- package/dist/plugins/kysely/shared.js +247 -0
- package/dist/plugins/kysely/shared.js.map +1 -0
- package/dist/plugins/kysely/types.d.ts +22 -0
- package/dist/plugins/kysely/types.d.ts.map +1 -0
- package/dist/plugins/kysely/types.js +428 -0
- package/dist/plugins/kysely/types.js.map +1 -0
- package/dist/plugins/kysely.d.ts +72 -0
- package/dist/plugins/kysely.d.ts.map +1 -0
- package/dist/plugins/kysely.js +906 -0
- package/dist/plugins/kysely.js.map +1 -0
- package/dist/plugins/sql-queries.d.ts +55 -11
- package/dist/plugins/sql-queries.d.ts.map +1 -1
- package/dist/plugins/sql-queries.js +467 -218
- package/dist/plugins/sql-queries.js.map +1 -1
- package/dist/plugins/types.d.ts +20 -14
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/plugins/types.js +90 -112
- package/dist/plugins/types.js.map +1 -1
- package/dist/plugins/valibot.d.ts +45 -0
- package/dist/plugins/valibot.d.ts.map +1 -0
- package/dist/plugins/valibot.js +422 -0
- package/dist/plugins/valibot.js.map +1 -0
- package/dist/plugins/zod.d.ts +27 -14
- package/dist/plugins/zod.d.ts.map +1 -1
- package/dist/plugins/zod.js +231 -166
- package/dist/plugins/zod.js.map +1 -1
- package/dist/services/artifact-store.d.ts +11 -1
- package/dist/services/artifact-store.d.ts.map +1 -1
- package/dist/services/artifact-store.js +9 -0
- package/dist/services/artifact-store.js.map +1 -1
- package/dist/services/core-providers.d.ts +15 -0
- package/dist/services/core-providers.d.ts.map +1 -0
- package/dist/services/core-providers.js +23 -0
- package/dist/services/core-providers.js.map +1 -0
- package/dist/services/emissions.d.ts +14 -0
- package/dist/services/emissions.d.ts.map +1 -1
- package/dist/services/emissions.js +86 -47
- package/dist/services/emissions.js.map +1 -1
- package/dist/services/execution.d.ts +35 -0
- package/dist/services/execution.d.ts.map +1 -0
- package/dist/services/execution.js +86 -0
- package/dist/services/execution.js.map +1 -0
- package/dist/services/file-builder.d.ts +4 -0
- package/dist/services/file-builder.d.ts.map +1 -1
- package/dist/services/file-builder.js.map +1 -1
- package/dist/services/inflection.d.ts +2 -2
- package/dist/services/inflection.d.ts.map +1 -1
- package/dist/services/inflection.js +4 -4
- package/dist/services/inflection.js.map +1 -1
- package/dist/services/ir-builder.d.ts.map +1 -1
- package/dist/services/ir-builder.js +10 -3
- package/dist/services/ir-builder.js.map +1 -1
- package/dist/services/pg-types.d.ts +31 -0
- package/dist/services/pg-types.d.ts.map +1 -1
- package/dist/services/pg-types.js +24 -0
- package/dist/services/pg-types.js.map +1 -1
- package/dist/services/plugin-runner.d.ts +27 -37
- package/dist/services/plugin-runner.d.ts.map +1 -1
- package/dist/services/plugin-runner.js +73 -171
- package/dist/services/plugin-runner.js.map +1 -1
- package/dist/services/plugin.d.ts +349 -217
- package/dist/services/plugin.d.ts.map +1 -1
- package/dist/services/plugin.js +182 -130
- package/dist/services/plugin.js.map +1 -1
- package/dist/services/resolution.d.ts +38 -0
- package/dist/services/resolution.d.ts.map +1 -0
- package/dist/services/resolution.js +242 -0
- package/dist/services/resolution.js.map +1 -0
- package/dist/services/service-registry.d.ts +74 -0
- package/dist/services/service-registry.d.ts.map +1 -0
- package/dist/services/service-registry.js +61 -0
- package/dist/services/service-registry.js.map +1 -0
- package/dist/services/symbols.d.ts +59 -0
- package/dist/services/symbols.d.ts.map +1 -1
- package/dist/services/symbols.js +16 -0
- package/dist/services/symbols.js.map +1 -1
- package/dist/testing.d.ts +4 -25
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +2 -23
- package/dist/testing.js.map +1 -1
- package/package.json +1 -1
- package/dist/plugins/effect-model.d.ts +0 -17
- package/dist/plugins/effect-model.d.ts.map +0 -1
- package/dist/plugins/effect-model.js +0 -409
- package/dist/plugins/effect-model.js.map +0 -1
- package/dist/plugins/kysely-queries.d.ts +0 -66
- package/dist/plugins/kysely-queries.d.ts.map +0 -1
- package/dist/plugins/kysely-queries.js +0 -951
- package/dist/plugins/kysely-queries.js.map +0 -1
- package/dist/plugins/kysely-types.d.ts +0 -35
- package/dist/plugins/kysely-types.d.ts.map +0 -1
- package/dist/plugins/kysely-types.js +0 -601
- package/dist/plugins/kysely-types.js.map +0 -1
package/dist/lib/hex.d.ts
CHANGED
|
@@ -86,9 +86,16 @@ export declare function buildAllRowsDecl(sqlStyle: SqlStyle, varName: string, qu
|
|
|
86
86
|
*/
|
|
87
87
|
export declare function buildReturnQuery(sqlStyle: SqlStyle, parts: QueryParts, typeParam: n.TSType): n.Statement[];
|
|
88
88
|
/**
|
|
89
|
-
*
|
|
89
|
+
* Build an expression that uses DEFAULT when the field is undefined.
|
|
90
|
+
*
|
|
91
|
+
* For tag style: `field !== undefined ? field : sql\`default\``
|
|
92
|
+
* For string style: Uses COALESCE in SQL (handled differently at query level)
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* buildDefaultIfUndefined("title")
|
|
96
|
+
* // title !== undefined ? title : sql`default`
|
|
90
97
|
*/
|
|
91
|
-
export declare function
|
|
98
|
+
export declare function buildDefaultIfUndefined(fieldName: string): n.ConditionalExpression;
|
|
92
99
|
/**
|
|
93
100
|
* Hex - SQL Query Building Primitives
|
|
94
101
|
*
|
|
@@ -106,7 +113,7 @@ export declare const hex: {
|
|
|
106
113
|
readonly firstRowDecl: typeof buildFirstRowDecl;
|
|
107
114
|
readonly allRowsDecl: typeof buildAllRowsDecl;
|
|
108
115
|
readonly returnQuery: typeof buildReturnQuery;
|
|
109
|
-
readonly
|
|
116
|
+
readonly defaultIfUndefined: typeof buildDefaultIfUndefined;
|
|
110
117
|
};
|
|
111
118
|
export default hex;
|
|
112
119
|
//# sourceMappingURL=hex.d.ts.map
|
package/dist/lib/hex.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hex.d.ts","sourceRoot":"","sources":["../../src/lib/hex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,UAAU,IAAI,CAAC,EAAE,MAAM,WAAW,CAAA;AAUhD;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAA;AAEvC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,CAAA;CACzC;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,GAC7B,CAAC,CAAC,eAAe,CAOnB;AAMD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,CAAC,CAAC,eAAe,EAC9B,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,GACnB,CAAC,CAAC,eAAe,CAUnB;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,EAC/B,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,GACnB,CAAC,CAAC,eAAe,CAkBnB;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,UAAU,EACjB,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,GACnB,CAAC,CAAC,eAAe,CAWnB;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,CAAC,eAAe,GAC3B,CAAC,CAAC,mBAAmB,CAgBvB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,CAAC,eAAe,GAC3B,CAAC,CAAC,mBAAmB,CAcvB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,CAAC,CAAC,MAAM,GAClB,CAAC,CAAC,SAAS,EAAE,CAWf;AAMD
|
|
1
|
+
{"version":3,"file":"hex.d.ts","sourceRoot":"","sources":["../../src/lib/hex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,UAAU,IAAI,CAAC,EAAE,MAAM,WAAW,CAAA;AAUhD;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAA;AAEvC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,CAAA;CACzC;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,GAC7B,CAAC,CAAC,eAAe,CAOnB;AAMD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,CAAC,CAAC,eAAe,EAC9B,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,GACnB,CAAC,CAAC,eAAe,CAUnB;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,EAC/B,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,GACnB,CAAC,CAAC,eAAe,CAkBnB;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,UAAU,EACjB,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,GACnB,CAAC,CAAC,eAAe,CAWnB;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,CAAC,eAAe,GAC3B,CAAC,CAAC,mBAAmB,CAgBvB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,CAAC,eAAe,GAC3B,CAAC,CAAC,mBAAmB,CAcvB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,CAAC,CAAC,MAAM,GAClB,CAAC,CAAC,SAAS,EAAE,CAWf;AAMD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,GAChB,CAAC,CAAC,qBAAqB,CAuBzB;AAMD;;;;GAIG;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;CAoBN,CAAA;AAEV,eAAe,GAAG,CAAA"}
|
package/dist/lib/hex.js
CHANGED
|
@@ -138,15 +138,25 @@ export function buildReturnQuery(sqlStyle, parts, typeParam) {
|
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
// =============================================================================
|
|
141
|
-
//
|
|
141
|
+
// Optional Field Helpers
|
|
142
142
|
// =============================================================================
|
|
143
143
|
/**
|
|
144
|
-
*
|
|
144
|
+
* Build an expression that uses DEFAULT when the field is undefined.
|
|
145
|
+
*
|
|
146
|
+
* For tag style: `field !== undefined ? field : sql\`default\``
|
|
147
|
+
* For string style: Uses COALESCE in SQL (handled differently at query level)
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* buildDefaultIfUndefined("title")
|
|
151
|
+
* // title !== undefined ? title : sql`default`
|
|
145
152
|
*/
|
|
146
|
-
export function
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
153
|
+
export function buildDefaultIfUndefined(fieldName) {
|
|
154
|
+
// field !== undefined
|
|
155
|
+
const test = b.binaryExpression("!==", b.identifier(fieldName), b.identifier("undefined"));
|
|
156
|
+
// sql`default`
|
|
157
|
+
const sqlDefault = b.taggedTemplateExpression(b.identifier("sql"), b.templateLiteral([b.templateElement({ raw: "default", cooked: "default" }, true)], []));
|
|
158
|
+
// field !== undefined ? field : sql`default`
|
|
159
|
+
return b.conditionalExpression(test, b.identifier(fieldName), sqlDefault);
|
|
150
160
|
}
|
|
151
161
|
// =============================================================================
|
|
152
162
|
// Main API
|
|
@@ -171,8 +181,8 @@ export const hex = {
|
|
|
171
181
|
firstRowDecl: buildFirstRowDecl,
|
|
172
182
|
allRowsDecl: buildAllRowsDecl,
|
|
173
183
|
returnQuery: buildReturnQuery,
|
|
174
|
-
//
|
|
175
|
-
|
|
184
|
+
// Optional field handling
|
|
185
|
+
defaultIfUndefined: buildDefaultIfUndefined,
|
|
176
186
|
};
|
|
177
187
|
export default hex;
|
|
178
188
|
//# sourceMappingURL=hex.js.map
|
package/dist/lib/hex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hex.js","sourceRoot":"","sources":["../../src/lib/hex.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hex.js","sourceRoot":"","sources":["../../src/lib/hex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,31 @@
|
|
|
1
|
+
import { definePlugin } from "../services/plugin.js";
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
+
* Configuration for the arktype provider
|
|
4
|
+
*/
|
|
5
|
+
export interface ArkTypeConfig {
|
|
6
|
+
/** Output directory relative to main outputDir */
|
|
7
|
+
readonly outputDir?: string;
|
|
8
|
+
/** Export inferred types alongside schemas */
|
|
9
|
+
readonly exportTypes?: boolean;
|
|
10
|
+
/** How to represent enum values: 'strings' uses union literals, 'enum' uses TS enum */
|
|
11
|
+
readonly enumStyle?: "strings" | "enum";
|
|
12
|
+
/** Where to define enum types: 'inline' embeds at usage, 'separate' generates enum files */
|
|
13
|
+
readonly typeReferences?: "inline" | "separate";
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Create an arktype provider that generates ArkType schemas.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import { arktype } from "pg-sourcerer"
|
|
3
21
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
22
|
+
* export default defineConfig({
|
|
23
|
+
* plugins: [
|
|
24
|
+
* arktype(),
|
|
25
|
+
* arktype({ outputDir: "schemas", exportTypes: false }),
|
|
26
|
+
* ],
|
|
27
|
+
* })
|
|
28
|
+
* ```
|
|
6
29
|
*/
|
|
7
|
-
export declare
|
|
8
|
-
readonly outputDir: string;
|
|
9
|
-
readonly exportTypes: boolean;
|
|
10
|
-
readonly enumStyle: "enum" | "strings";
|
|
11
|
-
readonly typeReferences: "inline" | "separate";
|
|
12
|
-
}, {
|
|
13
|
-
readonly outputDir?: string | undefined;
|
|
14
|
-
readonly exportTypes?: boolean | undefined;
|
|
15
|
-
readonly enumStyle?: "enum" | "strings" | undefined;
|
|
16
|
-
readonly typeReferences?: "inline" | "separate" | undefined;
|
|
17
|
-
}>;
|
|
30
|
+
export declare function arktype(config?: ArkTypeConfig): ReturnType<typeof definePlugin>;
|
|
18
31
|
//# sourceMappingURL=arktype.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arktype.d.ts","sourceRoot":"","sources":["../../src/plugins/arktype.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arktype.d.ts","sourceRoot":"","sources":["../../src/plugins/arktype.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAsB,MAAM,uBAAuB,CAAC;AAmCzE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,uFAAuF;IACvF,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACxC,4FAA4F;IAC5F,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CACjD;AAsbD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,MAAM,GAAE,aAAkB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CA+FnF"}
|
package/dist/plugins/arktype.js
CHANGED
|
@@ -16,19 +16,17 @@ import { findEnumByPgName, TsType } from "../services/pg-types.js";
|
|
|
16
16
|
import { getTableEntities, getEnumEntities, getCompositeEntities } from "../ir/semantic-ir.js";
|
|
17
17
|
import { conjure } from "../lib/conjure.js";
|
|
18
18
|
import { isUuidType, isDateType, isEnumType, getPgTypeName, resolveFieldType, } from "../lib/field-utils.js";
|
|
19
|
+
import { SCHEMA_BUILDER_KIND, } from "../ir/extensions/schema-builder.js";
|
|
19
20
|
const { ts, exp, obj } = conjure;
|
|
20
|
-
|
|
21
|
-
// Configuration
|
|
22
|
-
// ============================================================================
|
|
23
|
-
const ArkTypePluginConfig = S.Struct({
|
|
24
|
-
/** Output directory relative to main outputDir */
|
|
21
|
+
const ArkTypeConfigSchema = S.Struct({
|
|
25
22
|
outputDir: S.optionalWith(S.String, { default: () => "arktype" }),
|
|
26
|
-
/** Export inferred types alongside schemas */
|
|
27
23
|
exportTypes: S.optionalWith(S.Boolean, { default: () => true }),
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
typeReferences: S.optionalWith(S.Union(S.Literal("inline"), S.Literal("separate")), {
|
|
24
|
+
enumStyle: S.optionalWith(S.Union(S.Literal("strings"), S.Literal("enum")), {
|
|
25
|
+
default: () => "strings",
|
|
26
|
+
}),
|
|
27
|
+
typeReferences: S.optionalWith(S.Union(S.Literal("inline"), S.Literal("separate")), {
|
|
28
|
+
default: () => "separate",
|
|
29
|
+
}),
|
|
32
30
|
});
|
|
33
31
|
// ============================================================================
|
|
34
32
|
// ArkType Schema Builders (pure functions)
|
|
@@ -88,8 +86,6 @@ const resolveFieldArkType = (field, ctx) => {
|
|
|
88
86
|
if (resolved.enumDef) {
|
|
89
87
|
if (ctx.typeReferences === "separate") {
|
|
90
88
|
// Reference by name - will be imported
|
|
91
|
-
// ArkType can reference other types by name in a scope, but for simple
|
|
92
|
-
// cases we'll use the type directly
|
|
93
89
|
const baseRef = resolved.enumDef.name;
|
|
94
90
|
const withMods = buildArkTypeString(baseRef, {
|
|
95
91
|
nullable: field.nullable,
|
|
@@ -165,16 +161,17 @@ const buildShapeArkTypeObject = (shape, ctx) => {
|
|
|
165
161
|
* Generate schema const + optional inferred type for a shape
|
|
166
162
|
*/
|
|
167
163
|
const generateShapeStatements = (shape, entityName, shapeKind, ctx, exportTypes) => {
|
|
168
|
-
const
|
|
164
|
+
const schemaSymbolCtx = { capability: "schemas", entity: entityName, shape: shapeKind };
|
|
169
165
|
const schemaExpr = buildShapeArkTypeObject(shape, ctx);
|
|
170
|
-
const schemaStatement = exp.const(shape.name,
|
|
166
|
+
const schemaStatement = exp.const(shape.name, schemaSymbolCtx, schemaExpr);
|
|
171
167
|
if (!exportTypes) {
|
|
172
168
|
return [schemaStatement];
|
|
173
169
|
}
|
|
174
170
|
// Generate: export type ShapeName = typeof ShapeName.infer
|
|
175
171
|
// ArkType uses Schema.infer for the inferred type
|
|
172
|
+
const typeSymbolCtx = { capability: "types", entity: entityName, shape: shapeKind };
|
|
176
173
|
const inferType = ts.typeof(`${shape.name}.infer`);
|
|
177
|
-
const typeStatement = exp.type(shape.name,
|
|
174
|
+
const typeStatement = exp.type(shape.name, typeSymbolCtx, inferType);
|
|
178
175
|
return [schemaStatement, typeStatement];
|
|
179
176
|
};
|
|
180
177
|
/**
|
|
@@ -213,15 +210,16 @@ const buildCompositeArkTypeObject = (composite, ctx) => {
|
|
|
213
210
|
* Generate schema const + optional inferred type for a composite type
|
|
214
211
|
*/
|
|
215
212
|
const generateCompositeStatements = (composite, ctx, exportTypes) => {
|
|
216
|
-
const
|
|
213
|
+
const schemaSymbolCtx = { capability: "schemas", entity: composite.name };
|
|
217
214
|
const schemaExpr = buildCompositeArkTypeObject(composite, ctx);
|
|
218
|
-
const schemaStatement = exp.const(composite.name,
|
|
215
|
+
const schemaStatement = exp.const(composite.name, schemaSymbolCtx, schemaExpr);
|
|
219
216
|
if (!exportTypes) {
|
|
220
217
|
return [schemaStatement];
|
|
221
218
|
}
|
|
222
219
|
// Generate: export type CompositeName = typeof CompositeName.infer
|
|
220
|
+
const typeSymbolCtx = { capability: "types", entity: composite.name };
|
|
223
221
|
const inferType = ts.typeof(`${composite.name}.infer`);
|
|
224
|
-
const typeStatement = exp.type(composite.name,
|
|
222
|
+
const typeStatement = exp.type(composite.name, typeSymbolCtx, inferType);
|
|
225
223
|
return [schemaStatement, typeStatement];
|
|
226
224
|
};
|
|
227
225
|
// ============================================================================
|
|
@@ -232,21 +230,11 @@ const generateCompositeStatements = (composite, ctx, exportTypes) => {
|
|
|
232
230
|
* - For 'strings': export const EnumName = type("'a' | 'b' | 'c'")
|
|
233
231
|
* - For 'enum': export enum EnumName { ... } + const EnumNameType = type("keyof", typeof EnumName)
|
|
234
232
|
*/
|
|
235
|
-
const generateEnumStatement = (enumEntity, enumStyle) => {
|
|
236
|
-
const
|
|
233
|
+
const generateEnumStatement = (enumEntity, enumStyle, exportTypes) => {
|
|
234
|
+
const schemaSymbolCtx = { capability: "schemas", entity: enumEntity.name };
|
|
237
235
|
if (enumStyle === "enum") {
|
|
238
236
|
// Generate: export enum EnumName { A = 'a', B = 'b', ... }
|
|
239
|
-
const
|
|
240
|
-
const enumStatement = {
|
|
241
|
-
_tag: "SymbolStatement",
|
|
242
|
-
node: conjure.b.exportNamedDeclaration(enumDecl, []),
|
|
243
|
-
symbol: {
|
|
244
|
-
name: enumEntity.name,
|
|
245
|
-
capability: "schemas:arktype",
|
|
246
|
-
entity: enumEntity.name,
|
|
247
|
-
isType: true,
|
|
248
|
-
},
|
|
249
|
-
};
|
|
237
|
+
const enumStatement = exp.tsEnum(enumEntity.name, { capability: "types", entity: enumEntity.name }, enumEntity.values);
|
|
250
238
|
// For arktype with native enums: type("keyof", typeof EnumName)
|
|
251
239
|
const schemaName = `${enumEntity.name}Type`;
|
|
252
240
|
const typeofExpr = conjure.b.unaryExpression("typeof", conjure.id(enumEntity.name).build(), true);
|
|
@@ -254,7 +242,7 @@ const generateEnumStatement = (enumEntity, enumStyle) => {
|
|
|
254
242
|
.id("type")
|
|
255
243
|
.call([conjure.str("keyof"), typeofExpr])
|
|
256
244
|
.build();
|
|
257
|
-
const schemaStatement = exp.const(schemaName,
|
|
245
|
+
const schemaStatement = exp.const(schemaName, schemaSymbolCtx, schemaExpr);
|
|
258
246
|
return [enumStatement, schemaStatement];
|
|
259
247
|
}
|
|
260
248
|
// strings style: export const EnumName = type("'a' | 'b' | 'c'")
|
|
@@ -263,7 +251,15 @@ const generateEnumStatement = (enumEntity, enumStyle) => {
|
|
|
263
251
|
.id("type")
|
|
264
252
|
.call([conjure.str(enumString)])
|
|
265
253
|
.build();
|
|
266
|
-
|
|
254
|
+
const schemaStatement = exp.const(enumEntity.name, schemaSymbolCtx, schemaExpr);
|
|
255
|
+
if (!exportTypes) {
|
|
256
|
+
return [schemaStatement];
|
|
257
|
+
}
|
|
258
|
+
// Generate: export type EnumName = typeof EnumName.infer
|
|
259
|
+
const typeSymbolCtx = { capability: "types", entity: enumEntity.name };
|
|
260
|
+
const inferType = ts.typeof(`${enumEntity.name}.infer`);
|
|
261
|
+
const typeStatement = exp.type(enumEntity.name, typeSymbolCtx, inferType);
|
|
262
|
+
return [schemaStatement, typeStatement];
|
|
267
263
|
};
|
|
268
264
|
/** Collect enum names used by fields */
|
|
269
265
|
const collectUsedEnums = (fields, enums) => {
|
|
@@ -278,109 +274,149 @@ const collectUsedEnums = (fields, enums) => {
|
|
|
278
274
|
/** Build import refs for used enums */
|
|
279
275
|
const buildEnumImports = (usedEnums) => Arr.fromIterable(usedEnums).map(enumName => ({
|
|
280
276
|
kind: "symbol",
|
|
281
|
-
ref: { capability: "schemas
|
|
277
|
+
ref: { capability: "schemas", entity: enumName },
|
|
282
278
|
}));
|
|
283
279
|
// ============================================================================
|
|
284
|
-
//
|
|
280
|
+
// Schema Builder Service
|
|
285
281
|
// ============================================================================
|
|
286
282
|
/**
|
|
287
|
-
* ArkType
|
|
288
|
-
*
|
|
289
|
-
* Generates ArkType schemas for each entity's shapes (base, Insert, Update)
|
|
290
|
-
* with inferred TypeScript types.
|
|
283
|
+
* Map TypeScript type string to ArkType string for params.
|
|
284
|
+
* URL params are strings, so we use string.integer for numbers (coerces).
|
|
291
285
|
*/
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
.ast(conjure.symbolProgram(...statements))
|
|
327
|
-
.emit();
|
|
328
|
-
});
|
|
286
|
+
const paramTypeToArkTypeString = (tsType) => {
|
|
287
|
+
switch (tsType.toLowerCase()) {
|
|
288
|
+
case "number":
|
|
289
|
+
// string.integer parses string to integer
|
|
290
|
+
return "string.integer.parse";
|
|
291
|
+
case "boolean":
|
|
292
|
+
return "string"; // ArkType doesn't have built-in boolean coercion from string
|
|
293
|
+
case "bigint":
|
|
294
|
+
return "string"; // Handle as string, parse manually
|
|
295
|
+
case "string":
|
|
296
|
+
default:
|
|
297
|
+
return "string";
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
/**
|
|
301
|
+
* Build type({ ... }) expression from QueryMethodParam[].
|
|
302
|
+
* For path/query parameter validation in HTTP handlers.
|
|
303
|
+
*/
|
|
304
|
+
const buildParamArkTypeObject = (params) => {
|
|
305
|
+
const objBuilder = params.reduce((builder, param) => {
|
|
306
|
+
const arkType = paramTypeToArkTypeString(param.type);
|
|
307
|
+
// Use "key?" syntax for optional params
|
|
308
|
+
const key = param.required ? param.name : `${param.name}?`;
|
|
309
|
+
return builder.stringProp(key, conjure.str(arkType));
|
|
310
|
+
}, obj());
|
|
311
|
+
return conjure.id("type").call([objBuilder.build()]).build();
|
|
312
|
+
};
|
|
313
|
+
/**
|
|
314
|
+
* Create a SchemaBuilder implementation for ArkType.
|
|
315
|
+
*/
|
|
316
|
+
const createArkTypeSchemaBuilder = () => ({
|
|
317
|
+
build: (request) => {
|
|
318
|
+
if (request.params.length === 0) {
|
|
319
|
+
return undefined;
|
|
329
320
|
}
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
schema: entity.schemaName,
|
|
339
|
-
inflection: ctx.inflection,
|
|
340
|
-
entity,
|
|
341
|
-
};
|
|
342
|
-
const fileName = ctx.pluginInflection.outputFile(fileNameCtx);
|
|
343
|
-
const filePath = `${config.outputDir}/${fileName}`;
|
|
344
|
-
// Collect all fields for enum detection
|
|
345
|
-
const allFields = [
|
|
346
|
-
...entity.shapes.row.fields,
|
|
347
|
-
...(entity.shapes.insert?.fields ?? []),
|
|
348
|
-
...(entity.shapes.update?.fields ?? []),
|
|
349
|
-
];
|
|
350
|
-
const usedEnums = typeReferences === "separate"
|
|
351
|
-
? collectUsedEnums(allFields, Arr.fromIterable(fieldCtx.enums))
|
|
352
|
-
: new Set();
|
|
353
|
-
const fileBuilder = ctx
|
|
354
|
-
.file(filePath)
|
|
355
|
-
.import({ kind: "package", names: ["type"], from: "arktype" });
|
|
356
|
-
// Add enum imports when using separate files
|
|
357
|
-
buildEnumImports(usedEnums).forEach(ref => fileBuilder.import(ref));
|
|
358
|
-
fileBuilder.ast(conjure.symbolProgram(...statements)).emit();
|
|
359
|
-
});
|
|
360
|
-
// Generate composite type schemas
|
|
361
|
-
getCompositeEntities(ctx.ir)
|
|
362
|
-
.filter(composite => composite.tags.omit !== true)
|
|
363
|
-
.forEach(composite => {
|
|
364
|
-
const statements = generateCompositeStatements(composite, fieldCtx, config.exportTypes);
|
|
365
|
-
const fileNameCtx = {
|
|
366
|
-
entityName: composite.name,
|
|
367
|
-
pgName: composite.pgName,
|
|
368
|
-
schema: composite.schemaName,
|
|
369
|
-
inflection: ctx.inflection,
|
|
370
|
-
entity: composite,
|
|
371
|
-
};
|
|
372
|
-
const fileName = ctx.pluginInflection.outputFile(fileNameCtx);
|
|
373
|
-
const filePath = `${config.outputDir}/${fileName}`;
|
|
374
|
-
// Collect enum usage for imports
|
|
375
|
-
const usedEnums = typeReferences === "separate"
|
|
376
|
-
? collectUsedEnums(composite.fields, Arr.fromIterable(fieldCtx.enums))
|
|
377
|
-
: new Set();
|
|
378
|
-
const fileBuilder = ctx
|
|
379
|
-
.file(filePath)
|
|
380
|
-
.import({ kind: "package", names: ["type"], from: "arktype" });
|
|
381
|
-
buildEnumImports(usedEnums).forEach(ref => fileBuilder.import(ref));
|
|
382
|
-
fileBuilder.ast(conjure.symbolProgram(...statements)).emit();
|
|
383
|
-
});
|
|
321
|
+
const ast = buildParamArkTypeObject(request.params);
|
|
322
|
+
return {
|
|
323
|
+
ast,
|
|
324
|
+
importSpec: {
|
|
325
|
+
names: ["type"],
|
|
326
|
+
from: "arktype",
|
|
327
|
+
},
|
|
328
|
+
};
|
|
384
329
|
},
|
|
385
330
|
});
|
|
331
|
+
// ============================================================================
|
|
332
|
+
// Provider Definition
|
|
333
|
+
// ============================================================================
|
|
334
|
+
/**
|
|
335
|
+
* Create an arktype provider that generates ArkType schemas.
|
|
336
|
+
*
|
|
337
|
+
* @example
|
|
338
|
+
* ```typescript
|
|
339
|
+
* import { arktype } from "pg-sourcerer"
|
|
340
|
+
*
|
|
341
|
+
* export default defineConfig({
|
|
342
|
+
* plugins: [
|
|
343
|
+
* arktype(),
|
|
344
|
+
* arktype({ outputDir: "schemas", exportTypes: false }),
|
|
345
|
+
* ],
|
|
346
|
+
* })
|
|
347
|
+
* ```
|
|
348
|
+
*/
|
|
349
|
+
export function arktype(config = {}) {
|
|
350
|
+
const parsed = S.decodeUnknownSync(ArkTypeConfigSchema)(config);
|
|
351
|
+
return definePlugin({
|
|
352
|
+
name: "arktype",
|
|
353
|
+
kind: "schemas",
|
|
354
|
+
singleton: true,
|
|
355
|
+
canProvide: () => true,
|
|
356
|
+
provide: (_params, _deps, ctx) => {
|
|
357
|
+
const { ir, inflection } = ctx;
|
|
358
|
+
const enumEntities = getEnumEntities(ir);
|
|
359
|
+
// Register schema-builder service for on-demand param/query schema generation
|
|
360
|
+
ctx.registerHandler(SCHEMA_BUILDER_KIND, createArkTypeSchemaBuilder().build);
|
|
361
|
+
const fieldCtx = {
|
|
362
|
+
enums: enumEntities,
|
|
363
|
+
extensions: ir.extensions,
|
|
364
|
+
enumStyle: parsed.enumStyle,
|
|
365
|
+
typeReferences: parsed.typeReferences,
|
|
366
|
+
};
|
|
367
|
+
// Helper to build file path
|
|
368
|
+
const buildFilePath = (entityName) => `${parsed.outputDir}/${entityName}.ts`;
|
|
369
|
+
// Generate separate enum files if configured
|
|
370
|
+
if (parsed.typeReferences === "separate") {
|
|
371
|
+
enumEntities
|
|
372
|
+
.filter(e => e.tags.omit !== true)
|
|
373
|
+
.forEach(enumEntity => {
|
|
374
|
+
const statements = generateEnumStatement(enumEntity, parsed.enumStyle, parsed.exportTypes);
|
|
375
|
+
ctx
|
|
376
|
+
.file(buildFilePath(enumEntity.name))
|
|
377
|
+
.import({ kind: "package", names: ["type"], from: "arktype" })
|
|
378
|
+
.ast(conjure.symbolProgram(...statements))
|
|
379
|
+
.emit();
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
getTableEntities(ir)
|
|
383
|
+
.filter(entity => entity.tags.omit !== true)
|
|
384
|
+
.forEach(entity => {
|
|
385
|
+
const statements = generateEntityStatements(entity, fieldCtx, parsed.exportTypes);
|
|
386
|
+
const entityName = inflection.entityName(entity.pgClass, entity.tags);
|
|
387
|
+
// Collect all fields for enum detection
|
|
388
|
+
const allFields = [
|
|
389
|
+
...entity.shapes.row.fields,
|
|
390
|
+
...(entity.shapes.insert?.fields ?? []),
|
|
391
|
+
...(entity.shapes.update?.fields ?? []),
|
|
392
|
+
];
|
|
393
|
+
const usedEnums = parsed.typeReferences === "separate"
|
|
394
|
+
? collectUsedEnums(allFields, Arr.fromIterable(fieldCtx.enums))
|
|
395
|
+
: new Set();
|
|
396
|
+
const fileBuilder = ctx
|
|
397
|
+
.file(buildFilePath(entityName))
|
|
398
|
+
.import({ kind: "package", names: ["type"], from: "arktype" });
|
|
399
|
+
// Add enum imports when using separate files
|
|
400
|
+
buildEnumImports(usedEnums).forEach(ref => fileBuilder.import(ref));
|
|
401
|
+
fileBuilder.ast(conjure.symbolProgram(...statements)).emit();
|
|
402
|
+
});
|
|
403
|
+
// Generate composite type schemas
|
|
404
|
+
getCompositeEntities(ir)
|
|
405
|
+
.filter(composite => composite.tags.omit !== true)
|
|
406
|
+
.forEach(composite => {
|
|
407
|
+
const statements = generateCompositeStatements(composite, fieldCtx, parsed.exportTypes);
|
|
408
|
+
// Collect enum usage for imports
|
|
409
|
+
const usedEnums = parsed.typeReferences === "separate"
|
|
410
|
+
? collectUsedEnums(composite.fields, Arr.fromIterable(fieldCtx.enums))
|
|
411
|
+
: new Set();
|
|
412
|
+
const fileBuilder = ctx
|
|
413
|
+
.file(buildFilePath(composite.name))
|
|
414
|
+
.import({ kind: "package", names: ["type"], from: "arktype" });
|
|
415
|
+
buildEnumImports(usedEnums).forEach(ref => fileBuilder.import(ref));
|
|
416
|
+
fileBuilder.ast(conjure.symbolProgram(...statements)).emit();
|
|
417
|
+
});
|
|
418
|
+
return undefined;
|
|
419
|
+
},
|
|
420
|
+
});
|
|
421
|
+
}
|
|
386
422
|
//# sourceMappingURL=arktype.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arktype.js","sourceRoot":"","sources":["../../src/plugins/arktype.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AASnE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EACL,UAAU,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AAEjC,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,kDAAkD;IAClD,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;IACjE,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAC/D,uFAAuF;IACvF,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAkB,EAAE,CAAC;IAClH,4FAA4F;IAC5F,cAAc,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAmB,EAAE,CAAC;CAC5H,CAAC,CAAC;AAIH,+EAA+E;AAC/E,2CAA2C;AAC3C,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,kBAAkB,GAAG,CACzB,QAAgB,EAChB,SAAwE,EAChE,EAAE;IACV,IAAI,MAAM,GAAG,QAAQ,CAAC;IAEtB,+CAA+C;IAC/C,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC;IACzB,CAAC;IAED,oCAAoC;IACpC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC;IAC9B,CAAC;IAED,uEAAuE;IACvE,uCAAuC;IAEvC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,sBAAsB,GAAG,CAAC,MAAyB,EAAU,EAAE,CACnE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAU,EAAE;IACvD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,MAAM;YAChB,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM,CAAC,MAAM;YAChB,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM,CAAC,OAAO;YACjB,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM,CAAC,MAAM;YAChB,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI;YACd,OAAO,MAAM,CAAC;QAChB,KAAK,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,MAAM,CAAC,OAAO,CAAC;QACpB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC,CAAC;AAwBF,MAAM,mBAAmB,GAAG,CAAC,KAAY,EAAE,GAAiB,EAAsB,EAAE;IAClF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAEpE,gBAAgB;IAChB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,GAAG,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YACtC,uCAAuC;YACvC,uEAAuE;YACvE,oCAAoC;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;YACtC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,EAAE;gBAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;YACH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACrD,CAAC;QAED,mCAAmC;QACnC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC;QACpD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzD,OAAO;YACL,UAAU,EAAE,kBAAkB,CAAC,OAAO,EAAE;gBACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;YACF,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,UAAU,EAAE,kBAAkB,CAAC,aAAa,EAAE;gBAC5C,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;YACF,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,UAAU,EAAE,kBAAkB,CAAC,MAAM,EAAE;gBACrC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;YACF,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,OAAO;QACL,UAAU,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACrE,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;QACF,WAAW,EAAE,KAAK;KACnB,CAAC;AACJ,CAAC,CAAC;AAEF,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,uBAAuB,GAAG,CAAC,KAAY,EAAE,GAAiB,EAAgB,EAAE;IAChF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACxD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW;YAC9B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE;YACvC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEnC,2EAA2E;QAC3E,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAEV,uBAAuB;IACvB,OAAO,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AAC/D,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,uBAAuB,GAAG,CAC9B,KAAY,EACZ,UAAkB,EAClB,SAAgD,EAChD,GAAiB,EACjB,WAAoB,EACQ,EAAE;IAC9B,MAAM,SAAS,GAAG,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC1F,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEvD,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAErE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3B,CAAC;IAED,2DAA2D;IAC3D,kDAAkD;IAClD,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAEjE,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AAC1C,CAAC,CAAC;AAQF;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,MAAmB,EAAyB,EAAE,CACnE;IACE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAU;IACnC,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAU;IACzC,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAU;CAC1C,CAAC,MAAM,CAAC,CAAC,KAAK,EAAuB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,wBAAwB,GAAG,CAC/B,MAAmB,EACnB,GAAiB,EACjB,WAAoB,EACQ,EAAE,CAC9B,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAC9C,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,CACpE,CAAC;AAEJ,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,2BAA2B,GAAG,CAClC,SAA0B,EAC1B,GAAiB,EACH,EAAE;IAChB,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW;YAC9B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE;YACvC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEnC,wCAAwC;QACxC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAEV,OAAO,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AAC/D,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,2BAA2B,GAAG,CAClC,SAA0B,EAC1B,GAAiB,EACjB,WAAoB,EACQ,EAAE;IAC9B,MAAM,SAAS,GAAG,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;IAC5E,MAAM,UAAU,GAAG,2BAA2B,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAE/D,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAEzE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3B,CAAC;IAED,mEAAmE;IACnE,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,QAAQ,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAErE,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,CAC5B,UAAsB,EACtB,SAA6B,EACD,EAAE;IAC9B,MAAM,SAAS,GAAG,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;IAE7E,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAC1C,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EACrC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACxB,OAAO,CAAC,CAAC,CAAC,YAAY,CACpB,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,EACjE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CACf,CACF,CACF,CAAC;QACF,MAAM,aAAa,GAAoB;YACrC,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpD,MAAM,EAAE;gBACN,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,UAAU,EAAE,iBAAiB;gBAC7B,MAAM,EAAE,UAAU,CAAC,IAAI;gBACvB,MAAM,EAAE,IAAI;aACb;SACF,CAAC;QAEF,gEAAgE;QAChE,MAAM,UAAU,GAAG,GAAG,UAAU,CAAC,IAAI,MAAM,CAAC;QAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,eAAe,CAC1C,QAAQ,EACR,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAqD,EACtF,IAAI,CACL,CAAC;QACF,MAAM,UAAU,GAAG,OAAO;aACvB,EAAE,CAAC,MAAM,CAAC;aACV,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,UAA0B,CAAC,CAAC;aACxD,KAAK,EAAE,CAAC;QACX,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAErE,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,iEAAiE;IACjE,MAAM,UAAU,GAAG,sBAAsB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,OAAO;SACvB,EAAE,CAAC,MAAM,CAAC;SACV,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;SAC/B,KAAK,EAAE,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,wCAAwC;AACxC,MAAM,gBAAgB,GAAG,CAAC,MAAwB,EAAE,KAA4B,EAAe,EAAE;IAC/F,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAC3B,OAAO,IAAI,CACT,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,EACnC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EACvB,MAAM,CAAC,OAAO,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEF,uCAAuC;AACvC,MAAM,gBAAgB,GAAG,CAAC,SAAsB,EAAwB,EAAE,CACxE,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,EAAE,QAAiB;IACvB,GAAG,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE;CACzD,CAAC,CAAC,CAAC;AAEN,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC;IACxC,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC;IACxC,YAAY,EAAE,mBAAmB;IACjC,UAAU,EAAE;QACV,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,UAAU,KAAK;QACzC,UAAU,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC,GAAG,UAAU,GAAG,YAAY,EAAE;KACzE;IAED,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QACnB,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;QAE7C,MAAM,QAAQ,GAAiB;YAC7B,KAAK,EAAE,YAAY;YACnB,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,UAAU;YAC7B,SAAS;YACT,cAAc;SACf,CAAC;QAEF,6CAA6C;QAC7C,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;YAClC,YAAY;iBACT,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;iBACjC,OAAO,CAAC,UAAU,CAAC,EAAE;gBACpB,MAAM,WAAW,GAAoB;oBACnC,UAAU,EAAE,UAAU,CAAC,IAAI;oBAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,MAAM,EAAE,UAAU,CAAC,UAAU;oBAC7B,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,MAAM,EAAE,UAAU;iBACnB,CAAC;gBACF,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvF,MAAM,UAAU,GAAG,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAEhE,GAAG;qBACA,IAAI,CAAC,QAAQ,CAAC;qBACd,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;qBAC7D,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,CAAC;qBACzC,IAAI,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACP,CAAC;QAED,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;aACrB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;aAC3C,OAAO,CAAC,MAAM,CAAC,EAAE;YAChB,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAElF,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1E,MAAM,WAAW,GAAoB;gBACnC,UAAU;gBACV,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,UAAU;gBACzB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,MAAM;aACP,CAAC;YACF,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC;YAEnD,wCAAwC;YACxC,MAAM,SAAS,GAAG;gBAChB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM;gBAC3B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;gBACvC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;aACxC,CAAC;YACF,MAAM,SAAS,GACb,cAAc,KAAK,UAAU;gBAC3B,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC/D,CAAC,CAAC,IAAI,GAAG,EAAU,CAAC;YAExB,MAAM,WAAW,GAAG,GAAG;iBACpB,IAAI,CAAC,QAAQ,CAAC;iBACd,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAEjE,6CAA6C;YAC7C,gBAAgB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAEpE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEL,kCAAkC;QAClC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;aACzB,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;aACjD,OAAO,CAAC,SAAS,CAAC,EAAE;YACnB,MAAM,UAAU,GAAG,2BAA2B,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAExF,MAAM,WAAW,GAAoB;gBACnC,UAAU,EAAE,SAAS,CAAC,IAAI;gBAC1B,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,MAAM,EAAE,SAAS,CAAC,UAAU;gBAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,MAAM,EAAE,SAAS;aAClB,CAAC;YACF,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC;YAEnD,iCAAiC;YACjC,MAAM,SAAS,GACb,cAAc,KAAK,UAAU;gBAC3B,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACtE,CAAC,CAAC,IAAI,GAAG,EAAU,CAAC;YAExB,MAAM,WAAW,GAAG,GAAG;iBACpB,IAAI,CAAC,QAAQ,CAAC;iBACd,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAEjE,gBAAgB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAEpE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;IACP,CAAC;CACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"arktype.js","sourceRoot":"","sources":["../../src/plugins/arktype.ts"],"names":[],"mappings":"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"}
|