effect-app 4.0.0-beta.202 → 4.0.0-beta.204
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/Schema/moreStrings.d.ts +22 -22
- package/dist/Schema/moreStrings.d.ts.map +1 -1
- package/dist/Schema/moreStrings.js +2 -2
- package/dist/ids.d.ts +10 -10
- package/dist/ids.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Schema/moreStrings.ts +19 -18
- package/src/ids.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -81,41 +81,41 @@ export type StringId = string & StringIdBrand;
|
|
|
81
81
|
* A string that is at least 6 characters long and a maximum of 50.
|
|
82
82
|
*/
|
|
83
83
|
export declare const StringId: WithDefaults<import("./brand.js").BrandedSchema<S.String, StringId> & {
|
|
84
|
-
make: () => StringId;
|
|
84
|
+
make: (s?: string) => StringId;
|
|
85
85
|
withDefault: S.withConstructorDefault<import("./brand.js").BrandedSchema<S.String, StringId>>;
|
|
86
86
|
}> & import("./brand.js").BrandedSchema<S.String, StringId> & {
|
|
87
|
-
make: () => StringId;
|
|
87
|
+
make: (s?: string) => StringId;
|
|
88
88
|
withDefault: S.withConstructorDefault<import("./brand.js").BrandedSchema<S.String, StringId>>;
|
|
89
89
|
};
|
|
90
|
-
export declare function prefixedStringId<
|
|
91
|
-
make: () => StringId;
|
|
90
|
+
export declare function prefixedStringId<Type extends StringId>(): <Prefix extends string, Separator extends string = "-">(prefix: Prefix, name: string, separator?: Separator) => WithDefaults<S.refine<Type, WithDefaults<import("./brand.js").BrandedSchema<S.String, StringId> & {
|
|
91
|
+
make: (s?: string) => StringId;
|
|
92
92
|
withDefault: S.withConstructorDefault<import("./brand.js").BrandedSchema<S.String, StringId>>;
|
|
93
93
|
}> & import("./brand.js").BrandedSchema<S.String, StringId> & {
|
|
94
|
-
make: () => StringId;
|
|
94
|
+
make: (s?: string) => StringId;
|
|
95
95
|
withDefault: S.withConstructorDefault<import("./brand.js").BrandedSchema<S.String, StringId>>;
|
|
96
|
-
}>> & S.refine<
|
|
97
|
-
make: () => StringId;
|
|
96
|
+
}>> & S.refine<Type, WithDefaults<import("./brand.js").BrandedSchema<S.String, StringId> & {
|
|
97
|
+
make: (s?: string) => StringId;
|
|
98
98
|
withDefault: S.withConstructorDefault<import("./brand.js").BrandedSchema<S.String, StringId>>;
|
|
99
99
|
}> & import("./brand.js").BrandedSchema<S.String, StringId> & {
|
|
100
|
-
make: () => StringId;
|
|
100
|
+
make: (s?: string) => StringId;
|
|
101
101
|
withDefault: S.withConstructorDefault<import("./brand.js").BrandedSchema<S.String, StringId>>;
|
|
102
|
-
}> & PrefixedStringUtils<
|
|
103
|
-
export declare const brandedStringId: <
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
} & WithDefaults<S.Codec<
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
} & WithDefaults<S.Codec<
|
|
110
|
-
export interface PrefixedStringUtils<
|
|
111
|
-
readonly make: () =>
|
|
112
|
-
readonly unsafeFrom: (str: string) =>
|
|
113
|
-
prefixSafe: <REST extends string>(str: `${Prefix}${Separator}${REST}`) =>
|
|
102
|
+
}> & PrefixedStringUtils<Type, Prefix, Separator>;
|
|
103
|
+
export declare const brandedStringId: <Id>() => WithDefaults<S.Codec<Id, string, never, never> & {
|
|
104
|
+
withDefault: S.withConstructorDefault<S.Codec<Id, string> & S.WithoutConstructorDefault>;
|
|
105
|
+
make: () => Id;
|
|
106
|
+
} & WithDefaults<S.Codec<Id, string, never, never>>> & S.Codec<Id, string, never, never> & {
|
|
107
|
+
withDefault: S.withConstructorDefault<S.Codec<Id, string> & S.WithoutConstructorDefault>;
|
|
108
|
+
make: () => Id;
|
|
109
|
+
} & WithDefaults<S.Codec<Id, string, never, never>>;
|
|
110
|
+
export interface PrefixedStringUtils<Type extends StringId, Prefix extends string, Separator extends string> {
|
|
111
|
+
readonly make: () => Type;
|
|
112
|
+
readonly unsafeFrom: (str: string) => Type;
|
|
113
|
+
prefixSafe: <REST extends string>(str: `${Prefix}${Separator}${REST}`) => Type;
|
|
114
114
|
readonly prefix: Prefix;
|
|
115
|
-
readonly withDefault: S.withConstructorDefault<S.Codec<
|
|
115
|
+
readonly withDefault: S.withConstructorDefault<S.Codec<Type, string> & S.WithoutConstructorDefault>;
|
|
116
116
|
}
|
|
117
117
|
export interface UrlBrand extends Simplify<B.Brand<"Url"> & NonEmptyStringBrand> {
|
|
118
118
|
}
|
|
119
119
|
export type Url = string & UrlBrand;
|
|
120
120
|
export declare const Url: WithDefaults<S.refine<Url, S.String>> & S.refine<Url, S.String>;
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZVN0cmluZ3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY2hlbWEvbW9yZVN0cmluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFDbEMsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBSTVDLE9BQU8sRUFBbUIsS0FBSyxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDN0QsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3BDLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBSS9FOztHQUVHO0FBQ0gsTUFBTSxXQUFXLHFCQUFzQixTQUFRLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEdBQUcscUJBQXFCLENBQUM7Q0FBRztBQUUvRzs7R0FFRztBQUNILE1BQU0sTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLEdBQUcscUJBQXFCLENBQUE7QUFFN0Q7O0dBRUc7QUFDSCxlQUFPLE1BQU0sZ0JBQWdCLCtKQU81QixDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcscUJBQXNCLFNBQVEsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsR0FBRyxxQkFBcUIsQ0FBQztDQUFHO0FBRS9HOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGdCQUFnQixHQUFHLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQTtBQUU3RDs7R0FFRztBQUNILGVBQU8sTUFBTSxnQkFBZ0IsK0pBTzVCLENBQUE7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyxxQkFBc0IsU0FBUSxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLHNCQUFzQixDQUFDO0NBQUc7QUFFaEg7O0dBRUc7QUFDSCxNQUFN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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moreStrings.d.ts","sourceRoot":"","sources":["../../src/Schema/moreStrings.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAI5C,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,UAAU,CAAA;AAC7D,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAI/E;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,qBAAqB,CAAC;CAAG;AAE/G;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,qBAAqB,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,gBAAgB,+JAO5B,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,qBAAqB,CAAC;CAAG;AAE/G;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,qBAAqB,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,gBAAgB,+JAO5B,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,sBAAsB,CAAC;CAAG;AAEhH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,qBAAqB,CAAA;AAE7D;;GAEG;AAEH,eAAO,MAAM,gBAAgB,+JAO5B,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,sBAAsB,CAAC;CAAG;AAElH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,sBAAsB,CAAA;AAE/D;;GAEG;AACH,eAAO,MAAM,iBAAiB,iKAO7B,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,sBAAsB,CAAC;CAAG;AAE1G;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,kBAAkB,CAAA;AAEvD;;GAEG;AACH,eAAO,MAAM,aAAa,yIAQzB,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAAC;CAAG;AAE/F;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"moreStrings.d.ts","sourceRoot":"","sources":["../../src/Schema/moreStrings.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,7 @@ export const Min3String255 = pipe(S.String, S.check(S.isMinLength(3), S.isMaxLen
|
|
|
41
41
|
identifier: "Min3String255",
|
|
42
42
|
jsonSchema: {}
|
|
43
43
|
}), withDefaultMake);
|
|
44
|
-
const makeStringId = () => nanoid();
|
|
44
|
+
const makeStringId = (s) => s !== undefined ? S.decodeSync(StringId)(s) : nanoid();
|
|
45
45
|
const minLength = 6;
|
|
46
46
|
const maxLength = 50;
|
|
47
47
|
const size = 21;
|
|
@@ -106,4 +106,4 @@ export const Url = S
|
|
|
106
106
|
}), S.annotate({
|
|
107
107
|
toArbitrary: () => (fc) => fc.webUrl().map((_) => _)
|
|
108
108
|
}), withDefaultMake);
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZVN0cmluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL21vcmVTdHJpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBRXJDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUMxQyxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQUVsQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDMUQsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFBO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQXFCLE1BQU0sVUFBVSxDQUFBO0FBSTdELE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUE7QUFZdkM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUNqRCxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDMUIsU0FBUyxDQUFtQixPQUFPLEVBQW9CLEVBQUU7SUFDdkQsVUFBVSxFQUFFLGtCQUFrQjtJQUM5QixVQUFVLEVBQUUsRUFBRTtDQUNmLENBQUMsRUFDRixlQUFlLENBQ2hCLENBQUE7QUFZRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQ2pELENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUMxQixTQUFTLENBQW1CLE9BQU8sRUFBb0IsRUFBRTtJQUN2RCxVQUFVLEVBQUUsa0JBQWtCO0lBQzlCLFVBQVUsRUFBRSxFQUFF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
|
package/dist/ids.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Codec, NonEmptyString255,
|
|
1
|
+
import { type Codec, NonEmptyString255, type StringIdBrand } from "effect-app/Schema";
|
|
2
2
|
import type { B } from "effect-app/Schema/schema";
|
|
3
3
|
import type { Simplify } from "effect/Types";
|
|
4
4
|
import { S } from "./index.js";
|
|
@@ -15,12 +15,12 @@ export declare const RequestId: S.WithDefaults<Codec<NonEmptyString255, string,
|
|
|
15
15
|
};
|
|
16
16
|
export interface UserProfileIdBrand extends Simplify<B.Brand<"UserProfileId"> & StringIdBrand> {
|
|
17
17
|
}
|
|
18
|
-
export type UserProfileId =
|
|
19
|
-
export declare const UserProfileId: S.WithDefaults<Codec<
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
} & S.WithDefaults<Codec<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
} & S.WithDefaults<Codec<
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
export type UserProfileId = string & UserProfileIdBrand;
|
|
19
|
+
export declare const UserProfileId: S.WithDefaults<Codec<UserProfileId, string, never, never> & {
|
|
20
|
+
withDefault: S.withConstructorDefault<Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
|
|
21
|
+
make: () => UserProfileId;
|
|
22
|
+
} & S.WithDefaults<Codec<UserProfileId, string, never, never>>> & Codec<UserProfileId, string, never, never> & {
|
|
23
|
+
withDefault: S.withConstructorDefault<Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
|
|
24
|
+
make: () => UserProfileId;
|
|
25
|
+
} & S.WithDefaults<Codec<UserProfileId, string, never, never>>;
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBbUIsS0FBSyxLQUFLLEVBQUUsaUJBQWlCLEVBQVksS0FBSyxhQUFhLEVBQW1CLE1BQU0sbUJBQW1CLENBQUE7QUFDakksT0FBTyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDakQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzVDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFHOUIsTUFBTSxXQUFXLGNBQWUsU0FBUSxhQUFhO0lBQ25ELFFBQVEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxNQUFNLENBQUE7Q0FDbEM7QUFFRCxNQUFNLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFBO0FBRXpDLGVBQU8sTUFBTSxTQUFTO2dCQUlrQixpQkFBaUI7Ozs7O0NBT2pDLENBQUE7QUFFeEIsTUFBTSxXQUFXLGtCQUFtQixTQUFRLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLGFBQWEsQ0FBQztDQUFHO0FBQ2pHLE1BQU0sTUFBTSxhQUFhLEdBQUcsTUFBTSxHQUFHLGtCQUFrQixDQUFBO0FBQ3ZELGVBQU8sTUFBTSxhQUFhOzs7Ozs7OERBQW1DLENBQUEifQ==
|
package/dist/ids.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,KAAK,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,KAAK,EAAE,iBAAiB,EAAY,KAAK,aAAa,EAAmB,MAAM,mBAAmB,CAAA;AACjI,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAG9B,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,QAAQ,CAAC,SAAS,EAAE,OAAO,MAAM,CAAA;CAClC;AAED,MAAM,MAAM,SAAS,GAAG,iBAAiB,CAAA;AAEzC,eAAO,MAAM,SAAS;gBAIkB,iBAAiB;;;;;CAOjC,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,eAAO,MAAM,aAAa;;;;;;8DAAmC,CAAA"}
|
package/package.json
CHANGED
|
@@ -134,7 +134,8 @@ export interface StringIdBrand extends Simplify<B.Brand<"StringId"> & NonEmptySt
|
|
|
134
134
|
*/
|
|
135
135
|
export type StringId = string & StringIdBrand
|
|
136
136
|
|
|
137
|
-
const makeStringId = (): StringId =>
|
|
137
|
+
const makeStringId = (s?: string): StringId =>
|
|
138
|
+
s !== undefined ? S.decodeSync(StringId)(s) : nanoid() as unknown as StringId
|
|
138
139
|
const minLength = 6
|
|
139
140
|
const maxLength = 50
|
|
140
141
|
const size = 21
|
|
@@ -167,7 +168,7 @@ export const StringId = extendM(
|
|
|
167
168
|
|
|
168
169
|
// const prefixedStringIdUnsafeThunk = (prefix: string) => () => prefixedStringIdUnsafe(prefix)
|
|
169
170
|
|
|
170
|
-
export function prefixedStringId<
|
|
171
|
+
export function prefixedStringId<Type extends StringId>() {
|
|
171
172
|
return <Prefix extends string, Separator extends string = "-">(
|
|
172
173
|
prefix: Prefix,
|
|
173
174
|
name: string,
|
|
@@ -175,14 +176,14 @@ export function prefixedStringId<Brand extends StringId>() {
|
|
|
175
176
|
) => {
|
|
176
177
|
type FullPrefix = `${Prefix}${Separator}`
|
|
177
178
|
const pref = `${prefix}${separator ?? "-"}` as FullPrefix
|
|
178
|
-
const arb = (): S.LazyArbitrary<
|
|
179
|
+
const arb = (): S.LazyArbitrary<Type> => (fc) =>
|
|
179
180
|
StringIdArb()(fc).map(
|
|
180
|
-
(x) => (pref + x.substring(0, 50 - pref.length)) as
|
|
181
|
+
(x) => (pref + x.substring(0, 50 - pref.length)) as Type
|
|
181
182
|
)
|
|
182
183
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
183
184
|
const s = StringId
|
|
184
185
|
.pipe(
|
|
185
|
-
S.refine((x: string): x is
|
|
186
|
+
S.refine((x: string): x is Type => x.startsWith(pref), {
|
|
186
187
|
identifier: name
|
|
187
188
|
}),
|
|
188
189
|
S.annotate({
|
|
@@ -190,11 +191,11 @@ export function prefixedStringId<Brand extends StringId>() {
|
|
|
190
191
|
})
|
|
191
192
|
)
|
|
192
193
|
const schema = s.pipe(withDefaultMake)
|
|
193
|
-
const make = () => (pref + StringId.make().substring(0, 50 - pref.length)) as
|
|
194
|
+
const make = () => (pref + StringId.make().substring(0, 50 - pref.length)) as Type
|
|
194
195
|
|
|
195
196
|
return extendM(
|
|
196
197
|
schema,
|
|
197
|
-
(ex): PrefixedStringUtils<
|
|
198
|
+
(ex): PrefixedStringUtils<Type, Prefix, Separator> => ({
|
|
198
199
|
make,
|
|
199
200
|
/**
|
|
200
201
|
* Automatically adds the prefix.
|
|
@@ -205,7 +206,7 @@ export function prefixedStringId<Brand extends StringId>() {
|
|
|
205
206
|
*/
|
|
206
207
|
prefixSafe: <REST extends string>(str: `${Prefix}${Separator}${REST}`) => ex(str),
|
|
207
208
|
prefix,
|
|
208
|
-
withDefault: schema.pipe(S.withConstructorDefault<S.Codec<
|
|
209
|
+
withDefault: schema.pipe(S.withConstructorDefault<S.Codec<Type, string> & S.WithoutConstructorDefault>(
|
|
209
210
|
Effect.sync(make)
|
|
210
211
|
))
|
|
211
212
|
})
|
|
@@ -214,25 +215,25 @@ export function prefixedStringId<Brand extends StringId>() {
|
|
|
214
215
|
}
|
|
215
216
|
|
|
216
217
|
export const brandedStringId = <
|
|
217
|
-
|
|
218
|
+
Id
|
|
218
219
|
>() =>
|
|
219
220
|
withDefaultMake(
|
|
220
|
-
Object.assign(Object.create(StringId), StringId) as S.Codec<
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
} & WithDefaults<S.Codec<
|
|
221
|
+
Object.assign(Object.create(StringId), StringId) as S.Codec<Id, string> & {
|
|
222
|
+
withDefault: S.withConstructorDefault<S.Codec<Id, string> & S.WithoutConstructorDefault>
|
|
223
|
+
make: () => Id
|
|
224
|
+
} & WithDefaults<S.Codec<Id, string>>
|
|
224
225
|
)
|
|
225
226
|
|
|
226
227
|
export interface PrefixedStringUtils<
|
|
227
|
-
|
|
228
|
+
Type extends StringId,
|
|
228
229
|
Prefix extends string,
|
|
229
230
|
Separator extends string
|
|
230
231
|
> {
|
|
231
|
-
readonly make: () =>
|
|
232
|
-
readonly unsafeFrom: (str: string) =>
|
|
233
|
-
prefixSafe: <REST extends string>(str: `${Prefix}${Separator}${REST}`) =>
|
|
232
|
+
readonly make: () => Type
|
|
233
|
+
readonly unsafeFrom: (str: string) => Type
|
|
234
|
+
prefixSafe: <REST extends string>(str: `${Prefix}${Separator}${REST}`) => Type
|
|
234
235
|
readonly prefix: Prefix
|
|
235
|
-
readonly withDefault: S.withConstructorDefault<S.Codec<
|
|
236
|
+
readonly withDefault: S.withConstructorDefault<S.Codec<Type, string> & S.WithoutConstructorDefault>
|
|
236
237
|
}
|
|
237
238
|
|
|
238
239
|
export interface UrlBrand extends Simplify<B.Brand<"Url"> & NonEmptyStringBrand> {}
|
package/src/ids.ts
CHANGED
|
@@ -25,5 +25,5 @@ export const RequestId = extendM(
|
|
|
25
25
|
.pipe(withDefaultMake)
|
|
26
26
|
|
|
27
27
|
export interface UserProfileIdBrand extends Simplify<B.Brand<"UserProfileId"> & StringIdBrand> {}
|
|
28
|
-
export type UserProfileId =
|
|
28
|
+
export type UserProfileId = string & UserProfileIdBrand
|
|
29
29
|
export const UserProfileId = brandedStringId<UserProfileId>()
|