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/dist/Schema/numbers.d.ts
CHANGED
|
@@ -1,86 +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
|
-
/** Positive integer. `.withConstructorDefault` => `1` (construction-only). */
|
|
7
|
-
export declare const PositiveInt: import("./ext.js").WithDefaults<import("./brand.js").BrandedSchema<S.Int, PositiveInt>> & import("./brand.js").BrandedSchema<S.Int, PositiveInt> & {
|
|
8
|
-
/**
|
|
9
|
-
* Construction-only default `1`. Applied only when the field is omitted
|
|
10
|
-
* from `.make(...)` input. NOT applied during decode — cannot be used to
|
|
11
|
-
* JIT-migrate database fields. See file-level note.
|
|
12
|
-
*/
|
|
13
|
-
withConstructorDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<import("./brand.js").BrandedSchema<S.Int, PositiveInt>> & import("./brand.js").BrandedSchema<S.Int, PositiveInt>>;
|
|
14
|
-
};
|
|
15
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;
|
|
16
15
|
export interface NonNegativeIntBrand extends Simplify<B.Brand<"NonNegativeInt"> & IntBrand & NonNegativeNumberBrand> {
|
|
17
16
|
}
|
|
18
|
-
/** Non-negative integer. `.withConstructorDefault` => `0` (construction-only). */
|
|
19
|
-
export declare const NonNegativeInt: import("./ext.js").WithDefaults<import("./brand.js").BrandedSchema<S.Int, NonNegativeInt>> & import("./brand.js").BrandedSchema<S.Int, NonNegativeInt> & {
|
|
20
|
-
/**
|
|
21
|
-
* Construction-only default `0`. Applied only when the field is omitted
|
|
22
|
-
* from `.make(...)` input. NOT applied during decode — cannot be used to
|
|
23
|
-
* JIT-migrate database fields. See file-level note.
|
|
24
|
-
*/
|
|
25
|
-
withConstructorDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<import("./brand.js").BrandedSchema<S.Int, NonNegativeInt>> & import("./brand.js").BrandedSchema<S.Int, NonNegativeInt>>;
|
|
26
|
-
};
|
|
27
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;
|
|
28
24
|
export interface IntBrand extends Simplify<B.Brand<"Int">> {
|
|
29
25
|
}
|
|
30
|
-
/** Integer. `.withConstructorDefault` => `0` (construction-only). */
|
|
31
|
-
export declare const Int: import("./ext.js").WithDefaults<import("./brand.js").BrandedSchema<S.Int, Int>> & import("./brand.js").BrandedSchema<S.Int, Int> & {
|
|
32
|
-
/**
|
|
33
|
-
* Construction-only default `0`. Applied only when the field is omitted
|
|
34
|
-
* from `.make(...)` input. NOT applied during decode — cannot be used to
|
|
35
|
-
* JIT-migrate database fields. See file-level note.
|
|
36
|
-
*/
|
|
37
|
-
withConstructorDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<import("./brand.js").BrandedSchema<S.Int, Int>> & import("./brand.js").BrandedSchema<S.Int, Int>>;
|
|
38
|
-
};
|
|
39
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;
|
|
40
33
|
export interface PositiveNumberBrand extends Simplify<B.Brand<"PositiveNumber"> & NonNegativeNumberBrand> {
|
|
41
34
|
}
|
|
42
|
-
/** Positive finite number. `.withConstructorDefault` => `1` (construction-only). */
|
|
43
|
-
export declare const PositiveNumber: import("./ext.js").WithDefaults<import("./brand.js").BrandedSchema<S.Finite, PositiveNumber>> & import("./brand.js").BrandedSchema<S.Finite, PositiveNumber> & {
|
|
44
|
-
/**
|
|
45
|
-
* Construction-only default `1`. Applied only when the field is omitted
|
|
46
|
-
* from `.make(...)` input. NOT applied during decode — cannot be used to
|
|
47
|
-
* JIT-migrate database fields. See file-level note.
|
|
48
|
-
*/
|
|
49
|
-
withConstructorDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<import("./brand.js").BrandedSchema<S.Finite, PositiveNumber>> & import("./brand.js").BrandedSchema<S.Finite, PositiveNumber>>;
|
|
50
|
-
};
|
|
51
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;
|
|
52
42
|
export interface NonNegativeNumberBrand extends Simplify<B.Brand<"NonNegativeNumber">> {
|
|
53
43
|
}
|
|
54
|
-
/** Non-negative finite number. `.withConstructorDefault` => `0` (construction-only). */
|
|
55
|
-
export declare const NonNegativeNumber: import("./ext.js").WithDefaults<import("./brand.js").BrandedSchema<S.Finite, NonNegativeNumber>> & import("./brand.js").BrandedSchema<S.Finite, NonNegativeNumber> & {
|
|
56
|
-
/**
|
|
57
|
-
* Construction-only default `0`. Applied only when the field is omitted
|
|
58
|
-
* from `.make(...)` input. NOT applied during decode — cannot be used to
|
|
59
|
-
* JIT-migrate database fields. See file-level note.
|
|
60
|
-
*/
|
|
61
|
-
withConstructorDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<import("./brand.js").BrandedSchema<S.Finite, NonNegativeNumber>> & import("./brand.js").BrandedSchema<S.Finite, NonNegativeNumber>>;
|
|
62
|
-
};
|
|
63
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;
|
|
64
51
|
/** @deprecated Not an actual decimal */
|
|
65
|
-
export declare const NonNegativeDecimal:
|
|
66
|
-
/**
|
|
67
|
-
* Construction-only default `0`. Applied only when the field is omitted
|
|
68
|
-
* from `.make(...)` input. NOT applied during decode — cannot be used to
|
|
69
|
-
* JIT-migrate database fields. See file-level note.
|
|
70
|
-
*/
|
|
71
|
-
withConstructorDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<import("./brand.js").BrandedSchema<S.Finite, NonNegativeNumber>> & import("./brand.js").BrandedSchema<S.Finite, NonNegativeNumber>>;
|
|
72
|
-
};
|
|
52
|
+
export declare const NonNegativeDecimal: NonNegativeNumberSchema;
|
|
73
53
|
/** @deprecated Not an actual decimal */
|
|
74
54
|
export type NonNegativeDecimal = NonNegativeNumber;
|
|
75
55
|
/** @deprecated Not an actual decimal */
|
|
76
|
-
export declare const PositiveDecimal:
|
|
77
|
-
/**
|
|
78
|
-
* Construction-only default `1`. Applied only when the field is omitted
|
|
79
|
-
* from `.make(...)` input. NOT applied during decode — cannot be used to
|
|
80
|
-
* JIT-migrate database fields. See file-level note.
|
|
81
|
-
*/
|
|
82
|
-
withConstructorDefault: S.withConstructorDefault<import("./ext.js").WithDefaults<import("./brand.js").BrandedSchema<S.Finite, PositiveNumber>> & import("./brand.js").BrandedSchema<S.Finite, PositiveNumber>>;
|
|
83
|
-
};
|
|
56
|
+
export declare const PositiveDecimal: PositiveNumberSchema;
|
|
84
57
|
/** @deprecated Not an actual decimal */
|
|
85
58
|
export type PositiveDecimal = PositiveNumber;
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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":"AAYA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;
|
|
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
|
@@ -13,7 +13,6 @@ import * as Effect from "effect/Effect";
|
|
|
13
13
|
import * as S from "effect/Schema";
|
|
14
14
|
import { fromBrand, nominal } from "./brand.js";
|
|
15
15
|
import { withDefaultMake } from "./ext.js";
|
|
16
|
-
/** Positive integer. `.withConstructorDefault` => `1` (construction-only). */
|
|
17
16
|
export const PositiveInt = extendM(S.Int.pipe(S.check(S.isGreaterThan(0)), fromBrand(nominal(), { identifier: "PositiveInt", jsonSchema: {} }), withDefaultMake), (s) => ({
|
|
18
17
|
/**
|
|
19
18
|
* Construction-only default `1`. Applied only when the field is omitted
|
|
@@ -22,7 +21,6 @@ export const PositiveInt = extendM(S.Int.pipe(S.check(S.isGreaterThan(0)), fromB
|
|
|
22
21
|
*/
|
|
23
22
|
withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => s(1))))
|
|
24
23
|
}));
|
|
25
|
-
/** Non-negative integer. `.withConstructorDefault` => `0` (construction-only). */
|
|
26
24
|
export const NonNegativeInt = extendM(S.Int.pipe(S.check(S.isGreaterThanOrEqualTo(0)), fromBrand(nominal(), {
|
|
27
25
|
identifier: "NonNegativeInt",
|
|
28
26
|
jsonSchema: {}
|
|
@@ -34,7 +32,6 @@ export const NonNegativeInt = extendM(S.Int.pipe(S.check(S.isGreaterThanOrEqualT
|
|
|
34
32
|
*/
|
|
35
33
|
withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => s(0))))
|
|
36
34
|
}));
|
|
37
|
-
/** Integer. `.withConstructorDefault` => `0` (construction-only). */
|
|
38
35
|
export const Int = extendM(S.Int.pipe(fromBrand(nominal(), { identifier: "Int", jsonSchema: {} }), withDefaultMake), (s) => ({
|
|
39
36
|
/**
|
|
40
37
|
* Construction-only default `0`. Applied only when the field is omitted
|
|
@@ -43,7 +40,6 @@ export const Int = extendM(S.Int.pipe(fromBrand(nominal(), { identifier: "Int",
|
|
|
43
40
|
*/
|
|
44
41
|
withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => s(0))))
|
|
45
42
|
}));
|
|
46
|
-
/** Positive finite number. `.withConstructorDefault` => `1` (construction-only). */
|
|
47
43
|
export const PositiveNumber = extendM(S.Finite.pipe(S.check(S.isGreaterThan(0)), fromBrand(nominal(), {
|
|
48
44
|
identifier: "PositiveNumber",
|
|
49
45
|
jsonSchema: {}
|
|
@@ -55,7 +51,6 @@ export const PositiveNumber = extendM(S.Finite.pipe(S.check(S.isGreaterThan(0)),
|
|
|
55
51
|
*/
|
|
56
52
|
withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => s(1))))
|
|
57
53
|
}));
|
|
58
|
-
/** Non-negative finite number. `.withConstructorDefault` => `0` (construction-only). */
|
|
59
54
|
export const NonNegativeNumber = extendM(S
|
|
60
55
|
.Finite
|
|
61
56
|
.pipe(S.check(S.isGreaterThanOrEqualTo(0)), fromBrand(nominal(), {
|
|
@@ -73,4 +68,4 @@ export const NonNegativeNumber = extendM(S
|
|
|
73
68
|
export const NonNegativeDecimal = NonNegativeNumber;
|
|
74
69
|
/** @deprecated Not an actual decimal */
|
|
75
70
|
export const PositiveDecimal = PositiveNumber;
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY2hlbWEvbnVtYmVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7O0dBU0c7QUFDSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFHbEMsT0FBTyxFQUFzQixTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFZMUMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFzQixPQUFPLENBQ25ELENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNSLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUMzQixTQUFTLENBQWMsT0FBTyxFQUFlLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUM3RixlQUFlLENBQ2hCLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDTjs7OztPQUlHO0lBQ0gsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ2xGLENBQUMsQ0FDSCxDQUFBO0FBU0QsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUF5QixPQUFPLENBQ3pELENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNSLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3BDLFNB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
|
package/dist/Schema/strings.d.ts
CHANGED
|
@@ -1,19 +1,33 @@
|
|
|
1
1
|
import type * as B from "effect/Brand";
|
|
2
2
|
import * as S from "effect/Schema";
|
|
3
|
+
import type * as SchemaAST from "effect/SchemaAST";
|
|
3
4
|
import type { Simplify } from "effect/Types";
|
|
5
|
+
import { type BrandedSchema } from "./brand.js";
|
|
4
6
|
export type NonEmptyStringBrand = B.Brand<"NonEmptyString">;
|
|
5
7
|
export type NonEmptyString = string & NonEmptyStringBrand;
|
|
6
|
-
export
|
|
8
|
+
export interface NonEmptyStringSchema extends BrandedSchema<S.NonEmptyString, NonEmptyString> {
|
|
9
|
+
(i: string, options?: SchemaAST.ParseOptions): NonEmptyString;
|
|
10
|
+
}
|
|
11
|
+
export declare const NonEmptyString: NonEmptyStringSchema;
|
|
7
12
|
export interface NonEmptyString64kBrand extends Simplify<B.Brand<"NonEmptyString64k"> & NonEmptyStringBrand> {
|
|
8
13
|
}
|
|
9
14
|
export type NonEmptyString64k = string & NonEmptyString64kBrand;
|
|
10
|
-
export
|
|
15
|
+
export interface NonEmptyString64kSchema extends BrandedSchema<S.NonEmptyString, NonEmptyString64k> {
|
|
16
|
+
(i: string, options?: SchemaAST.ParseOptions): NonEmptyString64k;
|
|
17
|
+
}
|
|
18
|
+
export declare const NonEmptyString64k: NonEmptyString64kSchema;
|
|
11
19
|
export interface NonEmptyString2kBrand extends Simplify<B.Brand<"NonEmptyString2k"> & NonEmptyString64kBrand> {
|
|
12
20
|
}
|
|
13
21
|
export type NonEmptyString2k = string & NonEmptyString2kBrand;
|
|
14
|
-
export
|
|
22
|
+
export interface NonEmptyString2kSchema extends BrandedSchema<S.NonEmptyString, NonEmptyString2k> {
|
|
23
|
+
(i: string, options?: SchemaAST.ParseOptions): NonEmptyString2k;
|
|
24
|
+
}
|
|
25
|
+
export declare const NonEmptyString2k: NonEmptyString2kSchema;
|
|
15
26
|
export interface NonEmptyString255Brand extends Simplify<B.Brand<"NonEmptyString255"> & NonEmptyString2kBrand> {
|
|
16
27
|
}
|
|
17
28
|
export type NonEmptyString255 = string & NonEmptyString255Brand;
|
|
18
|
-
export
|
|
19
|
-
|
|
29
|
+
export interface NonEmptyString255Schema extends BrandedSchema<S.NonEmptyString, NonEmptyString255> {
|
|
30
|
+
(i: string, options?: SchemaAST.ParseOptions): NonEmptyString255;
|
|
31
|
+
}
|
|
32
|
+
export declare const NonEmptyString255: NonEmptyString255Schema;
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjaGVtYS9zdHJpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxLQUFLLENBQUMsTUFBTSxjQUFjLENBQUE7QUFDdEMsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFDbEMsT0FBTyxLQUFLLEtBQUssU0FBUyxNQUFNLGtCQUFrQixDQUFBO0FBQ2xELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQXNCLE1BQU0sWUFBWSxDQUFBO0FBR25FLE1BQU0sTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUE7QUFDM0QsTUFBTSxNQUFNLGNBQWMsR0FBRyxNQUFNLEdBQUcsbUJBQW1CLENBQUE7QUFDekQsTUFBTSxXQUFXLG9CQUFxQixTQUFRLGFBQWEsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQztJQUMzRixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLFlBQVksR0FBRyxjQUFjLENBQUE7Q0FDOUQ7QUFDRCxlQUFPLE1BQU0sY0FBYyxFQUFFLG9CQVExQixDQUFBO0FBRUgsTUFBTSxXQUFXLHNCQUF1QixTQUFRLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsbUJBQW1CLENBQUM7Q0FBRztBQUMvRyxNQUFNLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxHQUFHLHNCQUFzQixDQUFBO0FBQy9ELE1BQU0sV0FBVyx1QkFBd0IsU0FBUSxhQUFhLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQztJQUNqRyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLFlBQVksR0FBRyxpQkFBaUIsQ0FBQTtDQUNqRTtBQUNELGVBQU8sTUFBTSxpQkFBaUIsRUFBRSx1QkFTN0IsQ0FBQTtBQUVILE1BQU0sV0FBVyxxQkFBc0IsU0FBUSxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLHNCQUFzQixDQUFDO0NBQUc7QUFDaEgsTUFBTSxNQUFNLGdCQUFnQixHQUFHLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQTtBQUM3RCxNQUFNLFdBQVcsc0JBQXVCLFNBQVEsYUFBYSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUM7SUFDL0YsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFNBQVMsQ0FBQyxZQUFZLEdBQUcsZ0JBQWdCLENBQUE7Q0FDaEU7QUFDRCxlQUFPLE1BQU0sZ0JBQWdCLEVBQUUsc0JBUzVCLENBQUE7QUFFSCxNQUFNLFdBQVcsc0JBQXVCLFNBQVEsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsR0FBRyxxQkFBcUIsQ0FBQztDQUFHO0FBQ2pILE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxNQUFNLEdBQUcsc0JBQXNCLENBQUE7QUFDL0QsTUFBTSxXQUFXLHVCQUF3QixTQUFRLGFBQWEsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDO0lBQ2pHLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLENBQUMsWUFBWSxHQUFHLGlCQUFpQixDQUFBO0NBQ2pFO0FBQ0QsZUFBTyxNQUFNLGlCQUFpQixFQUFFLHVCQVM3QixDQUFBIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/Schema/strings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/Schema/strings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAsB,MAAM,YAAY,CAAA;AAGnE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;AAC3D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,mBAAmB,CAAA;AACzD,MAAM,WAAW,oBAAqB,SAAQ,aAAa,CAAC,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC;IAC3F,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,YAAY,GAAG,cAAc,CAAA;CAC9D;AACD,eAAO,MAAM,cAAc,EAAE,oBAQ1B,CAAA;AAEH,MAAM,WAAW,sBAAuB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;CAAG;AAC/G,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,sBAAsB,CAAA;AAC/D,MAAM,WAAW,uBAAwB,SAAQ,aAAa,CAAC,CAAC,CAAC,cAAc,EAAE,iBAAiB,CAAC;IACjG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,YAAY,GAAG,iBAAiB,CAAA;CACjE;AACD,eAAO,MAAM,iBAAiB,EAAE,uBAS7B,CAAA;AAEH,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,sBAAsB,CAAC;CAAG;AAChH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,qBAAqB,CAAA;AAC7D,MAAM,WAAW,sBAAuB,SAAQ,aAAa,CAAC,CAAC,CAAC,cAAc,EAAE,gBAAgB,CAAC;IAC/F,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,YAAY,GAAG,gBAAgB,CAAA;CAChE;AACD,eAAO,MAAM,gBAAgB,EAAE,sBAS5B,CAAA;AAEH,MAAM,WAAW,sBAAuB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,qBAAqB,CAAC;CAAG;AACjH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,sBAAsB,CAAA;AAC/D,MAAM,WAAW,uBAAwB,SAAQ,aAAa,CAAC,CAAC,CAAC,cAAc,EAAE,iBAAiB,CAAC;IACjG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,YAAY,GAAG,iBAAiB,CAAA;CACjE;AACD,eAAO,MAAM,iBAAiB,EAAE,uBAS7B,CAAA"}
|
package/dist/Schema/strings.js
CHANGED
|
@@ -25,4 +25,4 @@ export const NonEmptyString255 = S
|
|
|
25
25
|
identifier: "NonEmptyString255",
|
|
26
26
|
jsonSchema: {}
|
|
27
27
|
}), withDefaultMake);
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY2hlbWEvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQUdsQyxPQUFPLEVBQXNCLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQU8xQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQXlCLENBQUM7S0FDbEQsY0FBYztLQUNkLElBQUksQ0FDSCxTQUFTLENBQWlCLE9BQU8sRUFBa0IsRUFBRTtJQUNuRCxVQUFVLEVBQUUsZ0JBQWdCO0lBQzVCLFVBQVUsRUFBRSxFQUFFO0NBQ2YsQ0FBQyxFQUNGLGVBQWUsQ0FDaEIsQ0FBQTtBQU9ILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUE0QixDQUFDO0tBQ3hELGNBQWM7S0FDZCxJQUFJLENBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUNqQyxTQUFTLENBQW9CLE9BQU8sRUFBcUIsRUFBRTtJQUN6RCxVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLFVBQVUsRUFBRSxFQUFFO0NBQ2YsQ0FBQyxFQUNGLGVBQWUsQ0FDaEIsQ0FBQTtBQU9ILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUEyQixDQUFDO0tBQ3RELGNBQWM7S0FDZCxJQUFJLENBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUNoQyxTQUFTLENBQW1CLE9BQU8sRUFBb0IsRUFBRTtJQUN2RCxVQUFVLEVBQUUsa0JBQWtCO0lBQzlCLFVBQVUsRUFBRSxFQUFFO0NBQ2YsQ0FBQyxFQUNGLGVBQWUsQ0FDaEIsQ0FBQTtBQU9ILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUE0QixDQUFDO0tBQ3hELGNBQWM7S0FDZCxJQUFJLENBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQzNCLFNBQVMsQ0FBb0IsT0FBTyxFQUFxQixFQUFFO0lBQ3pELFVBQVUsRUFBRSxtQkFBbUI7SUFDL0IsVUFBVSxFQUFFLEVBQUU7Q0FDZixDQUFDLEVBQ0YsZUFBZSxDQUNoQixDQUFBIn0=
|
package/dist/ids.d.ts
CHANGED
|
@@ -44,11 +44,5 @@ export type UserProfileId = string & UserProfileIdBrand;
|
|
|
44
44
|
* Exposes `.withConstructorDefault` (fresh id) — construction-only; not
|
|
45
45
|
* applied during decode. See `./Schema/ext.ts` for the full policy note.
|
|
46
46
|
*/
|
|
47
|
-
export declare const UserProfileId: S.
|
|
48
|
-
|
|
49
|
-
make: () => UserProfileId;
|
|
50
|
-
} & S.WithDefaults<Codec<UserProfileId, string, never, never>>> & Codec<UserProfileId, string, never, never> & {
|
|
51
|
-
withConstructorDefault: S.withConstructorDefault<Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
|
|
52
|
-
make: () => UserProfileId;
|
|
53
|
-
} & S.WithDefaults<Codec<UserProfileId, string, never, never>>;
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsS0FBSyxLQUFLLEVBQUUsaUJBQWlCLEVBQVksS0FBSyxhQUFhLEVBQW1CLE1BQU0sbUJBQW1CLENBQUE7QUFDakksT0FBTyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFakQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzVDLE9BQU8sS0FBSyxDQUFDLE1BQU0sYUFBYSxDQUFBO0FBR2hDLE1BQU0sV0FBVyxjQUFlLFNBQVEsYUFBYTtJQUNuRCxRQUFRLENBQUMsU0FBUyxFQUFFLE9BQU8sTUFBTSxDQUFBO0NBQ2xDO0FBRUQsTUFBTSxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQTtBQUN6Qzs7Ozs7Ozs7O0dBU0c7QUFDSCxlQUFPLE1BQU0sU0FBUztnQkFJa0IsaUJBQWlCO0lBR25EOzs7OztPQUtHOzs7O0lBTEg7Ozs7O09BS0c7O0NBS2UsQ0FBQTtBQUV4QixNQUFNLFdBQVcsa0JBQW1CLFNBQVEsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEdBQUcsYUFBYSxDQUFDO0NBQUc7QUFDakcsTUFBTSxNQUFNLGFBQWEsR0FBRyxNQUFNLEdBQUcsa0JBQWtCLENBQUE7QUFDdkQ7Ozs7O0dBS0c7QUFDSCxlQUFPLE1BQU0sYUFBYTs7Ozs7OzhEQUFtQyxDQUFBIn0=
|
|
47
|
+
export declare const UserProfileId: S.BrandedStringIdSchema<UserProfileId>;
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsS0FBSyxLQUFLLEVBQUUsaUJBQWlCLEVBQVksS0FBSyxhQUFhLEVBQW1CLE1BQU0sbUJBQW1CLENBQUE7QUFDakksT0FBTyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFakQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzVDLE9BQU8sS0FBSyxDQUFDLE1BQU0sYUFBYSxDQUFBO0FBR2hDLE1BQU0sV0FBVyxjQUFlLFNBQVEsYUFBYTtJQUNuRCxRQUFRLENBQUMsU0FBUyxFQUFFLE9BQU8sTUFBTSxDQUFBO0NBQ2xDO0FBRUQsTUFBTSxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQTtBQUN6Qzs7Ozs7Ozs7O0dBU0c7QUFDSCxlQUFPLE1BQU0sU0FBUztnQkFJa0IsaUJBQWlCO0lBR25EOzs7OztPQUtHOzs7O0lBTEg7Ozs7O09BS0c7O0NBS2UsQ0FBQTtBQUV4QixNQUFNLFdBQVcsa0JBQW1CLFNBQVEsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEdBQUcsYUFBYSxDQUFDO0NBQUc7QUFDakcsTUFBTSxNQUFNLGFBQWEsR0FBRyxNQUFNLEdBQUcsa0JBQWtCLENBQUE7QUFDdkQ7Ozs7O0dBS0c7QUFDSCxlQUFPLE1BQU0sYUFBYSx3Q0FBbUMsQ0FBQSJ9
|
package/dist/ids.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,KAAK,EAAE,iBAAiB,EAAY,KAAK,aAAa,EAAmB,MAAM,mBAAmB,CAAA;AACjI,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,0BAA0B,CAAA;AAEjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,CAAC,MAAM,aAAa,CAAA;AAGhC,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,QAAQ,CAAC,SAAS,EAAE,OAAO,MAAM,CAAA;CAClC;AAED,MAAM,MAAM,SAAS,GAAG,iBAAiB,CAAA;AACzC;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;gBAIkB,iBAAiB;IAGnD;;;;;OAKG;;;;IALH;;;;;OAKG;;CAKe,CAAA;AAExB,MAAM,WAAW,kBAAmB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;CAAG;AACjG,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,kBAAkB,CAAA;AACvD;;;;;GAKG;AACH,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,KAAK,EAAE,iBAAiB,EAAY,KAAK,aAAa,EAAmB,MAAM,mBAAmB,CAAA;AACjI,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,0BAA0B,CAAA;AAEjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,CAAC,MAAM,aAAa,CAAA;AAGhC,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,QAAQ,CAAC,SAAS,EAAE,OAAO,MAAM,CAAA;CAClC;AAED,MAAM,MAAM,SAAS,GAAG,iBAAiB,CAAA;AACzC;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;gBAIkB,iBAAiB;IAGnD;;;;;OAKG;;;;IALH;;;;;OAKG;;CAKe,CAAA;AAExB,MAAM,WAAW,kBAAmB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;CAAG;AACjG,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,kBAAkB,CAAA;AACvD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,wCAAmC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-app",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.256",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"vitest": "^4.1.5"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
|
-
"effect": "^4.0.0-beta.
|
|
27
|
+
"effect": "^4.0.0-beta.71"
|
|
28
28
|
},
|
|
29
29
|
"typesVersions": {
|
|
30
30
|
"*": {
|
|
@@ -10,15 +10,17 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import type { Refinement } from "effect-app/Function"
|
|
12
12
|
import { extendM } from "effect-app/utils"
|
|
13
|
+
import type * as B from "effect/Brand"
|
|
13
14
|
import * as Effect from "effect/Effect"
|
|
14
15
|
import { pipe } from "effect/Function"
|
|
15
16
|
import * as S from "effect/Schema"
|
|
17
|
+
import type * as SchemaAST from "effect/SchemaAST"
|
|
16
18
|
import type { Simplify } from "effect/Types"
|
|
17
19
|
import { customRandom, nanoid, urlAlphabet } from "nanoid"
|
|
18
20
|
import validator from "validator"
|
|
19
|
-
import { fromBrand, nominal } from "./brand.js"
|
|
20
|
-
import { withDefaultMake
|
|
21
|
-
import { type B } from "./schema.js"
|
|
21
|
+
import { type BrandedSchema, fromBrand, nominal } from "./brand.js"
|
|
22
|
+
import { withDefaultMake } from "./ext.js"
|
|
23
|
+
import { type B as SchemaB } from "./schema.js"
|
|
22
24
|
import type { NonEmptyString255Brand, NonEmptyStringBrand } from "./strings.js"
|
|
23
25
|
|
|
24
26
|
const nonEmptyString = S.NonEmptyString
|
|
@@ -26,7 +28,7 @@ const nonEmptyString = S.NonEmptyString
|
|
|
26
28
|
/**
|
|
27
29
|
* A string that is at least 1 character long and a maximum of 50.
|
|
28
30
|
*/
|
|
29
|
-
export interface NonEmptyString50Brand extends Simplify<
|
|
31
|
+
export interface NonEmptyString50Brand extends Simplify<SchemaB.Brand<"NonEmptyString50"> & NonEmptyString64Brand> {}
|
|
30
32
|
|
|
31
33
|
/**
|
|
32
34
|
* A string that is at least 1 character long and a maximum of 50.
|
|
@@ -36,7 +38,10 @@ export type NonEmptyString50 = string & NonEmptyString50Brand
|
|
|
36
38
|
/**
|
|
37
39
|
* A string that is at least 1 character long and a maximum of 50.
|
|
38
40
|
*/
|
|
39
|
-
export
|
|
41
|
+
export interface NonEmptyString50Schema extends BrandedSchema<S.NonEmptyString, NonEmptyString50> {
|
|
42
|
+
(i: string, options?: SchemaAST.ParseOptions): NonEmptyString50
|
|
43
|
+
}
|
|
44
|
+
export const NonEmptyString50: NonEmptyString50Schema = nonEmptyString.pipe(
|
|
40
45
|
S.check(S.isMaxLength(50)),
|
|
41
46
|
fromBrand<NonEmptyString50>(nominal<NonEmptyString50>(), {
|
|
42
47
|
identifier: "NonEmptyString50",
|
|
@@ -48,7 +53,7 @@ export const NonEmptyString50 = nonEmptyString.pipe(
|
|
|
48
53
|
/**
|
|
49
54
|
* A string that is at least 1 character long and a maximum of 64.
|
|
50
55
|
*/
|
|
51
|
-
export interface NonEmptyString64Brand extends Simplify<
|
|
56
|
+
export interface NonEmptyString64Brand extends Simplify<SchemaB.Brand<"NonEmptyString64"> & NonEmptyString80Brand> {}
|
|
52
57
|
|
|
53
58
|
/**
|
|
54
59
|
* A string that is at least 1 character long and a maximum of 64.
|
|
@@ -58,7 +63,10 @@ export type NonEmptyString64 = string & NonEmptyString64Brand
|
|
|
58
63
|
/**
|
|
59
64
|
* A string that is at least 1 character long and a maximum of 64.
|
|
60
65
|
*/
|
|
61
|
-
export
|
|
66
|
+
export interface NonEmptyString64Schema extends BrandedSchema<S.NonEmptyString, NonEmptyString64> {
|
|
67
|
+
(i: string, options?: SchemaAST.ParseOptions): NonEmptyString64
|
|
68
|
+
}
|
|
69
|
+
export const NonEmptyString64: NonEmptyString64Schema = nonEmptyString.pipe(
|
|
62
70
|
S.check(S.isMaxLength(64)),
|
|
63
71
|
fromBrand<NonEmptyString64>(nominal<NonEmptyString64>(), {
|
|
64
72
|
identifier: "NonEmptyString64",
|
|
@@ -70,7 +78,7 @@ export const NonEmptyString64 = nonEmptyString.pipe(
|
|
|
70
78
|
/**
|
|
71
79
|
* A string that is at least 1 character long and a maximum of 80.
|
|
72
80
|
*/
|
|
73
|
-
export interface NonEmptyString80Brand extends Simplify<
|
|
81
|
+
export interface NonEmptyString80Brand extends Simplify<SchemaB.Brand<"NonEmptyString80"> & NonEmptyString100Brand> {}
|
|
74
82
|
|
|
75
83
|
/**
|
|
76
84
|
* A string that is at least 1 character long and a maximum of 80.
|
|
@@ -81,7 +89,10 @@ export type NonEmptyString80 = string & NonEmptyString80Brand
|
|
|
81
89
|
* A string that is at least 1 character long and a maximum of 80.
|
|
82
90
|
*/
|
|
83
91
|
|
|
84
|
-
export
|
|
92
|
+
export interface NonEmptyString80Schema extends BrandedSchema<S.NonEmptyString, NonEmptyString80> {
|
|
93
|
+
(i: string, options?: SchemaAST.ParseOptions): NonEmptyString80
|
|
94
|
+
}
|
|
95
|
+
export const NonEmptyString80: NonEmptyString80Schema = nonEmptyString.pipe(
|
|
85
96
|
S.check(S.isMaxLength(80)),
|
|
86
97
|
fromBrand<NonEmptyString80>(nominal<NonEmptyString80>(), {
|
|
87
98
|
identifier: "NonEmptyString80",
|
|
@@ -93,7 +104,9 @@ export const NonEmptyString80 = nonEmptyString.pipe(
|
|
|
93
104
|
/**
|
|
94
105
|
* A string that is at least 1 character long and a maximum of 100.
|
|
95
106
|
*/
|
|
96
|
-
export interface NonEmptyString100Brand
|
|
107
|
+
export interface NonEmptyString100Brand
|
|
108
|
+
extends Simplify<SchemaB.Brand<"NonEmptyString100"> & NonEmptyString255Brand>
|
|
109
|
+
{}
|
|
97
110
|
|
|
98
111
|
/**
|
|
99
112
|
* A string that is at least 1 character long and a maximum of 100.
|
|
@@ -103,7 +116,10 @@ export type NonEmptyString100 = string & NonEmptyString100Brand
|
|
|
103
116
|
/**
|
|
104
117
|
* A string that is at least 1 character long and a maximum of 100.
|
|
105
118
|
*/
|
|
106
|
-
export
|
|
119
|
+
export interface NonEmptyString100Schema extends BrandedSchema<S.NonEmptyString, NonEmptyString100> {
|
|
120
|
+
(i: string, options?: SchemaAST.ParseOptions): NonEmptyString100
|
|
121
|
+
}
|
|
122
|
+
export const NonEmptyString100: NonEmptyString100Schema = nonEmptyString.pipe(
|
|
107
123
|
S.check(S.isMaxLength(100)),
|
|
108
124
|
fromBrand<NonEmptyString100>(nominal<NonEmptyString100>(), {
|
|
109
125
|
identifier: "NonEmptyString100",
|
|
@@ -115,7 +131,7 @@ export const NonEmptyString100 = nonEmptyString.pipe(
|
|
|
115
131
|
/**
|
|
116
132
|
* A string that is at least 3 character long and a maximum of 255.
|
|
117
133
|
*/
|
|
118
|
-
export interface Min3String255Brand extends Simplify<
|
|
134
|
+
export interface Min3String255Brand extends Simplify<SchemaB.Brand<"Min3String255"> & NonEmptyString255Brand> {}
|
|
119
135
|
|
|
120
136
|
/**
|
|
121
137
|
* A string that is at least 3 character long and a maximum of 255.
|
|
@@ -125,7 +141,10 @@ export type Min3String255 = string & Min3String255Brand
|
|
|
125
141
|
/**
|
|
126
142
|
* A string that is at least 3 character long and a maximum of 255.
|
|
127
143
|
*/
|
|
128
|
-
export
|
|
144
|
+
export interface Min3String255Schema extends BrandedSchema<S.String, Min3String255> {
|
|
145
|
+
(i: string, options?: SchemaAST.ParseOptions): Min3String255
|
|
146
|
+
}
|
|
147
|
+
export const Min3String255: Min3String255Schema = pipe(
|
|
129
148
|
S.String,
|
|
130
149
|
S.check(S.isMinLength(3), S.isMaxLength(255)),
|
|
131
150
|
fromBrand<Min3String255>(nominal<Min3String255>(), {
|
|
@@ -138,19 +157,28 @@ export const Min3String255 = pipe(
|
|
|
138
157
|
/**
|
|
139
158
|
* A string that is at least 6 characters long and a maximum of 50.
|
|
140
159
|
*/
|
|
141
|
-
export interface StringIdBrand extends Simplify<
|
|
160
|
+
export interface StringIdBrand extends Simplify<SchemaB.Brand<"StringId"> & NonEmptyString50Brand> {}
|
|
142
161
|
|
|
143
162
|
/**
|
|
144
163
|
* A string that is at least 6 characters long and a maximum of 50.
|
|
145
164
|
*/
|
|
146
165
|
export type StringId = string & StringIdBrand
|
|
147
166
|
|
|
148
|
-
const makeStringId = (s?: string): StringId =>
|
|
149
|
-
s !== undefined ? S.decodeSync(StringId)(s) : nanoid() as unknown as StringId
|
|
150
167
|
const minLength = 6
|
|
151
168
|
const maxLength = 50
|
|
152
169
|
const size = 21
|
|
153
170
|
const length = 10 * size
|
|
171
|
+
const StringIdSchemaBase = pipe(
|
|
172
|
+
S.String,
|
|
173
|
+
S.check(S.isMinLength(minLength), S.isMaxLength(maxLength)),
|
|
174
|
+
fromBrand<StringId>(nominal<StringId>(), {
|
|
175
|
+
identifier: "StringId",
|
|
176
|
+
toArbitrary: () => (fc) => StringIdArb()(fc),
|
|
177
|
+
jsonSchema: {}
|
|
178
|
+
})
|
|
179
|
+
)
|
|
180
|
+
const makeStringId = (s?: string): StringId =>
|
|
181
|
+
s !== undefined ? S.decodeSync(StringIdSchemaBase)(s) : nanoid() as unknown as StringId
|
|
154
182
|
const StringIdArb = (): S.LazyArbitrary<StringId> => (fc) =>
|
|
155
183
|
fc
|
|
156
184
|
.uint8Array({ minLength: length, maxLength: length })
|
|
@@ -161,16 +189,16 @@ const StringIdArb = (): S.LazyArbitrary<StringId> => (fc) =>
|
|
|
161
189
|
* `.withConstructorDefault` => fresh `nanoid()` (construction-only; not
|
|
162
190
|
* applied during decode — see file-level note).
|
|
163
191
|
*/
|
|
164
|
-
export
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
192
|
+
export interface StringIdSchema extends BrandedSchema<S.String, StringId> {
|
|
193
|
+
(i: string, options?: SchemaAST.ParseOptions): StringId
|
|
194
|
+
/** Generate fresh `nanoid()`-shaped `StringId`. */
|
|
195
|
+
make(): StringId
|
|
196
|
+
/** Construct a `StringId` from a known string (validated via decodeSync). */
|
|
197
|
+
make(input: string, options?: S.MakeOptions): StringId
|
|
198
|
+
readonly withConstructorDefault: S.withConstructorDefault<BrandedSchema<S.String, StringId>>
|
|
199
|
+
}
|
|
200
|
+
export const StringId: StringIdSchema = extendM(
|
|
201
|
+
StringIdSchemaBase,
|
|
174
202
|
(s) => ({
|
|
175
203
|
make: makeStringId,
|
|
176
204
|
/**
|
|
@@ -184,10 +212,6 @@ export const StringId = extendM(
|
|
|
184
212
|
)
|
|
185
213
|
.pipe(withDefaultMake)
|
|
186
214
|
|
|
187
|
-
// const prefixedStringIdUnsafe = (prefix: string) => StringId(prefix + StringId.make())
|
|
188
|
-
|
|
189
|
-
// const prefixedStringIdUnsafeThunk = (prefix: string) => () => prefixedStringIdUnsafe(prefix)
|
|
190
|
-
|
|
191
215
|
/**
|
|
192
216
|
* Build a `StringId` schema whose values are required to start with a fixed
|
|
193
217
|
* `prefix` (joined with `separator`, default `-`).
|
|
@@ -209,7 +233,7 @@ export function prefixedStringId<Type extends StringId>() {
|
|
|
209
233
|
(x) => (pref + x.substring(0, 50 - pref.length)) as Type
|
|
210
234
|
)
|
|
211
235
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
212
|
-
const s =
|
|
236
|
+
const s = StringIdSchemaBase
|
|
213
237
|
.pipe(
|
|
214
238
|
S.refine((x: string): x is Type => x.startsWith(pref), {
|
|
215
239
|
identifier: name
|
|
@@ -256,20 +280,9 @@ export function prefixedStringId<Type extends StringId>() {
|
|
|
256
280
|
* Exposes `.withConstructorDefault` that mints a fresh `nanoid()`-shaped id.
|
|
257
281
|
* Construction-only — not applied during decode; see file-level note.
|
|
258
282
|
*/
|
|
259
|
-
export const brandedStringId = <
|
|
260
|
-
Id
|
|
261
|
-
>() =>
|
|
283
|
+
export const brandedStringId = <Id extends string & B.Brand<any>>(): BrandedStringIdSchema<Id> =>
|
|
262
284
|
withDefaultMake(
|
|
263
|
-
Object.assign(Object.create(StringId), StringId) as
|
|
264
|
-
/**
|
|
265
|
-
* Construction-only default: fresh `nanoid()`-shaped id. Applied only
|
|
266
|
-
* when the field is omitted from `.make(...)` input. NOT applied
|
|
267
|
-
* during decode — cannot be used to JIT-migrate database fields. See
|
|
268
|
-
* file-level note.
|
|
269
|
-
*/
|
|
270
|
-
withConstructorDefault: S.withConstructorDefault<S.Codec<Id, string> & S.WithoutConstructorDefault>
|
|
271
|
-
make: () => Id
|
|
272
|
-
} & WithDefaults<S.Codec<Id, string>>
|
|
285
|
+
Object.assign(Object.create(StringId), StringId) as BrandedStringIdSchema<Id>
|
|
273
286
|
)
|
|
274
287
|
|
|
275
288
|
export interface PrefixedStringUtils<
|
|
@@ -289,7 +302,16 @@ export interface PrefixedStringUtils<
|
|
|
289
302
|
readonly withConstructorDefault: S.withConstructorDefault<S.Codec<Type, string> & S.WithoutConstructorDefault>
|
|
290
303
|
}
|
|
291
304
|
|
|
292
|
-
export interface
|
|
305
|
+
export interface BrandedStringIdSchema<Id extends string & B.Brand<any>> extends BrandedSchema<S.String, Id> {
|
|
306
|
+
(i: string, options?: SchemaAST.ParseOptions): Id
|
|
307
|
+
/** Generate fresh `nanoid()`-shaped id (inherited from `StringId`). */
|
|
308
|
+
make(): Id
|
|
309
|
+
/** Construct an `Id` from a known string (validated via decodeSync). */
|
|
310
|
+
make(input: string, options?: S.MakeOptions): Id
|
|
311
|
+
readonly withConstructorDefault: S.withConstructorDefault<BrandedSchema<S.String, Id>>
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
export interface UrlBrand extends Simplify<SchemaB.Brand<"Url"> & NonEmptyStringBrand> {}
|
|
293
315
|
|
|
294
316
|
export type Url = string & UrlBrand
|
|
295
317
|
|
|
@@ -297,7 +319,10 @@ const isUrl: Refinement<string, Url> = (s: string): s is Url => {
|
|
|
297
319
|
return validator.default.isURL(s, { require_tld: false })
|
|
298
320
|
}
|
|
299
321
|
|
|
300
|
-
export
|
|
322
|
+
export interface UrlSchema extends S.refine<Url, S.String> {
|
|
323
|
+
(i: string, options?: SchemaAST.ParseOptions): Url
|
|
324
|
+
}
|
|
325
|
+
export const Url: UrlSchema = S
|
|
301
326
|
.String
|
|
302
327
|
.pipe(
|
|
303
328
|
S.annotate({
|