effect-app 4.0.0-beta.68 → 4.0.0-beta.69
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 +6 -0
- package/dist/Schema/ext.d.ts +24 -4
- package/dist/Schema/ext.d.ts.map +1 -1
- package/dist/Schema/ext.js +21 -4
- package/dist/Schema.d.ts +1 -1
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2 -2
- package/package.json +2 -2
- package/src/Context.ts +9 -12
- package/src/Schema/SpecialJsonSchema.ts +6 -200
- package/src/Schema/ext.ts +4 -82
- package/src/Schema.ts +1 -1
- package/src/client/apiClientFactory.ts +4 -4
- package/src/index.ts +0 -5
- package/src/rpc/MiddlewareMaker.ts +1 -1
- package/test/schema.test.ts +6 -6
package/CHANGELOG.md
CHANGED
package/dist/Schema/ext.d.ts
CHANGED
|
@@ -5,17 +5,37 @@ import * as Context from "../Context.js";
|
|
|
5
5
|
import { type AST } from "./schema.js";
|
|
6
6
|
type ProvidedCodec<Self extends S.Top, R> = S.Codec<Self["Type"], Self["Encoded"], Exclude<Self["DecodingServices"], R>, Exclude<Self["EncodingServices"], R>>;
|
|
7
7
|
export declare const withDefaultConstructor: <A>(makeDefault: () => NoInfer<A>) => <Self extends S.Top>(self: Self) => S.withConstructorDefault<Self & S.WithoutConstructorDefault>;
|
|
8
|
+
/**
|
|
9
|
+
* Schema type for {@link DateFromString}.
|
|
10
|
+
*
|
|
11
|
+
* @category Schemas
|
|
12
|
+
* @since 4.0.0
|
|
13
|
+
*/
|
|
14
|
+
export interface DateFromString extends S.decodeTo<S.Date, S.String> {
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* A transformation schema that parses an ISO 8601 string into a `Date`.
|
|
18
|
+
*
|
|
19
|
+
* Decoding:
|
|
20
|
+
* - A `string` is decoded as a `Date`.
|
|
21
|
+
*
|
|
22
|
+
* Encoding:
|
|
23
|
+
* - A `Date` is encoded as a `string`.
|
|
24
|
+
*
|
|
25
|
+
* @since 4.0.0
|
|
26
|
+
*/
|
|
27
|
+
export declare const DateFromString: DateFromString;
|
|
8
28
|
/**
|
|
9
29
|
* Like the default Schema `Date` but from String with `withDefault` => now
|
|
10
30
|
*/
|
|
11
|
-
export declare const Date:
|
|
12
|
-
withDefault: S.withConstructorDefault<
|
|
31
|
+
export declare const Date: DateFromString & {
|
|
32
|
+
withDefault: S.withConstructorDefault<DateFromString & S.WithoutConstructorDefault>;
|
|
13
33
|
};
|
|
14
34
|
/**
|
|
15
35
|
* Like the default Schema `DateValid` but from String with `withDefault` => now
|
|
16
36
|
*/
|
|
17
|
-
export declare const DateValid: S.
|
|
18
|
-
withDefault: S.withConstructorDefault<
|
|
37
|
+
export declare const DateValid: S.decodeTo<S.Date, S.String, never, never> & {
|
|
38
|
+
withDefault: S.withConstructorDefault<DateFromString & S.WithoutConstructorDefault>;
|
|
19
39
|
};
|
|
20
40
|
/**
|
|
21
41
|
* Like the default Schema `Boolean` but with `withDefault` => false
|
package/dist/Schema/ext.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../../src/Schema/ext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAgB,KAAK,SAAS,EAAE,WAAW,EAAwB,MAAM,QAAQ,CAAA;AAChG,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAElC,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,aAAa,CAAA;AAEtC,KAAK,aAAa,CAAC,IAAI,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CACjD,IAAI,CAAC,MAAM,CAAC,EACZ,IAAI,CAAC,SAAS,CAAC,EACf,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EACpC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CACrC,CAAA;AAMD,eAAO,MAAM,sBAAsB,GAAI,CAAC,EACtC,aAAa,MAAM,OAAO,CAAC,CAAC,CAAC,MAE9B,IAAI,SAAS,CAAC,CAAC,GAAG,EAAE,MAAM,IAAI,KAAG,CAAC,CAAC,sBAAsB,CAAC,IAAI,GAAG,CAAC,CAAC,yBAAyB,CAK5F,CAAA;
|
|
1
|
+
{"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../../src/Schema/ext.ts"],"names":[],"mappings":"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"}
|
package/dist/Schema/ext.js
CHANGED
|
@@ -13,17 +13,34 @@ export const withDefaultConstructor = (makeDefault) => (self) => {
|
|
|
13
13
|
return S.withConstructorDefault(Effect.sync(() => makeDefault()))(self);
|
|
14
14
|
};
|
|
15
15
|
// TODO: v4 migration - Date is no longer by default encoded to string.
|
|
16
|
+
const DateString = S.String.annotate({
|
|
17
|
+
identifier: "Date",
|
|
18
|
+
description: "a string in ISO 8601 format that will be decoded as a Date",
|
|
19
|
+
format: "date-time"
|
|
20
|
+
});
|
|
21
|
+
/**
|
|
22
|
+
* A transformation schema that parses an ISO 8601 string into a `Date`.
|
|
23
|
+
*
|
|
24
|
+
* Decoding:
|
|
25
|
+
* - A `string` is decoded as a `Date`.
|
|
26
|
+
*
|
|
27
|
+
* Encoding:
|
|
28
|
+
* - A `Date` is encoded as a `string`.
|
|
29
|
+
*
|
|
30
|
+
* @since 4.0.0
|
|
31
|
+
*/
|
|
32
|
+
export const DateFromString = DateString.pipe(S.decodeTo(S.Date, SchemaTransformation.dateFromString));
|
|
16
33
|
/**
|
|
17
34
|
* Like the default Schema `Date` but from String with `withDefault` => now
|
|
18
35
|
*/
|
|
19
|
-
export const Date = Object.assign(
|
|
20
|
-
withDefault:
|
|
36
|
+
export const Date = Object.assign(DateFromString, {
|
|
37
|
+
withDefault: DateFromString.pipe(withDefaultConstructor(() => new global.Date()))
|
|
21
38
|
});
|
|
22
39
|
/**
|
|
23
40
|
* Like the default Schema `DateValid` but from String with `withDefault` => now
|
|
24
41
|
*/
|
|
25
42
|
export const DateValid = Object.assign(Date.check(isDateValid()), {
|
|
26
|
-
withDefault:
|
|
43
|
+
withDefault: DateFromString.pipe(withDefaultConstructor(() => new global.Date()))
|
|
27
44
|
});
|
|
28
45
|
/**
|
|
29
46
|
* Like the default Schema `Boolean` but with `withDefault` => false
|
|
@@ -156,4 +173,4 @@ export const contextFromServices = (self, ...services) => Effect.gen(function* (
|
|
|
156
173
|
const context = Context.pick(...services)(yield* Effect.context());
|
|
157
174
|
return provide(self, context);
|
|
158
175
|
});
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjaGVtYS9leHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHdEQUF3RDtBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWtCLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUNoRyxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTNDLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBVWxELDJGQUEyRjtBQUMzRixxR0FBcUc7QUFDckcsdUdBQXVHO0FBQ3ZHLDRHQUE0RztBQUM1RyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUNwQyxXQUE2QixFQUM3QixFQUFFLENBQ0osQ0FBcUIsSUFBVSxFQUFnRSxFQUFFO0lBRS9GLE9BQU8sQ0FBQyxDQUFDLHNCQUFzQixDQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBK0IsQ0FBQyxDQUM5RCxDQUFDLElBQWdCLENBQUMsQ0FBQTtBQUNyQixDQUFDLENBQUE7QUFFRCx1RUFBdUU7QUFFdkU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFO0lBQ2xELFdBQVcsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0NBQ3BGLENBQUMsQ0FBQTtBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFH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
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjaGVtYS9leHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHdEQUF3RDtBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWtCLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUNoRyxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTNDLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBVWxELDJGQUEyRjtBQUMzRixxR0FBcUc7QUFDckcsdUdBQXVHO0FBQ3ZHLDRHQUE0RztBQUM1RyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUNwQyxXQUE2QixFQUM3QixFQUFFLENBQ0osQ0FBcUIsSUFBVSxFQUFnRSxFQUFFO0lBRS9GLE9BQU8sQ0FBQyxDQUFDLHNCQUFzQixDQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBK0IsQ0FBQyxDQUM5RCxDQUFDLElBQWdCLENBQUMsQ0FBQTtBQUNyQixDQUFDLENBQUE7QUFFRCx1RUFBdUU7QUFFdkUsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDbkMsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLDREQUE0RDtJQUN6RSxNQUFNLEVBQUUsV0FBVztDQUNwQixDQUFDLENBQUE7QUFVRjs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFtQixVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxvQkFB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QUFDLElBQUksQ0FBQyxFQUNkLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNyRixDQUFBO0FBRUgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQXVCLE1BQWMsRUFBRSxFQUFFLENBQ2xFLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRTlELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUF1QixNQUFjLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUVySCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBdUIsTUFBYyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFFeEgsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQXVCLE1BQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRW5ILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUF1QixNQUFjLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFeEgsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQXVCLE1BQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxz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
|
package/dist/Schema.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export * from "effect/Schema";
|
|
|
7
7
|
export * from "./Schema/Class.js";
|
|
8
8
|
export { Class, TaggedClass } from "./Schema/Class.js";
|
|
9
9
|
export { fromBrand, nominal } from "./Schema/brand.js";
|
|
10
|
-
export { Array, Boolean, Date, DateValid, Finite, Literal, NullOr, Number, ReadonlyMap, ReadonlySet } from "./Schema/ext.js";
|
|
10
|
+
export { Array, Boolean, Date, DateFromString, DateValid, Finite, Literal, NullOr, Number, ReadonlyMap, ReadonlySet } from "./Schema/ext.js";
|
|
11
11
|
export { Int, NonNegativeInt } from "./Schema/numbers.js";
|
|
12
12
|
export * from "./Schema/email.js";
|
|
13
13
|
export * from "./Schema/ext.js";
|
package/dist/Schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvD,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,KAAK,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,KAAK,WAAW,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG1G,cAAc,eAAe,CAAA;AAE7B,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"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"}
|
package/dist/Schema.js
CHANGED
|
@@ -9,7 +9,7 @@ export * from "effect/Schema";
|
|
|
9
9
|
export * from "./Schema/Class.js";
|
|
10
10
|
export { Class, TaggedClass } from "./Schema/Class.js";
|
|
11
11
|
export { fromBrand, nominal } from "./Schema/brand.js";
|
|
12
|
-
export { Array, Boolean, Date, DateValid, Finite, Literal, NullOr, Number, ReadonlyMap, ReadonlySet } from "./Schema/ext.js";
|
|
12
|
+
export { Array, Boolean, Date, DateFromString, DateValid, Finite, Literal, NullOr, Number, ReadonlyMap, ReadonlySet } from "./Schema/ext.js";
|
|
13
13
|
export { Int, NonNegativeInt } from "./Schema/numbers.js";
|
|
14
14
|
export * from "./Schema/email.js";
|
|
15
15
|
export * from "./Schema/ext.js";
|
|
@@ -74,4 +74,4 @@ export const tags = (self) => S.Literals(self.map(getTagFromAST));
|
|
|
74
74
|
const extendTaggedUnionWithTags = (schema) => extendM(schema.pipe(S.toTaggedUnion("_tag")), () => ({ tags: tags(schema.members) }));
|
|
75
75
|
export const ExtendTaggedUnion = (schema) => extendTaggedUnionWithTags(schema);
|
|
76
76
|
export const TaggedUnion = (...a) => extendTaggedUnionWithTags(S.Union(a));
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFlLE1BQU0sUUFBUSxDQUFBO0FBQy9DLE9BQU8sS0FBSyxDQUFDLE1BQU0sZUFBZSxDQUFBO0FBRWxDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckMsT0FBTyxFQUFFLEtBQUssSUFBSSxNQUFNLEVBQTJCLE1BQU0sbUJBQW1CLENBQUE7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxXQUFXLElBQUksWUFBWSxFQUF1QyxNQUFNLHlCQUF5QixDQUFBO0FBQzFHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFcEMsY0FBYyxlQUFlLENBQUE7QUFFN0IsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXRELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM1SSxPQUFPLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXpELGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQTtBQUN2QyxjQUFjLG9CQUFvQixDQUFBO0FBQ2xD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
|
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.69",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@effect-app/eslint-shared-config": "0.5.7-beta.7"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
|
-
"effect": "^4.0.0-beta.
|
|
28
|
+
"effect": "^4.0.0-beta.46"
|
|
29
29
|
},
|
|
30
30
|
"typesVersions": {
|
|
31
31
|
"*": {
|
package/src/Context.ts
CHANGED
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
|
|
3
3
|
import { type Effect, Layer, type Scope, type Types } from "effect"
|
|
4
|
-
import * as
|
|
4
|
+
import * as CTX from "effect/Context"
|
|
5
5
|
import { type Yieldable } from "./Effect.js"
|
|
6
6
|
|
|
7
|
-
export * from "effect/
|
|
8
|
-
|
|
9
|
-
export { type ServiceMap as Context } from "effect/ServiceMap"
|
|
10
|
-
export { isServiceMap as isContext } from "effect/ServiceMap"
|
|
7
|
+
export * from "effect/Context"
|
|
11
8
|
|
|
12
9
|
export interface Opaque<Self extends object, in out Shape extends object>
|
|
13
|
-
extends
|
|
10
|
+
extends CTX.Key<Self, Self>, Yieldable<Opaque<Self, Shape>, Self, never, Self>
|
|
14
11
|
{
|
|
15
12
|
of(this: void, self: Shape): Self
|
|
16
|
-
serviceMap(self: Shape):
|
|
13
|
+
serviceMap(self: Shape): CTX.Context<Self>
|
|
17
14
|
// a version that leverages the Shape -> Self conversion
|
|
18
15
|
toLayer: <E, R>(
|
|
19
16
|
eff: Effect.Effect<Shape, E, R>
|
|
@@ -23,11 +20,11 @@ export interface Opaque<Self extends object, in out Shape extends object>
|
|
|
23
20
|
}
|
|
24
21
|
|
|
25
22
|
// export interface OpaqueMake<Self extends object, in out Shape extends object, E, R>
|
|
26
|
-
// extends
|
|
23
|
+
// extends CTX.Service<Self, Self>
|
|
27
24
|
// {
|
|
28
25
|
// // temp while sorting out https://github.com/Effect-TS/effect-smol/pull/1534
|
|
29
26
|
// of(self: Shape): Self
|
|
30
|
-
// serviceMap2(self: Shape):
|
|
27
|
+
// serviceMap2(self: Shape): CTX.Context<Self>
|
|
31
28
|
// // a version that leverages the Shape -> Self conversion
|
|
32
29
|
// toLayer: {
|
|
33
30
|
// <E, R>(
|
|
@@ -42,7 +39,7 @@ export function assignTag<Identifier extends object, Shape extends object = Iden
|
|
|
42
39
|
creationError?: Error
|
|
43
40
|
) {
|
|
44
41
|
return <S extends object>(cls: S): S & Opaque<Identifier, Shape> => {
|
|
45
|
-
const tag =
|
|
42
|
+
const tag = CTX.Service<Identifier, Shape>(key)
|
|
46
43
|
let fields = tag
|
|
47
44
|
if (Reflect.ownKeys(cls).includes("key")) {
|
|
48
45
|
const { key, ...rest } = tag
|
|
@@ -109,7 +106,7 @@ export const accessEffectCn = <
|
|
|
109
106
|
): Shape[K] extends Effect.Effect<infer A, infer E, infer R> ? Effect.Effect<A, E, Self | R>
|
|
110
107
|
: never => Tag.use((s: any) => s[key]) as any
|
|
111
108
|
|
|
112
|
-
export const TypeId = "~
|
|
109
|
+
export const TypeId = "~Context.Opaque"
|
|
113
110
|
|
|
114
111
|
// export function Opaque<const Key extends string>(key: Key) {
|
|
115
112
|
// return <Identifier extends object, Shape extends object>() => {
|
|
@@ -174,7 +171,7 @@ export const Opaque: {
|
|
|
174
171
|
>
|
|
175
172
|
& { readonly make: Make }
|
|
176
173
|
} = () => (id: string, options: any) => {
|
|
177
|
-
const svc =
|
|
174
|
+
const svc = CTX.Service()(id, options) as any
|
|
178
175
|
return Object.assign(svc, {
|
|
179
176
|
toLayer: (eff: Effect.Effect<any, any, any>) => {
|
|
180
177
|
return Layer.effect(svc, eff)
|
|
@@ -1,49 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SpecialJsonSchema — A variant of Schema.toJsonSchemaDocument that
|
|
3
|
-
*
|
|
4
|
-
* representations (based on a string fingerprint).
|
|
5
|
-
*
|
|
6
|
-
* Without this, two different AST nodes that have the same identifier and
|
|
7
|
-
* resolve to the same JSON Schema representation can end up as separate $defs
|
|
8
|
-
* entries (e.g. "X" and "X1"). This converter collapses them into one.
|
|
2
|
+
* SpecialJsonSchema — A variant of Schema.toJsonSchemaDocument that
|
|
3
|
+
* post-processes the output (e.g. flattens simple allOf).
|
|
9
4
|
*/
|
|
10
|
-
import {
|
|
5
|
+
import { type JsonSchema, type Schema, SchemaRepresentation } from "effect"
|
|
11
6
|
|
|
12
7
|
/**
|
|
13
|
-
* Converts a schema to a JSON Schema Document (draft-2020-12), with
|
|
14
|
-
*
|
|
15
|
-
* base identifier when their representations are identical.
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```ts
|
|
19
|
-
* import { Schema, SchemaGetter, Option, Predicate } from "effect"
|
|
20
|
-
* import { specialJsonSchemaDocument } from "./SpecialJsonSchema.js"
|
|
21
|
-
*
|
|
22
|
-
* const X = Schema.String.annotate({ title: "X", identifier: "X" })
|
|
23
|
-
*
|
|
24
|
-
* const s = Schema.Struct({
|
|
25
|
-
* a: Schema.NullOr(X).pipe(
|
|
26
|
-
* Schema.encodeTo(Schema.optionalKey(X), {
|
|
27
|
-
* decode: SchemaGetter.transformOptional(Option.orElseSome(() => null)),
|
|
28
|
-
* encode: SchemaGetter.transformOptional(Option.filter(Predicate.isNotNull))
|
|
29
|
-
* })
|
|
30
|
-
* ),
|
|
31
|
-
* b: Schema.NullOr(X),
|
|
32
|
-
* c: X
|
|
33
|
-
* })
|
|
34
|
-
*
|
|
35
|
-
* // Without dedup: $defs would contain both "X" and "X1" (identical).
|
|
36
|
-
* // With specialJsonSchemaDocument: only "X" is emitted.
|
|
37
|
-
* const doc = specialJsonSchemaDocument(s)
|
|
38
|
-
* ```
|
|
8
|
+
* Converts a schema to a JSON Schema Document (draft-2020-12), with
|
|
9
|
+
* post-processing that flattens simple allOf entries.
|
|
39
10
|
*/
|
|
40
11
|
export function specialJsonSchemaDocument(
|
|
41
12
|
schema: Schema.Top,
|
|
42
13
|
options?: Schema.ToJsonSchemaOptions
|
|
43
14
|
): JsonSchema.Document<"draft-2020-12"> {
|
|
44
15
|
const doc = SchemaRepresentation.fromAST(schema.ast)
|
|
45
|
-
const
|
|
46
|
-
const jd = SchemaRepresentation.toJsonSchemaDocument(deduped, options)
|
|
16
|
+
const jd = SchemaRepresentation.toJsonSchemaDocument(doc, options)
|
|
47
17
|
const processedDefs: JsonSchema.Definitions = {}
|
|
48
18
|
for (const [key, def] of Object.entries(jd.definitions)) {
|
|
49
19
|
processedDefs[key] = postProcessJsonSchema(def)
|
|
@@ -55,145 +25,6 @@ export function specialJsonSchemaDocument(
|
|
|
55
25
|
}
|
|
56
26
|
}
|
|
57
27
|
|
|
58
|
-
/**
|
|
59
|
-
* Deduplicates references in a Document: when multiple $ref keys share
|
|
60
|
-
* the same base identifier (e.g. "X" and "X1") and their representations
|
|
61
|
-
* are identical (by string fingerprint), the duplicates are collapsed into
|
|
62
|
-
* the first entry found for that identifier.
|
|
63
|
-
*/
|
|
64
|
-
function deduplicateReferences(
|
|
65
|
-
doc: SchemaRepresentation.Document
|
|
66
|
-
): SchemaRepresentation.Document {
|
|
67
|
-
const refs = doc.references
|
|
68
|
-
const refKeys = Object.keys(refs)
|
|
69
|
-
if (refKeys.length === 0) return doc
|
|
70
|
-
|
|
71
|
-
// Group references by base identifier (strip trailing digits added by gen())
|
|
72
|
-
const identifierGroups = new Map<string, Array<{ key: string; fingerprint: string }>>()
|
|
73
|
-
for (const key of refKeys) {
|
|
74
|
-
const base = getBaseIdentifier(key)
|
|
75
|
-
const fingerprint = Formatter.format(refs[key])
|
|
76
|
-
const group = identifierGroups.get(base)
|
|
77
|
-
if (group === undefined) {
|
|
78
|
-
identifierGroups.set(base, [{ key, fingerprint }])
|
|
79
|
-
} else {
|
|
80
|
-
group.push({ key, fingerprint })
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// Build a mapping from duplicate keys to their canonical key
|
|
85
|
-
const remapping = new Map<string, string>()
|
|
86
|
-
for (const [, group] of identifierGroups) {
|
|
87
|
-
const seen = new Map<string, string>() // fingerprint -> canonical key
|
|
88
|
-
for (const entry of group) {
|
|
89
|
-
const canonical = seen.get(entry.fingerprint)
|
|
90
|
-
if (canonical !== undefined) {
|
|
91
|
-
remapping.set(entry.key, canonical)
|
|
92
|
-
} else {
|
|
93
|
-
seen.set(entry.fingerprint, entry.key)
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
if (remapping.size === 0) return doc
|
|
99
|
-
|
|
100
|
-
// Build new references, excluding duplicates
|
|
101
|
-
const newRefs: Record<string, SchemaRepresentation.Representation> = {}
|
|
102
|
-
for (const key of refKeys) {
|
|
103
|
-
if (!remapping.has(key)) {
|
|
104
|
-
newRefs[key] = refs[key]!
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// Rewrite $ref pointers throughout the document
|
|
109
|
-
const newRepresentation = rewriteRefs(doc.representation, remapping)
|
|
110
|
-
const rewrittenRefs: Record<string, SchemaRepresentation.Representation> = {}
|
|
111
|
-
for (const [key, rep] of Object.entries(newRefs)) {
|
|
112
|
-
rewrittenRefs[key] = rewriteRefs(rep, remapping)
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
return { representation: newRepresentation, references: rewrittenRefs }
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Extracts the base identifier from a reference key by stripping trailing
|
|
120
|
-
* digits appended by the gen() function during fromASTs.
|
|
121
|
-
* E.g. "X1" -> "X", "X" -> "X", "MyType2" -> "MyType"
|
|
122
|
-
*/
|
|
123
|
-
function getBaseIdentifier(key: string): string {
|
|
124
|
-
const match = key.match(/^(.+?)(\d+)$/)
|
|
125
|
-
return match ? match[1]! : key
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Recursively rewrites $ref pointers in a Representation tree.
|
|
130
|
-
*/
|
|
131
|
-
function rewriteRefs(
|
|
132
|
-
rep: SchemaRepresentation.Representation,
|
|
133
|
-
remapping: Map<string, string>
|
|
134
|
-
): SchemaRepresentation.Representation {
|
|
135
|
-
switch (rep._tag) {
|
|
136
|
-
case "Reference": {
|
|
137
|
-
const target = remapping.get(rep.$ref)
|
|
138
|
-
return target !== undefined ? { ...rep, $ref: target } : rep
|
|
139
|
-
}
|
|
140
|
-
case "Declaration":
|
|
141
|
-
return {
|
|
142
|
-
...rep,
|
|
143
|
-
typeParameters: rep.typeParameters.map((tp) => rewriteRefs(tp, remapping)),
|
|
144
|
-
encodedSchema: rewriteRefs(rep.encodedSchema, remapping)
|
|
145
|
-
}
|
|
146
|
-
case "Suspend":
|
|
147
|
-
return {
|
|
148
|
-
...rep,
|
|
149
|
-
thunk: rewriteRefs(rep.thunk, remapping)
|
|
150
|
-
}
|
|
151
|
-
case "Arrays":
|
|
152
|
-
return {
|
|
153
|
-
...rep,
|
|
154
|
-
elements: rep.elements.map((e) => ({ ...e, type: rewriteRefs(e.type, remapping) })),
|
|
155
|
-
rest: rep.rest.map((r) => rewriteRefs(r, remapping))
|
|
156
|
-
}
|
|
157
|
-
case "Objects":
|
|
158
|
-
return {
|
|
159
|
-
...rep,
|
|
160
|
-
propertySignatures: rep.propertySignatures.map((ps) => ({
|
|
161
|
-
...ps,
|
|
162
|
-
type: rewriteRefs(ps.type, remapping)
|
|
163
|
-
})),
|
|
164
|
-
indexSignatures: rep.indexSignatures.map((is) => ({
|
|
165
|
-
...is,
|
|
166
|
-
parameter: rewriteRefs(is.parameter, remapping),
|
|
167
|
-
type: rewriteRefs(is.type, remapping)
|
|
168
|
-
})),
|
|
169
|
-
checks: rewriteChecks(rep.checks, remapping)
|
|
170
|
-
}
|
|
171
|
-
case "Union":
|
|
172
|
-
return {
|
|
173
|
-
...rep,
|
|
174
|
-
types: rep.types.map((t) => rewriteRefs(t, remapping))
|
|
175
|
-
}
|
|
176
|
-
case "TemplateLiteral":
|
|
177
|
-
return {
|
|
178
|
-
...rep,
|
|
179
|
-
parts: rep.parts.map((p) => rewriteRefs(p, remapping))
|
|
180
|
-
}
|
|
181
|
-
case "String": {
|
|
182
|
-
if (rep.contentSchema !== undefined) {
|
|
183
|
-
return {
|
|
184
|
-
...rep,
|
|
185
|
-
contentSchema: rewriteRefs(rep.contentSchema, remapping)
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
return rep
|
|
189
|
-
}
|
|
190
|
-
default:
|
|
191
|
-
// Leaf nodes: Null, Undefined, Void, Never, Unknown, Any, Boolean,
|
|
192
|
-
// Symbol, Number, BigInt, Literal, UniqueSymbol, ObjectKeyword, Enum
|
|
193
|
-
return rep
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
|
|
197
28
|
/**
|
|
198
29
|
* Flattens `allOf` entries into the parent when the parent already has a
|
|
199
30
|
* `type` and every `allOf` entry is a plain constraint object (no `$ref`,
|
|
@@ -236,28 +67,3 @@ export function flattenSimpleAllOf(obj: unknown): unknown {
|
|
|
236
67
|
export function postProcessJsonSchema(obj: JsonSchema.JsonSchema): JsonSchema.JsonSchema {
|
|
237
68
|
return flattenSimpleAllOf(obj) as JsonSchema.JsonSchema
|
|
238
69
|
}
|
|
239
|
-
|
|
240
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
241
|
-
function rewriteChecks<M>(
|
|
242
|
-
checks: ReadonlyArray<SchemaRepresentation.Check<M>>,
|
|
243
|
-
remapping: Map<string, string>
|
|
244
|
-
): ReadonlyArray<SchemaRepresentation.Check<M>> {
|
|
245
|
-
return checks.map((c) => {
|
|
246
|
-
switch (c._tag) {
|
|
247
|
-
case "Filter": {
|
|
248
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
249
|
-
const meta = c.meta as any
|
|
250
|
-
if (meta && meta._tag === "isPropertyNames" && meta.propertyNames) {
|
|
251
|
-
return {
|
|
252
|
-
...c,
|
|
253
|
-
meta: { ...meta, propertyNames: rewriteRefs(meta.propertyNames, remapping) }
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
return c
|
|
257
|
-
}
|
|
258
|
-
case "FilterGroup":
|
|
259
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
260
|
-
return { ...c, checks: rewriteChecks(c.checks, remapping) as any }
|
|
261
|
-
}
|
|
262
|
-
})
|
|
263
|
-
}
|
package/src/Schema/ext.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
3
|
-
import { Effect, Option, pipe, type SchemaAST,
|
|
3
|
+
import { Effect, Option, pipe, type SchemaAST, SchemaIssue, SchemaTransformation } from "effect"
|
|
4
4
|
import * as S from "effect/Schema"
|
|
5
5
|
import { isDateValid } from "effect/Schema"
|
|
6
6
|
import { type NonEmptyReadonlyArray } from "../Array.js"
|
|
@@ -25,89 +25,11 @@ export const withDefaultConstructor = <A>(
|
|
|
25
25
|
<Self extends S.Top>(self: Self): S.withConstructorDefault<Self & S.WithoutConstructorDefault> => {
|
|
26
26
|
type Narrowed = Self & S.WithoutConstructorDefault
|
|
27
27
|
return S.withConstructorDefault<Narrowed>(
|
|
28
|
-
() =>
|
|
28
|
+
Effect.sync(() => makeDefault() as Narrowed["~type.make.in"])
|
|
29
29
|
)(self as Narrowed)
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
// TODO: v4 migration - Date is no longer by default encoded to string.
|
|
33
|
-
/*
|
|
34
|
-
in v4, there's the notion of `toCodecJson`, as a declaration and as a schema transformer.
|
|
35
|
-
this means that Date, Map/Set, etc, remain the same type Encoded as Decoded, but when transformed to and from JSON, will go through
|
|
36
|
-
the toCodecJson transformation, which for e.g Date will be the dateFromString transformation.
|
|
37
|
-
|
|
38
|
-
While this is a cool feature, our stack (especially the Store/Repository api) is based on having an Encoded shape representing the JSON shape, so we revert back to that for now.
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Formats a `Date` as an ISO 8601 string, returning `"Invalid Date"` for
|
|
43
|
-
* invalid dates instead of throwing.
|
|
44
|
-
*
|
|
45
|
-
* When to use:
|
|
46
|
-
* - You want a safe `toISOString()` that never throws.
|
|
47
|
-
*
|
|
48
|
-
* Behavior:
|
|
49
|
-
* - Returns `date.toISOString()` on success.
|
|
50
|
-
* - Returns `"Invalid Date"` if `toISOString()` throws (e.g. for
|
|
51
|
-
* `new Date(NaN)`).
|
|
52
|
-
* - Pure function; does not mutate input.
|
|
53
|
-
*
|
|
54
|
-
* **Example** (Safe date formatting)
|
|
55
|
-
*
|
|
56
|
-
* ```ts
|
|
57
|
-
* import { Formatter } from "effect"
|
|
58
|
-
*
|
|
59
|
-
* console.log(Formatter.formatDate(new Date("2024-01-15T10:30:00Z")))
|
|
60
|
-
* // 2024-01-15T10:30:00.000Z
|
|
61
|
-
*
|
|
62
|
-
* console.log(Formatter.formatDate(new Date("invalid")))
|
|
63
|
-
* // Invalid Date
|
|
64
|
-
* ```
|
|
65
|
-
*
|
|
66
|
-
* See also: {@link format}
|
|
67
|
-
*
|
|
68
|
-
* @internal
|
|
69
|
-
*/
|
|
70
|
-
export function formatDate(date: Date): string {
|
|
71
|
-
try {
|
|
72
|
-
return date.toISOString()
|
|
73
|
-
} catch {
|
|
74
|
-
return "Invalid Date"
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Decodes a `string` into a `Date` and encodes a `Date` back to a `string`.
|
|
80
|
-
*
|
|
81
|
-
* When to use this:
|
|
82
|
-
* - Parsing ISO 8601 date strings from APIs or user input.
|
|
83
|
-
*
|
|
84
|
-
* Behavior:
|
|
85
|
-
* - Decode: creates a `Date` from the string (like `new Date(s)`).
|
|
86
|
-
* - Encode: converts the `Date` to an ISO string (like `date.toISOString()`),
|
|
87
|
-
* returning `"Invalid Date"` for invalid dates.
|
|
88
|
-
*
|
|
89
|
-
* **Example** (Date from string)
|
|
90
|
-
*
|
|
91
|
-
* ```ts
|
|
92
|
-
* import { Schema, SchemaTransformation } from "effect"
|
|
93
|
-
*
|
|
94
|
-
* const schema = Schema.String.pipe(
|
|
95
|
-
* Schema.decodeTo(Schema.Date, SchemaTransformation.dateFromString)
|
|
96
|
-
* )
|
|
97
|
-
* ```
|
|
98
|
-
*
|
|
99
|
-
* See also:
|
|
100
|
-
* - {@link numberFromString}
|
|
101
|
-
* - {@link dateTimeUtcFromString}
|
|
102
|
-
*
|
|
103
|
-
* @category Coercions
|
|
104
|
-
* @since 4.0.0
|
|
105
|
-
*/
|
|
106
|
-
export const dateFromString: SchemaTransformation.Transformation<globalThis.Date, string> = new SchemaTransformation
|
|
107
|
-
.Transformation(
|
|
108
|
-
SchemaGetter.Date(),
|
|
109
|
-
SchemaGetter.transform(formatDate)
|
|
110
|
-
)
|
|
111
33
|
|
|
112
34
|
const DateString = S.String.annotate({
|
|
113
35
|
identifier: "Date",
|
|
@@ -134,7 +56,7 @@ export interface DateFromString extends S.decodeTo<S.Date, S.String> {}
|
|
|
134
56
|
*
|
|
135
57
|
* @since 4.0.0
|
|
136
58
|
*/
|
|
137
|
-
export const DateFromString: DateFromString = DateString.pipe(S.decodeTo(S.Date, dateFromString))
|
|
59
|
+
export const DateFromString: DateFromString = DateString.pipe(S.decodeTo(S.Date, SchemaTransformation.dateFromString))
|
|
138
60
|
|
|
139
61
|
/**
|
|
140
62
|
* Like the default Schema `Date` but from String with `withDefault` => now
|
|
@@ -431,7 +353,7 @@ export const contextFromServices = <
|
|
|
431
353
|
> =>
|
|
432
354
|
Effect.gen(function*() {
|
|
433
355
|
const context: Context.Context<Context.Service.Identifier<Tags[number]>> = Context.pick(...services)(
|
|
434
|
-
yield* Effect.
|
|
356
|
+
yield* Effect.context<Context.Service.Identifier<Tags[number]>>()
|
|
435
357
|
)
|
|
436
358
|
return provide(self, context)
|
|
437
359
|
})
|
package/src/Schema.ts
CHANGED
|
@@ -13,7 +13,7 @@ export * from "./Schema/Class.js"
|
|
|
13
13
|
export { Class, TaggedClass } from "./Schema/Class.js"
|
|
14
14
|
|
|
15
15
|
export { fromBrand, nominal } from "./Schema/brand.js"
|
|
16
|
-
export { Array, Boolean, Date, DateValid, Finite, Literal, NullOr, Number, ReadonlyMap, ReadonlySet } from "./Schema/ext.js"
|
|
16
|
+
export { Array, Boolean, Date, DateFromString, DateValid, Finite, Literal, NullOr, Number, ReadonlyMap, ReadonlySet } from "./Schema/ext.js"
|
|
17
17
|
export { Int, NonNegativeInt } from "./Schema/numbers.js"
|
|
18
18
|
|
|
19
19
|
export * from "./Schema/email.js"
|
|
@@ -153,7 +153,7 @@ const makeRpcTag = <M extends Requests>(resource: M) => {
|
|
|
153
153
|
|
|
154
154
|
const makeApiClientFactory = Effect
|
|
155
155
|
.gen(function*() {
|
|
156
|
-
const ctx = yield* Effect.
|
|
156
|
+
const ctx = yield* Effect.context<RpcSerialization.RpcSerialization | HttpClient.HttpClient>()
|
|
157
157
|
const makeClientFor = <M extends Requests>(
|
|
158
158
|
resource: M,
|
|
159
159
|
requestLevelLayers = Layer.empty,
|
|
@@ -176,7 +176,7 @@ const makeApiClientFactory = Effect
|
|
|
176
176
|
url: "" // why not here set meta.moduleName as root?
|
|
177
177
|
})
|
|
178
178
|
.pipe(
|
|
179
|
-
Layer.provideMerge(Layer.
|
|
179
|
+
Layer.provideMerge(Layer.succeedContext(ctx))
|
|
180
180
|
)
|
|
181
181
|
)
|
|
182
182
|
)
|
|
@@ -212,7 +212,7 @@ const makeApiClientFactory = Effect
|
|
|
212
212
|
// @ts-expect-error doc
|
|
213
213
|
prev[cur] = Object.keys(fields).length === 0
|
|
214
214
|
? {
|
|
215
|
-
handler: mr.
|
|
215
|
+
handler: mr.contextEffect.pipe(
|
|
216
216
|
Effect.flatMap((svcs) =>
|
|
217
217
|
TheClient
|
|
218
218
|
.use((client) => (client as any)[requestAttr]!(new Request()) as Effect.Effect<any, any, never>)
|
|
@@ -226,7 +226,7 @@ const makeApiClientFactory = Effect
|
|
|
226
226
|
}
|
|
227
227
|
: {
|
|
228
228
|
handler: (req: any) =>
|
|
229
|
-
mr.
|
|
229
|
+
mr.contextEffect.pipe(
|
|
230
230
|
Effect.flatMap((svcs) =>
|
|
231
231
|
TheClient
|
|
232
232
|
.use((client) =>
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import "./builtin.js"
|
|
2
2
|
|
|
3
|
-
import * as Context from "./Context.js"
|
|
4
|
-
|
|
5
3
|
export * as Fnc from "./Function.js"
|
|
6
4
|
export * as Utils from "./utils.js"
|
|
7
5
|
|
|
@@ -14,9 +12,6 @@ export * as Layer from "./Layer.js"
|
|
|
14
12
|
export * as NonEmptySet from "./NonEmptySet.js"
|
|
15
13
|
export * as Set from "./Set.js"
|
|
16
14
|
|
|
17
|
-
/** @deprecated Use `Context` instead */
|
|
18
|
-
export { Context as ServiceMap }
|
|
19
|
-
|
|
20
15
|
export { type NonEmptyArray, type NonEmptyReadonlyArray } from "./Array.js"
|
|
21
16
|
|
|
22
17
|
export * from "effect"
|
|
@@ -276,7 +276,7 @@ const middlewareMaker = <
|
|
|
276
276
|
middlewares = middlewares.toReversed() as any
|
|
277
277
|
|
|
278
278
|
return Effect.gen(function*() {
|
|
279
|
-
const context = yield* Effect.
|
|
279
|
+
const context = yield* Effect.context()
|
|
280
280
|
|
|
281
281
|
// returns a Effect/RpcMiddlewareV4 with Scope.Scope in requirements
|
|
282
282
|
// v4: wrap middleware takes (effect, options) as two params instead of a single options bag
|
package/test/schema.test.ts
CHANGED
|
@@ -18,11 +18,11 @@ test("literal default works", () => {
|
|
|
18
18
|
const l = S.Literal("a", "b")
|
|
19
19
|
expect(l.Default).toBe("a")
|
|
20
20
|
const s = S.Struct({ l: l.withDefault })
|
|
21
|
-
expect(s.
|
|
21
|
+
expect(s.make({}).l).toBe("a")
|
|
22
22
|
|
|
23
23
|
const l2 = l.changeDefault("b")
|
|
24
24
|
const s2 = S.Struct({ l: l2.withDefault })
|
|
25
|
-
expect(s2.
|
|
25
|
+
expect(s2.make({}).l).toBe("b")
|
|
26
26
|
})
|
|
27
27
|
|
|
28
28
|
test("tagged union derives tag map and tags from v4 literal ast", () => {
|
|
@@ -287,10 +287,10 @@ describe("ReadonlyMapFromArray", () => {
|
|
|
287
287
|
})
|
|
288
288
|
|
|
289
289
|
describe("ReadonlySet (with withDefault)", () => {
|
|
290
|
-
test("
|
|
290
|
+
test("make provides withDefault", () => {
|
|
291
291
|
const schema = S.ReadonlySet(S.NumberFromString)
|
|
292
292
|
const struct = S.Struct({ items: schema.withDefault })
|
|
293
|
-
const made = struct.
|
|
293
|
+
const made = struct.make({})
|
|
294
294
|
expect(made.items).toEqual(new Set())
|
|
295
295
|
})
|
|
296
296
|
|
|
@@ -302,10 +302,10 @@ describe("ReadonlySet (with withDefault)", () => {
|
|
|
302
302
|
})
|
|
303
303
|
|
|
304
304
|
describe("ReadonlyMap (with withDefault)", () => {
|
|
305
|
-
test("
|
|
305
|
+
test("make provides withDefault", () => {
|
|
306
306
|
const schema = S.ReadonlyMap({ key: S.NumberFromString, value: S.String })
|
|
307
307
|
const struct = S.Struct({ items: schema.withDefault })
|
|
308
|
-
const made = struct.
|
|
308
|
+
const made = struct.make({})
|
|
309
309
|
expect(made.items).toEqual(new Map())
|
|
310
310
|
})
|
|
311
311
|
|