effect-app 4.0.0-beta.254 → 4.0.0-beta.256
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 +22 -0
- package/dist/Model/Repository/internal/internal.d.ts +1 -1
- package/dist/Model/Repository/validation.d.ts +7 -20
- package/dist/Model/Repository/validation.d.ts.map +1 -1
- package/dist/RequestContext.d.ts +9 -21
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/Schema/moreStrings.d.ts +55 -91
- package/dist/Schema/moreStrings.d.ts.map +1 -1
- package/dist/Schema/moreStrings.js +9 -31
- package/dist/Schema/numbers.d.ts +35 -62
- package/dist/Schema/numbers.d.ts.map +1 -1
- package/dist/Schema/numbers.js +1 -6
- package/dist/Schema/strings.d.ts +19 -5
- package/dist/Schema/strings.d.ts.map +1 -1
- package/dist/Schema/strings.js +1 -1
- package/dist/ids.d.ts +2 -8
- package/dist/ids.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/Schema/moreStrings.ts +71 -46
- package/src/Schema/numbers.ts +32 -11
- package/src/Schema/strings.ts +18 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @effect-app/prelude
|
|
2
2
|
|
|
3
|
+
## 4.0.0-beta.256
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 347af48: Fix schema interface widening regression introduced in 4.0.0-beta.255 (changeset `olive-onions-lose`).
|
|
8
|
+
|
|
9
|
+
The original refactor annotated branded schema constants with interfaces extending `S.Codec<A, primitive> & WithDefaults<...>`. That widened the underlying `BrandedSchema<...>` chain and dropped phantom slots (`Iso`, `~type.make.in`, `~type.parameters`, `Rebuild`, etc.) that downstream combinators read. In consumer projects this surfaced as `DecodingServices` / `EncodingServices` leaking as `unknown` — for example `Q.project(schema, "project")` failing with `Type 'unknown' is not assignable to type 'never'`, and RPC handler / generator-return shape mismatches against `Effect<any, ..., CurrentSettings | ...>`.
|
|
10
|
+
|
|
11
|
+
Each `*Schema` interface now extends the concrete underlying chain (e.g. `BrandedSchema<S.NonEmptyString, NonEmptyString64>`) and adds a call signature for `withDefaultMake` (and an explicit `withConstructorDefault` field for the numeric and `StringId` schemas). The runtime values are unchanged and the type-display improvement is preserved.
|
|
12
|
+
|
|
13
|
+
Affected: `NonEmptyString*`, `Min3String255`, `StringId`, `Url`, `PositiveInt`, `NonNegativeInt`, `Int`, `PositiveNumber`, `NonNegativeNumber`, and `brandedStringId`.
|
|
14
|
+
|
|
15
|
+
## 4.0.0-beta.255
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- 52a31dd: Reduce schema type complexity by exposing explicit interfaces for branded string and number schemas.
|
|
20
|
+
|
|
21
|
+
Each branded constant in `Schema/strings.ts`, `Schema/moreStrings.ts`, and `Schema/numbers.ts` now has a named interface (e.g. `NonEmptyStringSchema`, `StringIdSchema`, `PositiveIntSchema`, `UrlSchema`) annotating its `export const`. Mirrors the pattern used in `effect/Schema` itself — TypeScript reports the interface name instead of expanding the full pipe/brand/extension chain, which shrinks inferred types in consumer code and speeds up type display.
|
|
22
|
+
|
|
23
|
+
No runtime or API surface changes; `brandedStringId` now returns `BrandedStringIdSchema<Id>` (same shape as before, just named).
|
|
24
|
+
|
|
3
25
|
## 4.0.0-beta.254
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
|
@@ -60,4 +60,4 @@ export interface Repos<T, Encoded extends {
|
|
|
60
60
|
readonly Q: ReturnType<typeof Q.make<Encoded>>;
|
|
61
61
|
readonly type: Repository<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish>;
|
|
62
62
|
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9Nb2RlbC9SZXBvc2l0b3J5L2ludGVybmFsL2ludGVybmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sS0FBSyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUE7QUFHMUMsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUk5RCxPQUFPLEtBQUssT0FBTyxNQUFNLHFCQUFxQixDQUFBO0FBQzlDLE9BQU8sS0FBSyxNQUFNLE1BQU0sb0JBQW9CLENBQUE7QUFHNUMsT0FBTyxLQUFLLENBQUMsTUFBTSxvQkFBb0IsQ0FBQTtBQUd2QyxPQUFPLEVBQWtDLEtBQUssb0JBQW9CLEVBQUUsS0FBSyxXQUFXLEVBQVcsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDcEksT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDeEQsT0FBTyxLQUFLLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNuQyxPQUFPLEtBQUssRUFBK0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBSzVFOztHQUVHO0FBQ0gsd0JBQWdCLGdCQUFnQixDQUM5QixHQUFHLEdBQUcsS0FBSyxNQUdULFFBQVEsU0FBUyxNQUFNLEVBQ3ZCLENBQUMsRUFDRCxPQUFPLFNBQVMsV0FBVyxFQUMzQixDQUFDLEVBQ0QsS0FBSyxTQUFTLE1BQU0sQ0FBQyxHQUFHLE1BQU0sT0FBTyxRQUUvQixRQUFRLFVBQ04sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxXQUNyQixDQUFDLEVBQUUsRUFBRSxPQUFPLEtBQUssT0FBTyxTQUMxQixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sR0FBRyxTQUFTLEtBQUssb0JBQW9CLENBQUMsT0FBTyxDQUFDLFNBQ3ZF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
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as S from "../../Schema.js";
|
|
2
|
-
import { NonNegativeInt } from "../../Schema.js";
|
|
3
2
|
declare const ValidationError_base: S.Opaque<ValidationError, typeof S.ExtendedSchemaNoEncoded, S.Struct<{
|
|
4
3
|
/** the id of the item that failed validation */
|
|
5
4
|
readonly id: S.Unknown;
|
|
@@ -27,17 +26,11 @@ export declare class ValidationError extends ValidationError_base {
|
|
|
27
26
|
}
|
|
28
27
|
declare const ValidationResult_base: S.Opaque<ValidationResult, typeof S.ExtendedSchemaNoEncoded, S.Struct<{
|
|
29
28
|
/** total number of items in the repository */
|
|
30
|
-
readonly total: S.
|
|
31
|
-
withConstructorDefault: S.withConstructorDefault<S.WithDefaults<import("../../Schema/brand.ts").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("../../Schema/brand.ts").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>>;
|
|
32
|
-
};
|
|
29
|
+
readonly total: S.NonNegativeIntSchema;
|
|
33
30
|
/** number of items that were sampled for validation */
|
|
34
|
-
readonly sampled: S.
|
|
35
|
-
withConstructorDefault: S.withConstructorDefault<S.WithDefaults<import("../../Schema/brand.ts").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("../../Schema/brand.ts").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>>;
|
|
36
|
-
};
|
|
31
|
+
readonly sampled: S.NonNegativeIntSchema;
|
|
37
32
|
/** number of items that passed validation */
|
|
38
|
-
readonly valid: S.
|
|
39
|
-
withConstructorDefault: S.withConstructorDefault<S.WithDefaults<import("../../Schema/brand.ts").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("../../Schema/brand.ts").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>>;
|
|
40
|
-
};
|
|
33
|
+
readonly valid: S.NonNegativeIntSchema;
|
|
41
34
|
/** list of validation errors with full context */
|
|
42
35
|
readonly errors: S.$Array<typeof ValidationError> & {
|
|
43
36
|
withConstructorDefault: S.withConstructorDefault<S.$Array<typeof ValidationError>>;
|
|
@@ -45,17 +38,11 @@ declare const ValidationResult_base: S.Opaque<ValidationResult, typeof S.Extende
|
|
|
45
38
|
};
|
|
46
39
|
}>, {}> & Omit<S.Struct<{
|
|
47
40
|
/** total number of items in the repository */
|
|
48
|
-
readonly total: S.
|
|
49
|
-
withConstructorDefault: S.withConstructorDefault<S.WithDefaults<import("../../Schema/brand.ts").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("../../Schema/brand.ts").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>>;
|
|
50
|
-
};
|
|
41
|
+
readonly total: S.NonNegativeIntSchema;
|
|
51
42
|
/** number of items that were sampled for validation */
|
|
52
|
-
readonly sampled: S.
|
|
53
|
-
withConstructorDefault: S.withConstructorDefault<S.WithDefaults<import("../../Schema/brand.ts").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("../../Schema/brand.ts").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>>;
|
|
54
|
-
};
|
|
43
|
+
readonly sampled: S.NonNegativeIntSchema;
|
|
55
44
|
/** number of items that passed validation */
|
|
56
|
-
readonly valid: S.
|
|
57
|
-
withConstructorDefault: S.withConstructorDefault<S.WithDefaults<import("../../Schema/brand.ts").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("../../Schema/brand.ts").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>>;
|
|
58
|
-
};
|
|
45
|
+
readonly valid: S.NonNegativeIntSchema;
|
|
59
46
|
/** list of validation errors with full context */
|
|
60
47
|
readonly errors: S.$Array<typeof ValidationError> & {
|
|
61
48
|
withConstructorDefault: S.withConstructorDefault<S.$Array<typeof ValidationError>>;
|
|
@@ -68,4 +55,4 @@ declare const ValidationResult_base: S.Opaque<ValidationResult, typeof S.Extende
|
|
|
68
55
|
export declare class ValidationResult extends ValidationResult_base {
|
|
69
56
|
}
|
|
70
57
|
export {};
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL01vZGVsL1JlcG9zaXRvcnkvdmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLGlCQUFpQixDQUFBOztJQVFsQyxnREFBZ0Q7O0lBRWhELGlEQUFpRDs7SUFFakQsa0RBQWtEOztJQUVsRCwyQ0FBMkM7OztJQU4zQyxnREFBZ0Q7O0lBRWhELGlEQUFpRDs7SUFFakQsa0RBQWtEOztJQUVsRCwyQ0FBMkM7OztBQVg3Qzs7O0dBR0c7QUFDSCxxQkFBYSxlQUFnQixTQUFRLG9CQVNsQztDQUFHOztJQU1KLDhDQUE4Qzs7SUFFOUMsdURBQXVEOztJQUV2RCw2Q0FBNkM7O0lBRTdDLGtEQUFrRDs7Ozs7O0lBTmxELDhDQUE4Qzs7SUFFOUMsdURBQXVEOztJQUV2RCw2Q0FBNkM7O0lBRTdDLGtEQUFrRDs7Ozs7O0FBVnBEOztHQUVHO0FBQ0gscUJBQWEsZ0JBQWlCLFNBQVEscUJBU25DO0NBQUcifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/Model/Repository/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAA
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/Model/Repository/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAA;;IAQlC,gDAAgD;;IAEhD,iDAAiD;;IAEjD,kDAAkD;;IAElD,2CAA2C;;;IAN3C,gDAAgD;;IAEhD,iDAAiD;;IAEjD,kDAAkD;;IAElD,2CAA2C;;;AAX7C;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,oBASlC;CAAG;;IAMJ,8CAA8C;;IAE9C,uDAAuD;;IAEvD,6CAA6C;;IAE7C,kDAAkD;;;;;;IANlD,8CAA8C;;IAE9C,uDAAuD;;IAEvD,6CAA6C;;IAE7C,kDAAkD;;;;;;AAVpD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,qBASnC;CAAG"}
|
package/dist/RequestContext.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encod
|
|
|
25
25
|
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Boolean, never>;
|
|
26
26
|
};
|
|
27
27
|
}>;
|
|
28
|
-
readonly name: S.
|
|
28
|
+
readonly name: S.NonEmptyString255Schema;
|
|
29
29
|
readonly locale: import("effect/Schema").Literals<readonly ["en", "de"]> & {
|
|
30
30
|
changeDefault: <A extends "de" | "en">(a: A) => import("effect/Schema").Literals<readonly ["en", "de"]> & {
|
|
31
31
|
Default: A;
|
|
@@ -36,17 +36,11 @@ declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encod
|
|
|
36
36
|
withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
37
37
|
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>, never>;
|
|
38
38
|
};
|
|
39
|
-
readonly sourceId: S.optional<S.
|
|
40
|
-
readonly namespace: S.
|
|
39
|
+
readonly sourceId: S.optional<S.NonEmptyString255Schema>;
|
|
40
|
+
readonly namespace: S.NonEmptyString255Schema;
|
|
41
41
|
/** @deprecated */
|
|
42
42
|
readonly userProfile: S.optional<S.Struct<{
|
|
43
|
-
readonly sub: S.
|
|
44
|
-
withConstructorDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
|
|
45
|
-
make: () => UserProfileId;
|
|
46
|
-
} & S.WithDefaults<S.Codec<UserProfileId, string, never, never>>> & S.Codec<UserProfileId, string, never, never> & {
|
|
47
|
-
withConstructorDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
|
|
48
|
-
make: () => UserProfileId;
|
|
49
|
-
} & S.WithDefaults<S.Codec<UserProfileId, string, never, never>>;
|
|
43
|
+
readonly sub: S.BrandedStringIdSchema<UserProfileId>;
|
|
50
44
|
}>>;
|
|
51
45
|
}>, {}> & Omit<S.Struct<{
|
|
52
46
|
readonly span: S.Struct<{
|
|
@@ -57,7 +51,7 @@ declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encod
|
|
|
57
51
|
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Boolean, never>;
|
|
58
52
|
};
|
|
59
53
|
}>;
|
|
60
|
-
readonly name: S.
|
|
54
|
+
readonly name: S.NonEmptyString255Schema;
|
|
61
55
|
readonly locale: import("effect/Schema").Literals<readonly ["en", "de"]> & {
|
|
62
56
|
changeDefault: <A extends "de" | "en">(a: A) => import("effect/Schema").Literals<readonly ["en", "de"]> & {
|
|
63
57
|
Default: A;
|
|
@@ -68,17 +62,11 @@ declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encod
|
|
|
68
62
|
withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
69
63
|
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>, never>;
|
|
70
64
|
};
|
|
71
|
-
readonly sourceId: S.optional<S.
|
|
72
|
-
readonly namespace: S.
|
|
65
|
+
readonly sourceId: S.optional<S.NonEmptyString255Schema>;
|
|
66
|
+
readonly namespace: S.NonEmptyString255Schema;
|
|
73
67
|
/** @deprecated */
|
|
74
68
|
readonly userProfile: S.optional<S.Struct<{
|
|
75
|
-
readonly sub: S.
|
|
76
|
-
withConstructorDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
|
|
77
|
-
make: () => UserProfileId;
|
|
78
|
-
} & S.WithDefaults<S.Codec<UserProfileId, string, never, never>>> & S.Codec<UserProfileId, string, never, never> & {
|
|
79
|
-
withConstructorDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
|
|
80
|
-
make: () => UserProfileId;
|
|
81
|
-
} & S.WithDefaults<S.Codec<UserProfileId, string, never, never>>;
|
|
69
|
+
readonly sub: S.BrandedStringIdSchema<UserProfileId>;
|
|
82
70
|
}>>;
|
|
83
71
|
}>, keyof S.Top>;
|
|
84
72
|
export declare class RequestContext extends RequestContext_base {
|
|
@@ -100,4 +88,4 @@ export declare namespace RequestContext {
|
|
|
100
88
|
}
|
|
101
89
|
}
|
|
102
90
|
export {};
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9SZXF1ZXN0Q29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3hDLE9BQU8sS0FBSyxDQUFDLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUUvQyxlQUFPLE1BQU0sTUFBTTs7Ozs7Ozs7O0NBQTJCLENBQUE7QUFDOUMsTUFBTSxNQUFNLE1BQU0sR0FBRyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUE7O0FBRXZDLHFCQUFhLFNBQVUsU0FBUSxjQUFpRTtDQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWVqRyxrQkFBa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBQWxCLGtCQUFrQjs7Ozs7QUFicEIscUJBQWEsY0FBZSxTQUFRLG1CQWVqQztJQUdELE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsY0FBYztRQUVoRCxhQUFhO1FBQ2IsTUFBTTtNQUVUO0NBQ0Y7QUFFRCxlQUFPLE1BQU0sY0FBYyxRQUFTLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxHQUFHLFdBQVcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7Ozs7Ozs7Q0FnQnhHLENBQUE7QUFJRix5QkFBaUIsY0FBYyxDQUFDLENBQUM7SUFDL0IsVUFBaUIsT0FBUSxTQUFRLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLGNBQWMsQ0FBQztLQUFHO0NBQ2pGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,KAAK,CAAC,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,eAAO,MAAM,MAAM;;;;;;;;;CAA2B,CAAA;AAC9C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;AAEvC,qBAAa,SAAU,SAAQ,cAAiE;CAAG;;;;;;;;;;;;;;;;;;;;;;;IAejG,kBAAkB
|
|
1
|
+
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,KAAK,CAAC,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,eAAO,MAAM,MAAM;;;;;;;;;CAA2B,CAAA;AAC9C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;AAEvC,qBAAa,SAAU,SAAQ,cAAiE;CAAG;;;;;;;;;;;;;;;;;;;;;;;IAejG,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;IAAlB,kBAAkB;;;;;AAbpB,qBAAa,cAAe,SAAQ,mBAejC;IAGD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc;QAEhD,aAAa;QACb,MAAM;MAET;CACF;AAED,eAAO,MAAM,cAAc,QAAS,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;;;;;;;CAgBxG,CAAA;AAIF,yBAAiB,cAAc,CAAC,CAAC;IAC/B,UAAiB,OAAQ,SAAQ,CAAC,CAAC,mBAAmB,CAAC,OAAO,cAAc,CAAC;KAAG;CACjF"}
|
|
@@ -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.
|
|
@@ -83,25 +100,15 @@ export type StringId = string & StringIdBrand;
|
|
|
83
100
|
* `.withConstructorDefault` => fresh `nanoid()` (construction-only; not
|
|
84
101
|
* applied during decode — see file-level note).
|
|
85
102
|
*/
|
|
86
|
-
export
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}> & import("./brand.js").BrandedSchema<S.String, StringId> & {
|
|
96
|
-
make: (s?: string) => StringId;
|
|
97
|
-
/**
|
|
98
|
-
* Construction-only default: fresh `nanoid()`-shaped `StringId`. Applied
|
|
99
|
-
* only when the field is omitted from `.make(...)` input. NOT applied
|
|
100
|
-
* during decode — cannot be used to JIT-migrate database fields. See
|
|
101
|
-
* file-level note.
|
|
102
|
-
*/
|
|
103
|
-
withConstructorDefault: S.withConstructorDefault<import("./brand.js").BrandedSchema<S.String, StringId>>;
|
|
104
|
-
};
|
|
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;
|
|
105
112
|
/**
|
|
106
113
|
* Build a `StringId` schema whose values are required to start with a fixed
|
|
107
114
|
* `prefix` (joined with `separator`, default `-`).
|
|
@@ -110,68 +117,14 @@ export declare const StringId: WithDefaults<import("./brand.js").BrandedSchema<S
|
|
|
110
117
|
* prefixed id. Construction-only — not applied during decode; see file-level
|
|
111
118
|
* note.
|
|
112
119
|
*/
|
|
113
|
-
export declare function prefixedStringId<Type extends StringId>(): <Prefix extends string, Separator extends string = "-">(prefix: Prefix, name: string, separator?: Separator) => WithDefaults<S.refine<Type,
|
|
114
|
-
make: (s?: string) => StringId;
|
|
115
|
-
/**
|
|
116
|
-
* Construction-only default: fresh `nanoid()`-shaped `StringId`. Applied
|
|
117
|
-
* only when the field is omitted from `.make(...)` input. NOT applied
|
|
118
|
-
* during decode — cannot be used to JIT-migrate database fields. See
|
|
119
|
-
* file-level note.
|
|
120
|
-
*/
|
|
121
|
-
withConstructorDefault: S.withConstructorDefault<import("./brand.js").BrandedSchema<S.String, StringId>>;
|
|
122
|
-
}> & import("./brand.js").BrandedSchema<S.String, StringId> & {
|
|
123
|
-
make: (s?: string) => StringId;
|
|
124
|
-
/**
|
|
125
|
-
* Construction-only default: fresh `nanoid()`-shaped `StringId`. Applied
|
|
126
|
-
* only when the field is omitted from `.make(...)` input. NOT applied
|
|
127
|
-
* during decode — cannot be used to JIT-migrate database fields. See
|
|
128
|
-
* file-level note.
|
|
129
|
-
*/
|
|
130
|
-
withConstructorDefault: S.withConstructorDefault<import("./brand.js").BrandedSchema<S.String, StringId>>;
|
|
131
|
-
}>> & S.refine<Type, WithDefaults<import("./brand.js").BrandedSchema<S.String, StringId> & {
|
|
132
|
-
make: (s?: string) => StringId;
|
|
133
|
-
/**
|
|
134
|
-
* Construction-only default: fresh `nanoid()`-shaped `StringId`. Applied
|
|
135
|
-
* only when the field is omitted from `.make(...)` input. NOT applied
|
|
136
|
-
* during decode — cannot be used to JIT-migrate database fields. See
|
|
137
|
-
* file-level note.
|
|
138
|
-
*/
|
|
139
|
-
withConstructorDefault: S.withConstructorDefault<import("./brand.js").BrandedSchema<S.String, StringId>>;
|
|
140
|
-
}> & import("./brand.js").BrandedSchema<S.String, StringId> & {
|
|
141
|
-
make: (s?: string) => StringId;
|
|
142
|
-
/**
|
|
143
|
-
* Construction-only default: fresh `nanoid()`-shaped `StringId`. Applied
|
|
144
|
-
* only when the field is omitted from `.make(...)` input. NOT applied
|
|
145
|
-
* during decode — cannot be used to JIT-migrate database fields. See
|
|
146
|
-
* file-level note.
|
|
147
|
-
*/
|
|
148
|
-
withConstructorDefault: S.withConstructorDefault<import("./brand.js").BrandedSchema<S.String, StringId>>;
|
|
149
|
-
}> & PrefixedStringUtils<Type, Prefix, Separator>;
|
|
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>;
|
|
150
121
|
/**
|
|
151
122
|
* Build a branded `StringId` schema for the given branded `Id` type.
|
|
152
123
|
*
|
|
153
124
|
* Exposes `.withConstructorDefault` that mints a fresh `nanoid()`-shaped id.
|
|
154
125
|
* Construction-only — not applied during decode; see file-level note.
|
|
155
126
|
*/
|
|
156
|
-
export declare const brandedStringId: <Id
|
|
157
|
-
/**
|
|
158
|
-
* Construction-only default: fresh `nanoid()`-shaped id. Applied only
|
|
159
|
-
* when the field is omitted from `.make(...)` input. NOT applied
|
|
160
|
-
* during decode — cannot be used to JIT-migrate database fields. See
|
|
161
|
-
* file-level note.
|
|
162
|
-
*/
|
|
163
|
-
withConstructorDefault: S.withConstructorDefault<S.Codec<Id, string> & S.WithoutConstructorDefault>;
|
|
164
|
-
make: () => Id;
|
|
165
|
-
} & WithDefaults<S.Codec<Id, string, never, never>>> & S.Codec<Id, string, never, never> & {
|
|
166
|
-
/**
|
|
167
|
-
* Construction-only default: fresh `nanoid()`-shaped id. Applied only
|
|
168
|
-
* when the field is omitted from `.make(...)` input. NOT applied
|
|
169
|
-
* during decode — cannot be used to JIT-migrate database fields. See
|
|
170
|
-
* file-level note.
|
|
171
|
-
*/
|
|
172
|
-
withConstructorDefault: S.withConstructorDefault<S.Codec<Id, string> & S.WithoutConstructorDefault>;
|
|
173
|
-
make: () => Id;
|
|
174
|
-
} & WithDefaults<S.Codec<Id, string, never, never>>;
|
|
127
|
+
export declare const brandedStringId: <Id extends string & B.Brand<any>>() => BrandedStringIdSchema<Id>;
|
|
175
128
|
export interface PrefixedStringUtils<Type extends StringId, Prefix extends string, Separator extends string> {
|
|
176
129
|
readonly make: () => Type;
|
|
177
130
|
readonly unsafeFrom: (str: string) => Type;
|
|
@@ -184,8 +137,19 @@ export interface PrefixedStringUtils<Type extends StringId, Prefix extends strin
|
|
|
184
137
|
*/
|
|
185
138
|
readonly withConstructorDefault: S.withConstructorDefault<S.Codec<Type, string> & S.WithoutConstructorDefault>;
|
|
186
139
|
}
|
|
187
|
-
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> {
|
|
188
149
|
}
|
|
189
150
|
export type Url = string & UrlBrand;
|
|
190
|
-
export
|
|
191
|
-
|
|
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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"}
|
|
@@ -7,60 +7,40 @@ import validator from "validator";
|
|
|
7
7
|
import { fromBrand, nominal } from "./brand.js";
|
|
8
8
|
import { withDefaultMake } from "./ext.js";
|
|
9
9
|
const nonEmptyString = S.NonEmptyString;
|
|
10
|
-
/**
|
|
11
|
-
* A string that is at least 1 character long and a maximum of 50.
|
|
12
|
-
*/
|
|
13
10
|
export const NonEmptyString50 = nonEmptyString.pipe(S.check(S.isMaxLength(50)), fromBrand(nominal(), {
|
|
14
11
|
identifier: "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
16
|
jsonSchema: {}
|
|
23
17
|
}), withDefaultMake);
|
|
24
|
-
/**
|
|
25
|
-
* A string that is at least 1 character long and a maximum of 80.
|
|
26
|
-
*/
|
|
27
18
|
export const NonEmptyString80 = nonEmptyString.pipe(S.check(S.isMaxLength(80)), fromBrand(nominal(), {
|
|
28
19
|
identifier: "NonEmptyString80",
|
|
29
20
|
jsonSchema: {}
|
|
30
21
|
}), withDefaultMake);
|
|
31
|
-
/**
|
|
32
|
-
* A string that is at least 1 character long and a maximum of 100.
|
|
33
|
-
*/
|
|
34
22
|
export const NonEmptyString100 = nonEmptyString.pipe(S.check(S.isMaxLength(100)), fromBrand(nominal(), {
|
|
35
23
|
identifier: "NonEmptyString100",
|
|
36
24
|
jsonSchema: {}
|
|
37
25
|
}), withDefaultMake);
|
|
38
|
-
/**
|
|
39
|
-
* A string that is at least 3 character long and a maximum of 255.
|
|
40
|
-
*/
|
|
41
26
|
export const Min3String255 = pipe(S.String, S.check(S.isMinLength(3), S.isMaxLength(255)), fromBrand(nominal(), {
|
|
42
27
|
identifier: "Min3String255",
|
|
43
28
|
jsonSchema: {}
|
|
44
29
|
}), withDefaultMake);
|
|
45
|
-
const makeStringId = (s) => s !== undefined ? S.decodeSync(StringId)(s) : nanoid();
|
|
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
|
-
* `.withConstructorDefault` => fresh `nanoid()` (construction-only; not
|
|
57
|
-
* applied during decode — see file-level note).
|
|
58
|
-
*/
|
|
59
|
-
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(), {
|
|
60
35
|
identifier: "StringId",
|
|
61
36
|
toArbitrary: () => (fc) => StringIdArb()(fc),
|
|
62
37
|
jsonSchema: {}
|
|
63
|
-
}))
|
|
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) => ({
|
|
64
44
|
make: makeStringId,
|
|
65
45
|
/**
|
|
66
46
|
* Construction-only default: fresh `nanoid()`-shaped `StringId`. Applied
|
|
@@ -71,8 +51,6 @@ export const StringId = extendM(pipe(S.String, S.check(S.isMinLength(minLength),
|
|
|
71
51
|
withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(makeStringId)))
|
|
72
52
|
}))
|
|
73
53
|
.pipe(withDefaultMake);
|
|
74
|
-
// const prefixedStringIdUnsafe = (prefix: string) => StringId(prefix + StringId.make())
|
|
75
|
-
// const prefixedStringIdUnsafeThunk = (prefix: string) => () => prefixedStringIdUnsafe(prefix)
|
|
76
54
|
/**
|
|
77
55
|
* Build a `StringId` schema whose values are required to start with a fixed
|
|
78
56
|
* `prefix` (joined with `separator`, default `-`).
|
|
@@ -86,7 +64,7 @@ export function prefixedStringId() {
|
|
|
86
64
|
const pref = `${prefix}${separator ?? "-"}`;
|
|
87
65
|
const arb = () => (fc) => StringIdArb()(fc).map((x) => (pref + x.substring(0, 50 - pref.length)));
|
|
88
66
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
89
|
-
const s =
|
|
67
|
+
const s = StringIdSchemaBase
|
|
90
68
|
.pipe(S.refine((x) => x.startsWith(pref), {
|
|
91
69
|
identifier: name
|
|
92
70
|
}), S.annotate({
|
|
@@ -136,4 +114,4 @@ export const Url = S
|
|
|
136
114
|
}), S.annotate({
|
|
137
115
|
toArbitrary: () => (fc) => fc.webUrl().map((_) => _)
|
|
138
116
|
}), withDefaultMake);
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZVN0cmluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL21vcmVTdHJpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUUxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdEMsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFHbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQzFELE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQTtBQUNqQyxPQUFPLEVBQXNCLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUkxQyxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFBO0FBa0J2QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBMkIsY0FBYyxDQUFDLElBQUksQ0FDekUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQzFCLFNBQVMsQ0FBbUIsT0FBTyxFQUFvQixFQUFFO0lBQ3ZELFVBQVUsRUFBRSxrQkFBa0I7SUFDOUIsVUFBVSxFQUFFLEVBQUU7Q0FDZixDQUFDLEVBQ0YsZUFBZSxDQUNoQixDQUFBO0FBa0JELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUEyQixjQUFjLENBQUMsSUFBSSxDQUN6RSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDMUIsU0FBUyxDQUFtQixPQUFPLEVBQW9CLEVBQUU7SUFDdkQsVUFBVSxFQUFFLGtCQUFrQjtJQUM5QixVQUFV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
|