effect-app 4.0.0-beta.26 → 4.0.0-beta.261
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 +1194 -0
- package/dist/Array.d.ts +3 -2
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +4 -4
- package/dist/Chunk.d.ts +1 -1
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Config/SecretURL.d.ts +4 -2
- package/dist/Config/SecretURL.d.ts.map +1 -1
- package/dist/Config/SecretURL.js +3 -6
- package/dist/Config/internal/configSecretURL.d.ts +1 -1
- package/dist/Config/internal/configSecretURL.d.ts.map +1 -1
- package/dist/Config/internal/configSecretURL.js +2 -2
- package/dist/Config.d.ts +7 -0
- package/dist/Config.d.ts.map +1 -0
- package/dist/Config.js +6 -0
- package/dist/ConfigProvider.d.ts +39 -0
- package/dist/ConfigProvider.d.ts.map +1 -0
- package/dist/ConfigProvider.js +42 -0
- package/dist/Context.d.ts +42 -0
- package/dist/Context.d.ts.map +1 -0
- package/dist/Context.js +67 -0
- package/dist/DataDependencies.d.ts +158 -0
- package/dist/DataDependencies.d.ts.map +1 -0
- package/dist/DataDependencies.js +39 -0
- package/dist/Effect.d.ts +13 -12
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +5 -8
- 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 +1 -1
- package/dist/Function.d.ts.map +1 -1
- package/dist/Inputify.type.d.ts +1 -1
- package/dist/Layer.d.ts +11 -7
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +3 -2
- package/dist/Model/Repository/Registry.d.ts +21 -0
- package/dist/Model/Repository/Registry.d.ts.map +1 -0
- package/dist/Model/Repository/Registry.js +18 -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 +122 -0
- package/dist/Model/Repository/internal/internal.d.ts +63 -0
- package/dist/Model/Repository/internal/internal.d.ts.map +1 -0
- package/dist/Model/Repository/internal/internal.js +430 -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 +54 -0
- package/dist/Model/Repository/makeRepo.d.ts.map +1 -0
- package/dist/Model/Repository/makeRepo.js +27 -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 +58 -0
- package/dist/Model/Repository/validation.d.ts.map +1 -0
- package/dist/Model/Repository/validation.js +32 -0
- package/dist/Model/Repository.d.ts +7 -0
- package/dist/Model/Repository.d.ts.map +1 -0
- package/dist/Model/Repository.js +7 -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 +95 -0
- package/dist/Model/filter/types/path/eager.d.ts.map +1 -0
- package/dist/Model/filter/types/path/eager.js +31 -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 +493 -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 +136 -0
- package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -0
- package/dist/Model/query/new-kid-interpreter.js +336 -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 +5 -0
- package/dist/Model.d.ts.map +1 -0
- package/dist/Model.js +5 -0
- package/dist/NonEmptySet.d.ts +4 -2
- package/dist/NonEmptySet.d.ts.map +1 -1
- package/dist/NonEmptySet.js +2 -2
- package/dist/Option.d.ts +2 -1
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +3 -1
- package/dist/Pure.d.ts +8 -6
- package/dist/Pure.d.ts.map +1 -1
- package/dist/Pure.js +17 -14
- package/dist/QueueMaker.d.ts +13 -0
- package/dist/QueueMaker.d.ts.map +1 -0
- package/dist/QueueMaker.js +4 -0
- package/dist/RequestContext.d.ts +91 -0
- package/dist/RequestContext.d.ts.map +1 -0
- package/dist/RequestContext.js +49 -0
- package/dist/Schema/Class.d.ts +66 -20
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema/Class.js +192 -27
- package/dist/Schema/FastCheck.d.ts +1 -1
- package/dist/Schema/FastCheck.d.ts.map +1 -1
- package/dist/Schema/Methods.d.ts +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 +34 -0
- package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -0
- package/dist/Schema/SpecialJsonSchema.js +118 -0
- package/dist/Schema/SpecialOpenApi.d.ts +32 -0
- package/dist/Schema/SpecialOpenApi.d.ts.map +1 -0
- package/dist/Schema/SpecialOpenApi.js +123 -0
- package/dist/Schema/brand.d.ts +5 -3
- package/dist/Schema/brand.d.ts.map +1 -1
- package/dist/Schema/brand.js +3 -1
- package/dist/Schema/email.d.ts +1 -1
- package/dist/Schema/email.d.ts.map +1 -1
- package/dist/Schema/email.js +7 -4
- package/dist/Schema/ext.d.ts +339 -56
- package/dist/Schema/ext.d.ts.map +1 -1
- package/dist/Schema/ext.js +358 -53
- package/dist/Schema/moreStrings.d.ts +83 -37
- package/dist/Schema/moreStrings.d.ts.map +1 -1
- package/dist/Schema/moreStrings.js +49 -42
- package/dist/Schema/numbers.d.ts +35 -22
- package/dist/Schema/numbers.d.ts.map +1 -1
- package/dist/Schema/numbers.js +55 -12
- package/dist/Schema/phoneNumber.d.ts +1 -1
- package/dist/Schema/phoneNumber.d.ts.map +1 -1
- package/dist/Schema/phoneNumber.js +6 -3
- package/dist/Schema/schema.d.ts +1 -1
- package/dist/Schema/strings.d.ts +19 -5
- package/dist/Schema/strings.d.ts.map +1 -1
- package/dist/Schema/strings.js +1 -5
- package/dist/Schema.d.ts +214 -8
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +190 -11
- package/dist/Set.d.ts +5 -2
- package/dist/Set.d.ts.map +1 -1
- package/dist/Set.js +3 -2
- package/dist/Store.d.ts +170 -0
- package/dist/Store.d.ts.map +1 -0
- package/dist/Store.js +121 -0
- package/dist/TypeTest.d.ts +1 -1
- package/dist/Types.d.ts +1 -1
- package/dist/Widen.type.d.ts +1 -1
- package/dist/_ext/Array.d.ts +2 -2
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/Array.js +4 -2
- package/dist/_ext/date.d.ts +1 -1
- package/dist/_ext/misc.d.ts +5 -2
- package/dist/_ext/misc.d.ts.map +1 -1
- package/dist/_ext/misc.js +4 -2
- package/dist/_ext/ord.ext.d.ts +3 -2
- package/dist/_ext/ord.ext.d.ts.map +1 -1
- package/dist/_ext/ord.ext.js +2 -2
- package/dist/builtin.d.ts +1 -1
- package/dist/builtin.d.ts.map +1 -1
- package/dist/client/InvalidationKeys.d.ts +29 -0
- package/dist/client/InvalidationKeys.d.ts.map +1 -0
- package/dist/client/InvalidationKeys.js +33 -0
- package/dist/client/apiClientFactory.d.ts +20 -32
- package/dist/client/apiClientFactory.d.ts.map +1 -1
- package/dist/client/apiClientFactory.js +104 -34
- package/dist/client/clientFor.d.ts +53 -19
- package/dist/client/clientFor.d.ts.map +1 -1
- package/dist/client/clientFor.js +9 -1
- package/dist/client/errors.d.ts +49 -25
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +43 -17
- package/dist/client/makeClient.d.ts +495 -33
- package/dist/client/makeClient.d.ts.map +1 -1
- package/dist/client/makeClient.js +66 -24
- package/dist/client.d.ts +6 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +2 -1
- package/dist/faker.d.ts +1 -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 +1 -1
- package/dist/http.d.ts +1 -1
- package/dist/ids.d.ts +43 -15
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +30 -5
- package/dist/index.d.ts +7 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -8
- package/dist/logger.d.ts +1 -1
- package/dist/middleware.d.ts +14 -8
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +14 -8
- package/dist/rpc/Invalidation.d.ts +420 -0
- package/dist/rpc/Invalidation.d.ts.map +1 -0
- package/dist/rpc/Invalidation.js +168 -0
- package/dist/rpc/MiddlewareMaker.d.ts +12 -8
- package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
- package/dist/rpc/MiddlewareMaker.js +59 -38
- 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 +15 -11
- package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/rpc/RpcMiddleware.js +1 -1
- package/dist/rpc.d.ts +2 -2
- 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 +19 -0
- package/dist/setupRequest.d.ts.map +1 -0
- package/dist/setupRequest.js +69 -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 +2 -2
- package/dist/transform.d.ts.map +1 -1
- package/dist/transform.js +4 -5
- package/dist/utils/effectify.d.ts +2 -2
- package/dist/utils/effectify.d.ts.map +1 -1
- package/dist/utils/effectify.js +2 -2
- package/dist/utils/extend.d.ts +1 -1
- package/dist/utils/extend.d.ts.map +1 -1
- package/dist/utils/gen.d.ts +5 -5
- package/dist/utils/gen.d.ts.map +1 -1
- package/dist/utils/logLevel.d.ts +3 -3
- package/dist/utils/logLevel.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +5 -4
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +4 -4
- package/dist/utils.d.ts +40 -45
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +19 -27
- package/dist/validation/validators.d.ts +1 -1
- package/dist/validation/validators.d.ts.map +1 -1
- package/dist/validation.d.ts +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 +20 -245
- package/src/Array.ts +3 -3
- package/src/Config/SecretURL.ts +5 -2
- package/src/Config/internal/configSecretURL.ts +1 -1
- package/src/Config.ts +14 -0
- package/src/ConfigProvider.ts +48 -0
- package/src/{ServiceMap.ts → Context.ts} +56 -63
- package/src/Effect.ts +12 -14
- package/src/Emailer.ts +51 -0
- package/src/Layer.ts +10 -6
- package/src/Model/Repository/Registry.ts +34 -0
- package/src/Model/Repository/ext.ts +375 -0
- package/src/Model/Repository/internal/internal.ts +741 -0
- package/src/Model/Repository/legacy.ts +29 -0
- package/src/Model/Repository/makeRepo.ts +145 -0
- package/src/Model/Repository/service.ts +666 -0
- package/src/Model/Repository/validation.ts +31 -0
- package/src/Model/Repository.ts +6 -0
- package/src/Model/dsl.ts +129 -0
- package/src/Model/filter/filterApi.ts +60 -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 +297 -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 +2694 -0
- package/src/Model/query/new-kid-interpreter.ts +484 -0
- package/src/Model/query.ts +13 -0
- package/src/Model.ts +4 -0
- package/src/NonEmptySet.ts +3 -1
- package/src/Option.ts +2 -0
- package/src/Pure.ts +21 -19
- package/src/QueueMaker.ts +19 -0
- package/src/RequestContext.ts +62 -0
- package/src/Schema/Class.ts +274 -68
- package/src/Schema/SchemaParser.ts +12 -0
- package/src/Schema/SpecialJsonSchema.ts +139 -0
- package/src/Schema/SpecialOpenApi.ts +130 -0
- package/src/Schema/brand.ts +22 -2
- package/src/Schema/email.ts +7 -2
- package/src/Schema/ext.ts +443 -88
- package/src/Schema/moreStrings.ts +146 -67
- package/src/Schema/numbers.ts +96 -27
- package/src/Schema/phoneNumber.ts +5 -1
- package/src/Schema/strings.ts +22 -13
- package/src/Schema.ts +374 -10
- package/src/Set.ts +5 -1
- package/src/Store.ts +277 -0
- package/src/_ext/Array.ts +3 -1
- package/src/_ext/misc.ts +4 -1
- package/src/_ext/ord.ext.ts +2 -1
- package/src/client/InvalidationKeys.ts +50 -0
- package/src/client/apiClientFactory.ts +230 -131
- package/src/client/clientFor.ts +102 -31
- package/src/client/errors.ts +52 -26
- package/src/client/makeClient.ts +592 -71
- package/src/client.ts +5 -4
- package/src/http/Request.ts +1 -1
- package/src/ids.ts +32 -5
- package/src/index.ts +7 -10
- package/src/middleware.ts +13 -9
- package/src/rpc/Invalidation.ts +261 -0
- package/src/rpc/MiddlewareMaker.ts +83 -75
- package/src/rpc/README.md +2 -2
- package/src/rpc/RpcContextMap.ts +6 -5
- package/src/rpc/RpcMiddleware.ts +18 -12
- package/src/rpc.ts +1 -1
- package/src/runtime.ts +56 -0
- package/src/setupRequest.ts +134 -0
- package/src/toast.ts +54 -0
- package/src/transform.ts +3 -3
- package/src/utils/effectify.ts +1 -1
- package/src/utils/gen.ts +8 -8
- package/src/utils/logLevel.ts +1 -1
- package/src/utils/logger.ts +4 -3
- package/src/utils.ts +62 -139
- package/src/withToast.ts +133 -0
- package/test/dist/rpc-dynamic-middleware.test.d.ts.map +1 -0
- package/test/dist/rpc.test.d.ts.map +1 -1
- package/test/dist/secretURL.test.d.ts.map +1 -0
- package/test/dist/special.test.d.ts.map +1 -0
- package/test/dist/stream-error.types.d.ts +2 -0
- package/test/dist/stream-error.types.d.ts.map +1 -0
- package/test/dist/stream-error.types.js +27 -0
- package/test/moreStrings.test.ts +1 -1
- package/test/rpc.test.ts +46 -6
- package/test/schema.test.ts +459 -30
- package/test/secretURL.test.ts +160 -0
- package/test/special.test.ts +1026 -0
- package/test/utils.test.ts +7 -7
- package/tsconfig.base.json +6 -5
- package/tsconfig.json +2 -1
- package/tsconfig.json.bak +2 -2
- package/tsconfig.src.json +29 -29
- package/tsconfig.test.json +2 -2
- package/dist/Operations.d.ts +0 -123
- package/dist/Operations.d.ts.map +0 -1
- package/dist/Operations.js +0 -29
- package/dist/ServiceMap.d.ts +0 -44
- package/dist/ServiceMap.d.ts.map +0 -1
- package/dist/ServiceMap.js +0 -91
- package/eslint.config.mjs +0 -26
- package/src/Operations.ts +0 -55
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import type * as B from "effect/Brand";
|
|
1
2
|
import * as S from "effect/Schema";
|
|
3
|
+
import type * as SchemaAST from "effect/SchemaAST";
|
|
2
4
|
import type { Simplify } from "effect/Types";
|
|
3
|
-
import { type
|
|
4
|
-
import { type B } from "./schema.js";
|
|
5
|
+
import { type BrandedSchema } from "./brand.js";
|
|
6
|
+
import { type B as SchemaB } from "./schema.js";
|
|
5
7
|
import type { NonEmptyString255Brand, NonEmptyStringBrand } from "./strings.js";
|
|
6
8
|
/**
|
|
7
9
|
* A string that is at least 1 character long and a maximum of 50.
|
|
8
10
|
*/
|
|
9
|
-
export interface NonEmptyString50Brand extends Simplify<
|
|
11
|
+
export interface NonEmptyString50Brand extends Simplify<SchemaB.Brand<"NonEmptyString50"> & NonEmptyString64Brand> {
|
|
10
12
|
}
|
|
11
13
|
/**
|
|
12
14
|
* A string that is at least 1 character long and a maximum of 50.
|
|
@@ -15,11 +17,14 @@ export type NonEmptyString50 = string & NonEmptyString50Brand;
|
|
|
15
17
|
/**
|
|
16
18
|
* A string that is at least 1 character long and a maximum of 50.
|
|
17
19
|
*/
|
|
18
|
-
export
|
|
20
|
+
export interface NonEmptyString50Schema extends BrandedSchema<S.NonEmptyString, NonEmptyString50> {
|
|
21
|
+
(i: string, options?: SchemaAST.ParseOptions): NonEmptyString50;
|
|
22
|
+
}
|
|
23
|
+
export declare const NonEmptyString50: NonEmptyString50Schema;
|
|
19
24
|
/**
|
|
20
25
|
* A string that is at least 1 character long and a maximum of 64.
|
|
21
26
|
*/
|
|
22
|
-
export interface NonEmptyString64Brand extends Simplify<
|
|
27
|
+
export interface NonEmptyString64Brand extends Simplify<SchemaB.Brand<"NonEmptyString64"> & NonEmptyString80Brand> {
|
|
23
28
|
}
|
|
24
29
|
/**
|
|
25
30
|
* A string that is at least 1 character long and a maximum of 64.
|
|
@@ -28,11 +33,14 @@ export type NonEmptyString64 = string & NonEmptyString64Brand;
|
|
|
28
33
|
/**
|
|
29
34
|
* A string that is at least 1 character long and a maximum of 64.
|
|
30
35
|
*/
|
|
31
|
-
export
|
|
36
|
+
export interface NonEmptyString64Schema extends BrandedSchema<S.NonEmptyString, NonEmptyString64> {
|
|
37
|
+
(i: string, options?: SchemaAST.ParseOptions): NonEmptyString64;
|
|
38
|
+
}
|
|
39
|
+
export declare const NonEmptyString64: NonEmptyString64Schema;
|
|
32
40
|
/**
|
|
33
41
|
* A string that is at least 1 character long and a maximum of 80.
|
|
34
42
|
*/
|
|
35
|
-
export interface NonEmptyString80Brand extends Simplify<
|
|
43
|
+
export interface NonEmptyString80Brand extends Simplify<SchemaB.Brand<"NonEmptyString80"> & NonEmptyString100Brand> {
|
|
36
44
|
}
|
|
37
45
|
/**
|
|
38
46
|
* A string that is at least 1 character long and a maximum of 80.
|
|
@@ -41,11 +49,14 @@ export type NonEmptyString80 = string & NonEmptyString80Brand;
|
|
|
41
49
|
/**
|
|
42
50
|
* A string that is at least 1 character long and a maximum of 80.
|
|
43
51
|
*/
|
|
44
|
-
export
|
|
52
|
+
export interface NonEmptyString80Schema extends BrandedSchema<S.NonEmptyString, NonEmptyString80> {
|
|
53
|
+
(i: string, options?: SchemaAST.ParseOptions): NonEmptyString80;
|
|
54
|
+
}
|
|
55
|
+
export declare const NonEmptyString80: NonEmptyString80Schema;
|
|
45
56
|
/**
|
|
46
57
|
* A string that is at least 1 character long and a maximum of 100.
|
|
47
58
|
*/
|
|
48
|
-
export interface NonEmptyString100Brand extends Simplify<
|
|
59
|
+
export interface NonEmptyString100Brand extends Simplify<SchemaB.Brand<"NonEmptyString100"> & NonEmptyString255Brand> {
|
|
49
60
|
}
|
|
50
61
|
/**
|
|
51
62
|
* A string that is at least 1 character long and a maximum of 100.
|
|
@@ -54,11 +65,14 @@ export type NonEmptyString100 = string & NonEmptyString100Brand;
|
|
|
54
65
|
/**
|
|
55
66
|
* A string that is at least 1 character long and a maximum of 100.
|
|
56
67
|
*/
|
|
57
|
-
export
|
|
68
|
+
export interface NonEmptyString100Schema extends BrandedSchema<S.NonEmptyString, NonEmptyString100> {
|
|
69
|
+
(i: string, options?: SchemaAST.ParseOptions): NonEmptyString100;
|
|
70
|
+
}
|
|
71
|
+
export declare const NonEmptyString100: NonEmptyString100Schema;
|
|
58
72
|
/**
|
|
59
73
|
* A string that is at least 3 character long and a maximum of 255.
|
|
60
74
|
*/
|
|
61
|
-
export interface Min3String255Brand extends Simplify<
|
|
75
|
+
export interface Min3String255Brand extends Simplify<SchemaB.Brand<"Min3String255"> & NonEmptyString255Brand> {
|
|
62
76
|
}
|
|
63
77
|
/**
|
|
64
78
|
* A string that is at least 3 character long and a maximum of 255.
|
|
@@ -67,11 +81,14 @@ export type Min3String255 = string & Min3String255Brand;
|
|
|
67
81
|
/**
|
|
68
82
|
* A string that is at least 3 character long and a maximum of 255.
|
|
69
83
|
*/
|
|
70
|
-
export
|
|
84
|
+
export interface Min3String255Schema extends BrandedSchema<S.String, Min3String255> {
|
|
85
|
+
(i: string, options?: SchemaAST.ParseOptions): Min3String255;
|
|
86
|
+
}
|
|
87
|
+
export declare const Min3String255: Min3String255Schema;
|
|
71
88
|
/**
|
|
72
89
|
* A string that is at least 6 characters long and a maximum of 50.
|
|
73
90
|
*/
|
|
74
|
-
export interface StringIdBrand extends Simplify<
|
|
91
|
+
export interface StringIdBrand extends Simplify<SchemaB.Brand<"StringId"> & NonEmptyString50Brand> {
|
|
75
92
|
}
|
|
76
93
|
/**
|
|
77
94
|
* A string that is at least 6 characters long and a maximum of 50.
|
|
@@ -79,31 +96,60 @@ export interface StringIdBrand extends Simplify<B.Brand<"StringId"> & NonEmptySt
|
|
|
79
96
|
export type StringId = string & StringIdBrand;
|
|
80
97
|
/**
|
|
81
98
|
* A string that is at least 6 characters long and a maximum of 50.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
*
|
|
100
|
+
* `.withConstructorDefault` => fresh `nanoid()` (construction-only; not
|
|
101
|
+
* applied during decode — see file-level note).
|
|
102
|
+
*/
|
|
103
|
+
export interface StringIdSchema extends BrandedSchema<S.String, StringId> {
|
|
104
|
+
(i: string, options?: SchemaAST.ParseOptions): StringId;
|
|
105
|
+
/** Generate fresh `nanoid()`-shaped `StringId`. */
|
|
106
|
+
make(): StringId;
|
|
107
|
+
/** Construct a `StringId` from a known string (validated via decodeSync). */
|
|
108
|
+
make(input: string, options?: S.MakeOptions): StringId;
|
|
109
|
+
readonly withConstructorDefault: S.withConstructorDefault<BrandedSchema<S.String, StringId>>;
|
|
110
|
+
}
|
|
111
|
+
export declare const StringId: StringIdSchema;
|
|
112
|
+
/**
|
|
113
|
+
* Build a `StringId` schema whose values are required to start with a fixed
|
|
114
|
+
* `prefix` (joined with `separator`, default `-`).
|
|
115
|
+
*
|
|
116
|
+
* The returned schema exposes `.withConstructorDefault` that mints a fresh
|
|
117
|
+
* prefixed id. Construction-only — not applied during decode; see file-level
|
|
118
|
+
* note.
|
|
119
|
+
*/
|
|
120
|
+
export declare function prefixedStringId<Type extends StringId>(): <Prefix extends string, Separator extends string = "-">(prefix: Prefix, name: string, separator?: Separator) => import("./ext.js").WithDefaults<S.refine<Type, BrandedSchema<S.String, StringId>>> & S.refine<Type, BrandedSchema<S.String, StringId>> & PrefixedStringUtils<Type, Prefix, Separator>;
|
|
121
|
+
/**
|
|
122
|
+
* Build a branded `StringId` schema for the given branded `Id` type.
|
|
123
|
+
*
|
|
124
|
+
* Exposes `.withConstructorDefault` that mints a fresh `nanoid()`-shaped id.
|
|
125
|
+
* Construction-only — not applied during decode; see file-level note.
|
|
126
|
+
*/
|
|
127
|
+
export declare const brandedStringId: <Id extends string & B.Brand<any>>() => BrandedStringIdSchema<Id>;
|
|
128
|
+
export interface PrefixedStringUtils<Type extends StringId, Prefix extends string, Separator extends string> {
|
|
129
|
+
readonly make: () => Type;
|
|
130
|
+
readonly unsafeFrom: (str: string) => Type;
|
|
131
|
+
prefixSafe: <REST extends string>(str: `${Prefix}${Separator}${REST}`) => Type;
|
|
102
132
|
readonly prefix: Prefix;
|
|
103
|
-
|
|
133
|
+
/**
|
|
134
|
+
* Construction-only default: fresh prefixed id. Applied only when the
|
|
135
|
+
* field is omitted from `.make(...)` input. NOT applied during decode —
|
|
136
|
+
* cannot be used to JIT-migrate database fields. See file-level note.
|
|
137
|
+
*/
|
|
138
|
+
readonly withConstructorDefault: S.withConstructorDefault<S.Codec<Type, string> & S.WithoutConstructorDefault>;
|
|
104
139
|
}
|
|
105
|
-
export interface
|
|
140
|
+
export interface BrandedStringIdSchema<Id extends string & B.Brand<any>> extends BrandedSchema<S.String, Id> {
|
|
141
|
+
(i: string, options?: SchemaAST.ParseOptions): Id;
|
|
142
|
+
/** Generate fresh `nanoid()`-shaped id (inherited from `StringId`). */
|
|
143
|
+
make(): Id;
|
|
144
|
+
/** Construct an `Id` from a known string (validated via decodeSync). */
|
|
145
|
+
make(input: string, options?: S.MakeOptions): Id;
|
|
146
|
+
readonly withConstructorDefault: S.withConstructorDefault<BrandedSchema<S.String, Id>>;
|
|
147
|
+
}
|
|
148
|
+
export interface UrlBrand extends Simplify<SchemaB.Brand<"Url"> & NonEmptyStringBrand> {
|
|
106
149
|
}
|
|
107
150
|
export type Url = string & UrlBrand;
|
|
108
|
-
export
|
|
109
|
-
|
|
151
|
+
export interface UrlSchema extends S.refine<Url, S.String> {
|
|
152
|
+
(i: string, options?: SchemaAST.ParseOptions): Url;
|
|
153
|
+
}
|
|
154
|
+
export declare const Url: UrlSchema;
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZVN0cmluZ3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY2hlbWEvbW9yZVN0cmluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWUEsT0FBTyxLQUFLLEtBQUssQ0FBQyxNQUFNLGNBQWMsQ0FBQTtBQUd0QyxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQUNsQyxPQUFPLEtBQUssS0FBSyxTQUFTLE1BQU0sa0JBQWtCLENBQUE7QUFDbEQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRzVDLE9BQU8sRUFBRSxLQUFLLGFBQWEsRUFBc0IsTUFBTSxZQUFZLENBQUE7QUFFbkUsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUMvQyxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUkvRTs7R0FFRztBQUNILE1BQU0sV0FBVyxxQkFBc0IsU0FBUSxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLHFCQUFxQixDQUFDO0NBQUc7QUFFckg7O0dBRUc7QUFDSCxNQUFNLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxHQUFHLHFCQUFxQixDQUFBO0FBRTdEOztHQUVHO0FBQ0gsTUFBTSxXQUFXLHNCQUF1QixTQUFRLGFBQWEsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLGdCQUFnQixDQUFDO0lBQy9GLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFBO0NBQ2hFO0FBQ0QsZUFBTyxNQUFNLGdCQUFnQixFQUFFLHNCQU85QixDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcscUJBQXNCLFNBQVEsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moreStrings.d.ts","sourceRoot":"","sources":["../../src/Schema/moreStrings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"moreStrings.d.ts","sourceRoot":"","sources":["../../src/Schema/moreStrings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,79 +1,72 @@
|
|
|
1
|
-
import { pipe } from "effect";
|
|
2
1
|
import { extendM } from "effect-app/utils";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import { pipe } from "effect/Function";
|
|
3
4
|
import * as S from "effect/Schema";
|
|
4
5
|
import { customRandom, nanoid, urlAlphabet } from "nanoid";
|
|
5
6
|
import validator from "validator";
|
|
6
7
|
import { fromBrand, nominal } from "./brand.js";
|
|
7
|
-
import {
|
|
8
|
+
import { withDefaultMake } from "./ext.js";
|
|
8
9
|
const nonEmptyString = S.NonEmptyString;
|
|
9
|
-
/**
|
|
10
|
-
* A string that is at least 1 character long and a maximum of 50.
|
|
11
|
-
*/
|
|
12
10
|
export const NonEmptyString50 = nonEmptyString.pipe(S.check(S.isMaxLength(50)), fromBrand(nominal(), {
|
|
13
11
|
identifier: "NonEmptyString50",
|
|
14
|
-
title: "NonEmptyString50",
|
|
15
12
|
jsonSchema: {}
|
|
16
13
|
}), withDefaultMake);
|
|
17
|
-
/**
|
|
18
|
-
* A string that is at least 1 character long and a maximum of 64.
|
|
19
|
-
*/
|
|
20
14
|
export const NonEmptyString64 = nonEmptyString.pipe(S.check(S.isMaxLength(64)), fromBrand(nominal(), {
|
|
21
15
|
identifier: "NonEmptyString64",
|
|
22
|
-
title: "NonEmptyString64",
|
|
23
16
|
jsonSchema: {}
|
|
24
17
|
}), withDefaultMake);
|
|
25
|
-
/**
|
|
26
|
-
* A string that is at least 1 character long and a maximum of 80.
|
|
27
|
-
*/
|
|
28
18
|
export const NonEmptyString80 = nonEmptyString.pipe(S.check(S.isMaxLength(80)), fromBrand(nominal(), {
|
|
29
19
|
identifier: "NonEmptyString80",
|
|
30
|
-
title: "NonEmptyString80",
|
|
31
20
|
jsonSchema: {}
|
|
32
21
|
}), withDefaultMake);
|
|
33
|
-
/**
|
|
34
|
-
* A string that is at least 1 character long and a maximum of 100.
|
|
35
|
-
*/
|
|
36
22
|
export const NonEmptyString100 = nonEmptyString.pipe(S.check(S.isMaxLength(100)), fromBrand(nominal(), {
|
|
37
23
|
identifier: "NonEmptyString100",
|
|
38
|
-
title: "NonEmptyString100",
|
|
39
24
|
jsonSchema: {}
|
|
40
25
|
}), withDefaultMake);
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const makeStringId = () => nanoid();
|
|
26
|
+
export const Min3String255 = pipe(S.String, S.check(S.isMinLength(3), S.isMaxLength(255)), fromBrand(nominal(), {
|
|
27
|
+
identifier: "Min3String255",
|
|
28
|
+
jsonSchema: {}
|
|
29
|
+
}), withDefaultMake);
|
|
46
30
|
const minLength = 6;
|
|
47
31
|
const maxLength = 50;
|
|
48
32
|
const size = 21;
|
|
49
33
|
const length = 10 * size;
|
|
50
|
-
const
|
|
51
|
-
.uint8Array({ minLength: length, maxLength: length })
|
|
52
|
-
.map((_) => customRandom(urlAlphabet, size, (size) => _.subarray(0, size))());
|
|
53
|
-
/**
|
|
54
|
-
* A string that is at least 6 characters long and a maximum of 50.
|
|
55
|
-
*/
|
|
56
|
-
export const StringId = extendM(pipe(S.String, S.check(S.isMinLength(minLength), S.isMaxLength(maxLength)), fromBrand(nominal(), {
|
|
34
|
+
const StringIdSchemaBase = pipe(S.String, S.check(S.isMinLength(minLength), S.isMaxLength(maxLength)), fromBrand(nominal(), {
|
|
57
35
|
identifier: "StringId",
|
|
58
|
-
title: "StringId",
|
|
59
36
|
toArbitrary: () => (fc) => StringIdArb()(fc),
|
|
60
37
|
jsonSchema: {}
|
|
61
|
-
}))
|
|
38
|
+
}));
|
|
39
|
+
const makeStringId = (s) => s !== undefined ? S.decodeSync(StringIdSchemaBase)(s) : nanoid();
|
|
40
|
+
const StringIdArb = () => (fc) => fc
|
|
41
|
+
.uint8Array({ minLength: length, maxLength: length })
|
|
42
|
+
.map((_) => customRandom(urlAlphabet, size, (size) => _.subarray(0, size))());
|
|
43
|
+
export const StringId = extendM(StringIdSchemaBase, (s) => ({
|
|
62
44
|
make: makeStringId,
|
|
63
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Construction-only default: fresh `nanoid()`-shaped `StringId`. Applied
|
|
47
|
+
* only when the field is omitted from `.make(...)` input. NOT applied
|
|
48
|
+
* during decode — cannot be used to JIT-migrate database fields. See
|
|
49
|
+
* file-level note.
|
|
50
|
+
*/
|
|
51
|
+
withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(makeStringId)))
|
|
64
52
|
}))
|
|
65
53
|
.pipe(withDefaultMake);
|
|
66
|
-
|
|
67
|
-
|
|
54
|
+
/**
|
|
55
|
+
* Build a `StringId` schema whose values are required to start with a fixed
|
|
56
|
+
* `prefix` (joined with `separator`, default `-`).
|
|
57
|
+
*
|
|
58
|
+
* The returned schema exposes `.withConstructorDefault` that mints a fresh
|
|
59
|
+
* prefixed id. Construction-only — not applied during decode; see file-level
|
|
60
|
+
* note.
|
|
61
|
+
*/
|
|
68
62
|
export function prefixedStringId() {
|
|
69
63
|
return (prefix, name, separator) => {
|
|
70
64
|
const pref = `${prefix}${separator ?? "-"}`;
|
|
71
65
|
const arb = () => (fc) => StringIdArb()(fc).map((x) => (pref + x.substring(0, 50 - pref.length)));
|
|
72
66
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
73
|
-
const s =
|
|
67
|
+
const s = StringIdSchemaBase
|
|
74
68
|
.pipe(S.refine((x) => x.startsWith(pref), {
|
|
75
|
-
identifier: name
|
|
76
|
-
title: name
|
|
69
|
+
identifier: name
|
|
77
70
|
}), S.annotate({
|
|
78
71
|
toArbitrary: () => (fc) => arb()(fc)
|
|
79
72
|
}));
|
|
@@ -90,21 +83,35 @@ export function prefixedStringId() {
|
|
|
90
83
|
*/
|
|
91
84
|
prefixSafe: (str) => ex(str),
|
|
92
85
|
prefix,
|
|
93
|
-
|
|
86
|
+
/**
|
|
87
|
+
* Construction-only default: fresh prefixed id. Applied only when
|
|
88
|
+
* the field is omitted from `.make(...)` input. NOT applied during
|
|
89
|
+
* decode — cannot be used to JIT-migrate database fields. See
|
|
90
|
+
* file-level note.
|
|
91
|
+
*/
|
|
92
|
+
withConstructorDefault: schema.pipe(S.withConstructorDefault(Effect.sync(make)))
|
|
94
93
|
}));
|
|
95
94
|
};
|
|
96
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Build a branded `StringId` schema for the given branded `Id` type.
|
|
98
|
+
*
|
|
99
|
+
* Exposes `.withConstructorDefault` that mints a fresh `nanoid()`-shaped id.
|
|
100
|
+
* Construction-only — not applied during decode; see file-level note.
|
|
101
|
+
*/
|
|
97
102
|
export const brandedStringId = () => withDefaultMake(Object.assign(Object.create(StringId), StringId));
|
|
98
103
|
const isUrl = (s) => {
|
|
99
104
|
return validator.default.isURL(s, { require_tld: false });
|
|
100
105
|
};
|
|
101
106
|
export const Url = S
|
|
102
107
|
.String
|
|
103
|
-
.pipe(S.
|
|
104
|
-
identifier: "Url",
|
|
108
|
+
.pipe(S.annotate({
|
|
105
109
|
title: "Url",
|
|
110
|
+
format: "uri"
|
|
111
|
+
}), S.refine(isUrl, {
|
|
112
|
+
identifier: "Url",
|
|
106
113
|
jsonSchema: { format: "uri" }
|
|
107
114
|
}), S.annotate({
|
|
108
115
|
toArbitrary: () => (fc) => fc.webUrl().map((_) => _)
|
|
109
116
|
}), withDefaultMake);
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZVN0cmluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL21vcmVTdHJpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUUxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdEMsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFHbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQzFELE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQTtBQUNqQyxPQUFPLEVBQXNCLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUkxQyxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFBO0FBa0J2QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBMkIsY0FBYyxDQUFDLElBQUksQ0FDekUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQzFCLFNBQVMsQ0FBbUIsT0FBTyxFQUFvQixFQUFFO0lBQ3ZELFVBQVUsRUFBRSxrQkFBa0I7SUFDOUIsVUFBVSxFQUFFLEVBQUU7Q0FDZixDQUFDLEVBQ0YsZUFBZSxDQUNoQixDQUFBO0FBa0JELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUEyQixjQUFjLENBQUMsSUFBSSxDQUN6RSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDMUIsU0FBUyxDQUFtQixPQUFPLEVBQW9CLEVBQUU7SUFDdkQsVUFBVSxFQUFFLGtCQUFrQjtJQUM5QixVQUFV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
|
package/dist/Schema/numbers.d.ts
CHANGED
|
@@ -1,46 +1,59 @@
|
|
|
1
1
|
import * as S from "effect/Schema";
|
|
2
|
+
import type * as SchemaAST from "effect/SchemaAST";
|
|
2
3
|
import type { Simplify } from "effect/Types";
|
|
4
|
+
import { type BrandedSchema } from "./brand.js";
|
|
3
5
|
import { type B } from "./schema.js";
|
|
4
6
|
export interface PositiveIntBrand extends Simplify<B.Brand<"PositiveInt"> & NonNegativeIntBrand & PositiveNumberBrand> {
|
|
5
7
|
}
|
|
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
|
-
};
|
|
9
8
|
export type PositiveInt = number & PositiveIntBrand;
|
|
9
|
+
/** Positive integer. `.withConstructorDefault` => `1` (construction-only). */
|
|
10
|
+
export interface PositiveIntSchema extends BrandedSchema<S.Int, PositiveInt> {
|
|
11
|
+
(i: number, options?: SchemaAST.ParseOptions): PositiveInt;
|
|
12
|
+
readonly withConstructorDefault: S.withConstructorDefault<BrandedSchema<S.Int, PositiveInt>>;
|
|
13
|
+
}
|
|
14
|
+
export declare const PositiveInt: PositiveIntSchema;
|
|
10
15
|
export interface NonNegativeIntBrand extends Simplify<B.Brand<"NonNegativeInt"> & IntBrand & NonNegativeNumberBrand> {
|
|
11
16
|
}
|
|
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
|
-
};
|
|
15
17
|
export type NonNegativeInt = number & NonNegativeIntBrand;
|
|
18
|
+
/** Non-negative integer. `.withConstructorDefault` => `0` (construction-only). */
|
|
19
|
+
export interface NonNegativeIntSchema extends BrandedSchema<S.Int, NonNegativeInt> {
|
|
20
|
+
(i: number, options?: SchemaAST.ParseOptions): NonNegativeInt;
|
|
21
|
+
readonly withConstructorDefault: S.withConstructorDefault<BrandedSchema<S.Int, NonNegativeInt>>;
|
|
22
|
+
}
|
|
23
|
+
export declare const NonNegativeInt: NonNegativeIntSchema;
|
|
16
24
|
export interface IntBrand extends Simplify<B.Brand<"Int">> {
|
|
17
25
|
}
|
|
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
|
-
};
|
|
21
26
|
export type Int = number & IntBrand;
|
|
27
|
+
/** Integer. `.withConstructorDefault` => `0` (construction-only). */
|
|
28
|
+
export interface IntSchema extends BrandedSchema<S.Int, Int> {
|
|
29
|
+
(i: number, options?: SchemaAST.ParseOptions): Int;
|
|
30
|
+
readonly withConstructorDefault: S.withConstructorDefault<BrandedSchema<S.Int, Int>>;
|
|
31
|
+
}
|
|
32
|
+
export declare const Int: IntSchema;
|
|
22
33
|
export interface PositiveNumberBrand extends Simplify<B.Brand<"PositiveNumber"> & NonNegativeNumberBrand> {
|
|
23
34
|
}
|
|
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
|
-
};
|
|
27
35
|
export type PositiveNumber = number & PositiveNumberBrand;
|
|
36
|
+
/** Positive finite number. `.withConstructorDefault` => `1` (construction-only). */
|
|
37
|
+
export interface PositiveNumberSchema extends BrandedSchema<S.Finite, PositiveNumber> {
|
|
38
|
+
(i: number, options?: SchemaAST.ParseOptions): PositiveNumber;
|
|
39
|
+
readonly withConstructorDefault: S.withConstructorDefault<BrandedSchema<S.Finite, PositiveNumber>>;
|
|
40
|
+
}
|
|
41
|
+
export declare const PositiveNumber: PositiveNumberSchema;
|
|
28
42
|
export interface NonNegativeNumberBrand extends Simplify<B.Brand<"NonNegativeNumber">> {
|
|
29
43
|
}
|
|
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
|
-
};
|
|
33
44
|
export type NonNegativeNumber = number & NonNegativeNumberBrand;
|
|
45
|
+
/** Non-negative finite number. `.withConstructorDefault` => `0` (construction-only). */
|
|
46
|
+
export interface NonNegativeNumberSchema extends BrandedSchema<S.Finite, NonNegativeNumber> {
|
|
47
|
+
(i: number, options?: SchemaAST.ParseOptions): NonNegativeNumber;
|
|
48
|
+
readonly withConstructorDefault: S.withConstructorDefault<BrandedSchema<S.Finite, NonNegativeNumber>>;
|
|
49
|
+
}
|
|
50
|
+
export declare const NonNegativeNumber: NonNegativeNumberSchema;
|
|
34
51
|
/** @deprecated Not an actual decimal */
|
|
35
|
-
export declare const NonNegativeDecimal:
|
|
36
|
-
withDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<S.brand<S.Number, "NonNegativeNumber">> & S.brand<S.Number, "NonNegativeNumber"> & S.WithoutConstructorDefault>;
|
|
37
|
-
};
|
|
52
|
+
export declare const NonNegativeDecimal: NonNegativeNumberSchema;
|
|
38
53
|
/** @deprecated Not an actual decimal */
|
|
39
54
|
export type NonNegativeDecimal = NonNegativeNumber;
|
|
40
55
|
/** @deprecated Not an actual decimal */
|
|
41
|
-
export declare const PositiveDecimal:
|
|
42
|
-
withDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<S.brand<S.Number, "NonNegativeNumber" | "PositiveNumber">> & S.brand<S.Number, "NonNegativeNumber" | "PositiveNumber"> & S.WithoutConstructorDefault>;
|
|
43
|
-
};
|
|
56
|
+
export declare const PositiveDecimal: PositiveNumberSchema;
|
|
44
57
|
/** @deprecated Not an actual decimal */
|
|
45
58
|
export type PositiveDecimal = PositiveNumber;
|
|
46
|
-
//# sourceMappingURL=
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjaGVtYS9udW1iZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE9BQU8sS0FBSyxDQUFDLE1BQU0sZUFBZSxDQUFBO0FBQ2xDLE9BQU8sS0FBSyxLQUFLLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQTtBQUNsRCxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDNUMsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUFzQixNQUFNLFlBQVksQ0FBQTtBQUVuRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFcEMsTUFBTSxXQUFXLGdCQUNmLFNBQVEsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7Q0FDcEY7QUFDRixNQUFNLE1BQU0sV0FBVyxHQUFHLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQTtBQUNuRCw4RUFBOEU7QUFDOUUsTUFBTSxXQUFXLGlCQUFrQixTQUFRLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQztJQUMxRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUE7SUFDMUQsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFBO0NBQzdGO0FBQ0QsZUFBTyxNQUFNLFdBQVcsRUFBRSxpQkFjekIsQ0FBQTtBQUVELE1BQU0sV0FBVyxtQkFBb0IsU0FBUSxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQztDQUFHO0FBQ3ZILE1BQU0sTUFBTSxj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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numbers.d.ts","sourceRoot":"","sources":["../../src/Schema/numbers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"numbers.d.ts","sourceRoot":"","sources":["../../src/Schema/numbers.ts"],"names":[],"mappings":"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"}
|
package/dist/Schema/numbers.js
CHANGED
|
@@ -1,28 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Numeric brand schemas with `.withConstructorDefault` extensions.
|
|
3
|
+
*
|
|
4
|
+
* Each `.withConstructorDefault` here is **only** applied when the field is
|
|
5
|
+
* omitted during construction (`.make(...)`). It is **not** applied during
|
|
6
|
+
* decode and therefore cannot be used to JIT-migrate database fields.
|
|
7
|
+
*
|
|
8
|
+
* For persisted data, prefer an explicit, preferably versioned migration
|
|
9
|
+
* over decode-time fallbacks. See `./ext.ts` for the full policy note.
|
|
10
|
+
*/
|
|
1
11
|
import { extendM } from "effect-app/utils";
|
|
12
|
+
import * as Effect from "effect/Effect";
|
|
2
13
|
import * as S from "effect/Schema";
|
|
3
14
|
import { fromBrand, nominal } from "./brand.js";
|
|
4
|
-
import {
|
|
5
|
-
export const PositiveInt = extendM(S.Int.pipe(S.check(S.isGreaterThan(0)), fromBrand(nominal(), { identifier: "PositiveInt",
|
|
15
|
+
import { withDefaultMake } from "./ext.js";
|
|
16
|
+
export const PositiveInt = extendM(S.Int.pipe(S.check(S.isGreaterThan(0)), fromBrand(nominal(), { identifier: "PositiveInt", jsonSchema: {} }), withDefaultMake), (s) => ({
|
|
17
|
+
/**
|
|
18
|
+
* Construction-only default `1`. Applied only when the field is omitted
|
|
19
|
+
* from `.make(...)` input. NOT applied during decode — cannot be used to
|
|
20
|
+
* JIT-migrate database fields. See file-level note.
|
|
21
|
+
*/
|
|
22
|
+
withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => s(1))))
|
|
23
|
+
}));
|
|
6
24
|
export const NonNegativeInt = extendM(S.Int.pipe(S.check(S.isGreaterThanOrEqualTo(0)), fromBrand(nominal(), {
|
|
7
25
|
identifier: "NonNegativeInt",
|
|
8
|
-
title: "NonNegativeInt",
|
|
9
26
|
jsonSchema: {}
|
|
10
|
-
}), withDefaultMake), (s) => ({
|
|
11
|
-
|
|
12
|
-
|
|
27
|
+
}), withDefaultMake), (s) => ({
|
|
28
|
+
/**
|
|
29
|
+
* Construction-only default `0`. Applied only when the field is omitted
|
|
30
|
+
* from `.make(...)` input. NOT applied during decode — cannot be used to
|
|
31
|
+
* JIT-migrate database fields. See file-level note.
|
|
32
|
+
*/
|
|
33
|
+
withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => s(0))))
|
|
34
|
+
}));
|
|
35
|
+
export const Int = extendM(S.Int.pipe(fromBrand(nominal(), { identifier: "Int", jsonSchema: {} }), withDefaultMake), (s) => ({
|
|
36
|
+
/**
|
|
37
|
+
* Construction-only default `0`. Applied only when the field is omitted
|
|
38
|
+
* from `.make(...)` input. NOT applied during decode — cannot be used to
|
|
39
|
+
* JIT-migrate database fields. See file-level note.
|
|
40
|
+
*/
|
|
41
|
+
withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => s(0))))
|
|
42
|
+
}));
|
|
43
|
+
export const PositiveNumber = extendM(S.Finite.pipe(S.check(S.isGreaterThan(0)), fromBrand(nominal(), {
|
|
13
44
|
identifier: "PositiveNumber",
|
|
14
|
-
title: "PositiveNumber",
|
|
15
45
|
jsonSchema: {}
|
|
16
|
-
}), withDefaultMake), (s) => ({
|
|
46
|
+
}), withDefaultMake), (s) => ({
|
|
47
|
+
/**
|
|
48
|
+
* Construction-only default `1`. Applied only when the field is omitted
|
|
49
|
+
* from `.make(...)` input. NOT applied during decode — cannot be used to
|
|
50
|
+
* JIT-migrate database fields. See file-level note.
|
|
51
|
+
*/
|
|
52
|
+
withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => s(1))))
|
|
53
|
+
}));
|
|
17
54
|
export const NonNegativeNumber = extendM(S
|
|
18
|
-
.
|
|
55
|
+
.Finite
|
|
19
56
|
.pipe(S.check(S.isGreaterThanOrEqualTo(0)), fromBrand(nominal(), {
|
|
20
57
|
identifier: "NonNegativeNumber",
|
|
21
|
-
title: "NonNegativeNumber",
|
|
22
58
|
jsonSchema: {}
|
|
23
|
-
}), withDefaultMake), (s) => ({
|
|
59
|
+
}), withDefaultMake), (s) => ({
|
|
60
|
+
/**
|
|
61
|
+
* Construction-only default `0`. Applied only when the field is omitted
|
|
62
|
+
* from `.make(...)` input. NOT applied during decode — cannot be used to
|
|
63
|
+
* JIT-migrate database fields. See file-level note.
|
|
64
|
+
*/
|
|
65
|
+
withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => s(0))))
|
|
66
|
+
}));
|
|
24
67
|
/** @deprecated Not an actual decimal */
|
|
25
68
|
export const NonNegativeDecimal = NonNegativeNumber;
|
|
26
69
|
/** @deprecated Not an actual decimal */
|
|
27
70
|
export const PositiveDecimal = PositiveNumber;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY2hlbWEvbnVtYmVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7O0dBU0c7QUFDSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFHbEMsT0FBTyxFQUFzQixTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFZMUMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFzQixPQUFPLENBQ25ELENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNSLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUMzQixTQUFTLENBQWMsT0FBTyxFQUFlLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUM3RixlQUFlLENBQ2hCLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDTjs7OztPQUlHO0lBQ0gsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ2xGLENBQUMsQ0FDSCxDQUFBO0FBU0QsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUF5QixPQUFPLENBQ3pELENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNSLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3BDLFNB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
|
|
@@ -6,4 +6,4 @@ export interface PhoneNumberBrand extends Simplify<B.Brand<"PhoneNumber"> & NonE
|
|
|
6
6
|
}
|
|
7
7
|
export type PhoneNumber = string & PhoneNumberBrand;
|
|
8
8
|
export declare const PhoneNumber: import("./ext.js").WithDefaults<S.refine<PhoneNumber, S.String>> & S.refine<PhoneNumber, S.String>;
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmVOdW1iZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY2hlbWEvcGhvbmVOdW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFDbEMsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRzVDLE9BQU8sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNwQyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV2RCxNQUFNLFdBQVcsZ0JBQWlCLFNBQVEsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsbUJBQW1CLENBQUM7Q0FBRztBQUNuRyxNQUFNLE1BQU0sV0FBVyxHQUFHLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQTtBQUVuRCxlQUFPLE1BQU0sV0FBVyxvR0FpQnJCLENBQUEifQ==
|