glasswork 1.0.0 → 1.1.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/CHANGELOG.md +23 -0
- package/README.md +34 -2
- package/dist/audit/audit-logger.d.ts +22 -0
- package/dist/audit/audit-logger.d.ts.map +1 -0
- package/dist/audit/audit-logger.js +44 -0
- package/dist/audit/audit-logger.js.map +1 -0
- package/dist/audit/context.d.ts +13 -0
- package/dist/audit/context.d.ts.map +1 -0
- package/dist/audit/context.js +66 -0
- package/dist/audit/context.js.map +1 -0
- package/dist/audit/index.d.ts +8 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/index.js +7 -0
- package/dist/audit/index.js.map +1 -0
- package/dist/audit/types.d.ts +74 -0
- package/dist/audit/types.d.ts.map +1 -0
- package/dist/audit/types.js +2 -0
- package/dist/audit/types.js.map +1 -0
- package/dist/auth/abilities.d.ts +1 -1
- package/dist/auth/abilities.d.ts.map +1 -1
- package/dist/auth/abilities.js.map +1 -1
- package/dist/auth/better-auth-provider.d.ts +6 -3
- package/dist/auth/better-auth-provider.d.ts.map +1 -1
- package/dist/auth/better-auth-provider.js +1 -3
- package/dist/auth/better-auth-provider.js.map +1 -1
- package/dist/auth/index.d.ts +2 -2
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/middleware.d.ts +9 -7
- package/dist/auth/middleware.d.ts.map +1 -1
- package/dist/auth/middleware.js +9 -1
- package/dist/auth/middleware.js.map +1 -1
- package/dist/auth/types.d.ts +7 -0
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/config/config-service.d.ts.map +1 -1
- package/dist/config/config-service.js.map +1 -1
- package/dist/config/providers.js.map +1 -1
- package/dist/core/bootstrap.js.map +1 -1
- package/dist/email/compiler/compiler.js +3 -3
- package/dist/email/compiler/compiler.js.map +1 -1
- package/dist/email/email-service.d.ts.map +1 -1
- package/dist/email/template-registry.d.ts.map +1 -1
- package/dist/email/templated-email-service.d.ts.map +1 -1
- package/dist/email/transports/mock-transport.d.ts.map +1 -1
- package/dist/email/transports/ses-transport.d.ts.map +1 -1
- package/dist/email/webhooks/handler-factory.js.map +1 -1
- package/dist/email/webhooks/signature-verification.js.map +1 -1
- package/dist/email/webhooks/subscription-handler.js.map +1 -1
- package/dist/hono-context.d.ts +1 -1
- package/dist/hono-context.d.ts.map +1 -1
- package/dist/http/error-handler.js.map +1 -1
- package/dist/http/errors.d.ts.map +1 -1
- package/dist/http/errors.js.map +1 -1
- package/dist/http/route-authorization.d.ts +1 -2
- package/dist/http/route-authorization.d.ts.map +1 -1
- package/dist/http/route-authorization.js.map +1 -1
- package/dist/http/route-context.d.ts +4 -2
- package/dist/http/route-context.d.ts.map +1 -1
- package/dist/http/route-context.js +7 -2
- package/dist/http/route-context.js.map +1 -1
- package/dist/http/route-helpers.d.ts +3 -3
- package/dist/http/route-helpers.d.ts.map +1 -1
- package/dist/http/route-helpers.js.map +1 -1
- package/dist/http/route-openapi.d.ts +1 -1
- package/dist/http/route-openapi.d.ts.map +1 -1
- package/dist/http/route-openapi.js.map +1 -1
- package/dist/http/route-types.d.ts +26 -23
- package/dist/http/route-types.d.ts.map +1 -1
- package/dist/jobs/drivers/eventbridge-scheduler-driver.d.ts.map +1 -1
- package/dist/jobs/drivers/eventbridge-scheduler-driver.js.map +1 -1
- package/dist/jobs/drivers/mock-driver.d.ts.map +1 -1
- package/dist/jobs/drivers/mock-driver.js.map +1 -1
- package/dist/jobs/drivers/sqs-driver.d.ts.map +1 -1
- package/dist/jobs/drivers/sqs-driver.js.map +1 -1
- package/dist/jobs/errors.d.ts.map +1 -1
- package/dist/jobs/job-registry.d.ts.map +1 -1
- package/dist/jobs/job-registry.js.map +1 -1
- package/dist/jobs/job-service.d.ts.map +1 -1
- package/dist/jobs/job-service.js.map +1 -1
- package/dist/jobs/observability/client.d.ts +26 -0
- package/dist/jobs/observability/client.d.ts.map +1 -0
- package/dist/jobs/observability/client.js +286 -0
- package/dist/jobs/observability/client.js.map +1 -0
- package/dist/jobs/observability/dashboard.d.ts +19 -0
- package/dist/jobs/observability/dashboard.d.ts.map +1 -0
- package/dist/jobs/observability/dashboard.js +144 -0
- package/dist/jobs/observability/dashboard.js.map +1 -0
- package/dist/jobs/observability/emf.d.ts +24 -0
- package/dist/jobs/observability/emf.d.ts.map +1 -0
- package/dist/jobs/observability/emf.js +100 -0
- package/dist/jobs/observability/emf.js.map +1 -0
- package/dist/jobs/observability/index.d.ts +5 -0
- package/dist/jobs/observability/index.d.ts.map +1 -0
- package/dist/jobs/observability/index.js +4 -0
- package/dist/jobs/observability/index.js.map +1 -0
- package/dist/jobs/observability/types.d.ts +234 -0
- package/dist/jobs/observability/types.d.ts.map +1 -0
- package/dist/jobs/observability/types.js +2 -0
- package/dist/jobs/observability/types.js.map +1 -0
- package/dist/jobs/worker.d.ts +1 -1
- package/dist/jobs/worker.d.ts.map +1 -1
- package/dist/list-query/builder.d.ts +11 -2
- package/dist/list-query/builder.d.ts.map +1 -1
- package/dist/list-query/builder.js +29 -5
- package/dist/list-query/builder.js.map +1 -1
- package/dist/list-query/filter-mapping.d.ts +89 -0
- package/dist/list-query/filter-mapping.d.ts.map +1 -0
- package/dist/list-query/filter-mapping.js +254 -0
- package/dist/list-query/filter-mapping.js.map +1 -0
- package/dist/list-query/filter-value-schemas.d.ts +16 -0
- package/dist/list-query/filter-value-schemas.d.ts.map +1 -0
- package/dist/list-query/filter-value-schemas.js +56 -0
- package/dist/list-query/filter-value-schemas.js.map +1 -0
- package/dist/list-query/index.d.ts +5 -2
- package/dist/list-query/index.d.ts.map +1 -1
- package/dist/list-query/index.js +5 -2
- package/dist/list-query/index.js.map +1 -1
- package/dist/list-query/parse-filter-values.d.ts +21 -0
- package/dist/list-query/parse-filter-values.d.ts.map +1 -0
- package/dist/list-query/parse-filter-values.js +177 -0
- package/dist/list-query/parse-filter-values.js.map +1 -0
- package/dist/list-query/parser.d.ts +3 -2
- package/dist/list-query/parser.d.ts.map +1 -1
- package/dist/list-query/parser.js.map +1 -1
- package/dist/list-query/prisma-builder.d.ts.map +1 -1
- package/dist/list-query/prisma-builder.js +3 -50
- package/dist/list-query/prisma-builder.js.map +1 -1
- package/dist/list-query/prisma-executor.d.ts +44 -29
- package/dist/list-query/prisma-executor.d.ts.map +1 -1
- package/dist/list-query/prisma-executor.js +48 -33
- package/dist/list-query/prisma-executor.js.map +1 -1
- package/dist/list-query/query-schema.d.ts +8 -13
- package/dist/list-query/query-schema.d.ts.map +1 -1
- package/dist/list-query/query-schema.js +11 -12
- package/dist/list-query/query-schema.js.map +1 -1
- package/dist/list-query/schema-helpers.d.ts +34 -31
- package/dist/list-query/schema-helpers.d.ts.map +1 -1
- package/dist/list-query/schema-helpers.js +47 -37
- package/dist/list-query/schema-helpers.js.map +1 -1
- package/dist/list-query/sort-mapping.d.ts +37 -0
- package/dist/list-query/sort-mapping.d.ts.map +1 -0
- package/dist/list-query/sort-mapping.js +88 -0
- package/dist/list-query/sort-mapping.js.map +1 -0
- package/dist/list-query/types.d.ts +3 -10
- package/dist/list-query/types.d.ts.map +1 -1
- package/dist/list-query/validator.d.ts.map +1 -1
- package/dist/list-query/validator.js +28 -10
- package/dist/list-query/validator.js.map +1 -1
- package/dist/observability/exception-tracking.d.ts.map +1 -1
- package/dist/observability/exception-tracking.js.map +1 -1
- package/dist/observability/index.d.ts +1 -1
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/index.js +1 -1
- package/dist/observability/index.js.map +1 -1
- package/dist/observability/pino-logger.d.ts +0 -28
- package/dist/observability/pino-logger.d.ts.map +1 -1
- package/dist/observability/pino-logger.js +21 -12
- package/dist/observability/pino-logger.js.map +1 -1
- package/dist/observability/request-context.d.ts +36 -1
- package/dist/observability/request-context.d.ts.map +1 -1
- package/dist/observability/request-context.js +43 -0
- package/dist/observability/request-context.js.map +1 -1
- package/dist/rls/configuration.d.ts +3 -0
- package/dist/rls/configuration.d.ts.map +1 -0
- package/dist/rls/configuration.js +13 -0
- package/dist/rls/configuration.js.map +1 -0
- package/dist/rls/context.d.ts +37 -0
- package/dist/rls/context.d.ts.map +1 -0
- package/dist/rls/context.js +56 -0
- package/dist/rls/context.js.map +1 -0
- package/dist/rls/extension.d.ts +7 -0
- package/dist/rls/extension.d.ts.map +1 -0
- package/dist/rls/extension.js +91 -0
- package/dist/rls/extension.js.map +1 -0
- package/dist/rls/generator.d.ts +17 -0
- package/dist/rls/generator.d.ts.map +1 -0
- package/dist/rls/generator.js +47 -0
- package/dist/rls/generator.js.map +1 -0
- package/dist/rls/index.d.ts +7 -0
- package/dist/rls/index.d.ts.map +1 -0
- package/dist/rls/index.js +7 -0
- package/dist/rls/index.js.map +1 -0
- package/dist/rls/middleware.d.ts +17 -0
- package/dist/rls/middleware.d.ts.map +1 -0
- package/dist/rls/middleware.js +51 -0
- package/dist/rls/middleware.js.map +1 -0
- package/dist/rls/testing.d.ts +24 -0
- package/dist/rls/testing.d.ts.map +1 -0
- package/dist/rls/testing.js +31 -0
- package/dist/rls/testing.js.map +1 -0
- package/dist/rls/types.d.ts +51 -0
- package/dist/rls/types.d.ts.map +1 -0
- package/dist/rls/types.js +16 -0
- package/dist/rls/types.js.map +1 -0
- package/dist/uploads/uploads.service.d.ts.map +1 -1
- package/dist/uploads/validators.d.ts.map +1 -1
- package/dist/utils/serialize-prisma-types.js.map +1 -1
- package/package.json +47 -34
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export declare const ListQuerySchema: import("valibot").ObjectSchema<{
|
|
9
|
-
readonly sorts: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
10
|
-
readonly filters: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
11
|
-
readonly page: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TransformAction<string, number>]>, undefined>;
|
|
12
|
-
readonly pageSize: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TransformAction<string, number>]>, undefined>;
|
|
13
|
-
readonly search: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
1
|
+
import { type InferOutput } from 'valibot';
|
|
2
|
+
export declare const ListQuerySchema: import("valibot").StrictObjectSchema<{
|
|
3
|
+
readonly sorts: import("valibot").ExactOptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 100, undefined>]>, undefined>;
|
|
4
|
+
readonly filters: import("valibot").ExactOptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 1000, undefined>]>, undefined>;
|
|
5
|
+
readonly page: import("valibot").ExactOptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>, import("valibot").CheckAction<string, "Expected at most 10 digits">, import("valibot").TransformAction<any, number>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, number, undefined>]>, undefined>;
|
|
6
|
+
readonly pageSize: import("valibot").ExactOptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>, import("valibot").CheckAction<string, "Expected at most 10 digits">, import("valibot").TransformAction<any, number>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, number, undefined>]>, undefined>;
|
|
7
|
+
readonly search: import("valibot").ExactOptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 255, undefined>]>, undefined>;
|
|
14
8
|
}, undefined>;
|
|
9
|
+
export type ListQueryParams = InferOutput<typeof ListQuerySchema>;
|
|
15
10
|
//# sourceMappingURL=query-schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-schema.d.ts","sourceRoot":"","sources":["../../src/list-query/query-schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query-schema.d.ts","sourceRoot":"","sources":["../../src/list-query/query-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAUjB,MAAM,SAAS,CAAC;AAkBjB,eAAO,MAAM,eAAe;;;;;;aAM1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { check, exactOptional, integer, maxLength, maxValue, minValue, pipe, regex, strictObject, string, transform, } from 'valibot';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Note: Query parameters are always strings, so we transform them to numbers
|
|
7
|
-
* Valibot correctly infers the output type as number after transformation
|
|
3
|
+
* Strict, bounded HTTP contract for list-query parameters.
|
|
4
|
+
* Field, operator, and value validation happens against the configured
|
|
5
|
+
* filter and sort schemas when the list query is built.
|
|
8
6
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
const positiveIntegerQuery = (maximum) => pipe(string(), regex(/^[1-9]\d*$/), check((value) => value.length <= 10, 'Expected at most 10 digits'), transform(Number), integer(), minValue(1), maxValue(maximum));
|
|
8
|
+
export const ListQuerySchema = strictObject({
|
|
9
|
+
sorts: exactOptional(pipe(string(), maxLength(100))),
|
|
10
|
+
filters: exactOptional(pipe(string(), maxLength(1_000))),
|
|
11
|
+
page: exactOptional(positiveIntegerQuery(1_000_000)),
|
|
12
|
+
pageSize: exactOptional(positiveIntegerQuery(100)),
|
|
13
|
+
search: exactOptional(pipe(string(), maxLength(255))),
|
|
15
14
|
});
|
|
16
15
|
//# sourceMappingURL=query-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-schema.js","sourceRoot":"","sources":["../../src/list-query/query-schema.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"query-schema.js","sourceRoot":"","sources":["../../src/list-query/query-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,aAAa,EAEb,OAAO,EACP,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,MAAM,EACN,SAAS,GACV,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAE,EAAE,CAC/C,IAAI,CACF,MAAM,EAAE,EACR,KAAK,CAAC,YAAY,CAAC,EACnB,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,4BAA4B,CAAC,EAClE,SAAS,CAAC,MAAM,CAAC,EACjB,OAAO,EAAE,EACT,QAAQ,CAAC,CAAC,CAAC,EACX,QAAQ,CAAC,OAAO,CAAC,CAClB,CAAC;AAEJ,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;IAC1C,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,IAAI,EAAE,aAAa,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpD,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;CACtD,CAAC,CAAC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { type BaseIssue, type BaseSchema, type OptionalSchema } from 'valibot';
|
|
2
2
|
import type { SortFieldsToOrderBy } from './sort-field-types.js';
|
|
3
|
+
/** Marks typed filter schemas for schema-aware value parsing in list-query builder. */
|
|
4
|
+
export declare const FILTER_SCHEMA_KIND: unique symbol;
|
|
5
|
+
export type TypedFilterSchemaKind = 'date' | 'int' | 'number' | 'boolean';
|
|
3
6
|
/**
|
|
4
7
|
* Schema for Prisma sort direction
|
|
5
8
|
*/
|
|
@@ -8,9 +11,9 @@ export declare const sortDirectionSchema: () => import("valibot").PicklistSchema
|
|
|
8
11
|
* Schema for Prisma StringFilter operations
|
|
9
12
|
* Supports all string-based filter operations
|
|
10
13
|
*/
|
|
11
|
-
export declare const stringFilterSchema: () => import("valibot").
|
|
14
|
+
export declare const stringFilterSchema: () => import("valibot").StrictObjectSchema<{
|
|
12
15
|
readonly equals: OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
13
|
-
readonly not: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").
|
|
16
|
+
readonly not: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").StrictObjectSchema<{
|
|
14
17
|
readonly equals: OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
15
18
|
}, undefined>], undefined>, undefined>;
|
|
16
19
|
readonly contains: OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
@@ -24,53 +27,53 @@ export declare const stringFilterSchema: () => import("valibot").ObjectSchema<{
|
|
|
24
27
|
* Schema for Prisma IntFilter or FloatFilter operations
|
|
25
28
|
* Supports numeric comparison operations
|
|
26
29
|
*/
|
|
27
|
-
export declare const numberFilterSchema: () => import("valibot").
|
|
28
|
-
readonly equals: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
|
|
29
|
-
readonly not: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
|
|
30
|
-
readonly lt: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
|
|
31
|
-
readonly lte: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
|
|
32
|
-
readonly gt: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
|
|
33
|
-
readonly gte: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
|
|
30
|
+
export declare const numberFilterSchema: () => import("valibot").StrictObjectSchema<{
|
|
31
|
+
readonly equals: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, import("valibot").TransformAction<string | number | boolean, string | number | boolean>]>, undefined>;
|
|
32
|
+
readonly not: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, import("valibot").TransformAction<string | number | boolean, string | number | boolean>]>, undefined>;
|
|
33
|
+
readonly lt: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, import("valibot").TransformAction<string | number | boolean, string | number | boolean>]>, undefined>;
|
|
34
|
+
readonly lte: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, import("valibot").TransformAction<string | number | boolean, string | number | boolean>]>, undefined>;
|
|
35
|
+
readonly gt: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, import("valibot").TransformAction<string | number | boolean, string | number | boolean>]>, undefined>;
|
|
36
|
+
readonly gte: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, import("valibot").TransformAction<string | number | boolean, string | number | boolean>]>, undefined>;
|
|
34
37
|
}, undefined>;
|
|
35
38
|
/**
|
|
36
39
|
* Schema for Prisma IntFilter operations (numeric fields stored as integers).
|
|
37
40
|
*/
|
|
38
|
-
export declare const intFilterSchema: () => import("valibot").
|
|
39
|
-
readonly equals: OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
40
|
-
readonly not: OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
41
|
-
readonly lt: OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
42
|
-
readonly lte: OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
43
|
-
readonly gt: OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
44
|
-
readonly gte: OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
45
|
-
readonly in: OptionalSchema<import("valibot").ArraySchema<import("valibot").NumberSchema<undefined>, undefined>, undefined>;
|
|
46
|
-
readonly notIn: OptionalSchema<import("valibot").ArraySchema<import("valibot").NumberSchema<undefined>, undefined>, undefined>;
|
|
41
|
+
export declare const intFilterSchema: () => import("valibot").StrictObjectSchema<{
|
|
42
|
+
readonly equals: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>;
|
|
43
|
+
readonly not: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>;
|
|
44
|
+
readonly lt: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>;
|
|
45
|
+
readonly lte: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>;
|
|
46
|
+
readonly gt: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>;
|
|
47
|
+
readonly gte: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>;
|
|
48
|
+
readonly in: OptionalSchema<import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>, undefined>;
|
|
49
|
+
readonly notIn: OptionalSchema<import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>, undefined>;
|
|
47
50
|
}, undefined>;
|
|
48
51
|
/**
|
|
49
52
|
* Schema for Prisma DateTimeFilter operations
|
|
50
53
|
* Supports date comparison operations
|
|
51
54
|
*/
|
|
52
|
-
export declare const dateFilterSchema: () => import("valibot").
|
|
53
|
-
readonly equals: OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
54
|
-
readonly not: OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
55
|
-
readonly lt: OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
56
|
-
readonly lte: OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
57
|
-
readonly gt: OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
58
|
-
readonly gte: OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
55
|
+
export declare const dateFilterSchema: () => import("valibot").StrictObjectSchema<{
|
|
56
|
+
readonly equals: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").DateSchema<undefined>, import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").IsoDateAction<string, undefined>, import("valibot").CheckAction<string, "Expected an existing calendar date">]>], undefined>, import("valibot").TransformAction<string | Date, Date>]>, undefined>;
|
|
57
|
+
readonly not: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").DateSchema<undefined>, import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").IsoDateAction<string, undefined>, import("valibot").CheckAction<string, "Expected an existing calendar date">]>], undefined>, import("valibot").TransformAction<string | Date, Date>]>, undefined>;
|
|
58
|
+
readonly lt: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").DateSchema<undefined>, import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").IsoDateAction<string, undefined>, import("valibot").CheckAction<string, "Expected an existing calendar date">]>], undefined>, import("valibot").TransformAction<string | Date, Date>]>, undefined>;
|
|
59
|
+
readonly lte: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").DateSchema<undefined>, import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").IsoDateAction<string, undefined>, import("valibot").CheckAction<string, "Expected an existing calendar date">]>], undefined>, import("valibot").TransformAction<string | Date, Date>]>, undefined>;
|
|
60
|
+
readonly gt: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").DateSchema<undefined>, import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").IsoDateAction<string, undefined>, import("valibot").CheckAction<string, "Expected an existing calendar date">]>], undefined>, import("valibot").TransformAction<string | Date, Date>]>, undefined>;
|
|
61
|
+
readonly gte: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").DateSchema<undefined>, import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").IsoDateAction<string, undefined>, import("valibot").CheckAction<string, "Expected an existing calendar date">]>], undefined>, import("valibot").TransformAction<string | Date, Date>]>, undefined>;
|
|
59
62
|
}, undefined>;
|
|
60
63
|
/**
|
|
61
64
|
* Schema for Prisma BoolFilter operations
|
|
62
65
|
* Only supports equals and not operations
|
|
63
66
|
*/
|
|
64
|
-
export declare const booleanFilterSchema: () => import("valibot").
|
|
65
|
-
readonly equals: OptionalSchema<import("valibot").UnionSchema<[import("valibot").
|
|
66
|
-
readonly not: OptionalSchema<import("valibot").UnionSchema<[import("valibot").
|
|
67
|
+
export declare const booleanFilterSchema: () => import("valibot").StrictObjectSchema<{
|
|
68
|
+
readonly equals: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").BooleanSchema<undefined>, import("valibot").PicklistSchema<["true", "false"], undefined>], undefined>, import("valibot").TransformAction<"false" | "true" | boolean, boolean>]>, undefined>;
|
|
69
|
+
readonly not: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").BooleanSchema<undefined>, import("valibot").PicklistSchema<["true", "false"], undefined>], undefined>, import("valibot").TransformAction<"false" | "true" | boolean, boolean>]>, undefined>;
|
|
67
70
|
}, undefined>;
|
|
68
71
|
/**
|
|
69
72
|
* Schema for Prisma EnumFilter operations
|
|
70
73
|
* Supports equals and not operations with specific enum values
|
|
71
74
|
* Pass a picklist schema with the allowed enum values
|
|
72
75
|
*/
|
|
73
|
-
export declare function enumFilterSchema<TEnum extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(enumSchema: TEnum): import("valibot").
|
|
76
|
+
export declare function enumFilterSchema<TEnum extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(enumSchema: TEnum): import("valibot").StrictObjectSchema<{
|
|
74
77
|
readonly equals: OptionalSchema<TEnum, undefined>;
|
|
75
78
|
readonly not: OptionalSchema<TEnum, undefined>;
|
|
76
79
|
readonly in: OptionalSchema<import("valibot").ArraySchema<TEnum, undefined>, undefined>;
|
|
@@ -80,7 +83,7 @@ export declare function enumFilterSchema<TEnum extends BaseSchema<unknown, unkno
|
|
|
80
83
|
* Schema for nested relation filters
|
|
81
84
|
* Allows validation of nested where conditions
|
|
82
85
|
*/
|
|
83
|
-
export declare function relationFilterSchema<T extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(nestedSchema: T): import("valibot").
|
|
86
|
+
export declare function relationFilterSchema<T extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(nestedSchema: T): import("valibot").StrictObjectSchema<{
|
|
84
87
|
readonly is: OptionalSchema<T, undefined>;
|
|
85
88
|
readonly isNot: OptionalSchema<T, undefined>;
|
|
86
89
|
}, undefined>;
|
|
@@ -95,6 +98,6 @@ export declare function createSortSchema<T extends Record<string, SortDirectionS
|
|
|
95
98
|
* Helper to create a filter schema for a model
|
|
96
99
|
* Pass an object with field names as keys and filter schemas as values
|
|
97
100
|
*/
|
|
98
|
-
export declare function createFilterSchema<T extends Record<string, BaseSchema<unknown, unknown, BaseIssue<unknown>>>>(fields: T): import("valibot").
|
|
101
|
+
export declare function createFilterSchema<T extends Record<string, BaseSchema<unknown, unknown, BaseIssue<unknown>>>>(fields: T): import("valibot").StrictObjectSchema<{ [K in keyof T]: OptionalSchema<T[K], undefined>; }, undefined>;
|
|
99
102
|
export {};
|
|
100
103
|
//# sourceMappingURL=schema-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-helpers.d.ts","sourceRoot":"","sources":["../../src/list-query/schema-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"schema-helpers.d.ts","sourceRoot":"","sources":["../../src/list-query/schema-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EAMpB,MAAM,SAAS,CAAC;AAOjB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,uFAAuF;AACvF,eAAO,MAAM,kBAAkB,eAAsD,CAAC;AAEtF,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AAU1E;;GAEG;AACH,eAAO,MAAM,mBAAmB,oEAAkC,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;aAU3B,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;aAW5B,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;aAazB,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;aAW1B,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;aAO7B,CAAC;AAEJ;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC7F,UAAU,EAAE,KAAK;;;;;cAQlB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC7F,YAAY,EAAE,CAAC;;;cAMhB;AAED,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAuDlE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC5E,MAAM,EAAE,CAAC,GACR,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAUhF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAC1E,MAAM,EAAE,CAAC,2CAGJ,CAAC,6DAGP"}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
import { array,
|
|
1
|
+
import { array, optional, picklist, strictObject, string, union, } from 'valibot';
|
|
2
|
+
import { booleanFilterValueSchema, dateFilterValueSchema, intFilterValueSchema, numberFilterValueSchema, } from './filter-value-schemas.js';
|
|
3
|
+
/** Marks typed filter schemas for schema-aware value parsing in list-query builder. */
|
|
4
|
+
export const FILTER_SCHEMA_KIND = Symbol.for('glasswork.list-query.filterSchemaKind');
|
|
5
|
+
function markTypedFilterSchema(schema, kind) {
|
|
6
|
+
Object.defineProperty(schema, FILTER_SCHEMA_KIND, {
|
|
7
|
+
value: kind,
|
|
8
|
+
enumerable: false,
|
|
9
|
+
});
|
|
10
|
+
return schema;
|
|
11
|
+
}
|
|
2
12
|
/**
|
|
3
13
|
* Schema for Prisma sort direction
|
|
4
14
|
*/
|
|
@@ -7,9 +17,9 @@ export const sortDirectionSchema = () => picklist(['asc', 'desc']);
|
|
|
7
17
|
* Schema for Prisma StringFilter operations
|
|
8
18
|
* Supports all string-based filter operations
|
|
9
19
|
*/
|
|
10
|
-
export const stringFilterSchema = () =>
|
|
20
|
+
export const stringFilterSchema = () => strictObject({
|
|
11
21
|
equals: optional(string()),
|
|
12
|
-
not: optional(union([string(),
|
|
22
|
+
not: optional(union([string(), strictObject({ equals: optional(string()) })])),
|
|
13
23
|
contains: optional(string()),
|
|
14
24
|
startsWith: optional(string()),
|
|
15
25
|
endsWith: optional(string()),
|
|
@@ -21,54 +31,54 @@ export const stringFilterSchema = () => object({
|
|
|
21
31
|
* Schema for Prisma IntFilter or FloatFilter operations
|
|
22
32
|
* Supports numeric comparison operations
|
|
23
33
|
*/
|
|
24
|
-
export const numberFilterSchema = () =>
|
|
25
|
-
equals: optional(
|
|
26
|
-
not: optional(
|
|
27
|
-
lt: optional(
|
|
28
|
-
lte: optional(
|
|
29
|
-
gt: optional(
|
|
30
|
-
gte: optional(
|
|
31
|
-
});
|
|
34
|
+
export const numberFilterSchema = () => markTypedFilterSchema(strictObject({
|
|
35
|
+
equals: optional(numberFilterValueSchema()),
|
|
36
|
+
not: optional(numberFilterValueSchema()),
|
|
37
|
+
lt: optional(numberFilterValueSchema()),
|
|
38
|
+
lte: optional(numberFilterValueSchema()),
|
|
39
|
+
gt: optional(numberFilterValueSchema()),
|
|
40
|
+
gte: optional(numberFilterValueSchema()),
|
|
41
|
+
}), 'number');
|
|
32
42
|
/**
|
|
33
43
|
* Schema for Prisma IntFilter operations (numeric fields stored as integers).
|
|
34
44
|
*/
|
|
35
|
-
export const intFilterSchema = () =>
|
|
36
|
-
equals: optional(
|
|
37
|
-
not: optional(
|
|
38
|
-
lt: optional(
|
|
39
|
-
lte: optional(
|
|
40
|
-
gt: optional(
|
|
41
|
-
gte: optional(
|
|
42
|
-
in: optional(array(
|
|
43
|
-
notIn: optional(array(
|
|
44
|
-
});
|
|
45
|
+
export const intFilterSchema = () => markTypedFilterSchema(strictObject({
|
|
46
|
+
equals: optional(intFilterValueSchema()),
|
|
47
|
+
not: optional(intFilterValueSchema()),
|
|
48
|
+
lt: optional(intFilterValueSchema()),
|
|
49
|
+
lte: optional(intFilterValueSchema()),
|
|
50
|
+
gt: optional(intFilterValueSchema()),
|
|
51
|
+
gte: optional(intFilterValueSchema()),
|
|
52
|
+
in: optional(array(intFilterValueSchema())),
|
|
53
|
+
notIn: optional(array(intFilterValueSchema())),
|
|
54
|
+
}), 'int');
|
|
45
55
|
/**
|
|
46
56
|
* Schema for Prisma DateTimeFilter operations
|
|
47
57
|
* Supports date comparison operations
|
|
48
58
|
*/
|
|
49
|
-
export const dateFilterSchema = () =>
|
|
50
|
-
equals: optional(
|
|
51
|
-
not: optional(
|
|
52
|
-
lt: optional(
|
|
53
|
-
lte: optional(
|
|
54
|
-
gt: optional(
|
|
55
|
-
gte: optional(
|
|
56
|
-
});
|
|
59
|
+
export const dateFilterSchema = () => markTypedFilterSchema(strictObject({
|
|
60
|
+
equals: optional(dateFilterValueSchema()),
|
|
61
|
+
not: optional(dateFilterValueSchema()),
|
|
62
|
+
lt: optional(dateFilterValueSchema()),
|
|
63
|
+
lte: optional(dateFilterValueSchema()),
|
|
64
|
+
gt: optional(dateFilterValueSchema()),
|
|
65
|
+
gte: optional(dateFilterValueSchema()),
|
|
66
|
+
}), 'date');
|
|
57
67
|
/**
|
|
58
68
|
* Schema for Prisma BoolFilter operations
|
|
59
69
|
* Only supports equals and not operations
|
|
60
70
|
*/
|
|
61
|
-
export const booleanFilterSchema = () =>
|
|
62
|
-
equals: optional(
|
|
63
|
-
not: optional(
|
|
64
|
-
});
|
|
71
|
+
export const booleanFilterSchema = () => markTypedFilterSchema(strictObject({
|
|
72
|
+
equals: optional(booleanFilterValueSchema()),
|
|
73
|
+
not: optional(booleanFilterValueSchema()),
|
|
74
|
+
}), 'boolean');
|
|
65
75
|
/**
|
|
66
76
|
* Schema for Prisma EnumFilter operations
|
|
67
77
|
* Supports equals and not operations with specific enum values
|
|
68
78
|
* Pass a picklist schema with the allowed enum values
|
|
69
79
|
*/
|
|
70
80
|
export function enumFilterSchema(enumSchema) {
|
|
71
|
-
return
|
|
81
|
+
return strictObject({
|
|
72
82
|
equals: optional(enumSchema),
|
|
73
83
|
not: optional(enumSchema),
|
|
74
84
|
in: optional(array(enumSchema)),
|
|
@@ -80,7 +90,7 @@ export function enumFilterSchema(enumSchema) {
|
|
|
80
90
|
* Allows validation of nested where conditions
|
|
81
91
|
*/
|
|
82
92
|
export function relationFilterSchema(nestedSchema) {
|
|
83
|
-
return
|
|
93
|
+
return strictObject({
|
|
84
94
|
is: optional(nestedSchema),
|
|
85
95
|
isNot: optional(nestedSchema),
|
|
86
96
|
});
|
|
@@ -113,7 +123,7 @@ function addSortFieldToTree(tree, path, schema) {
|
|
|
113
123
|
addSortFieldToTree(nested, rest.join('.'), schema);
|
|
114
124
|
}
|
|
115
125
|
function buildSortObjectSchema(fields) {
|
|
116
|
-
return
|
|
126
|
+
return strictObject(Object.fromEntries(Object.entries(fields).map(([key, value]) => {
|
|
117
127
|
if (isSortDirectionSchema(value)) {
|
|
118
128
|
return [key, optional(value)];
|
|
119
129
|
}
|
|
@@ -137,6 +147,6 @@ export function createSortSchema(fields) {
|
|
|
137
147
|
* Pass an object with field names as keys and filter schemas as values
|
|
138
148
|
*/
|
|
139
149
|
export function createFilterSchema(fields) {
|
|
140
|
-
return
|
|
150
|
+
return strictObject(Object.fromEntries(Object.entries(fields).map(([key, schema]) => [key, optional(schema)])));
|
|
141
151
|
}
|
|
142
152
|
//# sourceMappingURL=schema-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-helpers.js","sourceRoot":"","sources":["../../src/list-query/schema-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,
|
|
1
|
+
{"version":3,"file":"schema-helpers.js","sourceRoot":"","sources":["../../src/list-query/schema-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export type SortDirection = 'asc' | 'desc';
|
|
2
|
+
export type SortMapper = (direction: SortDirection) => Record<string, unknown>;
|
|
3
|
+
export type SortMapping = string | SortMapper;
|
|
4
|
+
export type SortMappings = Record<string, SortMapping>;
|
|
5
|
+
/**
|
|
6
|
+
* Creates a sort mapper that maps a sort field to a nested relational path.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* mapSorts: {
|
|
11
|
+
* name: nestSort('user.name'),
|
|
12
|
+
* }
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare function nestSort(path: string): SortMapper;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a sort mapper that renames a public sort field to another column.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* mapSorts: {
|
|
22
|
+
* displayName: renameSort('name'),
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function renameSort(targetField: string): SortMapper;
|
|
27
|
+
/**
|
|
28
|
+
* Applies sort mappings to an array of Prisma orderBy clauses.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* applySortMappings([{ name: 'asc' }], { name: 'user.name' })
|
|
33
|
+
* // => [{ user: { name: 'asc' } }]
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function applySortMappings(orderBy: readonly Record<string, unknown>[], mappings: SortMappings): Record<string, unknown>[];
|
|
37
|
+
//# sourceMappingURL=sort-mapping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-mapping.d.ts","sourceRoot":"","sources":["../../src/list-query/sort-mapping.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,MAAM,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE/E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAkCvD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAGjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAE1D;AA2BD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,QAAQ,EAAE,YAAY,GACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAM3B"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds a nested Prisma orderBy object from a dot-delimited path and direction.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* buildNestedSort(['user', 'name'], 'asc')
|
|
7
|
+
* // => { user: { name: 'asc' } }
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
function buildNestedSort(parts, direction) {
|
|
11
|
+
const result = {};
|
|
12
|
+
let current = result;
|
|
13
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
14
|
+
const part = parts[i];
|
|
15
|
+
if (!part)
|
|
16
|
+
continue;
|
|
17
|
+
const next = {};
|
|
18
|
+
current[part] = next;
|
|
19
|
+
current = next;
|
|
20
|
+
}
|
|
21
|
+
const last = parts[parts.length - 1];
|
|
22
|
+
if (last) {
|
|
23
|
+
current[last] = direction;
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Creates a sort mapper that maps a sort field to a nested relational path.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* mapSorts: {
|
|
33
|
+
* name: nestSort('user.name'),
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export function nestSort(path) {
|
|
38
|
+
const parts = path.split('.');
|
|
39
|
+
return (direction) => buildNestedSort(parts, direction);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Creates a sort mapper that renames a public sort field to another column.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* mapSorts: {
|
|
47
|
+
* displayName: renameSort('name'),
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export function renameSort(targetField) {
|
|
52
|
+
return (direction) => ({ [targetField]: direction });
|
|
53
|
+
}
|
|
54
|
+
function resolveMapping(mapping, direction) {
|
|
55
|
+
if (typeof mapping === 'function') {
|
|
56
|
+
return mapping(direction);
|
|
57
|
+
}
|
|
58
|
+
return nestSort(mapping)(direction);
|
|
59
|
+
}
|
|
60
|
+
function mapSortEntry(entry, mappings) {
|
|
61
|
+
const mappedEntry = {};
|
|
62
|
+
for (const [key, value] of Object.entries(entry)) {
|
|
63
|
+
const mapping = mappings[key];
|
|
64
|
+
if (mapping && (value === 'asc' || value === 'desc')) {
|
|
65
|
+
Object.assign(mappedEntry, resolveMapping(mapping, value));
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
mappedEntry[key] = value;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return mappedEntry;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Applies sort mappings to an array of Prisma orderBy clauses.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
78
|
+
* applySortMappings([{ name: 'asc' }], { name: 'user.name' })
|
|
79
|
+
* // => [{ user: { name: 'asc' } }]
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export function applySortMappings(orderBy, mappings) {
|
|
83
|
+
if (!orderBy || orderBy.length === 0) {
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
return orderBy.map((entry) => mapSortEntry(entry, mappings));
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=sort-mapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-mapping.js","sourceRoot":"","sources":["../../src/list-query/sort-mapping.ts"],"names":[],"mappings":"AAQA;;;;;;;;GAQG;AACH,SAAS,eAAe,CACtB,KAAwB,EACxB,SAAwB;IAExB,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,OAAO,GAAG,MAAM,CAAC;IAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACrB,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,CAAC,SAAwB,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,OAAO,CAAC,SAAwB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,cAAc,CAAC,OAAoB,EAAE,SAAwB;IACpE,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,YAAY,CACnB,KAA8B,EAC9B,QAAsB;IAEtB,MAAM,WAAW,GAA4B,EAAE,CAAC;IAEhD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAA2C,EAC3C,QAAsB;IAEtB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ListQueryParams } from './query-schema.js';
|
|
1
2
|
/**
|
|
2
3
|
* Field path as an array of strings for nested fields
|
|
3
4
|
* Example: ['organization', 'name'] represents 'organization.name'
|
|
@@ -33,16 +34,8 @@ export interface ParsedSort {
|
|
|
33
34
|
readonly fieldPath: FieldPath;
|
|
34
35
|
readonly direction: SortDirection;
|
|
35
36
|
}
|
|
36
|
-
/**
|
|
37
|
-
|
|
38
|
-
*/
|
|
39
|
-
export interface RawQueryParams {
|
|
40
|
-
readonly sorts?: string;
|
|
41
|
-
readonly filters?: string;
|
|
42
|
-
readonly page?: number;
|
|
43
|
-
readonly pageSize?: number;
|
|
44
|
-
readonly search?: string;
|
|
45
|
-
}
|
|
37
|
+
/** Public compatibility alias for the schema-derived list query parameters. */
|
|
38
|
+
export type RawQueryParams = ListQueryParams;
|
|
46
39
|
/**
|
|
47
40
|
* Parsed query parameters
|
|
48
41
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/list-query/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,MAAM,EAAE,CAAC;AAE1C;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,cAAc,GACtB,IAAI,GACJ,IAAI,GACJ,GAAG,GACH,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,GACN,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACnC;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/list-query/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,MAAM,EAAE,CAAC;AAE1C;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,cAAc,GACtB,IAAI,GACJ,IAAI,GACJ,GAAG,GACH,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,GACN,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACnC;AAED,+EAA+E;AAC/E,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB,CAC/B,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAElC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/list-query/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAS,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/list-query/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAS,MAAM,SAAS,CAAC;AAEnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAe1D;;;GAGG;AACH,MAAM,WAAW,sBAAsB,CACrC,YAAY,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EACrE,cAAc,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAEvE,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAClC,YAAY,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EACrE,cAAc,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAEvE,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACjE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC5F,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,OAAO,GACd,WAAW,CAAC,OAAO,CAAC,CAWtB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC9F,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,MAAM,EAAE,OAAO,GACd,WAAW,CAAC,OAAO,CAAC,EAAE,CAaxB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EACrE,cAAc,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAEvE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,sBAAsB,CAAC,YAAY,EAAE,cAAc,CAAC,GAC3D,mBAAmB,CAAC,YAAY,EAAE,cAAc,CAAC,CAOnD"}
|