effect-app 4.0.0-beta.98 → 4.0.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 +2030 -0
- package/dist/Array.d.ts +2 -1
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +4 -4
- package/dist/Chunk.d.ts +2 -2
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Config/SecretURL.d.ts +3 -1
- package/dist/Config/SecretURL.d.ts.map +1 -1
- package/dist/Config/SecretURL.js +3 -6
- package/dist/Config/internal/configSecretURL.d.ts.map +1 -1
- package/dist/Config/internal/configSecretURL.js +2 -2
- package/dist/Config.d.ts +0 -5
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +7 -5
- package/dist/ConfigProvider.d.ts +0 -37
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +5 -41
- package/dist/Context.d.ts +6 -4
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +4 -3
- package/dist/DataDependencies.d.ts +136 -0
- package/dist/DataDependencies.d.ts.map +1 -0
- package/dist/DataDependencies.js +112 -0
- package/dist/Effect.d.ts +3 -3
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +6 -9
- package/dist/Emailer.d.ts +51 -0
- package/dist/Emailer.d.ts.map +1 -0
- package/dist/Emailer.js +7 -0
- package/dist/Function.d.ts.map +1 -1
- package/dist/Layer.d.ts +6 -3
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +3 -2
- package/dist/Model/Repository/Registry.d.ts +22 -0
- package/dist/Model/Repository/Registry.d.ts.map +1 -0
- package/dist/Model/Repository/Registry.js +18 -0
- package/dist/Model/Repository/dependency.d.ts +6 -0
- package/dist/Model/Repository/dependency.d.ts.map +1 -0
- package/dist/Model/Repository/dependency.js +29 -0
- package/dist/Model/Repository/ext.d.ts +60 -0
- package/dist/Model/Repository/ext.d.ts.map +1 -0
- package/dist/Model/Repository/ext.js +124 -0
- package/dist/Model/Repository/internal/internal.d.ts +68 -0
- package/dist/Model/Repository/internal/internal.d.ts.map +1 -0
- package/dist/Model/Repository/internal/internal.js +611 -0
- package/dist/Model/Repository/legacy.d.ts +21 -0
- package/dist/Model/Repository/legacy.d.ts.map +1 -0
- package/dist/Model/Repository/legacy.js +2 -0
- package/dist/Model/Repository/makeRepo.d.ts +71 -0
- package/dist/Model/Repository/makeRepo.d.ts.map +1 -0
- package/dist/Model/Repository/makeRepo.js +30 -0
- package/dist/Model/Repository/service.d.ts +121 -0
- package/dist/Model/Repository/service.d.ts.map +1 -0
- package/dist/Model/Repository/service.js +2 -0
- package/dist/Model/Repository/validation.d.ts +72 -0
- package/dist/Model/Repository/validation.d.ts.map +1 -0
- package/dist/Model/Repository/validation.js +39 -0
- package/dist/Model/Repository.d.ts +8 -0
- package/dist/Model/Repository.d.ts.map +1 -0
- package/dist/Model/Repository.js +8 -0
- package/dist/Model/dsl.d.ts +33 -0
- package/dist/Model/dsl.d.ts.map +1 -0
- package/dist/Model/dsl.js +43 -0
- package/dist/Model/filter/filterApi.d.ts +30 -0
- package/dist/Model/filter/filterApi.d.ts.map +1 -0
- package/dist/Model/filter/filterApi.js +2 -0
- package/dist/Model/filter/types/errors.d.ts +29 -0
- package/dist/Model/filter/types/errors.d.ts.map +1 -0
- package/dist/Model/filter/types/errors.js +2 -0
- package/dist/Model/filter/types/fields.d.ts +15 -0
- package/dist/Model/filter/types/fields.d.ts.map +1 -0
- package/dist/Model/filter/types/fields.js +2 -0
- package/dist/Model/filter/types/path/common.d.ts +316 -0
- package/dist/Model/filter/types/path/common.d.ts.map +1 -0
- package/dist/Model/filter/types/path/common.js +2 -0
- package/dist/Model/filter/types/path/eager.d.ts +94 -0
- package/dist/Model/filter/types/path/eager.d.ts.map +1 -0
- package/dist/Model/filter/types/path/eager.js +36 -0
- package/dist/Model/filter/types/path/index.d.ts +4 -0
- package/dist/Model/filter/types/path/index.d.ts.map +1 -0
- package/dist/Model/filter/types/path/index.js +3 -0
- package/dist/Model/filter/types/utils.d.ts +79 -0
- package/dist/Model/filter/types/utils.d.ts.map +1 -0
- package/dist/Model/filter/types/utils.js +2 -0
- package/dist/Model/filter/types/validator.d.ts +30 -0
- package/dist/Model/filter/types/validator.d.ts.map +1 -0
- package/dist/Model/filter/types/validator.js +2 -0
- package/dist/Model/filter/types.d.ts +5 -0
- package/dist/Model/filter/types.d.ts.map +1 -0
- package/dist/Model/filter/types.js +7 -0
- package/dist/Model/query/dsl.d.ts +630 -0
- package/dist/Model/query/dsl.d.ts.map +1 -0
- package/dist/Model/query/dsl.js +376 -0
- package/dist/Model/query/new-kid-interpreter.d.ts +132 -0
- package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -0
- package/dist/Model/query/new-kid-interpreter.js +370 -0
- package/dist/Model/query.d.ts +15 -0
- package/dist/Model/query.d.ts.map +1 -0
- package/dist/Model/query.js +3 -0
- package/dist/Model.d.ts +6 -0
- package/dist/Model.d.ts.map +1 -0
- package/dist/Model.js +6 -0
- package/dist/NonEmptySet.d.ts +3 -1
- package/dist/NonEmptySet.d.ts.map +1 -1
- package/dist/NonEmptySet.js +2 -2
- package/dist/Option.d.ts +1 -0
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +3 -1
- package/dist/Pure.d.ts +5 -3
- package/dist/Pure.d.ts.map +1 -1
- package/dist/Pure.js +5 -2
- package/dist/QueueMaker.d.ts +11 -0
- package/dist/QueueMaker.d.ts.map +1 -0
- package/dist/QueueMaker.js +11 -0
- package/dist/RequestContext.d.ts +87 -0
- package/dist/RequestContext.d.ts.map +1 -0
- package/dist/RequestContext.js +45 -0
- package/dist/RequestScopedDependencies.d.ts +21 -0
- package/dist/RequestScopedDependencies.d.ts.map +1 -0
- package/dist/RequestScopedDependencies.js +16 -0
- package/dist/Schema/Class.d.ts +163 -16
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema/Class.js +193 -21
- package/dist/Schema/FastCheck.d.ts.map +1 -1
- package/dist/Schema/SchemaParser.d.ts +5 -0
- package/dist/Schema/SchemaParser.d.ts.map +1 -0
- package/dist/Schema/SchemaParser.js +6 -0
- package/dist/Schema/SpecialJsonSchema.d.ts +15 -2
- package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -1
- package/dist/Schema/SpecialJsonSchema.js +70 -12
- package/dist/Schema/SpecialOpenApi.d.ts +1 -1
- package/dist/Schema/SpecialOpenApi.js +3 -3
- package/dist/Schema/brand.d.ts +5 -5
- package/dist/Schema/brand.d.ts.map +1 -1
- package/dist/Schema/brand.js +6 -4
- package/dist/Schema/email.d.ts.map +1 -1
- package/dist/Schema/email.js +8 -5
- package/dist/Schema/ext.d.ts +297 -72
- package/dist/Schema/ext.d.ts.map +1 -1
- package/dist/Schema/ext.js +331 -67
- package/dist/Schema/moreStrings.d.ts +82 -48
- package/dist/Schema/moreStrings.d.ts.map +1 -1
- package/dist/Schema/moreStrings.js +85 -51
- package/dist/Schema/numbers.d.ts +33 -21
- package/dist/Schema/numbers.d.ts.map +1 -1
- package/dist/Schema/numbers.js +64 -12
- package/dist/Schema/phoneNumber.d.ts.map +1 -1
- package/dist/Schema/phoneNumber.js +6 -6
- package/dist/Schema/schema.d.ts +1 -1
- package/dist/Schema/schema.d.ts.map +1 -1
- package/dist/Schema/schema.js +2 -2
- package/dist/Schema/strings.d.ts +18 -4
- package/dist/Schema/strings.d.ts.map +1 -1
- package/dist/Schema/strings.js +1 -5
- package/dist/Schema.d.ts +223 -6
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +189 -23
- package/dist/SchemaAST.d.ts +2 -0
- package/dist/SchemaAST.d.ts.map +1 -0
- package/dist/SchemaAST.js +2 -0
- package/dist/Set.d.ts +4 -1
- package/dist/Set.d.ts.map +1 -1
- package/dist/Set.js +3 -2
- package/dist/Store.d.ts +215 -0
- package/dist/Store.d.ts.map +1 -0
- package/dist/Store.js +113 -0
- package/dist/_ext/Array.d.ts +1 -1
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/Array.js +4 -2
- package/dist/_ext/misc.d.ts +4 -1
- package/dist/_ext/misc.d.ts.map +1 -1
- package/dist/_ext/misc.js +4 -2
- package/dist/_ext/ord.ext.d.ts +2 -1
- package/dist/_ext/ord.ext.d.ts.map +1 -1
- package/dist/_ext/ord.ext.js +2 -2
- package/dist/builtin.d.ts +2 -14
- package/dist/builtin.d.ts.map +1 -1
- package/dist/builtin.js +1 -1
- package/dist/client/InvalidationKeys.d.ts +30 -0
- package/dist/client/InvalidationKeys.d.ts.map +1 -0
- package/dist/client/InvalidationKeys.js +37 -0
- package/dist/client/apiClientFactory.d.ts +13 -8
- package/dist/client/apiClientFactory.d.ts.map +1 -1
- package/dist/client/apiClientFactory.js +148 -29
- package/dist/client/clientFor.d.ts +48 -13
- package/dist/client/clientFor.d.ts.map +1 -1
- package/dist/client/clientFor.js +9 -1
- package/dist/client/errors.d.ts +74 -28
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +41 -10
- package/dist/client/makeClient.d.ts +487 -32
- package/dist/client/makeClient.d.ts.map +1 -1
- package/dist/client/makeClient.js +47 -21
- package/dist/client.d.ts +2 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +3 -1
- package/dist/faker.d.ts.map +1 -1
- package/dist/http/Request.d.ts +2 -2
- package/dist/http/Request.d.ts.map +1 -1
- package/dist/http/Request.js +2 -2
- package/dist/http/internal/lib.d.ts +12 -12
- package/dist/http/internal/lib.d.ts.map +1 -1
- package/dist/http/internal/lib.js +13 -13
- package/dist/ids.d.ts +32 -14
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +38 -7
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/middleware.d.ts +12 -6
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +13 -7
- package/dist/rpc/Invalidation.d.ts +1124 -0
- package/dist/rpc/Invalidation.d.ts.map +1 -0
- package/dist/rpc/Invalidation.js +178 -0
- package/dist/rpc/MiddlewareMaker.d.ts +10 -7
- package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
- package/dist/rpc/MiddlewareMaker.js +57 -37
- package/dist/rpc/RpcContextMap.d.ts +2 -2
- package/dist/rpc/RpcContextMap.d.ts.map +1 -1
- package/dist/rpc/RpcMiddleware.d.ts +13 -10
- package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/rpc/RpcMiddleware.js +2 -2
- package/dist/rpc.d.ts +1 -1
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +2 -2
- package/dist/runtime.d.ts +19 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +40 -0
- package/dist/setupRequest.d.ts +20 -0
- package/dist/setupRequest.d.ts.map +1 -0
- package/dist/setupRequest.js +72 -0
- package/dist/toast.d.ts +51 -0
- package/dist/toast.d.ts.map +1 -0
- package/dist/toast.js +34 -0
- package/dist/transform.d.ts +1 -1
- package/dist/transform.d.ts.map +1 -1
- package/dist/transform.js +4 -5
- package/dist/utils/effectify.d.ts +1 -1
- package/dist/utils/effectify.d.ts.map +1 -1
- package/dist/utils/effectify.js +2 -2
- package/dist/utils/extend.d.ts +6 -1
- package/dist/utils/extend.d.ts.map +1 -1
- package/dist/utils/extend.js +24 -6
- package/dist/utils/gen.d.ts +4 -4
- package/dist/utils/gen.d.ts.map +1 -1
- package/dist/utils/logLevel.d.ts +2 -2
- package/dist/utils/logLevel.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +2 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +2 -2
- package/dist/utils.d.ts +34 -39
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +33 -37
- package/dist/validation/validators.d.ts.map +1 -1
- package/dist/validation.d.ts.map +1 -1
- package/dist/withToast.d.ts +30 -0
- package/dist/withToast.d.ts.map +1 -0
- package/dist/withToast.js +64 -0
- package/package.json +26 -266
- package/src/Array.ts +5 -5
- package/src/Chunk.ts +3 -3
- package/src/Config/SecretURL.ts +6 -3
- package/src/Config/internal/configSecretURL.ts +2 -2
- package/src/Config.ts +6 -13
- package/src/ConfigProvider.ts +4 -47
- package/src/Context.ts +9 -8
- package/src/DataDependencies.ts +171 -0
- package/src/Effect.ts +9 -12
- package/src/Emailer.ts +51 -0
- package/src/Inputify.type.ts +1 -1
- package/src/Layer.ts +8 -5
- package/src/Model/Repository/Registry.ts +35 -0
- package/src/Model/Repository/dependency.ts +32 -0
- package/src/Model/Repository/ext.ts +374 -0
- package/src/Model/Repository/internal/internal.ts +988 -0
- package/src/Model/Repository/legacy.ts +29 -0
- package/src/Model/Repository/makeRepo.ts +168 -0
- package/src/Model/Repository/service.ts +676 -0
- package/src/Model/Repository/validation.ts +38 -0
- package/src/Model/Repository.ts +7 -0
- package/src/Model/dsl.ts +129 -0
- package/src/Model/filter/filterApi.ts +78 -0
- package/src/Model/filter/types/errors.ts +47 -0
- package/src/Model/filter/types/fields.ts +50 -0
- package/src/Model/filter/types/path/common.ts +404 -0
- package/src/Model/filter/types/path/eager.ts +329 -0
- package/src/Model/filter/types/path/index.ts +4 -0
- package/src/Model/filter/types/utils.ts +128 -0
- package/src/Model/filter/types/validator.ts +46 -0
- package/src/Model/filter/types.ts +6 -0
- package/src/Model/query/dsl.ts +3092 -0
- package/src/Model/query/new-kid-interpreter.ts +532 -0
- package/src/Model/query.ts +13 -0
- package/src/Model.ts +5 -0
- package/src/NonEmptySet.ts +6 -4
- package/src/Option.ts +2 -0
- package/src/Pure.ts +6 -3
- package/src/QueueMaker.ts +11 -0
- package/src/RequestContext.ts +48 -0
- package/src/RequestScopedDependencies.ts +45 -0
- package/src/Schema/Class.ts +550 -56
- package/src/Schema/SchemaParser.ts +12 -0
- package/src/Schema/SpecialJsonSchema.ts +75 -7
- package/src/Schema/SpecialOpenApi.ts +5 -5
- package/src/Schema/brand.ts +27 -12
- package/src/Schema/email.ts +9 -7
- package/src/Schema/ext.ts +408 -91
- package/src/Schema/moreStrings.ts +213 -88
- package/src/Schema/numbers.ts +107 -29
- package/src/Schema/phoneNumber.ts +8 -9
- package/src/Schema/schema.ts +1 -1
- package/src/Schema/strings.ts +23 -14
- package/src/Schema.ts +403 -46
- package/src/SchemaAST.ts +1 -0
- package/src/Set.ts +6 -2
- package/src/Store.ts +325 -0
- package/src/_ext/Array.ts +4 -2
- package/src/_ext/misc.ts +4 -1
- package/src/_ext/ord.ext.ts +2 -1
- package/src/builtin-json.d.ts +24 -0
- package/src/builtin.ts +16 -21
- package/src/client/InvalidationKeys.ts +55 -0
- package/src/client/apiClientFactory.ts +291 -126
- package/src/client/clientFor.ts +101 -33
- package/src/client/errors.ts +66 -20
- package/src/client/makeClient.ts +519 -60
- package/src/client.ts +6 -4
- package/src/http/Request.ts +4 -4
- package/src/http/internal/lib.ts +12 -12
- package/src/http.ts +1 -1
- package/src/ids.ts +45 -8
- package/src/index.ts +20 -16
- package/src/middleware.ts +12 -8
- package/src/rpc/Invalidation.ts +278 -0
- package/src/rpc/MiddlewareMaker.ts +86 -79
- package/src/rpc/README.md +2 -2
- package/src/rpc/RpcContextMap.ts +4 -4
- package/src/rpc/RpcMiddleware.ts +18 -13
- package/src/rpc.ts +4 -4
- package/src/runtime.ts +57 -0
- package/src/setupRequest.ts +138 -0
- package/src/toast.ts +54 -0
- package/src/transform.ts +4 -4
- package/src/utils/effectify.ts +1 -1
- package/src/utils/extend.ts +24 -5
- package/src/utils/gen.ts +7 -7
- package/src/utils/logLevel.ts +1 -1
- package/src/utils/logger.ts +3 -2
- package/src/utils.ts +85 -158
- package/src/validation.ts +2 -2
- package/src/withToast.ts +133 -0
- package/test/dist/rpc.test.d.ts.map +1 -1
- package/test/dist/rpcMiddlewareContext.test.d.ts.map +1 -0
- package/test/moreStrings.test.ts +55 -10
- package/test/rpc.test.ts +28 -11
- package/test/rpcMiddlewareContext.test.ts +63 -0
- package/test/schema.test.ts +318 -55
- package/test/secretURL.test.ts +4 -1
- package/test/special.test.ts +663 -131
- package/test/utils.test.ts +5 -5
- package/tsconfig.base.json +6 -4
- package/tsconfig.json +9 -1
- package/tsconfig.src.json +29 -29
- package/tsconfig.test.json +2 -2
- package/dist/Operations.d.ts +0 -124
- package/dist/Operations.d.ts.map +0 -1
- package/dist/Operations.js +0 -29
- package/eslint.config.mjs +0 -26
- package/src/Operations.ts +0 -55
- package/tsconfig.json.bak +0 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../src/Schema/Class.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../src/Schema/Class.ts"],"names":[],"mappings":"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"}
|
package/dist/Schema/Class.js
CHANGED
|
@@ -1,18 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
import { Effect, Option, Schema, SchemaAST, SchemaIssue } from "effect";
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
3
2
|
import * as S from "effect/Schema";
|
|
3
|
+
import * as SchemaGetter from "effect/SchemaGetter";
|
|
4
|
+
import * as SchemaIssue from "effect/SchemaIssue";
|
|
5
|
+
import * as SchemaTransformation from "effect/SchemaTransformation";
|
|
6
|
+
import * as SchemaAST from "../SchemaAST.js";
|
|
7
|
+
import { copyOrigin } from "../utils.js";
|
|
8
|
+
import { concurrencyUnbounded } from "./ext.js";
|
|
9
|
+
import * as SchemaParser from "./SchemaParser.js";
|
|
4
10
|
/**
|
|
5
11
|
* Build a modified Declaration that accepts struct-matching values during
|
|
6
12
|
* encoding, given the original Declaration and the class's fields.
|
|
7
13
|
*/
|
|
8
14
|
function makeRelaxedDeclaration(ast, fields, cls) {
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
const parseOptions = ast.annotations?.["parseOptions"];
|
|
16
|
+
const structSchema = S.Struct(fields);
|
|
17
|
+
const annotatedStruct = parseOptions ? S.toType(structSchema).annotate({ parseOptions }) : S.toType(structSchema);
|
|
18
|
+
const decodeStruct = SchemaParser.decodeUnknownEffect(annotatedStruct);
|
|
19
|
+
return new SchemaAST.Declaration(ast.typeParameters, () => (input, self, options) => {
|
|
20
|
+
if (input instanceof cls) {
|
|
13
21
|
return Effect.succeed(input);
|
|
14
22
|
}
|
|
15
|
-
|
|
23
|
+
if (input !== null && typeof input === "object") {
|
|
24
|
+
return decodeStruct(input, options);
|
|
25
|
+
}
|
|
26
|
+
return Effect.fail(new SchemaIssue.InvalidType(self, input));
|
|
16
27
|
}, ast.annotations, ast.checks, ast.encoding, ast.context);
|
|
17
28
|
}
|
|
18
29
|
// ---------------------------------------------------------------------------
|
|
@@ -25,8 +36,8 @@ function makeRelaxedDeclaration(ast, fields, cls) {
|
|
|
25
36
|
*
|
|
26
37
|
* @example
|
|
27
38
|
* ```ts
|
|
28
|
-
* import
|
|
29
|
-
* import { Class } from "./Class.
|
|
39
|
+
* import * as Schema from "effect/Schema"
|
|
40
|
+
* import { Class } from "./Class.ts"
|
|
30
41
|
*
|
|
31
42
|
* class A extends Class<A>("A")({ a: Schema.String }) {}
|
|
32
43
|
*
|
|
@@ -37,14 +48,24 @@ function makeRelaxedDeclaration(ast, fields, cls) {
|
|
|
37
48
|
* Schema.encodeUnknownSync(A)({ a: "hello" }) // { a: "hello" }
|
|
38
49
|
* ```
|
|
39
50
|
*/
|
|
40
|
-
export const Class = (identifier) => (fields, annotations) => {
|
|
51
|
+
export const Class = (identifier) => (fields, annotations, options) => {
|
|
52
|
+
const relaxed = options?.strict === false;
|
|
41
53
|
// Build the original Schema.Class
|
|
42
|
-
const Base = S.Class(identifier)(fields, annotations);
|
|
54
|
+
const Base = S.Class(identifier)(fields, { ...concurrencyUnbounded, ...annotations });
|
|
43
55
|
// Get the original ast getter from the base class
|
|
44
56
|
const originalAstDescriptor = Object.getOwnPropertyDescriptor(Base, "ast");
|
|
45
57
|
// Cache per-class to avoid recomputing
|
|
46
58
|
const astCache = new WeakMap();
|
|
59
|
+
const copyCache = new WeakMap();
|
|
47
60
|
return class extends Base {
|
|
61
|
+
static get copy() {
|
|
62
|
+
let cached = copyCache.get(this);
|
|
63
|
+
if (cached === undefined) {
|
|
64
|
+
cached = copyOrigin(this);
|
|
65
|
+
copyCache.set(this, cached);
|
|
66
|
+
}
|
|
67
|
+
return cached;
|
|
68
|
+
}
|
|
48
69
|
static get ast() {
|
|
49
70
|
let cached = astCache.get(this);
|
|
50
71
|
if (cached !== undefined)
|
|
@@ -52,10 +73,13 @@ export const Class = (identifier) => (fields, annotations) => {
|
|
|
52
73
|
// Call the original getter with `this` bound to the actual user class,
|
|
53
74
|
// so getClassSchema(this) creates a schema that uses `new this(...)`.
|
|
54
75
|
const originalAst = originalAstDescriptor.get.call(this);
|
|
55
|
-
cached = makeRelaxedDeclaration(originalAst, Base.fields, this);
|
|
76
|
+
cached = relaxed ? makeRelaxedDeclaration(originalAst, Base.fields, this) : originalAst;
|
|
56
77
|
astCache.set(this, cached);
|
|
57
78
|
return cached;
|
|
58
79
|
}
|
|
80
|
+
static mapFields(f, options) {
|
|
81
|
+
return Base.mapFields(f, options).annotate(concurrencyUnbounded);
|
|
82
|
+
}
|
|
59
83
|
};
|
|
60
84
|
};
|
|
61
85
|
// ---------------------------------------------------------------------------
|
|
@@ -67,8 +91,8 @@ export const Class = (identifier) => (fields, annotations) => {
|
|
|
67
91
|
*
|
|
68
92
|
* @example
|
|
69
93
|
* ```ts
|
|
70
|
-
* import
|
|
71
|
-
* import { TaggedClass } from "./Class.
|
|
94
|
+
* import * as Schema from "effect/Schema"
|
|
95
|
+
* import { TaggedClass } from "./Class.ts"
|
|
72
96
|
*
|
|
73
97
|
* class Circle extends TaggedClass<Circle>()("Circle", {
|
|
74
98
|
* radius: Schema.Number
|
|
@@ -77,25 +101,173 @@ export const Class = (identifier) => (fields, annotations) => {
|
|
|
77
101
|
* Schema.encodeUnknownSync(Circle)({ _tag: "Circle", radius: 5 })
|
|
78
102
|
* ```
|
|
79
103
|
*/
|
|
80
|
-
export const TaggedClass = (identifier) => (tag, fields, annotations) => {
|
|
81
|
-
const
|
|
104
|
+
export const TaggedClass = (identifier) => (tag, fields, annotations, options) => {
|
|
105
|
+
const relaxed = options?.strict === false;
|
|
106
|
+
const Base = S.TaggedClass(identifier)(tag, fields, { ...concurrencyUnbounded, ...annotations });
|
|
107
|
+
const originalAstDescriptor = Object.getOwnPropertyDescriptor(Base, "ast");
|
|
108
|
+
const astCache = new WeakMap();
|
|
109
|
+
const copyCache = new WeakMap();
|
|
110
|
+
return class extends Base {
|
|
111
|
+
static get copy() {
|
|
112
|
+
let cached = copyCache.get(this);
|
|
113
|
+
if (cached === undefined) {
|
|
114
|
+
cached = copyOrigin(this);
|
|
115
|
+
copyCache.set(this, cached);
|
|
116
|
+
}
|
|
117
|
+
return cached;
|
|
118
|
+
}
|
|
119
|
+
static get ast() {
|
|
120
|
+
let cached = astCache.get(this);
|
|
121
|
+
if (cached !== undefined)
|
|
122
|
+
return cached;
|
|
123
|
+
const originalAst = originalAstDescriptor.get.call(this);
|
|
124
|
+
cached = relaxed ? makeRelaxedDeclaration(originalAst, Base.fields, this) : originalAst;
|
|
125
|
+
astCache.set(this, cached);
|
|
126
|
+
return cached;
|
|
127
|
+
}
|
|
128
|
+
static mapFields(f, options) {
|
|
129
|
+
return Base.mapFields(f, options).annotate(concurrencyUnbounded);
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
// ---------------------------------------------------------------------------
|
|
134
|
+
// ErrorClass — like Schema.ErrorClass but with relaxed encoding
|
|
135
|
+
// ---------------------------------------------------------------------------
|
|
136
|
+
export const ErrorClass = (identifier) => (fields, annotations, options) => {
|
|
137
|
+
const relaxed = options?.strict === false;
|
|
138
|
+
const Base = S.Error(identifier)(fields, { ...concurrencyUnbounded, ...annotations });
|
|
82
139
|
const originalAstDescriptor = Object.getOwnPropertyDescriptor(Base, "ast");
|
|
83
140
|
const astCache = new WeakMap();
|
|
141
|
+
const copyCache = new WeakMap();
|
|
84
142
|
return class extends Base {
|
|
143
|
+
static get copy() {
|
|
144
|
+
let cached = copyCache.get(this);
|
|
145
|
+
if (cached === undefined) {
|
|
146
|
+
cached = copyOrigin(this);
|
|
147
|
+
copyCache.set(this, cached);
|
|
148
|
+
}
|
|
149
|
+
return cached;
|
|
150
|
+
}
|
|
85
151
|
static get ast() {
|
|
86
152
|
let cached = astCache.get(this);
|
|
87
153
|
if (cached !== undefined)
|
|
88
154
|
return cached;
|
|
89
155
|
const originalAst = originalAstDescriptor.get.call(this);
|
|
90
|
-
cached = makeRelaxedDeclaration(originalAst, Base.fields, this);
|
|
156
|
+
cached = relaxed ? makeRelaxedDeclaration(originalAst, Base.fields, this) : originalAst;
|
|
91
157
|
astCache.set(this, cached);
|
|
92
158
|
return cached;
|
|
93
159
|
}
|
|
160
|
+
static mapFields(f, options) {
|
|
161
|
+
return Base.mapFields(f, options).annotate(concurrencyUnbounded);
|
|
162
|
+
}
|
|
94
163
|
};
|
|
95
164
|
};
|
|
96
165
|
// ---------------------------------------------------------------------------
|
|
97
|
-
//
|
|
166
|
+
// TaggedErrorClass — like Schema.TaggedErrorClass but with relaxed encoding
|
|
98
167
|
// ---------------------------------------------------------------------------
|
|
99
|
-
export const
|
|
100
|
-
|
|
101
|
-
|
|
168
|
+
export const TaggedErrorClass = (identifier) => (tag, fields, annotations, options) => {
|
|
169
|
+
const relaxed = options?.strict === false;
|
|
170
|
+
const Base = S.TaggedError(identifier)(tag, fields, { ...concurrencyUnbounded, ...annotations });
|
|
171
|
+
const originalAstDescriptor = Object.getOwnPropertyDescriptor(Base, "ast");
|
|
172
|
+
const astCache = new WeakMap();
|
|
173
|
+
const copyCache = new WeakMap();
|
|
174
|
+
return class extends Base {
|
|
175
|
+
static get copy() {
|
|
176
|
+
let cached = copyCache.get(this);
|
|
177
|
+
if (cached === undefined) {
|
|
178
|
+
cached = copyOrigin(this);
|
|
179
|
+
copyCache.set(this, cached);
|
|
180
|
+
}
|
|
181
|
+
return cached;
|
|
182
|
+
}
|
|
183
|
+
static get ast() {
|
|
184
|
+
let cached = astCache.get(this);
|
|
185
|
+
if (cached !== undefined)
|
|
186
|
+
return cached;
|
|
187
|
+
const originalAst = originalAstDescriptor.get.call(this);
|
|
188
|
+
cached = relaxed ? makeRelaxedDeclaration(originalAst, Base.fields, this) : originalAst;
|
|
189
|
+
astCache.set(this, cached);
|
|
190
|
+
return cached;
|
|
191
|
+
}
|
|
192
|
+
static mapFields(f, options) {
|
|
193
|
+
return Base.mapFields(f, options).annotate(concurrencyUnbounded);
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
export const Opaque = S.Opaque;
|
|
198
|
+
export const OpaqueType = S.Opaque;
|
|
199
|
+
// Class schemas expose a constructor descriptor under this key (was previously
|
|
200
|
+
// identified via a `~effect/Schema/Class` annotation id).
|
|
201
|
+
const ConstructorAnnotationKey = "~constructor";
|
|
202
|
+
const getOwnOrInheritedPropertyDescriptor = (value, property) => {
|
|
203
|
+
let current = value;
|
|
204
|
+
while (current !== null) {
|
|
205
|
+
const descriptor = Object.getOwnPropertyDescriptor(current, property);
|
|
206
|
+
if (descriptor !== undefined)
|
|
207
|
+
return descriptor;
|
|
208
|
+
current = Object.getPrototypeOf(current);
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
const isClassSchemaConstructor = (value) => {
|
|
212
|
+
if (typeof value !== "function")
|
|
213
|
+
return false;
|
|
214
|
+
// Transformed schemas (e.g. `Class.pipe(S.encodeKeys(...))`) are also functions with a
|
|
215
|
+
// Declaration AST that still carries `~constructor`, but they are not constructable classes.
|
|
216
|
+
// Real Schema.Class constructors expose a static `identifier`.
|
|
217
|
+
if (typeof value.identifier !== "string")
|
|
218
|
+
return false;
|
|
219
|
+
const ast = value.ast;
|
|
220
|
+
return SchemaAST.isAST(ast)
|
|
221
|
+
&& SchemaAST.isDeclaration(ast)
|
|
222
|
+
&& ast.annotations?.[ConstructorAnnotationKey] !== undefined;
|
|
223
|
+
};
|
|
224
|
+
const getFacadeClassSchema = (schema) => {
|
|
225
|
+
if (isClassSchemaConstructor(schema))
|
|
226
|
+
return schema;
|
|
227
|
+
const target = "to" in schema ? schema.to : undefined;
|
|
228
|
+
return isClassSchemaConstructor(target) ? target : undefined;
|
|
229
|
+
};
|
|
230
|
+
const makePublicClassTransformation = (Public) => new SchemaTransformation.Transformation(SchemaGetter.transform((input) => Reflect.construct(Public, [input], Public)), SchemaGetter.passthrough());
|
|
231
|
+
const makeFacadeClassAst = (schema, originalAst, Public) => {
|
|
232
|
+
if (SchemaAST.isDeclaration(schema.ast)) {
|
|
233
|
+
const schemaEncoding = schema.ast.encoding ?? [];
|
|
234
|
+
if (schemaEncoding.length > 0) {
|
|
235
|
+
return new SchemaAST.Declaration(schema.ast.typeParameters, schema.ast.run, schema.ast.annotations, schema.ast.checks, [new SchemaAST.Link(schemaEncoding[0].to, makePublicClassTransformation(Public)), ...schemaEncoding.slice(1)], schema.ast.context, schema.ast.encodingChecks);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return schema.rebuild(originalAst).ast;
|
|
239
|
+
};
|
|
240
|
+
export const OpaqueShape = S.Opaque;
|
|
241
|
+
export function OpaqueFacade() {
|
|
242
|
+
function facade(schema) {
|
|
243
|
+
const Base = getFacadeClassSchema(schema);
|
|
244
|
+
if (Base !== undefined) {
|
|
245
|
+
const astCache = new WeakMap();
|
|
246
|
+
const originalAstDescriptor = getOwnOrInheritedPropertyDescriptor(Base, "ast");
|
|
247
|
+
return class extends Base {
|
|
248
|
+
static get ast() {
|
|
249
|
+
let cached = astCache.get(this);
|
|
250
|
+
if (cached !== undefined)
|
|
251
|
+
return cached;
|
|
252
|
+
const originalAst = originalAstDescriptor?.get?.call(this);
|
|
253
|
+
cached = makeFacadeClassAst(schema, originalAst, this);
|
|
254
|
+
astCache.set(this, cached);
|
|
255
|
+
return cached;
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
class Facade {
|
|
260
|
+
}
|
|
261
|
+
return Object.setPrototypeOf(Facade, schema);
|
|
262
|
+
}
|
|
263
|
+
return facade;
|
|
264
|
+
}
|
|
265
|
+
export function OpaqueErrorFacadeClass() {
|
|
266
|
+
return (schema) => {
|
|
267
|
+
if (isClassSchemaConstructor(schema)) {
|
|
268
|
+
return schema;
|
|
269
|
+
}
|
|
270
|
+
throw new TypeError("OpaqueErrorFacadeClass requires a class schema");
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL0NsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBQ3ZDLE9BQU8sS0FBSyxDQUFDLE1BQU0sZUFBZSxDQUFBO0FBQ2xDLE9BQU8sS0FBSyxZQUFZLE1BQU0scUJBQXFCLENBQUE7QUFDbkQsT0FBTyxLQUFLLFdBQVcsTUFBTSxvQkFBb0IsQ0FBQTtBQUNqRCxPQUFPLEtBQUssb0JBQW9CLE1BQU0sNkJBQTZCLENBQUE7QUFFbkUsT0FBTyxLQUFLLFNBQVMsTUFBTSxpQkFBaUIsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUMvQyxPQUFPLEtBQUssWUFBWSxNQUFNLG1CQUFtQixDQUFBO0FBb0RqRDs7O0dBR0c7QUFDSCxTQUFTLHNCQUFzQixDQUM3QixHQUEwQixFQUMxQixNQUF1QixFQUN2QixHQUFRO0lBRVIsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLGNBQWMsQ0FBdUMsQ0FBQTtJQUM1RixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3JDLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ2pILE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUV0RSxPQUFPLElBQUksU0FBUyxDQUFDLFdBQVcsQ0FDOUIsR0FBRyxDQUFD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FastCheck.d.ts","sourceRoot":"","sources":["../../src/Schema/FastCheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAErC,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;AAEnB,YAAY,EAAE,EAAE,EAAE,CAAA;AAElB,eAAO,MAAM,QAAQ,+BAA+B,CAAA;AACpD,eAAO,MAAM,WAAW,QAAyB,CAAA;AAIjD,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"FastCheck.d.ts","sourceRoot":"","sources":["../../src/Schema/FastCheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAErC,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;AAEnB,YAAY,EAAE,EAAE,EAAE,CAAA;AAElB,eAAO,MAAM,QAAQ,+BAA+B,CAAA;AACpD,eAAO,MAAM,WAAW,QAAyB,CAAA;AAIjD,eAAO,MAAM,WAAW,QAAS,MAAM,OAAO,MAAM,UAAU,EAAE,yBACsB,CAAA;AAGtF,eAAO,MAAM,WAAW,QAAS,MAAM,OAAO,MAAM,UAAU,IAAI,CAAC,EAAE,EAAE,OAAO,GAAG,SAAS,CAAC,yBACL,CAAA;AAItF,eAAO,MAAM,OAAO,QAAS,MAAM,OAAO,MAAM,UAAU,IAAI,CAAC,EAAE,EAAE,OAAO,GAAG,SAAS,CAAC,yBACF,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as SchemaParser from "effect/SchemaParser";
|
|
2
|
+
export * from "effect/SchemaParser";
|
|
3
|
+
export declare const decodeEffectConcurrently: typeof SchemaParser.decodeEffect;
|
|
4
|
+
export declare const decodeUnknownEffectConcurrently: typeof SchemaParser.decodeUnknownEffect;
|
|
5
|
+
//# sourceMappingURL=SchemaParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaParser.d.ts","sourceRoot":"","sources":["../../src/Schema/SchemaParser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAA;AAGnD,cAAc,qBAAqB,CAAA;AAEnC,eAAO,MAAM,wBAAwB,EAAE,OAAO,YAAY,CAAC,YAE1D,CAAA;AAED,eAAO,MAAM,+BAA+B,EAAE,OAAO,YAAY,CAAC,mBAEjE,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as SchemaParser from "effect/SchemaParser";
|
|
2
|
+
import { withDefaultParseOptions } from "./ext.js";
|
|
3
|
+
export * from "effect/SchemaParser";
|
|
4
|
+
export const decodeEffectConcurrently = withDefaultParseOptions(SchemaParser.decodeEffect);
|
|
5
|
+
export const decodeUnknownEffectConcurrently = withDefaultParseOptions(SchemaParser.decodeUnknownEffect);
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZW1hUGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjaGVtYS9TY2hlbWFQYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFlBQVksTUFBTSxxQkFBcUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFbEQsY0FBYyxxQkFBcUIsQ0FBQTtBQUVuQyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBcUMsdUJBQXVCLENBQy9GLFlBQVksQ0FBQyxZQUFZLENBQzFCLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBNEMsdUJBQXVCLENBQzdHLFlBQVksQ0FBQyxtQkFBbUIsQ0FDakMsQ0FBQSJ9
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* SpecialJsonSchema — A variant of Schema.toJsonSchemaDocument that
|
|
3
3
|
* post-processes the output (e.g. flattens simple allOf).
|
|
4
4
|
*/
|
|
5
|
-
import
|
|
5
|
+
import type * as JsonSchema from "effect/JsonSchema";
|
|
6
|
+
import * as Schema from "effect/Schema";
|
|
6
7
|
/**
|
|
7
8
|
* Converts a schema to a JSON Schema Document (draft-2020-12), with
|
|
8
9
|
* post-processing that flattens simple allOf entries.
|
|
@@ -15,7 +16,19 @@ export declare function specialJsonSchemaDocument(schema: Schema.Top, options?:
|
|
|
15
16
|
*/
|
|
16
17
|
export declare function flattenSimpleAllOf(obj: unknown): unknown;
|
|
17
18
|
/**
|
|
18
|
-
*
|
|
19
|
+
* Recursively removes `additionalProperties: false` from JSON Schema objects.
|
|
20
|
+
* Only removes when the value is exactly `false` -- other values are left intact.
|
|
21
|
+
*/
|
|
22
|
+
export declare function removeAdditionalPropertiesFalse(obj: unknown): unknown;
|
|
23
|
+
/**
|
|
24
|
+
* Flattens nested `anyOf` entries: if an anyOf entry is itself just `{ anyOf: [...] }`
|
|
25
|
+
* with no other keys, its children are inlined. If only one item remains, the anyOf
|
|
26
|
+
* wrapper is removed entirely.
|
|
27
|
+
*/
|
|
28
|
+
export declare function flattenNestedAnyOf(obj: unknown): unknown;
|
|
29
|
+
/**
|
|
30
|
+
* Applies JSON Schema post-processing: flattens simple allOf,
|
|
31
|
+
* flattens nested anyOf, then strips additionalProperties: false.
|
|
19
32
|
*/
|
|
20
33
|
export declare function postProcessJsonSchema(obj: JsonSchema.JsonSchema): JsonSchema.JsonSchema;
|
|
21
34
|
//# sourceMappingURL=SpecialJsonSchema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpecialJsonSchema.d.ts","sourceRoot":"","sources":["../../src/Schema/SpecialJsonSchema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"SpecialJsonSchema.d.ts","sourceRoot":"","sources":["../../src/Schema/SpecialJsonSchema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,KAAK,UAAU,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,CAAC,GAAG,EAClB,OAAO,CAAC,EAAE,MAAM,CAAC,mBAAmB,GACnC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAWtC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CA6BxD;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAerE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAuCxD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAEvF"}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
* SpecialJsonSchema — A variant of Schema.toJsonSchemaDocument that
|
|
3
|
-
* post-processes the output (e.g. flattens simple allOf).
|
|
4
|
-
*/
|
|
5
|
-
import { SchemaRepresentation } from "effect";
|
|
1
|
+
import * as Schema from "effect/Schema";
|
|
6
2
|
/**
|
|
7
3
|
* Converts a schema to a JSON Schema Document (draft-2020-12), with
|
|
8
4
|
* post-processing that flattens simple allOf entries.
|
|
9
5
|
*/
|
|
10
6
|
export function specialJsonSchemaDocument(schema, options) {
|
|
11
|
-
const
|
|
12
|
-
const jd = SchemaRepresentation.toJsonSchemaDocument(doc, options);
|
|
7
|
+
const jd = Schema.toJsonSchemaDocument(schema, options);
|
|
13
8
|
const processedDefs = {};
|
|
14
9
|
for (const [key, def] of Object.entries(jd.definitions)) {
|
|
15
10
|
processedDefs[key] = postProcessJsonSchema(def);
|
|
@@ -41,9 +36,9 @@ export function flattenSimpleAllOf(obj) {
|
|
|
41
36
|
const canFlatten = allOf.every((entry) => typeof entry === "object" && entry !== null && !("$ref" in entry) && !("type" in entry));
|
|
42
37
|
if (canFlatten) {
|
|
43
38
|
const { allOf: _, ...rest } = result;
|
|
44
|
-
|
|
39
|
+
const merged = { ...rest };
|
|
45
40
|
for (const entry of allOf) {
|
|
46
|
-
merged
|
|
41
|
+
Object.assign(merged, entry);
|
|
47
42
|
}
|
|
48
43
|
return merged;
|
|
49
44
|
}
|
|
@@ -51,9 +46,72 @@ export function flattenSimpleAllOf(obj) {
|
|
|
51
46
|
return result;
|
|
52
47
|
}
|
|
53
48
|
/**
|
|
54
|
-
*
|
|
49
|
+
* Recursively removes `additionalProperties: false` from JSON Schema objects.
|
|
50
|
+
* Only removes when the value is exactly `false` -- other values are left intact.
|
|
51
|
+
*/
|
|
52
|
+
export function removeAdditionalPropertiesFalse(obj) {
|
|
53
|
+
if (obj === null || typeof obj !== "object")
|
|
54
|
+
return obj;
|
|
55
|
+
if (globalThis.Array.isArray(obj)) {
|
|
56
|
+
return obj.map(removeAdditionalPropertiesFalse);
|
|
57
|
+
}
|
|
58
|
+
const record = obj;
|
|
59
|
+
const result = {};
|
|
60
|
+
for (const [key, value] of Object.entries(record)) {
|
|
61
|
+
if (key === "additionalProperties" && value === false)
|
|
62
|
+
continue;
|
|
63
|
+
result[key] = removeAdditionalPropertiesFalse(value);
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Flattens nested `anyOf` entries: if an anyOf entry is itself just `{ anyOf: [...] }`
|
|
69
|
+
* with no other keys, its children are inlined. If only one item remains, the anyOf
|
|
70
|
+
* wrapper is removed entirely.
|
|
71
|
+
*/
|
|
72
|
+
export function flattenNestedAnyOf(obj) {
|
|
73
|
+
if (obj === null || typeof obj !== "object")
|
|
74
|
+
return obj;
|
|
75
|
+
if (globalThis.Array.isArray(obj))
|
|
76
|
+
return obj.map(flattenNestedAnyOf);
|
|
77
|
+
const record = obj;
|
|
78
|
+
const result = {};
|
|
79
|
+
for (const [key, value] of Object.entries(record)) {
|
|
80
|
+
result[key] = flattenNestedAnyOf(value);
|
|
81
|
+
}
|
|
82
|
+
if (globalThis.Array.isArray(result["anyOf"])) {
|
|
83
|
+
const anyOf = result["anyOf"];
|
|
84
|
+
const flattened = [];
|
|
85
|
+
for (const entry of anyOf) {
|
|
86
|
+
if (typeof entry === "object"
|
|
87
|
+
&& entry !== null
|
|
88
|
+
&& !globalThis.Array.isArray(entry)
|
|
89
|
+
&& "anyOf" in entry
|
|
90
|
+
&& Object.keys(entry).length === 1
|
|
91
|
+
&& globalThis.Array.isArray(entry["anyOf"])) {
|
|
92
|
+
flattened.push(...entry["anyOf"]);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
flattened.push(entry);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (flattened.length === 1) {
|
|
99
|
+
const { anyOf: _, ...rest } = result;
|
|
100
|
+
const single = flattened[0];
|
|
101
|
+
if (typeof single === "object" && single !== null && !globalThis.Array.isArray(single)) {
|
|
102
|
+
return { ...rest, ...single };
|
|
103
|
+
}
|
|
104
|
+
return single;
|
|
105
|
+
}
|
|
106
|
+
result["anyOf"] = flattened;
|
|
107
|
+
}
|
|
108
|
+
return result;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Applies JSON Schema post-processing: flattens simple allOf,
|
|
112
|
+
* flattens nested anyOf, then strips additionalProperties: false.
|
|
55
113
|
*/
|
|
56
114
|
export function postProcessJsonSchema(obj) {
|
|
57
|
-
return flattenSimpleAllOf(obj);
|
|
115
|
+
return removeAdditionalPropertiesFalse(flattenNestedAnyOf(flattenSimpleAllOf(obj)));
|
|
58
116
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BlY2lhbEpzb25TY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL1NwZWNpYWxKc29uU2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBRXZDOzs7R0FHRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsTUFBa0IsRUFDbEIsT0FBb0M7SUFFcEMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUN2RCxNQUFNLGFBQWEsR0FBMkIsRUFBRSxDQUFBO0lBQ2hELEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQ3hELGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBQ0QsT0FBTztRQUNMLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3hDLFdBQVcsRUFBRSxhQUFhO0tBQzNCLENBQUE7QUFDSCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUFZO0lBQzdDLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1FBQUUsT0FBTyxHQUFHLENBQUE7SUFFdkQsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxHQUE4QixDQUFBO0lBQzdDLE1BQU0sTUFBTSxHQUE0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
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* Usage with the OpenApi `Transform` annotation:
|
|
12
12
|
*
|
|
13
13
|
* ```ts
|
|
14
|
-
* import { OpenApi } from "effect/
|
|
14
|
+
* import { OpenApi } from "effect/http-api"
|
|
15
15
|
* import { deduplicateOpenApiSchemas } from "./SpecialOpenApi.js"
|
|
16
16
|
*
|
|
17
17
|
* const api = HttpApi.make("myApi")
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
* Usage with the OpenApi `Transform` annotation:
|
|
12
12
|
*
|
|
13
13
|
* ```ts
|
|
14
|
-
* import { OpenApi } from "effect/
|
|
15
|
-
* import { deduplicateOpenApiSchemas } from "./SpecialOpenApi.
|
|
14
|
+
* import { OpenApi } from "effect/http-api"
|
|
15
|
+
* import { deduplicateOpenApiSchemas } from "./SpecialOpenApi.ts"
|
|
16
16
|
*
|
|
17
17
|
* const api = HttpApi.make("myApi")
|
|
18
18
|
* .pipe(HttpApi.annotateContext(OpenApi.annotations({ transform: deduplicateOpenApiSchemas })))
|
|
@@ -120,4 +120,4 @@ function rewriteRefs(obj, remapping) {
|
|
|
120
120
|
rewriteRefs(value, remapping);
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BlY2lhbE9wZW5BcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL1NwZWNpYWxPcGVuQXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBRUgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFOUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxJQUF5QjtJQUV6QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFvQyxDQUFBO0lBQ3hFLElBQUksQ0FBQyxVQUFVO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFDNUIsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBb0MsQ0FBQTtJQUN4RSxJQUFJLENBQUMsT0FBTztRQUFFLE9BQU8sSUFBSSxDQUFBO0lBRXpCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDakMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUVsQyx3REFBd0Q7SUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQXVELENBQUE7SUFDN0UsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNuQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2hELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUIsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcs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
|
package/dist/Schema/brand.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Option } from "effect";
|
|
2
1
|
import * as B from "effect/Brand";
|
|
2
|
+
import type * as Option from "effect/Option";
|
|
3
3
|
import type * as Result from "effect/Result";
|
|
4
4
|
import * as S from "effect/Schema";
|
|
5
5
|
export interface Constructor<in out A extends B.Brand<any>> {
|
|
@@ -24,10 +24,10 @@ export interface Constructor<in out A extends B.Brand<any>> {
|
|
|
24
24
|
*/
|
|
25
25
|
is(a: Unbranded<A>): a is Unbranded<A> & A;
|
|
26
26
|
}
|
|
27
|
-
type BrandAnnotations
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
export declare const fromBrand: <C extends B.Brand<any>>(
|
|
27
|
+
type BrandAnnotations = S.Annotations.Filter;
|
|
28
|
+
export interface BrandedSchema<S extends S.Top, C extends B.Brand<any>> extends S.Bottom<C, S["Encoded"], S["DecodingServices"], S["EncodingServices"], S["ast"], BrandedSchema<S, C>, S["~type.make.in"], S["Iso"], S["~type.parameters"], C, S["~type.mutability"], S["~type.optionality"], S["~type.constructor.default"], S["~encoded.mutability"], S["~encoded.optionality"]> {
|
|
29
|
+
}
|
|
30
|
+
export declare const fromBrand: <C extends B.Brand<any>>(_constructor: Constructor<C>, options?: BrandAnnotations) => <Self extends S.Top>(self: Self) => BrandedSchema<Self, C>;
|
|
31
31
|
export type Brands<P> = P extends B.Brand<any> ? B.Brand.Brands<P> : never;
|
|
32
32
|
export type Unbranded<P> = P extends B.Brand<any> ? B.Brand.Unbranded<P> : P;
|
|
33
33
|
export declare const nominal: <A extends B.Brand<any>>() => Constructor<A>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/Schema/brand.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/Schema/brand.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAElC,MAAM,WAAW,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IACxD;;;OAGG;IACH,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACvB;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5C;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAA;IAC1D;;;OAGG;IACH,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;CAC3C;AAED,KAAK,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAA;AAE5C,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAE,SACtE,CAAC,CAAC,MAAM,CACN,CAAC,EACD,CAAC,CAAC,SAAS,CAAC,EACZ,CAAC,CAAC,kBAAkB,CAAC,EACrB,CAAC,CAAC,kBAAkB,CAAC,EACrB,CAAC,CAAC,KAAK,CAAC,EACR,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EACnB,CAAC,CAAC,eAAe,CAAC,EAClB,CAAC,CAAC,KAAK,CAAC,EACR,CAAC,CAAC,kBAAkB,CAAC,EACrB,CAAC,EACD,CAAC,CAAC,kBAAkB,CAAC,EACrB,CAAC,CAAC,mBAAmB,CAAC,EACtB,CAAC,CAAC,2BAA2B,CAAC,EAC9B,CAAC,CAAC,qBAAqB,CAAC,EACxB,CAAC,CAAC,sBAAsB,CAAC,CAC1B;CACD;AAEF,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,gBAChC,WAAW,CAAC,CAAC,CAAC,YAClB,gBAAgB,MAE3B,IAAI,SAAS,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAGtD,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAC9D,KAAK,CAAA;AAET,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAE5E,eAAO,MAAM,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,CAIvC,CAAA"}
|