effect-app 3.16.0 → 4.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/Array.js +1 -1
- package/dist/Chunk.d.ts +2 -4
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +2 -2
- package/dist/Config/SecretURL.d.ts +2 -12
- package/dist/Config/SecretURL.d.ts.map +1 -1
- package/dist/Config/SecretURL.js +2 -4
- package/dist/Config/internal/configSecretURL.d.ts.map +1 -1
- package/dist/Config/internal/configSecretURL.js +3 -4
- package/dist/Effect.d.ts +12 -10
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +6 -15
- package/dist/Layer.d.ts +15 -9
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +2 -2
- package/dist/Operations.d.ts +37 -47
- package/dist/Operations.d.ts.map +1 -1
- package/dist/Option.js +3 -3
- package/dist/Pure.d.ts +17 -6
- package/dist/Pure.d.ts.map +1 -1
- package/dist/Pure.js +35 -17
- package/dist/Schema/Class.d.ts +13 -16
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema/Class.js +5 -27
- package/dist/Schema/brand.d.ts +7 -10
- package/dist/Schema/brand.d.ts.map +1 -1
- package/dist/Schema/brand.js +3 -2
- package/dist/Schema/email.d.ts +1 -1
- package/dist/Schema/email.d.ts.map +1 -1
- package/dist/Schema/email.js +2 -2
- package/dist/Schema/ext.d.ts +42 -45
- package/dist/Schema/ext.d.ts.map +1 -1
- package/dist/Schema/ext.js +49 -63
- package/dist/Schema/moreStrings.d.ts +17 -17
- package/dist/Schema/moreStrings.d.ts.map +1 -1
- package/dist/Schema/moreStrings.js +10 -10
- package/dist/Schema/numbers.d.ts +14 -14
- package/dist/Schema/numbers.js +5 -5
- package/dist/Schema/phoneNumber.d.ts +1 -1
- package/dist/Schema/phoneNumber.d.ts.map +1 -1
- package/dist/Schema/phoneNumber.js +2 -2
- package/dist/Schema/schema.d.ts +2 -3
- package/dist/Schema/schema.d.ts.map +1 -1
- package/dist/Schema/schema.js +3 -4
- package/dist/Schema/strings.d.ts +4 -4
- package/dist/Schema/strings.d.ts.map +1 -1
- package/dist/Schema/strings.js +4 -4
- package/dist/Schema.d.ts +27 -25
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +22 -21
- package/dist/ServiceMap.d.ts +44 -0
- package/dist/ServiceMap.d.ts.map +1 -0
- package/dist/ServiceMap.js +91 -0
- package/dist/Set.d.ts +4 -4
- package/dist/Set.d.ts.map +1 -1
- package/dist/Set.js +14 -14
- package/dist/Struct.d.ts +4 -4
- package/dist/Struct.d.ts.map +1 -1
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/Array.js +4 -4
- package/dist/_ext/misc.d.ts +2 -2
- package/dist/_ext/misc.js +4 -4
- package/dist/_ext/ord.ext.js +2 -2
- package/dist/builtin.d.ts +0 -8
- package/dist/builtin.d.ts.map +1 -1
- package/dist/builtin.js +3 -1
- package/dist/client/apiClientFactory.d.ts +14 -16
- package/dist/client/apiClientFactory.d.ts.map +1 -1
- package/dist/client/apiClientFactory.js +38 -23
- package/dist/client/clientFor.d.ts +7 -4
- package/dist/client/clientFor.d.ts.map +1 -1
- package/dist/client/errors.d.ts +36 -48
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +19 -9
- package/dist/client/makeClient.d.ts +34 -50
- package/dist/client/makeClient.d.ts.map +1 -1
- package/dist/client/makeClient.js +28 -18
- package/dist/http/Request.d.ts +3 -3
- package/dist/http/Request.d.ts.map +1 -1
- package/dist/http/Request.js +5 -8
- package/dist/http/internal/lib.d.ts +12 -13
- package/dist/http/internal/lib.d.ts.map +1 -1
- package/dist/http/internal/lib.js +14 -14
- package/dist/ids.d.ts +9 -9
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/logger.d.ts +1 -1
- package/dist/middleware.d.ts +2 -2
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +3 -3
- package/dist/rpc/MiddlewareMaker.d.ts +17 -16
- package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
- package/dist/rpc/MiddlewareMaker.js +27 -18
- package/dist/rpc/RpcContextMap.d.ts +4 -4
- package/dist/rpc/RpcContextMap.d.ts.map +1 -1
- package/dist/rpc/RpcContextMap.js +4 -4
- package/dist/rpc/RpcMiddleware.d.ts +24 -40
- package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/rpc/RpcMiddleware.js +3 -10
- package/dist/utils/effectify.js +2 -2
- package/dist/utils/gen.d.ts +4 -5
- package/dist/utils/gen.d.ts.map +1 -1
- package/dist/utils/logLevel.d.ts +1 -1
- package/dist/utils/logLevel.d.ts.map +1 -1
- package/dist/utils/logLevel.js +6 -7
- package/dist/utils/logger.d.ts +4 -3
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +10 -9
- package/dist/utils.d.ts +4 -5
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +10 -9
- package/package.json +12 -21
- package/src/Array.ts +1 -1
- package/src/Chunk.ts +2 -2
- package/src/Config/SecretURL.ts +3 -18
- package/src/Config/internal/configSecretURL.ts +2 -3
- package/src/Effect.ts +17 -37
- package/src/Layer.ts +16 -11
- package/src/Option.ts +2 -2
- package/src/Pure.ts +60 -26
- package/src/Schema/Class.ts +17 -73
- package/src/Schema/brand.ts +11 -12
- package/src/Schema/email.ts +2 -2
- package/src/Schema/ext.ts +114 -167
- package/src/Schema/moreStrings.ts +20 -23
- package/src/Schema/numbers.ts +4 -4
- package/src/Schema/phoneNumber.ts +2 -2
- package/src/Schema/schema.ts +2 -3
- package/src/Schema/strings.ts +3 -3
- package/src/Schema.ts +49 -47
- package/src/ServiceMap.ts +187 -0
- package/src/Set.ts +19 -19
- package/src/Struct.ts +4 -4
- package/src/_ext/Array.ts +4 -5
- package/src/_ext/misc.ts +4 -4
- package/src/_ext/ord.ext.ts +2 -2
- package/src/builtin.ts +2 -8
- package/src/client/apiClientFactory.ts +74 -59
- package/src/client/clientFor.ts +10 -7
- package/src/client/errors.ts +28 -22
- package/src/client/makeClient.ts +75 -100
- package/src/http/Request.ts +5 -8
- package/src/http/internal/lib.ts +13 -13
- package/src/ids.ts +1 -1
- package/src/index.ts +10 -1
- package/src/middleware.ts +2 -2
- package/src/rpc/MiddlewareMaker.ts +76 -47
- package/src/rpc/RpcContextMap.ts +7 -7
- package/src/rpc/RpcMiddleware.ts +28 -54
- package/src/utils/effectify.ts +1 -1
- package/src/utils/gen.ts +8 -6
- package/src/utils/logLevel.ts +6 -6
- package/src/utils/logger.ts +15 -20
- package/src/utils.ts +12 -12
- package/test/dist/rpc.test.d.ts.map +1 -1
- package/test/schema.test.ts +8 -8
- package/test/utils.test.ts +2 -2
- package/tsconfig.json +1 -27
- package/dist/Context.d.ts +0 -67
- package/dist/Context.d.ts.map +0 -1
- package/dist/Context.js +0 -207
- package/dist/Tag.d.ts +0 -6
- package/dist/Tag.d.ts.map +0 -1
- package/dist/Tag.js +0 -9
- package/dist/Unify.d.ts +0 -27
- package/dist/Unify.d.ts.map +0 -1
- package/dist/Unify.js +0 -15
- package/src/Context.ts +0 -351
- package/src/Tag.ts +0 -11
- package/src/Unify.ts +0 -40
package/dist/Schema/numbers.d.ts
CHANGED
|
@@ -3,43 +3,43 @@ import type { Simplify } from "effect/Types";
|
|
|
3
3
|
import { type B } from "./schema.js";
|
|
4
4
|
export interface PositiveIntBrand extends Simplify<B.Brand<"PositiveInt"> & NonNegativeIntBrand & PositiveNumberBrand> {
|
|
5
5
|
}
|
|
6
|
-
export declare const PositiveInt: import("./ext.js").WithDefaults<S.
|
|
7
|
-
withDefault: S.
|
|
6
|
+
export declare const PositiveInt: import("./ext.js").WithDefaults<S.brand<S.Int, "PositiveInt" | "NonNegativeInt" | "Int" | "NonNegativeNumber" | "PositiveNumber">> & S.brand<S.Int, "PositiveInt" | "NonNegativeInt" | "Int" | "NonNegativeNumber" | "PositiveNumber"> & {
|
|
7
|
+
withDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<S.brand<S.Int, "PositiveInt" | "NonNegativeInt" | "Int" | "NonNegativeNumber" | "PositiveNumber">> & S.brand<S.Int, "PositiveInt" | "NonNegativeInt" | "Int" | "NonNegativeNumber" | "PositiveNumber"> & S.WithoutConstructorDefault>;
|
|
8
8
|
};
|
|
9
9
|
export type PositiveInt = number & PositiveIntBrand;
|
|
10
10
|
export interface NonNegativeIntBrand extends Simplify<B.Brand<"NonNegativeInt"> & IntBrand & NonNegativeNumberBrand> {
|
|
11
11
|
}
|
|
12
|
-
export declare const NonNegativeInt: import("./ext.js").WithDefaults<S.
|
|
13
|
-
withDefault: S.
|
|
12
|
+
export declare const NonNegativeInt: import("./ext.js").WithDefaults<S.brand<S.Int, "NonNegativeInt" | "Int" | "NonNegativeNumber">> & S.brand<S.Int, "NonNegativeInt" | "Int" | "NonNegativeNumber"> & {
|
|
13
|
+
withDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<S.brand<S.Int, "NonNegativeInt" | "Int" | "NonNegativeNumber">> & S.brand<S.Int, "NonNegativeInt" | "Int" | "NonNegativeNumber"> & S.WithoutConstructorDefault>;
|
|
14
14
|
};
|
|
15
15
|
export type NonNegativeInt = number & NonNegativeIntBrand;
|
|
16
16
|
export interface IntBrand extends Simplify<B.Brand<"Int">> {
|
|
17
17
|
}
|
|
18
|
-
export declare const Int: import("./ext.js").WithDefaults<S.
|
|
19
|
-
withDefault: S.
|
|
18
|
+
export declare const Int: import("./ext.js").WithDefaults<S.brand<S.Int, "Int">> & S.brand<S.Int, "Int"> & {
|
|
19
|
+
withDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<S.brand<S.Int, "Int">> & S.brand<S.Int, "Int"> & S.WithoutConstructorDefault>;
|
|
20
20
|
};
|
|
21
21
|
export type Int = number & IntBrand;
|
|
22
22
|
export interface PositiveNumberBrand extends Simplify<B.Brand<"PositiveNumber"> & NonNegativeNumberBrand> {
|
|
23
23
|
}
|
|
24
|
-
export declare const PositiveNumber: import("./ext.js").WithDefaults<S.
|
|
25
|
-
withDefault: S.
|
|
24
|
+
export declare const PositiveNumber: import("./ext.js").WithDefaults<S.brand<S.Number, "NonNegativeNumber" | "PositiveNumber">> & S.brand<S.Number, "NonNegativeNumber" | "PositiveNumber"> & {
|
|
25
|
+
withDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<S.brand<S.Number, "NonNegativeNumber" | "PositiveNumber">> & S.brand<S.Number, "NonNegativeNumber" | "PositiveNumber"> & S.WithoutConstructorDefault>;
|
|
26
26
|
};
|
|
27
27
|
export type PositiveNumber = number & PositiveNumberBrand;
|
|
28
28
|
export interface NonNegativeNumberBrand extends Simplify<B.Brand<"NonNegativeNumber">> {
|
|
29
29
|
}
|
|
30
|
-
export declare const NonNegativeNumber: import("./ext.js").WithDefaults<S.
|
|
31
|
-
withDefault: S.
|
|
30
|
+
export declare const NonNegativeNumber: import("./ext.js").WithDefaults<S.brand<S.Number, "NonNegativeNumber">> & S.brand<S.Number, "NonNegativeNumber"> & {
|
|
31
|
+
withDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<S.brand<S.Number, "NonNegativeNumber">> & S.brand<S.Number, "NonNegativeNumber"> & S.WithoutConstructorDefault>;
|
|
32
32
|
};
|
|
33
33
|
export type NonNegativeNumber = number & NonNegativeNumberBrand;
|
|
34
34
|
/** @deprecated Not an actual decimal */
|
|
35
|
-
export declare const NonNegativeDecimal: import("./ext.js").WithDefaults<S.
|
|
36
|
-
withDefault: S.
|
|
35
|
+
export declare const NonNegativeDecimal: import("./ext.js").WithDefaults<S.brand<S.Number, "NonNegativeNumber">> & S.brand<S.Number, "NonNegativeNumber"> & {
|
|
36
|
+
withDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<S.brand<S.Number, "NonNegativeNumber">> & S.brand<S.Number, "NonNegativeNumber"> & S.WithoutConstructorDefault>;
|
|
37
37
|
};
|
|
38
38
|
/** @deprecated Not an actual decimal */
|
|
39
39
|
export type NonNegativeDecimal = NonNegativeNumber;
|
|
40
40
|
/** @deprecated Not an actual decimal */
|
|
41
|
-
export declare const PositiveDecimal: import("./ext.js").WithDefaults<S.
|
|
42
|
-
withDefault: S.
|
|
41
|
+
export declare const PositiveDecimal: import("./ext.js").WithDefaults<S.brand<S.Number, "NonNegativeNumber" | "PositiveNumber">> & S.brand<S.Number, "NonNegativeNumber" | "PositiveNumber"> & {
|
|
42
|
+
withDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<S.brand<S.Number, "NonNegativeNumber" | "PositiveNumber">> & S.brand<S.Number, "NonNegativeNumber" | "PositiveNumber"> & S.WithoutConstructorDefault>;
|
|
43
43
|
};
|
|
44
44
|
/** @deprecated Not an actual decimal */
|
|
45
45
|
export type PositiveDecimal = PositiveNumber;
|
package/dist/Schema/numbers.js
CHANGED
|
@@ -2,21 +2,21 @@ import { extendM } from "effect-app/utils";
|
|
|
2
2
|
import * as S from "effect/Schema";
|
|
3
3
|
import { fromBrand, nominal } from "./brand.js";
|
|
4
4
|
import { withDefaultConstructor, withDefaultMake } from "./ext.js";
|
|
5
|
-
export const PositiveInt = extendM(S.Int.pipe(S.
|
|
6
|
-
export const NonNegativeInt = extendM(S.Int.pipe(S.
|
|
5
|
+
export const PositiveInt = extendM(S.Int.pipe(S.check(S.isGreaterThan(0)), fromBrand(nominal(), { identifier: "PositiveInt", title: "PositiveInt", jsonSchema: {} }), withDefaultMake), (s) => ({ withDefault: s.pipe(withDefaultConstructor(() => s(1))) }));
|
|
6
|
+
export const NonNegativeInt = extendM(S.Int.pipe(S.check(S.isGreaterThanOrEqualTo(0)), fromBrand(nominal(), {
|
|
7
7
|
identifier: "NonNegativeInt",
|
|
8
8
|
title: "NonNegativeInt",
|
|
9
9
|
jsonSchema: {}
|
|
10
10
|
}), withDefaultMake), (s) => ({ withDefault: s.pipe(withDefaultConstructor(() => s(0))) }));
|
|
11
11
|
export const Int = extendM(S.Int.pipe(fromBrand(nominal(), { identifier: "Int", title: "Int", jsonSchema: {} }), withDefaultMake), (s) => ({ withDefault: s.pipe(withDefaultConstructor(() => s(0))) }));
|
|
12
|
-
export const PositiveNumber = extendM(S.Number.pipe(S.
|
|
12
|
+
export const PositiveNumber = extendM(S.Number.pipe(S.check(S.isGreaterThan(0)), fromBrand(nominal(), {
|
|
13
13
|
identifier: "PositiveNumber",
|
|
14
14
|
title: "PositiveNumber",
|
|
15
15
|
jsonSchema: {}
|
|
16
16
|
}), withDefaultMake), (s) => ({ withDefault: s.pipe(withDefaultConstructor(() => s(1))) }));
|
|
17
17
|
export const NonNegativeNumber = extendM(S
|
|
18
18
|
.Number
|
|
19
|
-
.pipe(S.
|
|
19
|
+
.pipe(S.check(S.isGreaterThanOrEqualTo(0)), fromBrand(nominal(), {
|
|
20
20
|
identifier: "NonNegativeNumber",
|
|
21
21
|
title: "NonNegativeNumber",
|
|
22
22
|
jsonSchema: {}
|
|
@@ -25,4 +25,4 @@ export const NonNegativeNumber = extendM(S
|
|
|
25
25
|
export const NonNegativeDecimal = NonNegativeNumber;
|
|
26
26
|
/** @deprecated Not an actual decimal */
|
|
27
27
|
export const PositiveDecimal = PositiveNumber;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY2hlbWEvbnVtYmVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDMUMsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFFbEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQU1sRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUNoQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FDUixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDM0IsU0FBUyxDQUFDLE9BQU8sRUFBZSxFQUFFLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUN0RyxlQUFlLENBQ2hCLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDckUsQ0FBQTtBQUlELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQ25DLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNSLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3BDLFNBQVMsQ0FBQyxPQUFPLEVBQWtCLEVBQUU7SUFDbkMsVUFBVSxFQUFFLGdCQUFnQjtJQUM1QixLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLFVBQVUsRUFBRSxFQUFFO0NBQ2YsQ0FBQyxFQUNGLGVBQWUsQ0FDaEIsRUFDRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNyRSxDQUFBO0FBSUQsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FDeEIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxFQUMzRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNyRSxDQUFBO0FBSUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FDbkMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ1gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzNCLFNBQVMsQ0FBQyxPQUFPLEVBQWtCLEVBQUU7SUFDbkMsVUFBVSxFQUFFLGdCQUFnQjtJQUM1QixLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLFVBQVUsRUFBRSxFQUFFO0NBQ2YsQ0FBQyxFQUNGLGVBQWUsQ0FDaEIsRUFDRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNyRSxDQUFBO0FBSUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUN0QyxDQUFDO0tBQ0UsTUFBTTtLQUNOLElBQUksQ0FDSCxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNwQyxTQUFTLENBQUMsT0FBTyxFQUFxQixFQUFFO0lBQ3RDLFVBQVUsRUFBRSxtQkFBbUI7SUFDL0IsS0FBSyxFQUFFLG1CQUFtQjtJQUMxQixVQUFVLEVBQUUsRUFBRTtDQUNmLENBQUMsRUFDRixlQUFlLENBQ2hCLEVBQ0gsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDckUsQ0FBQTtBQUdELHdDQUF3QztBQUN4QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQTtBQUluRCx3Q0FBd0M7QUFDeEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQSJ9
|
|
@@ -5,5 +5,5 @@ import type { NonEmptyStringBrand } from "./strings.js";
|
|
|
5
5
|
export interface PhoneNumberBrand extends Simplify<B.Brand<"PhoneNumber"> & NonEmptyStringBrand> {
|
|
6
6
|
}
|
|
7
7
|
export type PhoneNumber = string & PhoneNumberBrand;
|
|
8
|
-
export declare const PhoneNumber: import("./ext.js").WithDefaults<S.refine<
|
|
8
|
+
export declare const PhoneNumber: import("./ext.js").WithDefaults<S.refine<PhoneNumber, S.String>> & S.refine<PhoneNumber, S.String>;
|
|
9
9
|
//# sourceMappingURL=phoneNumber.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phoneNumber.d.ts","sourceRoot":"","sources":["../../src/Schema/phoneNumber.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAG5C,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,mBAAmB,CAAC;CAAG;AACnG,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,gBAAgB,CAAA;AAEnD,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"phoneNumber.d.ts","sourceRoot":"","sources":["../../src/Schema/phoneNumber.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAG5C,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,mBAAmB,CAAC;CAAG;AACnG,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,gBAAgB,CAAA;AAEnD,eAAO,MAAM,WAAW,oGAWrB,CAAA"}
|
|
@@ -4,11 +4,11 @@ import { withDefaultMake } from "./ext.js";
|
|
|
4
4
|
import { Numbers } from "./FastCheck.js";
|
|
5
5
|
export const PhoneNumber = S
|
|
6
6
|
.String
|
|
7
|
-
.pipe(S.
|
|
7
|
+
.pipe(S.refine(isValidPhone, {
|
|
8
8
|
identifier: "PhoneNumber",
|
|
9
9
|
title: "PhoneNumber",
|
|
10
10
|
description: "a phone number with at least 7 digits",
|
|
11
11
|
arbitrary: () => (fc) => Numbers(7, 10)(fc).map((_) => _),
|
|
12
12
|
jsonSchema: { format: "phone" }
|
|
13
13
|
}), withDefaultMake);
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmVOdW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL3Bob25lTnVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNwRCxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQUVsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQU94QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQztLQUN6QixNQUFNO0tBQ04sSUFBSSxDQUNILENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBK0MsRUFBRTtJQUN4RCxVQUFVLEVBQUUsYUFBYTtJQUN6QixLQUFLLEVBQUUsYUFBYTtJQUNwQixXQUFXLEVBQUUsdUNBQXVDO0lBQ3BELFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQWdCLENBQUM7SUFDbEYsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRTtDQUNoQyxDQUFDLEVBQ0YsZUFBZSxDQUNoQixDQUFBIn0=
|
package/dist/Schema/schema.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import * as A from "effect/Arbitrary";
|
|
2
1
|
import * as B from "effect/Brand";
|
|
3
|
-
import * as P from "effect/ParseResult";
|
|
4
2
|
import * as AST from "effect/SchemaAST";
|
|
5
|
-
|
|
3
|
+
import * as P from "effect/SchemaParser";
|
|
4
|
+
export { AST, B, P };
|
|
6
5
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/Schema/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/Schema/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAA;AACvC,OAAO,KAAK,CAAC,MAAM,qBAAqB,CAAA;AAExC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA"}
|
package/dist/Schema/schema.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import * as A from "effect/Arbitrary";
|
|
2
1
|
import * as B from "effect/Brand";
|
|
3
|
-
import * as P from "effect/ParseResult";
|
|
4
2
|
import * as AST from "effect/SchemaAST";
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import * as P from "effect/SchemaParser";
|
|
4
|
+
export { AST, B, P };
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjaGVtYS9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxLQUFLLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQTtBQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLHFCQUFxQixDQUFBO0FBRXhDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFBIn0=
|
package/dist/Schema/strings.d.ts
CHANGED
|
@@ -3,17 +3,17 @@ import * as S from "effect/Schema";
|
|
|
3
3
|
import type { Simplify } from "effect/Types";
|
|
4
4
|
export type NonEmptyStringBrand = B.Brand<"NonEmptyString">;
|
|
5
5
|
export type NonEmptyString = string & NonEmptyStringBrand;
|
|
6
|
-
export declare const NonEmptyString: import("./ext.js").WithDefaults<S.
|
|
6
|
+
export declare const NonEmptyString: import("./ext.js").WithDefaults<S.brand<S.String, "NonEmptyString">> & S.brand<S.String, "NonEmptyString">;
|
|
7
7
|
export interface NonEmptyString64kBrand extends Simplify<B.Brand<"NonEmptyString64k"> & NonEmptyStringBrand> {
|
|
8
8
|
}
|
|
9
9
|
export type NonEmptyString64k = string & NonEmptyString64kBrand;
|
|
10
|
-
export declare const NonEmptyString64k: import("./ext.js").WithDefaults<S.
|
|
10
|
+
export declare const NonEmptyString64k: import("./ext.js").WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k">;
|
|
11
11
|
export interface NonEmptyString2kBrand extends Simplify<B.Brand<"NonEmptyString2k"> & NonEmptyString64kBrand> {
|
|
12
12
|
}
|
|
13
13
|
export type NonEmptyString2k = string & NonEmptyString2kBrand;
|
|
14
|
-
export declare const NonEmptyString2k: import("./ext.js").WithDefaults<S.
|
|
14
|
+
export declare const NonEmptyString2k: import("./ext.js").WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">;
|
|
15
15
|
export interface NonEmptyString255Brand extends Simplify<B.Brand<"NonEmptyString255"> & NonEmptyString2kBrand> {
|
|
16
16
|
}
|
|
17
17
|
export type NonEmptyString255 = string & NonEmptyString255Brand;
|
|
18
|
-
export declare const NonEmptyString255: import("./ext.js").WithDefaults<S.
|
|
18
|
+
export declare const NonEmptyString255: import("./ext.js").WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">;
|
|
19
19
|
//# sourceMappingURL=strings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/Schema/strings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAI5C,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;AAC3D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,mBAAmB,CAAA;AACzD,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/Schema/strings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAI5C,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;AAC3D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,mBAAmB,CAAA;AACzD,eAAO,MAAM,cAAc,4GASxB,CAAA;AAEH,MAAM,WAAW,sBAAuB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;CAAG;AAC/G,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,sBAAsB,CAAA;AAC/D,eAAO,MAAM,iBAAiB,wJAU3B,CAAA;AAEH,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,sBAAsB,CAAC;CAAG;AAChH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,qBAAqB,CAAA;AAC7D,eAAO,MAAM,gBAAgB,kMAU1B,CAAA;AAEH,MAAM,WAAW,sBAAuB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,qBAAqB,CAAC;CAAG;AACjH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,sBAAsB,CAAA;AAC/D,eAAO,MAAM,iBAAiB,8OAU3B,CAAA"}
|
package/dist/Schema/strings.js
CHANGED
|
@@ -10,23 +10,23 @@ export const NonEmptyString = S
|
|
|
10
10
|
}), withDefaultMake);
|
|
11
11
|
export const NonEmptyString64k = S
|
|
12
12
|
.NonEmptyString
|
|
13
|
-
.pipe(S.
|
|
13
|
+
.pipe(S.check(S.isMaxLength(64 * 1024)), fromBrand(nominal(), {
|
|
14
14
|
identifier: "NonEmptyString64k",
|
|
15
15
|
title: "NonEmptyString64k",
|
|
16
16
|
jsonSchema: {}
|
|
17
17
|
}), withDefaultMake);
|
|
18
18
|
export const NonEmptyString2k = S
|
|
19
19
|
.NonEmptyString
|
|
20
|
-
.pipe(S.
|
|
20
|
+
.pipe(S.check(S.isMaxLength(2 * 1024)), fromBrand(nominal(), {
|
|
21
21
|
identifier: "NonEmptyString2k",
|
|
22
22
|
title: "NonEmptyString2k",
|
|
23
23
|
jsonSchema: {}
|
|
24
24
|
}), withDefaultMake);
|
|
25
25
|
export const NonEmptyString255 = S
|
|
26
26
|
.NonEmptyString
|
|
27
|
-
.pipe(S.
|
|
27
|
+
.pipe(S.check(S.isMaxLength(255)), fromBrand(nominal(), {
|
|
28
28
|
identifier: "NonEmptyString255",
|
|
29
29
|
title: "NonEmptyString255",
|
|
30
30
|
jsonSchema: {}
|
|
31
31
|
}), withDefaultMake);
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY2hlbWEvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQUVsQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBSTFDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDO0tBQzVCLGNBQWM7S0FDZCxJQUFJLENBQ0gsU0FBUyxDQUFDLE9BQU8sRUFBa0IsRUFBRTtJQUNuQyxVQUFVLEVBQUUsZ0JBQWdCO0lBQzVCLEtBQUssRUFBRSxnQkFBZ0I7SUFDdkIsVUFBVSxFQUFFLEVBQUU7Q0FDZixDQUFDLEVBQ0YsZUFBZSxDQUNoQixDQUFBO0FBSUgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQztLQUMvQixjQUFjO0tBQ2QsSUFBSSxDQUNILENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFDakMsU0FBUyxDQUFDLE9BQU8sRUFBcUIsRUFBRTtJQUN0QyxVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLEtBQUssRUFBRSxtQkFBbUI7SUFDMUIsVUFBVSxFQUFFLEVBQUU7Q0FDZixDQUFDLEVBQ0YsZUFBZSxDQUNoQixDQUFBO0FBSUgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQztLQUM5QixjQUFjO0tBQ2QsSUFBSSxDQUNILENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFDaEMsU0FBUyxDQUFDLE9BQU8sRUFBb0IsRUFBRTtJQUNyQyxVQUFVLEVBQUUsa0JBQWtCO0lBQzlCLEtBQUssRUFBRSxrQkFBa0I7SUFDekIsVUFBVSxFQUFFLEVBQUU7Q0FDZixDQUFDLEVBQ0YsZUFBZSxDQUNoQixDQUFBO0FBSUgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQztLQUMvQixjQUFjO0tBQ2QsSUFBSSxDQUNILENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUMzQixTQUFTLENBQUMsT0FBTyxFQUFxQixFQUFFO0lBQ3RDLFVBQVUsRUFBRSxtQkFBbUI7SUFDL0IsS0FBSyxFQUFFLG1CQUFtQjtJQUMxQixVQUFVLEVBQUUsRUFBRTtDQUNmLENBQUMsRUFDRixlQUFlLENBQ2hCLENBQUEifQ==
|
package/dist/Schema.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type Tracer } from "effect";
|
|
2
2
|
import * as S from "effect/Schema";
|
|
3
3
|
import type { NonEmptyReadonlyArray } from "./Array.js";
|
|
4
4
|
import { Email as EmailT } from "./Schema/email.js";
|
|
5
5
|
import { PhoneNumber as PhoneNumberT } from "./Schema/phoneNumber.js";
|
|
6
6
|
export * from "effect/Schema";
|
|
7
|
+
export { TaggedErrorClass as TaggedError } from "effect/Schema";
|
|
7
8
|
export * from "./Schema/Class.js";
|
|
8
9
|
export { Class, TaggedClass } from "./Schema/Class.js";
|
|
9
10
|
export { fromBrand, nominal } from "./Schema/brand.js";
|
|
@@ -17,22 +18,23 @@ export * from "./Schema/phoneNumber.js";
|
|
|
17
18
|
export * from "./Schema/schema.js";
|
|
18
19
|
export * from "./Schema/strings.js";
|
|
19
20
|
export { NonEmptyString } from "./Schema/strings.js";
|
|
20
|
-
export * as
|
|
21
|
+
export * as SchemaIssue from "effect/SchemaIssue";
|
|
22
|
+
export * as SchemaParser from "effect/SchemaParser";
|
|
21
23
|
export { Void as Void_ } from "effect/Schema";
|
|
22
24
|
export declare const SpanId: unique symbol;
|
|
23
25
|
export type SpanId = typeof SpanId;
|
|
24
26
|
export interface WithOptionalSpan {
|
|
25
27
|
[SpanId]?: Tracer.Span;
|
|
26
28
|
}
|
|
27
|
-
export declare const Email: import("./Schema/ext.js").WithDefaults<S.refine<
|
|
29
|
+
export declare const Email: import("./Schema/ext.js").WithDefaults<S.refine<EmailT, S.String>> & S.refine<EmailT, S.String>;
|
|
28
30
|
export type Email = EmailT;
|
|
29
|
-
export declare const PhoneNumber: import("./Schema/ext.js").WithDefaults<
|
|
31
|
+
export declare const PhoneNumber: import("./Schema/ext.js").WithDefaults<import("./Schema/ext.js").WithDefaults<S.refine<PhoneNumberT, S.String>> & S.refine<PhoneNumberT, S.String>> & import("./Schema/ext.js").WithDefaults<S.refine<PhoneNumberT, S.String>> & S.refine<PhoneNumberT, S.String>;
|
|
30
32
|
export declare const makeIs: <A extends {
|
|
31
33
|
_tag: string;
|
|
32
|
-
}
|
|
34
|
+
}>(schema: S.Schema<A>) => any;
|
|
33
35
|
export declare const makeIsAnyOf: <A extends {
|
|
34
36
|
_tag: string;
|
|
35
|
-
}
|
|
37
|
+
}>(schema: S.Schema<A>) => IsAny<A>;
|
|
36
38
|
export type ExtractUnion<A extends {
|
|
37
39
|
_tag: string;
|
|
38
40
|
}, Tags extends A["_tag"]> = Extract<A, Record<"_tag", Tags>>;
|
|
@@ -47,37 +49,37 @@ export interface IsAny<A extends {
|
|
|
47
49
|
}> {
|
|
48
50
|
<Keys extends A["_tag"][]>(...keys: Keys): (a: A) => a is ExtractUnion<A, ElemType<Keys>>;
|
|
49
51
|
}
|
|
50
|
-
export declare const taggedUnionMap: <Members extends readonly (S.
|
|
51
|
-
_tag: string;
|
|
52
|
-
}, any, any> & {
|
|
52
|
+
export declare const taggedUnionMap: <Members extends readonly (S.Top & {
|
|
53
53
|
fields: {
|
|
54
54
|
_tag: S.tag<string>;
|
|
55
55
|
};
|
|
56
|
-
})[]>(self: Members) =>
|
|
57
|
-
export declare const tags: <Members extends NonEmptyReadonlyArray<(S.
|
|
58
|
-
_tag: string;
|
|
59
|
-
}, any, any> & {
|
|
56
|
+
})[]>(self: Members) => any;
|
|
57
|
+
export declare const tags: <Members extends NonEmptyReadonlyArray<(S.Top & {
|
|
60
58
|
fields: {
|
|
61
59
|
_tag: S.tag<string>;
|
|
62
60
|
};
|
|
63
|
-
})>>(self: Members) =>
|
|
61
|
+
})>>(self: Members) => any;
|
|
64
62
|
export declare const ExtendTaggedUnion: <A extends {
|
|
65
63
|
_tag: string;
|
|
66
|
-
}
|
|
67
|
-
is: (
|
|
68
|
-
isA:
|
|
69
|
-
isAnyOf: IsAny<
|
|
64
|
+
}>(schema: S.Schema<A>) => S.Schema<A> & {
|
|
65
|
+
is: <I>(input: I) => input is any;
|
|
66
|
+
isA: any;
|
|
67
|
+
isAnyOf: IsAny<{
|
|
68
|
+
_tag: string;
|
|
69
|
+
}>;
|
|
70
70
|
};
|
|
71
|
-
export declare const TaggedUnion: <Members extends
|
|
71
|
+
export declare const TaggedUnion: <Members extends readonly (S.Top & {
|
|
72
72
|
fields: {
|
|
73
73
|
_tag: S.tag<any>;
|
|
74
74
|
};
|
|
75
|
-
}
|
|
76
|
-
is: (
|
|
77
|
-
isA:
|
|
78
|
-
isAnyOf: IsAny<
|
|
79
|
-
|
|
80
|
-
|
|
75
|
+
})[]>(...a: Members) => S.Union<Members> & {
|
|
76
|
+
is: <I>(input: I) => input is any;
|
|
77
|
+
isA: any;
|
|
78
|
+
isAnyOf: IsAny<{
|
|
79
|
+
_tag: string;
|
|
80
|
+
}>;
|
|
81
|
+
tagMap: any;
|
|
82
|
+
tags: any;
|
|
81
83
|
};
|
|
82
84
|
export type PhoneNumber = PhoneNumberT;
|
|
83
85
|
//# sourceMappingURL=Schema.d.ts.map
|
package/dist/Schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"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"}
|
package/dist/Schema.js
CHANGED
|
@@ -6,6 +6,8 @@ import { withDefaultMake } from "./Schema/ext.js";
|
|
|
6
6
|
import { PhoneNumber as PhoneNumberT } from "./Schema/phoneNumber.js";
|
|
7
7
|
import { extendM } from "./utils.js";
|
|
8
8
|
export * from "effect/Schema";
|
|
9
|
+
// v4: TaggedError renamed to TaggedErrorClass
|
|
10
|
+
export { TaggedErrorClass as TaggedError } from "effect/Schema";
|
|
9
11
|
export * from "./Schema/Class.js";
|
|
10
12
|
export { Class, TaggedClass } from "./Schema/Class.js";
|
|
11
13
|
export { fromBrand, nominal } from "./Schema/brand.js";
|
|
@@ -19,34 +21,27 @@ export * from "./Schema/phoneNumber.js";
|
|
|
19
21
|
export * from "./Schema/schema.js";
|
|
20
22
|
export * from "./Schema/strings.js";
|
|
21
23
|
export { NonEmptyString } from "./Schema/strings.js";
|
|
22
|
-
export * as
|
|
24
|
+
export * as SchemaIssue from "effect/SchemaIssue";
|
|
25
|
+
export * as SchemaParser from "effect/SchemaParser";
|
|
23
26
|
export { Void as Void_ } from "effect/Schema";
|
|
24
27
|
export const SpanId = Symbol();
|
|
25
28
|
export const Email = EmailT
|
|
26
|
-
.pipe(S.
|
|
29
|
+
.pipe(S.annotate({
|
|
27
30
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
28
31
|
arbitrary: () => (fc) => fakerArb((faker) => faker.internet.exampleEmail)(fc).map(Email)
|
|
29
32
|
}), withDefaultMake);
|
|
30
33
|
export const PhoneNumber = PhoneNumberT
|
|
31
|
-
.pipe(S.
|
|
34
|
+
.pipe(S.annotate({
|
|
32
35
|
arbitrary: () => (fc) =>
|
|
33
36
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
34
37
|
fakerArb((faker) => faker.phone.number)(fc).map(PhoneNumber)
|
|
35
38
|
}), withDefaultMake);
|
|
36
39
|
export const makeIs = (schema) => {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (SchemaAST.isDeclaration(ast.to)) {
|
|
40
|
-
return getToBottom(ast.from);
|
|
41
|
-
}
|
|
42
|
-
return getToBottom(ast.to);
|
|
43
|
-
}
|
|
44
|
-
return ast;
|
|
45
|
-
};
|
|
40
|
+
// In v4, transformations are stored as encoding on nodes, not as wrapper nodes.
|
|
41
|
+
// Union member ASTs are directly Objects (TypeLiteral equivalent).
|
|
46
42
|
if (SchemaAST.isUnion(schema.ast)) {
|
|
47
43
|
return schema.ast.types.reduce((acc, t) => {
|
|
48
|
-
|
|
49
|
-
if (!SchemaAST.isTypeLiteral(t))
|
|
44
|
+
if (!SchemaAST.isObjects(t))
|
|
50
45
|
return acc;
|
|
51
46
|
const tag = Array.findFirst(t.propertySignatures, (_) => {
|
|
52
47
|
if (_.name === "_tag" && SchemaAST.isLiteral(_.type)) {
|
|
@@ -73,25 +68,31 @@ export const makeIsAnyOf = (schema) => {
|
|
|
73
68
|
throw new Error("Unsupported");
|
|
74
69
|
};
|
|
75
70
|
export const taggedUnionMap = (self) => self.reduce((acc, key) => {
|
|
76
|
-
// TODO:
|
|
71
|
+
// TODO: v4 migration — PropertySignatureDeclaration removed, need v4 AST traversal
|
|
77
72
|
const ast = key.fields._tag.ast;
|
|
78
|
-
const tag = ast.type.literal // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access
|
|
73
|
+
const tag = (ast.type ?? ast).literal // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access
|
|
79
74
|
;
|
|
80
75
|
acc[tag] = key;
|
|
81
76
|
return acc;
|
|
77
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
82
78
|
}, {});
|
|
83
|
-
export const tags = (self) => S.
|
|
79
|
+
export const tags = (self) => S.Literals(self.map((key) => {
|
|
80
|
+
// TODO: v4 migration — PropertySignatureDeclaration removed, need v4 AST traversal
|
|
84
81
|
const ast = key.fields._tag.ast;
|
|
85
|
-
const tag = ast.type.literal;
|
|
82
|
+
const tag = (ast.type ?? ast).literal;
|
|
86
83
|
return tag;
|
|
87
84
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
88
85
|
}));
|
|
89
|
-
export const ExtendTaggedUnion = (schema) => extendM(schema, (_) => ({
|
|
90
|
-
|
|
86
|
+
export const ExtendTaggedUnion = (schema) => extendM(schema, (_) => ({
|
|
87
|
+
is: S.is(schema),
|
|
88
|
+
isA: makeIs(_),
|
|
89
|
+
isAnyOf: makeIsAnyOf(_) /*, map: taggedUnionMap(a) */
|
|
90
|
+
}));
|
|
91
|
+
export const TaggedUnion = (...a) => pipe(S.Union(a), (_) => extendM(_, (_) => ({
|
|
91
92
|
is: S.is(_),
|
|
92
93
|
isA: makeIs(_),
|
|
93
94
|
isAnyOf: makeIsAnyOf(_),
|
|
94
95
|
tagMap: taggedUnionMap(a),
|
|
95
96
|
tags: tags(a)
|
|
96
97
|
})));
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFlLE1BQU0sUUFBUSxDQUFBO0FBQ3BFLE9BQU8sS0FBSyxDQUFDLE1BQU0sZUFBZSxDQUFBO0FBRWxDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckMsT0FBTyxFQUFFLEtBQUssSUFBSSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDakQsT0FBTyxFQUFFLFdBQVcsSUFBSSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUVyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRXBDLGNBQWMsZUFBZSxDQUFBO0FBQzdCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLElBQUksV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRS9ELGNBQWMsbUJBQW1CLENBQUE7QUFDakMsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUV0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlHLE9BQU8sRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFekQsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxjQUFjLGlCQUFpQixDQUFBO0FBQy9CLGNBQWMseUJBQXlCLENBQUE7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
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* We're doing the long way around here with assignTag, TagBase & TagBaseTagged,
|
|
3
|
+
* because there's a typescript compiler issue where it will complain about Equal.symbol, and Hash.symbol not being accessible.
|
|
4
|
+
* https://github.com/microsoft/TypeScript/issues/52644
|
|
5
|
+
*/
|
|
6
|
+
import { type Effect, Layer, type Scope, type Types } from "effect";
|
|
7
|
+
import * as ServiceMap from "effect/ServiceMap";
|
|
8
|
+
import { Yieldable } from "./Effect.js";
|
|
9
|
+
export * from "effect/ServiceMap";
|
|
10
|
+
export interface Opaque<Self extends object, in out Shape extends object> extends ServiceMap.Key<Self, Self>, Yieldable<Opaque<Self, Shape>, Self, never, Self> {
|
|
11
|
+
of(self: Shape): Self;
|
|
12
|
+
serviceMap(self: Shape): ServiceMap.ServiceMap<Self>;
|
|
13
|
+
toLayer: <E, R>(eff: Effect.Effect<Shape, E, R>) => Layer.Layer<Self, E, Exclude<R, Scope.Scope>>;
|
|
14
|
+
use<A, E, R>(f: (service: Shape) => Effect.Effect<A, E, R>): Effect.Effect<A, E, R | Self>;
|
|
15
|
+
useSync<A>(f: (service: Shape) => A): Effect.Effect<A, never, Self>;
|
|
16
|
+
}
|
|
17
|
+
export declare function assignTag<Identifier extends object, Shape extends object = Identifier>(key: string, creationError?: Error): <S extends object>(cls: S) => S & Opaque<Identifier, Shape>;
|
|
18
|
+
export type ServiceAcessorShape<Self, Type> = Type extends Record<PropertyKey, any> ? {
|
|
19
|
+
[k in keyof Type as Type[k] extends ((...args: [...infer Args]) => infer Ret) ? ((...args: Readonly<Args>) => Ret) extends Type[k] ? k : never : k]: Type[k] extends (...args: [...infer Args]) => Effect.Effect<infer A, infer E, infer R> ? (...args: Readonly<Args>) => Effect.Effect<A, E, Self | R> : Type[k] extends (...args: [...infer Args]) => infer A ? (...args: Readonly<Args>) => Effect.Effect<A, never, Self> : Type[k] extends Effect.Effect<infer A, infer E, infer R> ? Effect.Effect<A, E, Self | R> : Effect.Effect<Type[k], never, Self>;
|
|
20
|
+
} : {};
|
|
21
|
+
/**
|
|
22
|
+
* Only use this in very specific cases where using dependencies directly is prefered, like inside command handlers.
|
|
23
|
+
*/
|
|
24
|
+
export declare const proxify: <T extends object>(Tag: T) => <Self, Shape>() => T & ServiceAcessorShape<Self, Shape>;
|
|
25
|
+
export declare const TypeId = "~ServiceMap.Opaque";
|
|
26
|
+
export interface OpaqueClass<Self extends object, in out Identifier extends string, Shape extends object> extends Opaque<Self, Shape> {
|
|
27
|
+
new (_: never): Shape & {
|
|
28
|
+
readonly [TypeId]: Identifier;
|
|
29
|
+
};
|
|
30
|
+
readonly key: Identifier;
|
|
31
|
+
}
|
|
32
|
+
export declare const Opaque: {
|
|
33
|
+
<Self extends object, Shape extends object>(): <const Identifier extends string, E, R = Types.unassigned, Args extends ReadonlyArray<any> = never>(id: Identifier, options?: {
|
|
34
|
+
readonly make: ((...args: Args) => Effect.Effect<Shape, E, R>) | Effect.Effect<Shape, E, R> | undefined;
|
|
35
|
+
} | undefined) => OpaqueClass<Self, Identifier, Shape> & ([Types.unassigned] extends [R] ? unknown : {
|
|
36
|
+
readonly make: [Args] extends [never] ? Effect.Effect<Shape, E, R> : (...args: Args) => Effect.Effect<Shape, E, R>;
|
|
37
|
+
});
|
|
38
|
+
<Self extends object>(): <const Identifier extends string, Make extends Effect.Effect<any, any, any> | ((...args: any) => Effect.Effect<any, any, any>)>(id: Identifier, options: {
|
|
39
|
+
readonly make: Make;
|
|
40
|
+
}) => OpaqueClass<Self, Identifier, Make extends Effect.Effect<infer _A, infer _E, infer _R> | ((...args: infer _Args) => Effect.Effect<infer _A, infer _E, infer _R>) ? _A : never> & {
|
|
41
|
+
readonly make: Make;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=ServiceMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceMap.d.ts","sourceRoot":"","sources":["../src/ServiceMap.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAA;AACnE,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,cAAc,mBAAmB,CAAA;AAEjC,MAAM,WAAW,MAAM,CAAC,IAAI,SAAS,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,MAAM,CAAE,SAAQ,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;IAE7J,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAA;IACrB,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAEpD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EACZ,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAC5B,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IAClD,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;IAC1F,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CACpE;AAiBD,wBAAgB,SAAS,CAAC,UAAU,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,GAAG,UAAU,EACpF,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,KAAK,IAEb,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,KAAG,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAsBjE;AAED,MAAM,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,SAAS,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG;KAEhF,CAAC,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,MAAM,GAAG,CAAC,GACxE,CAAC,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAC9D,CAAC,GACJ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACrF,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,GAC1D,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,MAAM,CAAC,GACnD,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAC5D,IAAI,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,GACxF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;CACxC,GACC,EAAE,CAAA;AAEN;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,MAC/C,IAAI,EAAE,KAAK,OACR,CAAC,GACD,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAyBlC,CAAA;AAED,eAAO,MAAM,MAAM,uBAAuB,CAAA;AAc1C,MAAM,WAAW,WAAW,CAAC,IAAI,SAAS,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,CACtG,SAAQ,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAE3B,KAAI,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG;QAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;KAAE,CAAA;IACxD,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;CACzB;AASD,eAAO,MAAM,MAAM,EAAE;IACnB,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,KAAK,CAC7C,KAAK,CAAC,UAAU,SAAS,MAAM,EAC/B,CAAC,EACD,CAAC,GAAG,KAAK,CAAC,UAAU,EACpB,IAAI,SAAS,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,EAEvC,EAAE,EAAE,UAAU,EACd,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;KACxG,GAAG,SAAS,KAEX,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,GACpC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,GACvC;QACA,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,GAC9D,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;KAClD,CAAC,CAAA;IACN,CAAC,IAAI,SAAS,MAAM,KAAK,CACvB,KAAK,CAAC,UAAU,SAAS,MAAM,EAC/B,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAE5F,EAAE,EAAE,UAAU,EACd,OAAO,EAAE;QACP,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;KACpB,KAEC,WAAW,CACX,IAAI,EACJ,UAAU,EACV,IAAI,SACA,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAC3C,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,GAC5E,KAAK,CACV,GACC;QAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAA;CAQ5B,CAAA"}
|