effect-app 2.26.1 → 2.26.3
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/Operations.d.ts +2 -2
- package/dist/Schema/Class.d.ts +7 -8
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema/Class.js +1 -1
- package/package.json +1 -1
- package/src/Schema/Class.ts +8 -13
package/CHANGELOG.md
CHANGED
package/dist/Operations.d.ts
CHANGED
|
@@ -20,14 +20,14 @@ declare const OperationProgress_base: S.EnhancedClass<OperationProgress, {
|
|
|
20
20
|
}, {}, {}>;
|
|
21
21
|
export declare class OperationProgress extends OperationProgress_base {
|
|
22
22
|
}
|
|
23
|
-
declare const OperationSuccess_base: S.
|
|
23
|
+
declare const OperationSuccess_base: S.EnhancedTaggedClass<OperationSuccess, "OperationSuccess", {
|
|
24
24
|
readonly _tag: S.tag<"OperationSuccess">;
|
|
25
25
|
} & {
|
|
26
26
|
message: S.PropertySignature<":", (string & S.NonEmptyString2kBrand) | null, never, ":", string | null, true, never>;
|
|
27
27
|
}, OperationSuccess.Encoded>;
|
|
28
28
|
export declare class OperationSuccess extends OperationSuccess_base {
|
|
29
29
|
}
|
|
30
|
-
declare const OperationFailure_base: S.
|
|
30
|
+
declare const OperationFailure_base: S.EnhancedTaggedClass<OperationFailure, "OperationFailure", {
|
|
31
31
|
readonly _tag: S.tag<"OperationFailure">;
|
|
32
32
|
} & {
|
|
33
33
|
message: S.PropertySignature<":", (string & S.NonEmptyString2kBrand) | null, never, ":", string | null, true, never>;
|
package/dist/Schema/Class.d.ts
CHANGED
|
@@ -4,17 +4,16 @@ import * as S from "effect/Schema";
|
|
|
4
4
|
import type { ParseOptions } from "effect/SchemaAST";
|
|
5
5
|
import type { Simplify } from "effect/Types";
|
|
6
6
|
import type { AST } from "./schema.js";
|
|
7
|
-
type _OptionalKeys<O> = {
|
|
8
|
-
[K in keyof O]-?: {} extends Pick<O, K> ? K : never;
|
|
9
|
-
}[keyof O];
|
|
10
|
-
type FilterOptionalKeys<A> = Omit<A, _OptionalKeys<A>>;
|
|
11
7
|
type ClassAnnotations<Self, A> = S.Annotations.Schema<Self> | readonly [
|
|
12
8
|
S.Annotations.Schema<Self> | undefined,
|
|
13
9
|
S.Annotations.Schema<Self>?,
|
|
14
10
|
S.Annotations.Schema<A>?
|
|
15
11
|
];
|
|
12
|
+
type RequiredKeys<T> = {
|
|
13
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? never : K;
|
|
14
|
+
}[keyof T];
|
|
16
15
|
export interface EnhancedClass<Self, Fields extends Struct.Fields, I, R, C, Inherited, Proto> extends Schema<Self, I, R>, PropsExtensions<Fields> {
|
|
17
|
-
new (props:
|
|
16
|
+
new (props: RequiredKeys<C> extends never ? void | Simplify<C> : Simplify<C>, disableValidation?: boolean): Struct.Type<Fields> & Omit<Inherited, keyof Fields> & Proto;
|
|
18
17
|
readonly fields: Simplify<Fields>;
|
|
19
18
|
readonly extend: <Extended = never>(identifier?: string) => <NewFields extends Struct.Fields>(newFieldsOr: NewFields | HasFields<NewFields>, annotations?: ClassAnnotations<Extended, Struct.Type<Fields & NewFields>>) => [Extended] extends [never] ? MissingSelfGeneric<"Base.extend"> : EnhancedClass<Extended, Fields & NewFields, Simplify<I & Struct.Encoded<NewFields>>, R | Struct.Context<NewFields>, Simplify<C & S.Struct.Constructor<NewFields>>, Self, Proto>;
|
|
20
19
|
readonly transformOrFail: <Transformed = never>(identifier?: string) => <NewFields extends Struct.Fields, R2, R3>(fields: NewFields, options: {
|
|
@@ -36,17 +35,17 @@ type HasFields<Fields extends Struct.Fields> = {
|
|
|
36
35
|
} | {
|
|
37
36
|
readonly from: HasFields<Fields>;
|
|
38
37
|
};
|
|
39
|
-
export declare const Class: <Self = never>(identifier?: string) => <Fields extends S.Struct.Fields>(fieldsOr: Fields | HasFields<Fields>, annotations?: ClassAnnotations<Self, Struct.Type<Fields>>) => [Self] extends [never] ? MissingSelfGeneric<"Class"> : EnhancedClass<Self, Fields, Simplify<Struct.Encoded<Fields>>,
|
|
38
|
+
export declare const Class: <Self = never>(identifier?: string) => <Fields extends S.Struct.Fields>(fieldsOr: Fields | HasFields<Fields>, annotations?: ClassAnnotations<Self, Struct.Type<Fields>>) => [Self] extends [never] ? MissingSelfGeneric<"Class"> : EnhancedClass<Self, Fields, Simplify<Struct.Encoded<Fields>>, Struct.Context<Fields>, Simplify<S.Struct.Constructor<Fields>>, {}, {}>;
|
|
40
39
|
export declare const TaggedClass: <Self = never>(identifier?: string) => <Tag extends string, Fields extends S.Struct.Fields>(tag: Tag, fieldsOr: Fields | HasFields<Fields>, annotations?: ClassAnnotations<Self, Struct.Type<Fields>>) => [Self] extends [never] ? MissingSelfGeneric<"Class"> : EnhancedClass<Self, {
|
|
41
40
|
readonly _tag: S.tag<Tag>;
|
|
42
41
|
} & Fields, Simplify<{
|
|
43
42
|
readonly _tag: Tag;
|
|
44
43
|
} & Struct.Encoded<Fields>>, Schema.Context<Fields[keyof Fields]>, Simplify<S.Struct.Constructor<Fields>>, {}, {}>;
|
|
45
44
|
export declare const ExtendedClass: <Self, SelfFrom>(identifier?: string) => <Fields extends S.Struct.Fields>(fieldsOr: Fields | HasFields<Fields>, annotations?: ClassAnnotations<Self, Struct.Type<Fields>>) => EnhancedClass<Self, Fields, SelfFrom, Schema.Context<Fields[keyof Fields]>, Simplify<S.Struct.Constructor<Fields>>, {}, {}>;
|
|
46
|
-
export interface
|
|
45
|
+
export interface EnhancedTaggedClass<Self, Tag extends string, Fields extends Struct.Fields, SelfFrom> extends EnhancedClass<Self, Fields, SelfFrom, Struct.Context<Fields>, Struct.Constructor<Omit<Fields, "_tag">>, {}, {}> {
|
|
47
46
|
readonly _tag: Tag;
|
|
48
47
|
}
|
|
49
|
-
export declare const ExtendedTaggedClass: <Self, SelfFrom>(identifier?: string) => <Tag extends string, Fields extends S.Struct.Fields>(tag: Tag, fieldsOr: Fields | HasFields<Fields>, annotations?: ClassAnnotations<Self, Struct.Type<Fields>>) =>
|
|
48
|
+
export declare const ExtendedTaggedClass: <Self, SelfFrom>(identifier?: string) => <Tag extends string, Fields extends S.Struct.Fields>(tag: Tag, fieldsOr: Fields | HasFields<Fields>, annotations?: ClassAnnotations<Self, Struct.Type<Fields>>) => EnhancedTaggedClass<Self, Tag, {
|
|
50
49
|
readonly _tag: S.tag<Tag>;
|
|
51
50
|
} & Fields, SelfFrom>;
|
|
52
51
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../src/Schema/Class.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAA2B,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC3F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEtC,KAAK,
|
|
1
|
+
{"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../src/Schema/Class.ts"],"names":[],"mappings":"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"}
|
package/dist/Schema/Class.js
CHANGED
|
@@ -47,4 +47,4 @@ export const TaggedClass = (identifier) => (tag, fields, annotations) => {
|
|
|
47
47
|
};
|
|
48
48
|
export const ExtendedClass = Class;
|
|
49
49
|
export const ExtendedTaggedClass = TaggedClass;
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL0NsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQWlDLElBQUksRUFBRSxNQUFNLElBQUksT0FBTyxFQUFjLE1BQU0sUUFBUSxDQUFBO0FBRTNGLE9BQU8sS0FBSyxDQUFDLE1BQU0sZUFBZSxDQUFBO0FBc0hsQywwRUFBMEU7QUFDMUUsc0RBQXNEO0FBRXRELDRFQUE0RTtBQUU1RSx1RkFBdUY7QUFDdkYsa0VBQWtFO0FBRWxFLDRGQUE0RjtBQUM1Rix5RUFBeUU7QUFFekUsb0hBQW9IO0FBQ3BILDBHQUEwRztBQUUxRyxnSEFBZ0g7QUFDaEgsd0RBQXdEO0FBRXhELGdHQUFnRztBQUNoRywrQ0FBK0M7QUFDL0Msd0NBQXdDO0FBQ3hDLCtCQUErQjtBQUMvQixJQUFJO0FBRUosNEJBQTRCO0FBQzVCLG9DQUFvQztBQUNwQyxxQ0FBcUM7QUFDckMsNkVBQTZFO0FBQzdFLDREQUE0RDtBQUM1RCxJQUFJO0FBRUosTUFBTSxDQUFDLE1BQU0sS0FBSyxHQVlaLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsRUFBRTtJQUMxQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBWSxDQUFBO0lBQzFCLE9BQU8sS0FBTSxTQUFRLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO1FBQ3ZELFlBQVksQ0FBTSxFQUFFLENBQUMsR0FBRyxJQUFJO1lBQzFCLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDYixDQUFDO1FBQ0QsNENBQTRDO1FBQzVDLE1BQU0sQ0FBVSxJQUFJLEdBQUcsQ0FBQyxHQUFHLFNBQWdCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUE7UUFDeEYsTUFBTSxDQUFVLElBQUksR0FBRyxDQUFDLEdBQUcsU0FBZ0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQTtLQUNsRixDQUFBO0FBQ1YsQ0FBQyxDQUFBO0FBRUgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQWFsQixDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFO0lBQy9DLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxXQUFrQixDQUFBO0lBQ2hDLE9BQU8sS0FBTSxTQUFRLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQztRQUM1RCxZQUFZLENBQU0sRUFBRSxDQUFDLEdBQUcsSUFBSTtZQUMxQixLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ2IsQ0FBQztRQUNELDRDQUE0QztRQUM1QyxNQUFNLENBQVUsSUFBSSxHQUFHLENBQUMsR0FBRyxTQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFBO1FBQ3hGLE1BQU0sQ0FBVSxJQUFJLEdBQUcsQ0FBQyxHQUFHLFNBQWdCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUE7S0FDbEYsQ0FBQTtBQUNWLENBQUMsQ0FBQTtBQUVILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FXdEIsS0FBWSxDQUFBO0FBaUJoQixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FXNUIsV0FBa0IsQ0FBQSJ9
|
package/package.json
CHANGED
package/src/Schema/Class.ts
CHANGED
|
@@ -6,13 +6,6 @@ import type { ParseOptions } from "effect/SchemaAST"
|
|
|
6
6
|
import type { Simplify } from "effect/Types"
|
|
7
7
|
import type { AST } from "./schema.js"
|
|
8
8
|
|
|
9
|
-
type _OptionalKeys<O> = {
|
|
10
|
-
[K in keyof O]-?: {} extends Pick<O, K> ? K
|
|
11
|
-
: never
|
|
12
|
-
}[keyof O]
|
|
13
|
-
|
|
14
|
-
type FilterOptionalKeys<A> = Omit<A, _OptionalKeys<A>>
|
|
15
|
-
|
|
16
9
|
type ClassAnnotations<Self, A> =
|
|
17
10
|
| S.Annotations.Schema<Self>
|
|
18
11
|
| readonly [
|
|
@@ -21,13 +14,15 @@ type ClassAnnotations<Self, A> =
|
|
|
21
14
|
S.Annotations.Schema<A>?
|
|
22
15
|
]
|
|
23
16
|
|
|
17
|
+
type RequiredKeys<T> = {
|
|
18
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? never : K
|
|
19
|
+
}[keyof T]
|
|
20
|
+
|
|
24
21
|
export interface EnhancedClass<Self, Fields extends Struct.Fields, I, R, C, Inherited, Proto>
|
|
25
22
|
extends Schema<Self, I, R>, PropsExtensions<Fields>
|
|
26
23
|
{
|
|
27
24
|
new(
|
|
28
|
-
props:
|
|
29
|
-
: Types.Equals<FilterOptionalKeys<C>, {}> extends true ? void | C
|
|
30
|
-
: C,
|
|
25
|
+
props: RequiredKeys<C> extends never ? void | Simplify<C> : Simplify<C>,
|
|
31
26
|
disableValidation?: boolean
|
|
32
27
|
): Struct.Type<Fields> & Omit<Inherited, keyof Fields> & Proto
|
|
33
28
|
|
|
@@ -162,7 +157,7 @@ export const Class: <Self = never>(identifier?: string) => <Fields extends S.Str
|
|
|
162
157
|
Self,
|
|
163
158
|
Fields,
|
|
164
159
|
Simplify<Struct.Encoded<Fields>>,
|
|
165
|
-
|
|
160
|
+
Struct.Context<Fields>,
|
|
166
161
|
Simplify<S.Struct.Constructor<Fields>>,
|
|
167
162
|
{},
|
|
168
163
|
{}
|
|
@@ -216,7 +211,7 @@ export const ExtendedClass: <Self, SelfFrom>(identifier?: string) => <Fields ext
|
|
|
216
211
|
{}
|
|
217
212
|
> = Class as any
|
|
218
213
|
|
|
219
|
-
export interface
|
|
214
|
+
export interface EnhancedTaggedClass<Self, Tag extends string, Fields extends Struct.Fields, SelfFrom>
|
|
220
215
|
extends
|
|
221
216
|
EnhancedClass<
|
|
222
217
|
Self,
|
|
@@ -237,7 +232,7 @@ export const ExtendedTaggedClass: <Self, SelfFrom>(
|
|
|
237
232
|
tag: Tag,
|
|
238
233
|
fieldsOr: Fields | HasFields<Fields>,
|
|
239
234
|
annotations?: ClassAnnotations<Self, Struct.Type<Fields>>
|
|
240
|
-
) =>
|
|
235
|
+
) => EnhancedTaggedClass<
|
|
241
236
|
Self,
|
|
242
237
|
Tag,
|
|
243
238
|
{ readonly _tag: S.tag<Tag> } & Fields,
|