effect-app 4.0.0-beta.21 → 4.0.0-beta.211
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 +954 -0
- package/dist/Array.d.ts +1 -1
- package/dist/Chunk.d.ts +1 -1
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Config/SecretURL.d.ts +1 -1
- package/dist/Config/SecretURL.d.ts.map +1 -1
- package/dist/Config/SecretURL.js +2 -2
- package/dist/Config/internal/configSecretURL.d.ts +1 -1
- package/dist/Config/internal/configSecretURL.d.ts.map +1 -1
- package/dist/Config.d.ts +7 -0
- package/dist/Config.d.ts.map +1 -0
- package/dist/Config.js +6 -0
- package/dist/ConfigProvider.d.ts +39 -0
- package/dist/ConfigProvider.d.ts.map +1 -0
- package/dist/ConfigProvider.js +42 -0
- package/dist/Context.d.ts +40 -0
- package/dist/Context.d.ts.map +1 -0
- package/dist/Context.js +67 -0
- package/dist/Effect.d.ts +9 -10
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +3 -6
- package/dist/Function.d.ts +1 -1
- package/dist/Function.d.ts.map +1 -1
- package/dist/Inputify.type.d.ts +1 -1
- package/dist/Layer.d.ts +7 -6
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +1 -1
- package/dist/NonEmptySet.d.ts +1 -1
- package/dist/NonEmptySet.d.ts.map +1 -1
- package/dist/Option.d.ts +1 -1
- package/dist/Option.d.ts.map +1 -1
- package/dist/Pure.d.ts +5 -5
- package/dist/Pure.d.ts.map +1 -1
- package/dist/Pure.js +13 -13
- package/dist/Schema/Class.d.ts +66 -20
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema/Class.js +189 -22
- package/dist/Schema/FastCheck.d.ts +1 -1
- package/dist/Schema/FastCheck.d.ts.map +1 -1
- package/dist/Schema/Methods.d.ts +1 -1
- package/dist/Schema/SchemaParser.d.ts +5 -0
- package/dist/Schema/SchemaParser.d.ts.map +1 -0
- package/dist/Schema/SchemaParser.js +6 -0
- package/dist/Schema/SpecialJsonSchema.d.ts +33 -0
- package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -0
- package/dist/Schema/SpecialJsonSchema.js +122 -0
- package/dist/Schema/SpecialOpenApi.d.ts +32 -0
- package/dist/Schema/SpecialOpenApi.d.ts.map +1 -0
- package/dist/Schema/SpecialOpenApi.js +123 -0
- package/dist/Schema/brand.d.ts +4 -2
- package/dist/Schema/brand.d.ts.map +1 -1
- package/dist/Schema/brand.js +1 -1
- package/dist/Schema/email.d.ts +1 -1
- package/dist/Schema/email.d.ts.map +1 -1
- package/dist/Schema/email.js +7 -4
- package/dist/Schema/ext.d.ts +117 -45
- package/dist/Schema/ext.d.ts.map +1 -1
- package/dist/Schema/ext.js +131 -42
- package/dist/Schema/moreStrings.d.ts +37 -25
- package/dist/Schema/moreStrings.d.ts.map +1 -1
- package/dist/Schema/moreStrings.js +15 -16
- package/dist/Schema/numbers.d.ts +15 -15
- package/dist/Schema/numbers.d.ts.map +1 -1
- package/dist/Schema/numbers.js +10 -12
- package/dist/Schema/phoneNumber.d.ts +1 -1
- package/dist/Schema/phoneNumber.d.ts.map +1 -1
- package/dist/Schema/phoneNumber.js +6 -3
- package/dist/Schema/schema.d.ts +1 -1
- package/dist/Schema/strings.d.ts +5 -5
- package/dist/Schema/strings.d.ts.map +1 -1
- package/dist/Schema/strings.js +1 -5
- package/dist/Schema.d.ts +147 -15
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +131 -16
- package/dist/Set.d.ts +1 -1
- package/dist/Set.d.ts.map +1 -1
- package/dist/TypeTest.d.ts +1 -1
- package/dist/Types.d.ts +1 -1
- package/dist/Widen.type.d.ts +1 -1
- package/dist/_ext/Array.d.ts +1 -1
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/date.d.ts +1 -1
- package/dist/_ext/misc.d.ts +1 -1
- package/dist/_ext/ord.ext.d.ts +1 -1
- package/dist/_ext/ord.ext.d.ts.map +1 -1
- package/dist/builtin.d.ts +1 -1
- package/dist/builtin.d.ts.map +1 -1
- package/dist/client/InvalidationKeys.d.ts +29 -0
- package/dist/client/InvalidationKeys.d.ts.map +1 -0
- package/dist/client/InvalidationKeys.js +33 -0
- package/dist/client/apiClientFactory.d.ts +20 -32
- package/dist/client/apiClientFactory.d.ts.map +1 -1
- package/dist/client/apiClientFactory.js +95 -32
- package/dist/client/clientFor.d.ts +51 -17
- package/dist/client/clientFor.d.ts.map +1 -1
- package/dist/client/clientFor.js +9 -1
- package/dist/client/errors.d.ts +49 -25
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +43 -17
- package/dist/client/makeClient.d.ts +481 -33
- package/dist/client/makeClient.d.ts.map +1 -1
- package/dist/client/makeClient.js +66 -24
- package/dist/client.d.ts +2 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +2 -1
- package/dist/faker.d.ts +1 -1
- package/dist/faker.d.ts.map +1 -1
- package/dist/http/Request.d.ts +2 -2
- package/dist/http/Request.d.ts.map +1 -1
- package/dist/http/internal/lib.d.ts +1 -1
- package/dist/http.d.ts +1 -1
- package/dist/ids.d.ts +12 -12
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +3 -2
- package/dist/index.d.ts +5 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -8
- package/dist/logger.d.ts +1 -1
- package/dist/middleware.d.ts +14 -8
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +14 -8
- package/dist/rpc/Invalidation.d.ts +402 -0
- package/dist/rpc/Invalidation.d.ts.map +1 -0
- package/dist/rpc/Invalidation.js +150 -0
- package/dist/rpc/MiddlewareMaker.d.ts +5 -4
- package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
- package/dist/rpc/MiddlewareMaker.js +57 -37
- package/dist/rpc/RpcContextMap.d.ts +3 -3
- package/dist/rpc/RpcContextMap.d.ts.map +1 -1
- package/dist/rpc/RpcContextMap.js +4 -4
- package/dist/rpc/RpcMiddleware.d.ts +5 -4
- package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/rpc/RpcMiddleware.js +1 -1
- package/dist/rpc.d.ts +2 -2
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +2 -2
- package/dist/transform.d.ts +1 -1
- package/dist/transform.d.ts.map +1 -1
- package/dist/transform.js +3 -3
- package/dist/utils/effectify.d.ts +1 -1
- package/dist/utils/extend.d.ts +1 -1
- package/dist/utils/extend.d.ts.map +1 -1
- package/dist/utils/gen.d.ts +2 -2
- package/dist/utils/gen.d.ts.map +1 -1
- package/dist/utils/logLevel.d.ts +2 -2
- package/dist/utils/logLevel.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +3 -3
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +3 -3
- package/dist/utils.d.ts +31 -38
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +12 -25
- package/dist/validation/validators.d.ts +1 -1
- package/dist/validation/validators.d.ts.map +1 -1
- package/dist/validation.d.ts +1 -1
- package/dist/validation.d.ts.map +1 -1
- package/package.json +46 -24
- package/src/Config/SecretURL.ts +2 -1
- package/src/Config.ts +14 -0
- package/src/ConfigProvider.ts +48 -0
- package/src/{ServiceMap.ts → Context.ts} +52 -59
- package/src/Effect.ts +12 -14
- package/src/Layer.ts +6 -5
- package/src/Pure.ts +17 -18
- package/src/Schema/Class.ts +268 -62
- package/src/Schema/SchemaParser.ts +12 -0
- package/src/Schema/SpecialJsonSchema.ts +137 -0
- package/src/Schema/SpecialOpenApi.ts +130 -0
- package/src/Schema/brand.ts +21 -1
- package/src/Schema/email.ts +7 -2
- package/src/Schema/ext.ts +204 -72
- package/src/Schema/moreStrings.ts +40 -37
- package/src/Schema/numbers.ts +14 -16
- package/src/Schema/phoneNumber.ts +5 -1
- package/src/Schema/strings.ts +4 -8
- package/src/Schema.ts +314 -20
- package/src/client/InvalidationKeys.ts +50 -0
- package/src/client/apiClientFactory.ts +223 -129
- package/src/client/clientFor.ts +95 -29
- package/src/client/errors.ts +52 -26
- package/src/client/makeClient.ts +572 -71
- package/src/client.ts +1 -0
- package/src/ids.ts +3 -2
- package/src/index.ts +5 -10
- package/src/middleware.ts +13 -9
- package/src/rpc/Invalidation.ts +226 -0
- package/src/rpc/MiddlewareMaker.ts +65 -60
- package/src/rpc/README.md +2 -2
- package/src/rpc/RpcContextMap.ts +6 -5
- package/src/rpc/RpcMiddleware.ts +5 -4
- package/src/rpc.ts +1 -1
- package/src/transform.ts +2 -2
- package/src/utils/gen.ts +1 -1
- package/src/utils/logger.ts +2 -2
- package/src/utils.ts +50 -132
- package/test/dist/rpc.test.d.ts.map +1 -1
- package/test/dist/secretURL.test.d.ts.map +1 -0
- package/test/dist/special.test.d.ts.map +1 -0
- package/test/dist/stream-error.types.d.ts +2 -0
- package/test/dist/stream-error.types.d.ts.map +1 -0
- package/test/dist/stream-error.types.js +27 -0
- package/test/rpc.test.ts +45 -6
- package/test/schema.test.ts +581 -7
- package/test/secretURL.test.ts +157 -0
- package/test/special.test.ts +1023 -0
- package/test/utils.test.ts +6 -6
- package/tsconfig.base.json +3 -4
- package/tsconfig.json +0 -1
- package/tsconfig.json.bak +2 -2
- package/tsconfig.src.json +29 -29
- package/tsconfig.test.json +2 -2
- package/dist/Operations.d.ts +0 -123
- package/dist/Operations.d.ts.map +0 -1
- package/dist/Operations.js +0 -29
- package/dist/ServiceMap.d.ts +0 -44
- package/dist/ServiceMap.d.ts.map +0 -1
- package/dist/ServiceMap.js +0 -91
- package/eslint.config.mjs +0 -26
- package/src/Operations.ts +0 -55
package/test/utils.test.ts
CHANGED
|
@@ -77,14 +77,14 @@ test("works with class", () => {
|
|
|
77
77
|
|
|
78
78
|
expect(Object.getPrototypeOf(res3)).toEqual(Banana.prototype)
|
|
79
79
|
|
|
80
|
-
// @ts-expect-error extraProp is not a valid property of Banana
|
|
81
80
|
copyBanana(
|
|
82
81
|
original,
|
|
82
|
+
// @ts-expect-error extraProp is not a valid property of Banana
|
|
83
83
|
{ name: "string", extraProp: "whatever" }
|
|
84
84
|
)
|
|
85
85
|
|
|
86
|
-
// @ts-expect-error extraProp is not a valid property of Banana
|
|
87
86
|
copyBanana(
|
|
87
|
+
// @ts-expect-error extraProp is not a valid property of Banana
|
|
88
88
|
original,
|
|
89
89
|
{ extraProp: "whatever" }
|
|
90
90
|
)
|
|
@@ -110,8 +110,8 @@ test("works with schema class", () => {
|
|
|
110
110
|
class Banana extends S.Class<Banana>("Banana")({
|
|
111
111
|
name: S.String,
|
|
112
112
|
state: S.Union([
|
|
113
|
-
S.Struct({ a: S.String, _tag: S.
|
|
114
|
-
S.Struct({ b: S.
|
|
113
|
+
S.Struct({ a: S.String, _tag: S.tag("a") }),
|
|
114
|
+
S.Struct({ b: S.Finite, _tag: S.tag("b") })
|
|
115
115
|
])
|
|
116
116
|
}) {}
|
|
117
117
|
|
|
@@ -179,14 +179,14 @@ test("works with schema class", () => {
|
|
|
179
179
|
|
|
180
180
|
expect(Object.getPrototypeOf(res3)).toEqual(Banana.prototype)
|
|
181
181
|
|
|
182
|
-
// @ts-expect-error extraProp is not a valid property of Banana
|
|
183
182
|
copyBanana(
|
|
184
183
|
original,
|
|
184
|
+
// @ts-expect-error extraProp is not a valid property of Banana
|
|
185
185
|
{ name: "string", extraProp: "whatever" }
|
|
186
186
|
)
|
|
187
187
|
|
|
188
|
-
// @ts-expect-error extraProp is not a valid property of Banana
|
|
189
188
|
copyBanana(
|
|
189
|
+
// @ts-expect-error extraProp is not a valid property of Banana
|
|
190
190
|
original,
|
|
191
191
|
{ extraProp: "whatever" }
|
|
192
192
|
)
|
package/tsconfig.base.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
],
|
|
8
8
|
"target": "ES2022",
|
|
9
9
|
// inline source maps stay better in sync with the source, which should aid with watchers.
|
|
10
|
-
//"sourceMap": true,
|
|
10
|
+
// "sourceMap": true,
|
|
11
11
|
"inlineSourceMap": true,
|
|
12
12
|
"incremental": true,
|
|
13
13
|
"composite": true,
|
|
@@ -21,7 +21,6 @@
|
|
|
21
21
|
"noImplicitThis": true,
|
|
22
22
|
"resolveJsonModule": true,
|
|
23
23
|
"moduleResolution": "Node16",
|
|
24
|
-
"downlevelIteration": true,
|
|
25
24
|
"noErrorTruncation": true,
|
|
26
25
|
"forceConsistentCasingInFileNames": true
|
|
27
26
|
},
|
|
@@ -41,7 +40,7 @@
|
|
|
41
40
|
"**/.git",
|
|
42
41
|
"**/.data",
|
|
43
42
|
"**/.logs",
|
|
44
|
-
"**/.*"
|
|
43
|
+
"**/.*"
|
|
45
44
|
],
|
|
46
45
|
"excludeFiles": [
|
|
47
46
|
"**/*.tmp",
|
|
@@ -57,4 +56,4 @@
|
|
|
57
56
|
"**/dist",
|
|
58
57
|
"**/.*"
|
|
59
58
|
]
|
|
60
|
-
}
|
|
59
|
+
}
|
package/tsconfig.json
CHANGED
package/tsconfig.json.bak
CHANGED
package/tsconfig.src.json
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
],
|
|
7
|
-
"tsBuildInfoFile": "./dist/.tsbuildinfo",
|
|
8
|
-
"esModuleInterop": true,
|
|
9
|
-
"rootDir": "./src",
|
|
10
|
-
// keep in here, cause madge can't detect it from extended tsconfig
|
|
11
|
-
"moduleResolution": "Node16",
|
|
12
|
-
"outDir": "./dist"
|
|
13
|
-
},
|
|
14
|
-
"include": [
|
|
15
|
-
"./src/**/*.ts"
|
|
2
|
+
"extends": "../../tsconfig.base.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"lib": [
|
|
5
|
+
"esnext"
|
|
16
6
|
],
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
|
|
7
|
+
"tsBuildInfoFile": "./dist/.tsbuildinfo",
|
|
8
|
+
"esModuleInterop": true,
|
|
9
|
+
"rootDir": "./src",
|
|
10
|
+
// keep in here, cause madge can't detect it from extended tsconfig
|
|
11
|
+
"moduleResolution": "Node16",
|
|
12
|
+
"outDir": "./dist"
|
|
13
|
+
},
|
|
14
|
+
"include": [
|
|
15
|
+
"./src/**/*.ts"
|
|
16
|
+
],
|
|
17
|
+
"exclude": [
|
|
18
|
+
"./dist",
|
|
19
|
+
"*.test.ts",
|
|
20
|
+
"node_modules",
|
|
21
|
+
"build",
|
|
22
|
+
"lib",
|
|
23
|
+
"dist",
|
|
24
|
+
"**/*.d.ts.map",
|
|
25
|
+
".git",
|
|
26
|
+
".data",
|
|
27
|
+
"**/.*",
|
|
28
|
+
"**/*.tmp"
|
|
29
|
+
],
|
|
30
|
+
"references": []
|
|
31
|
+
}
|
package/tsconfig.test.json
CHANGED
package/dist/Operations.d.ts
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import * as S from "./Schema.js";
|
|
2
|
-
export type OperationId = S.StringId;
|
|
3
|
-
export declare const OperationId: S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & {
|
|
4
|
-
make: () => S.StringId;
|
|
5
|
-
withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & S.WithoutConstructorDefault>;
|
|
6
|
-
}> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & {
|
|
7
|
-
make: () => S.StringId;
|
|
8
|
-
withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & S.WithoutConstructorDefault>;
|
|
9
|
-
};
|
|
10
|
-
declare const OperationProgress_base: S.EnhancedClass<OperationProgress, S.Struct<{
|
|
11
|
-
completed: S.WithDefaults<S.brand<import("effect/Schema").Int, "NonNegativeInt" | "Int" | "NonNegativeNumber">> & S.brand<import("effect/Schema").Int, "NonNegativeInt" | "Int" | "NonNegativeNumber"> & {
|
|
12
|
-
withDefault: S.withConstructorDefault<S.WithDefaults<S.brand<import("effect/Schema").Int, "NonNegativeInt" | "Int" | "NonNegativeNumber">> & S.brand<import("effect/Schema").Int, "NonNegativeInt" | "Int" | "NonNegativeNumber"> & S.WithoutConstructorDefault>;
|
|
13
|
-
};
|
|
14
|
-
total: S.WithDefaults<S.brand<import("effect/Schema").Int, "NonNegativeInt" | "Int" | "NonNegativeNumber">> & S.brand<import("effect/Schema").Int, "NonNegativeInt" | "Int" | "NonNegativeNumber"> & {
|
|
15
|
-
withDefault: S.withConstructorDefault<S.WithDefaults<S.brand<import("effect/Schema").Int, "NonNegativeInt" | "Int" | "NonNegativeNumber">> & S.brand<import("effect/Schema").Int, "NonNegativeInt" | "Int" | "NonNegativeNumber"> & S.WithoutConstructorDefault>;
|
|
16
|
-
};
|
|
17
|
-
}>, {}>;
|
|
18
|
-
export declare class OperationProgress extends OperationProgress_base {
|
|
19
|
-
}
|
|
20
|
-
declare const OperationSuccess_base: S.EnhancedTaggedClass<OperationSuccess, "OperationSuccess", {
|
|
21
|
-
readonly _tag: S.tag<"OperationSuccess">;
|
|
22
|
-
} & {
|
|
23
|
-
message: S.withConstructorDefault<import("effect/Schema").NullOr<S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">> & S.WithoutConstructorDefault>;
|
|
24
|
-
}, OperationSuccess.Encoded>;
|
|
25
|
-
export declare class OperationSuccess extends OperationSuccess_base {
|
|
26
|
-
}
|
|
27
|
-
declare const OperationFailure_base: S.EnhancedTaggedClass<OperationFailure, "OperationFailure", {
|
|
28
|
-
readonly _tag: S.tag<"OperationFailure">;
|
|
29
|
-
} & {
|
|
30
|
-
message: S.withConstructorDefault<import("effect/Schema").NullOr<S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">> & S.WithoutConstructorDefault>;
|
|
31
|
-
}, OperationFailure.Encoded>;
|
|
32
|
-
export declare class OperationFailure extends OperationFailure_base {
|
|
33
|
-
}
|
|
34
|
-
export declare const OperationResult: S.Union<[typeof OperationSuccess, typeof OperationFailure]> & {
|
|
35
|
-
readonly cases: {
|
|
36
|
-
OperationSuccess: typeof OperationSuccess;
|
|
37
|
-
OperationFailure: typeof OperationFailure;
|
|
38
|
-
};
|
|
39
|
-
readonly isAnyOf: <const Keys>(keys: readonly Keys[]) => (value: OperationSuccess | OperationFailure) => value is Extract<OperationSuccess, {
|
|
40
|
-
_tag: Keys;
|
|
41
|
-
}> | Extract<OperationFailure, {
|
|
42
|
-
_tag: Keys;
|
|
43
|
-
}>;
|
|
44
|
-
readonly guards: {
|
|
45
|
-
OperationSuccess: (u: unknown) => u is OperationSuccess;
|
|
46
|
-
OperationFailure: (u: unknown) => u is OperationFailure;
|
|
47
|
-
};
|
|
48
|
-
readonly match: {
|
|
49
|
-
<Cases extends {
|
|
50
|
-
OperationSuccess: (value: OperationSuccess) => any;
|
|
51
|
-
OperationFailure: (value: OperationFailure) => any;
|
|
52
|
-
}>(value: OperationSuccess | OperationFailure, cases: Cases): Cases[keyof Cases] extends (value: any) => infer R ? import("effect/Unify").Unify<R> : never;
|
|
53
|
-
<Cases extends {
|
|
54
|
-
OperationSuccess: (value: OperationSuccess) => any;
|
|
55
|
-
OperationFailure: (value: OperationFailure) => any;
|
|
56
|
-
}>(cases: Cases): (value: OperationSuccess | OperationFailure) => Cases[keyof Cases] extends (value: any) => infer R ? import("effect/Unify").Unify<R> : never;
|
|
57
|
-
};
|
|
58
|
-
} & {
|
|
59
|
-
readonly tags: S.Literals<["OperationSuccess", "OperationFailure"]>;
|
|
60
|
-
};
|
|
61
|
-
export type OperationResult = S.Schema.Type<typeof OperationResult>;
|
|
62
|
-
declare const Operation_base: S.EnhancedClass<Operation, S.Struct<{
|
|
63
|
-
id: S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & {
|
|
64
|
-
make: () => S.StringId;
|
|
65
|
-
withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & S.WithoutConstructorDefault>;
|
|
66
|
-
}> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & {
|
|
67
|
-
make: () => S.StringId;
|
|
68
|
-
withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & S.WithoutConstructorDefault>;
|
|
69
|
-
};
|
|
70
|
-
title: S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">;
|
|
71
|
-
progress: S.optional<typeof OperationProgress>;
|
|
72
|
-
result: S.optional<S.Union<[typeof OperationSuccess, typeof OperationFailure]> & {
|
|
73
|
-
readonly cases: {
|
|
74
|
-
OperationSuccess: typeof OperationSuccess;
|
|
75
|
-
OperationFailure: typeof OperationFailure;
|
|
76
|
-
};
|
|
77
|
-
readonly isAnyOf: <const Keys>(keys: readonly Keys[]) => (value: OperationSuccess | OperationFailure) => value is Extract<OperationSuccess, {
|
|
78
|
-
_tag: Keys;
|
|
79
|
-
}> | Extract<OperationFailure, {
|
|
80
|
-
_tag: Keys;
|
|
81
|
-
}>;
|
|
82
|
-
readonly guards: {
|
|
83
|
-
OperationSuccess: (u: unknown) => u is OperationSuccess;
|
|
84
|
-
OperationFailure: (u: unknown) => u is OperationFailure;
|
|
85
|
-
};
|
|
86
|
-
readonly match: {
|
|
87
|
-
<Cases extends {
|
|
88
|
-
OperationSuccess: (value: OperationSuccess) => any;
|
|
89
|
-
OperationFailure: (value: OperationFailure) => any;
|
|
90
|
-
}>(value: OperationSuccess | OperationFailure, cases: Cases): Cases[keyof Cases] extends (value: any) => infer R ? import("effect/Unify").Unify<R> : never;
|
|
91
|
-
<Cases extends {
|
|
92
|
-
OperationSuccess: (value: OperationSuccess) => any;
|
|
93
|
-
OperationFailure: (value: OperationFailure) => any;
|
|
94
|
-
}>(cases: Cases): (value: OperationSuccess | OperationFailure) => Cases[keyof Cases] extends (value: any) => infer R ? import("effect/Unify").Unify<R> : never;
|
|
95
|
-
};
|
|
96
|
-
} & {
|
|
97
|
-
readonly tags: S.Literals<["OperationSuccess", "OperationFailure"]>;
|
|
98
|
-
}>;
|
|
99
|
-
createdAt: S.withConstructorDefault<S.decodeTo<import("effect/Schema").Date, S.String, never, never> & S.WithoutConstructorDefault>;
|
|
100
|
-
updatedAt: S.withConstructorDefault<import("effect/Schema").NullOr<S.decodeTo<import("effect/Schema").Date, S.String, never, never> & {
|
|
101
|
-
withDefault: S.withConstructorDefault<S.decodeTo<import("effect/Schema").Date, S.String, never, never> & S.WithoutConstructorDefault>;
|
|
102
|
-
}> & S.WithoutConstructorDefault>;
|
|
103
|
-
}>, {}>;
|
|
104
|
-
export declare class Operation extends Operation_base {
|
|
105
|
-
}
|
|
106
|
-
export declare namespace OperationProgress {
|
|
107
|
-
interface Encoded extends S.Struct.Encoded<typeof OperationProgress["fields"]> {
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
export declare namespace OperationSuccess {
|
|
111
|
-
interface Encoded extends S.Struct.Encoded<typeof OperationSuccess["fields"]> {
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
export declare namespace OperationFailure {
|
|
115
|
-
interface Encoded extends S.Struct.Encoded<typeof OperationFailure["fields"]> {
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
export declare namespace Operation {
|
|
119
|
-
interface Encoded extends S.Struct.Encoded<typeof Operation["fields"]> {
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
export {};
|
|
123
|
-
//# sourceMappingURL=Operations.d.ts.map
|
package/dist/Operations.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../src/Operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAA;AAEhC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAA;AACpC,eAAO,MAAM,WAAW;;;;;;CAAa,CAAA;;;;;;;;;AAErC,qBAAa,iBAAkB,SAAQ,sBAMrC;CAAG;;;;;;AAEL,qBAAa,gBACX,SAAQ,qBAEN;CACF;;;;;;AAEF,qBAAa,gBACX,SAAQ,qBAEN;CACF;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoD,CAAA;AAChF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,eAAe,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEnE,qBAAa,SAAU,SAAQ,cAO7B;CAAG;AAKL,yBAAiB,iBAAiB,CAAC;IACjC,UAAiB,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;KAAG;CACzF;AACD,yBAAiB,gBAAgB,CAAC;IAChC,UAAiB,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;KAAG;CACxF;AACD,yBAAiB,gBAAgB,CAAC;IAChC,UAAiB,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;KAAG;CACxF;AACD,yBAAiB,SAAS,CAAC;IACzB,UAAiB,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;KAAG;CACjF"}
|
package/dist/Operations.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import * as S from "./Schema.js";
|
|
2
|
-
export const OperationId = S.StringId;
|
|
3
|
-
export class OperationProgress extends S.ExtendedClass("OperationProgress")({
|
|
4
|
-
completed: S.NonNegativeInt,
|
|
5
|
-
total: S.NonNegativeInt
|
|
6
|
-
}) {
|
|
7
|
-
}
|
|
8
|
-
export class OperationSuccess extends S.ExtendedTaggedClass()("OperationSuccess", {
|
|
9
|
-
message: S.NullOr(S.NonEmptyString2k).withDefault
|
|
10
|
-
}) {
|
|
11
|
-
}
|
|
12
|
-
export class OperationFailure extends S.ExtendedTaggedClass()("OperationFailure", {
|
|
13
|
-
message: S.NullOr(S.NonEmptyString2k).withDefault
|
|
14
|
-
}) {
|
|
15
|
-
}
|
|
16
|
-
export const OperationResult = S.TaggedUnion(OperationSuccess, OperationFailure);
|
|
17
|
-
export class Operation extends S.ExtendedClass("Operation")({
|
|
18
|
-
id: OperationId,
|
|
19
|
-
title: S.NonEmptyString2k,
|
|
20
|
-
progress: S.optional(OperationProgress),
|
|
21
|
-
result: S.optional(OperationResult),
|
|
22
|
-
createdAt: S.Date.withDefault,
|
|
23
|
-
updatedAt: S.NullOr(S.Date).withDefault
|
|
24
|
-
}) {
|
|
25
|
-
}
|
|
26
|
-
/* eslint-enable */
|
|
27
|
-
//
|
|
28
|
-
// codegen:end
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9PcGVyYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sYUFBYSxDQUFBO0FBR2hDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFBO0FBRXJDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxDQUFDLENBQUMsYUFBYSxDQUdwRCxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3JCLFNBQVMsRUFBRSxDQUFDLENBQUMsY0FBYztJQUMzQixLQUFLLEVBQUUsQ0FBQyxDQUFDLGNBQWM7Q0FDeEIsQ0FBQztDQUFHO0FBRUwsTUFBTSxPQUFPLGdCQUNYLFNBQVEsQ0FBQyxDQUFDLG1CQUFtQixFQUE4QyxDQUFDLGtCQUFrQixFQUFFO0lBQzlGLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFdBQVc7Q0FDbEQsQ0FBQztDQUNGO0FBRUYsTUFBTSxPQUFPLGdCQUNYLFNBQVEsQ0FBQyxDQUFDLG1CQUFtQixFQUE4QyxDQUFDLGtCQUFrQixFQUFFO0lBQzlGLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFdBQVc7Q0FDbEQsQ0FBQztDQUNGO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtBQUdoRixNQUFNLE9BQU8sU0FBVSxTQUFRLENBQUMsQ0FBQyxhQUFhLENBQStCLFdBQVcsQ0FBQyxDQUFDO0lBQ3hGLEVBQUUsRUFBRSxXQUFXO0lBQ2YsS0FBSyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0I7SUFDekIsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUM7SUFDdkMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO0lBQ25DLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVc7SUFDN0IsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVc7Q0FDeEMsQ0FBQztDQUFHO0FBaUJMLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YsY0FBYyJ9
|
package/dist/ServiceMap.d.ts
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* We're doing the long way around here with assignTag, TagBase & TagBaseTagged,
|
|
3
|
-
* because there's a typescript compiler issue where it will complain about Equal.symbol, and Hash.symbol not being accessible.
|
|
4
|
-
* https://github.com/microsoft/TypeScript/issues/52644
|
|
5
|
-
*/
|
|
6
|
-
import { type Effect, Layer, type Scope, type Types } from "effect";
|
|
7
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
8
|
-
import { type Yieldable } from "./Effect.js";
|
|
9
|
-
export * from "effect/ServiceMap";
|
|
10
|
-
export interface Opaque<Self extends object, in out Shape extends object> extends ServiceMap.Key<Self, Self>, Yieldable<Opaque<Self, Shape>, Self, never, Self> {
|
|
11
|
-
of(this: void, self: Shape): Self;
|
|
12
|
-
serviceMap(self: Shape): ServiceMap.ServiceMap<Self>;
|
|
13
|
-
toLayer: <E, R>(eff: Effect.Effect<Shape, E, R>) => Layer.Layer<Self, E, Exclude<R, Scope.Scope>>;
|
|
14
|
-
use<A, E, R>(f: (service: Shape) => Effect.Effect<A, E, R>): Effect.Effect<A, E, R | Self>;
|
|
15
|
-
useSync<A>(f: (service: Shape) => A): Effect.Effect<A, never, Self>;
|
|
16
|
-
}
|
|
17
|
-
export declare function assignTag<Identifier extends object, Shape extends object = Identifier>(key: string, creationError?: Error): <S extends object>(cls: S) => S & Opaque<Identifier, Shape>;
|
|
18
|
-
export type ServiceAcessorShape<Self, Type> = Type extends Record<PropertyKey, any> ? {
|
|
19
|
-
[k in keyof Type as Type[k] extends ((...args: [...infer Args]) => infer Ret) ? ((...args: Readonly<Args>) => Ret) extends Type[k] ? k : never : k]: Type[k] extends (...args: [...infer Args]) => Effect.Effect<infer A, infer E, infer R> ? (...args: Readonly<Args>) => Effect.Effect<A, E, Self | R> : Type[k] extends (...args: [...infer Args]) => infer A ? (...args: Readonly<Args>) => Effect.Effect<A, never, Self> : Type[k] extends Effect.Effect<infer A, infer E, infer R> ? Effect.Effect<A, E, Self | R> : Effect.Effect<Type[k], never, Self>;
|
|
20
|
-
} : {};
|
|
21
|
-
/**
|
|
22
|
-
* Only use this in very specific cases where using dependencies directly is prefered, like inside command handlers.
|
|
23
|
-
*/
|
|
24
|
-
export declare const proxify: <T extends object>(Tag: T) => <Self, Shape>() => T & ServiceAcessorShape<Self, Shape>;
|
|
25
|
-
export declare const TypeId = "~ServiceMap.Opaque";
|
|
26
|
-
export interface OpaqueClass<Self extends object, in out Identifier extends string, Shape extends object> extends Opaque<Self, Shape> {
|
|
27
|
-
new (_: never): Shape & {
|
|
28
|
-
readonly [TypeId]: Identifier;
|
|
29
|
-
};
|
|
30
|
-
readonly key: Identifier;
|
|
31
|
-
}
|
|
32
|
-
export declare const Opaque: {
|
|
33
|
-
<Self extends object, Shape extends object>(): <const Identifier extends string, E, R = Types.unassigned, Args extends ReadonlyArray<any> = never>(id: Identifier, options?: {
|
|
34
|
-
readonly make: ((...args: Args) => Effect.Effect<Shape, E, R>) | Effect.Effect<Shape, E, R> | undefined;
|
|
35
|
-
}) => OpaqueClass<Self, Identifier, Shape> & ([Types.unassigned] extends [R] ? unknown : {
|
|
36
|
-
readonly make: [Args] extends [never] ? Effect.Effect<Shape, E, R> : (...args: Args) => Effect.Effect<Shape, E, R>;
|
|
37
|
-
});
|
|
38
|
-
<Self extends object>(): <const Identifier extends string, Make extends Effect.Effect<any, any, any> | ((...args: any) => Effect.Effect<any, any, any>)>(id: Identifier, options: {
|
|
39
|
-
readonly make: Make;
|
|
40
|
-
}) => OpaqueClass<Self, Identifier, Make extends Effect.Effect<infer _A, infer _E, infer _R> | ((...args: infer _Args) => Effect.Effect<infer _A, infer _E, infer _R>) ? _A : never> & {
|
|
41
|
-
readonly make: Make;
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
|
-
//# sourceMappingURL=ServiceMap.d.ts.map
|
package/dist/ServiceMap.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceMap.d.ts","sourceRoot":"","sources":["../src/ServiceMap.ts"],"names":[],"mappings":"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"}
|
package/dist/ServiceMap.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
/**
|
|
3
|
-
* We're doing the long way around here with assignTag, TagBase & TagBaseTagged,
|
|
4
|
-
* because there's a typescript compiler issue where it will complain about Equal.symbol, and Hash.symbol not being accessible.
|
|
5
|
-
* https://github.com/microsoft/TypeScript/issues/52644
|
|
6
|
-
*/
|
|
7
|
-
import { Layer } from "effect";
|
|
8
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
9
|
-
export * from "effect/ServiceMap";
|
|
10
|
-
// export interface OpaqueMake<Self extends object, in out Shape extends object, E, R>
|
|
11
|
-
// extends ServiceMap.Service<Self, Self>
|
|
12
|
-
// {
|
|
13
|
-
// // temp while sorting out https://github.com/Effect-TS/effect-smol/pull/1534
|
|
14
|
-
// of(self: Shape): Self
|
|
15
|
-
// serviceMap2(self: Shape): ServiceMap.ServiceMap<Self>
|
|
16
|
-
// // a version that leverages the Shape -> Self conversion
|
|
17
|
-
// toLayer: {
|
|
18
|
-
// <E, R>(
|
|
19
|
-
// eff: Effect.Effect<Shape, E, R>
|
|
20
|
-
// ): Layer.Layer<Self, E, Exclude<R, Scope.Scope>>
|
|
21
|
-
// (): Layer.Layer<Self, E, Exclude<R, Scope.Scope>>
|
|
22
|
-
// }
|
|
23
|
-
// }
|
|
24
|
-
export function assignTag(key, creationError) {
|
|
25
|
-
return (cls) => {
|
|
26
|
-
const tag = ServiceMap.Service(key);
|
|
27
|
-
let fields = tag;
|
|
28
|
-
if (Reflect.ownKeys(cls).includes("key")) {
|
|
29
|
-
const { key, ...rest } = tag;
|
|
30
|
-
fields = rest;
|
|
31
|
-
}
|
|
32
|
-
const t = Object.assign(cls, Object.getPrototypeOf(tag), fields);
|
|
33
|
-
if (!creationError) {
|
|
34
|
-
const limit = Error.stackTraceLimit;
|
|
35
|
-
Error.stackTraceLimit = 2;
|
|
36
|
-
creationError = new Error();
|
|
37
|
-
Error.stackTraceLimit = limit;
|
|
38
|
-
}
|
|
39
|
-
// the stack is used to get the location of the tag definition, if a service is not found in the registry
|
|
40
|
-
Object.defineProperty(t, "stack", {
|
|
41
|
-
get() {
|
|
42
|
-
return creationError.stack;
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
return t;
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Only use this in very specific cases where using dependencies directly is prefered, like inside command handlers.
|
|
50
|
-
*/
|
|
51
|
-
export const proxify = (Tag) => () => {
|
|
52
|
-
const cache = new Map();
|
|
53
|
-
const done = new Proxy(Tag, {
|
|
54
|
-
get(_target, prop, _receiver) {
|
|
55
|
-
if (prop === "use") {
|
|
56
|
-
// @ts-expect-error abc
|
|
57
|
-
return (body) => Tag.use(body);
|
|
58
|
-
}
|
|
59
|
-
if (prop in Tag) {
|
|
60
|
-
return Tag[prop];
|
|
61
|
-
}
|
|
62
|
-
if (cache.has(prop)) {
|
|
63
|
-
return cache.get(prop);
|
|
64
|
-
}
|
|
65
|
-
const fn = (...args) => Tag.use((s) => s[prop](...args));
|
|
66
|
-
const cn = Tag.use((s) => s[prop]);
|
|
67
|
-
// @effect-diagnostics effect/floatingEffect:off
|
|
68
|
-
Object.assign(fn, cn);
|
|
69
|
-
Object.setPrototypeOf(fn, Object.getPrototypeOf(cn));
|
|
70
|
-
cache.set(prop, fn);
|
|
71
|
-
return fn;
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
return done;
|
|
75
|
-
};
|
|
76
|
-
export const TypeId = "~ServiceMap.Opaque";
|
|
77
|
-
// export interface OpaqueClassMake<Self extends object, in out Identifier extends string, Shape extends object, E, R>
|
|
78
|
-
// extends OpaqueMake<Self, Shape, E, R>
|
|
79
|
-
// {
|
|
80
|
-
// new(_: never): Shape & { readonly [TypeId]: Identifier }
|
|
81
|
-
// readonly key: Identifier
|
|
82
|
-
// }
|
|
83
|
-
export const Opaque = () => (id, options) => {
|
|
84
|
-
const svc = ServiceMap.Service()(id, options);
|
|
85
|
-
return Object.assign(svc, {
|
|
86
|
-
toLayer: (eff) => {
|
|
87
|
-
return Layer.effect(svc, eff);
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
};
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZU1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TZXJ2aWNlTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RDs7OztHQUlHO0FBRUgsT0FBTyxFQUFlLEtBQUssRUFBMEIsTUFBTSxRQUFRLENBQUE7QUFDbkUsT0FBTyxLQUFLLFVBQVUsTUFBTSxtQkFBbUIsQ0FBQTtBQUcvQyxjQUFjLG1CQUFtQixDQUFBO0FBZWpDLHNGQUFzRjtBQUN0RiwyQ0FBMkM7QUFDM0MsSUFBSTtBQUNKLGlGQUFpRjtBQUNqRiwwQkFBMEI7QUFDMUIsMERBQTBEO0FBQzFELDZEQUE2RDtBQUM3RCxlQUFlO0FBQ2YsY0FBYztBQUNkLHdDQUF3QztBQUN4Qyx1REFBdUQ7QUFDdkQsd0RBQXdEO0FBQ3hELE1BQU07QUFDTixJQUFJO0FBRUosTUFBTSxVQUFVLFNBQVMsQ0FDdkIsR0FBVyxFQUNYLGFBQXFCO0lBRXJCLE9BQU8sQ0FBbUIsR0FBTSxFQUFpQyxFQUFFO1FBQ2pFLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQW9CLEdBQUcsQ0FBQyxDQUFBO1FBQ3RELElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQTtRQUNoQixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQTtZQUM1QixNQUFNLEdBQUcsSUFBVyxDQUFBO1FBQ3RCLENBQUM7UUFDRCxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ2hFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNuQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFBO1lBQ25DLEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFBO1lBQ3pCLGFBQWEsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO1lBQzNCLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO1FBQy9CLENBQUM7UUFDRCx5R0FBeUc7UUFDekcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFO1lBQ2hDLEdBQUc7Z0JBQ0QsT0FBTyxhQUFjLENBQUMsS0FBSyxDQUFBO1lBQzdCLENBQUM7U0FDRixDQUFDLENBQUE7UUFDRixPQUFPLENBQUMsQ0FBQTtJQUNWLENBQUMsQ0FBQTtBQUNILENBQUM7QUFnQkQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBbUIsR0FBTSxFQUFFLEVBQUUsQ0FDcEQsR0FFcUMsRUFBRTtJQUVyQyxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBO0lBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRTtRQUMxQixHQUFHLENBQUMsT0FBWSxFQUFFLElBQVMsRUFBRSxTQUFTO1lBQ3BDLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUNuQix1QkFBdUI7Z0JBQ3ZCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFFLEdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDekMsQ0FBQztZQUNELElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNoQixPQUFRLEdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUMzQixDQUFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUN4QixDQUFDO1lBQ0QsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQWdCLEVBQUUsRUFBRSxDQUFFLEdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDbEYsTUFBTSxFQUFFLEdBQUksR0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDaEQsZ0RBQWdEO1lBQ2hELE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1lBQ3JCLE1BQU0sQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNwRCxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUNuQixPQUFPLEVBQUUsQ0FBQTtRQUNYLENBQUM7S0FDRixDQUFDLENBQUE7SUFDRixPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQTtBQXFCMUMsc0hBQXNIO0FBQ3RILDBDQUEwQztBQUMxQyxJQUFJO0FBQ0osNkRBQTZEO0FBQzdELDZCQUE2QjtBQUM3QixJQUFJO0FBRUosTUFBTSxDQUFDLE1BQU0sTUFBTSxHQW9DZixHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQVUsRUFBRSxPQUFZLEVBQUUsRUFBRTtJQUNyQyxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBUSxDQUFBO0lBQ3BELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7UUFDeEIsT0FBTyxFQUFFLENBQUMsR0FBaUMsRUFBRSxFQUFFO1lBQzdDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDL0IsQ0FBQztLQUNGLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQSJ9
|
package/eslint.config.mjs
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import path from "node:path"
|
|
2
|
-
import { fileURLToPath } from "node:url"
|
|
3
|
-
// Use the shared config package instead of a non-existent local file
|
|
4
|
-
import { augmentedConfig } from "@effect-app/eslint-shared-config/eslint.base.config"
|
|
5
|
-
|
|
6
|
-
const __filename = fileURLToPath(import.meta.url)
|
|
7
|
-
const __dirname = path.dirname(__filename)
|
|
8
|
-
|
|
9
|
-
export default [
|
|
10
|
-
...augmentedConfig(__dirname, false),
|
|
11
|
-
{
|
|
12
|
-
ignores: [
|
|
13
|
-
"**/*.js",
|
|
14
|
-
"**/*.jsx",
|
|
15
|
-
"**/*.d.ts",
|
|
16
|
-
"node_modules/",
|
|
17
|
-
"src/eslint.*.config.mjs"
|
|
18
|
-
]
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
rules: {
|
|
22
|
-
"@typescript-eslint/no-empty-interface": "off",
|
|
23
|
-
"@typescript-eslint/no-explicit-any": "warn",
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
]
|
package/src/Operations.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import * as S from "./Schema.js"
|
|
2
|
-
|
|
3
|
-
export type OperationId = S.StringId
|
|
4
|
-
export const OperationId = S.StringId
|
|
5
|
-
|
|
6
|
-
export class OperationProgress extends S.ExtendedClass<
|
|
7
|
-
OperationProgress,
|
|
8
|
-
OperationProgress.Encoded
|
|
9
|
-
>("OperationProgress")({
|
|
10
|
-
completed: S.NonNegativeInt,
|
|
11
|
-
total: S.NonNegativeInt
|
|
12
|
-
}) {}
|
|
13
|
-
|
|
14
|
-
export class OperationSuccess
|
|
15
|
-
extends S.ExtendedTaggedClass<OperationSuccess, OperationSuccess.Encoded>()("OperationSuccess", {
|
|
16
|
-
message: S.NullOr(S.NonEmptyString2k).withDefault
|
|
17
|
-
})
|
|
18
|
-
{}
|
|
19
|
-
|
|
20
|
-
export class OperationFailure
|
|
21
|
-
extends S.ExtendedTaggedClass<OperationFailure, OperationFailure.Encoded>()("OperationFailure", {
|
|
22
|
-
message: S.NullOr(S.NonEmptyString2k).withDefault
|
|
23
|
-
})
|
|
24
|
-
{}
|
|
25
|
-
|
|
26
|
-
export const OperationResult = S.TaggedUnion(OperationSuccess, OperationFailure)
|
|
27
|
-
export type OperationResult = S.Schema.Type<typeof OperationResult>
|
|
28
|
-
|
|
29
|
-
export class Operation extends S.ExtendedClass<Operation, Operation.Encoded>("Operation")({
|
|
30
|
-
id: OperationId,
|
|
31
|
-
title: S.NonEmptyString2k,
|
|
32
|
-
progress: S.optional(OperationProgress),
|
|
33
|
-
result: S.optional(OperationResult),
|
|
34
|
-
createdAt: S.Date.withDefault,
|
|
35
|
-
updatedAt: S.NullOr(S.Date).withDefault
|
|
36
|
-
}) {}
|
|
37
|
-
|
|
38
|
-
// codegen:start {preset: model}
|
|
39
|
-
//
|
|
40
|
-
/* eslint-disable */
|
|
41
|
-
export namespace OperationProgress {
|
|
42
|
-
export interface Encoded extends S.Struct.Encoded<typeof OperationProgress["fields"]> {}
|
|
43
|
-
}
|
|
44
|
-
export namespace OperationSuccess {
|
|
45
|
-
export interface Encoded extends S.Struct.Encoded<typeof OperationSuccess["fields"]> {}
|
|
46
|
-
}
|
|
47
|
-
export namespace OperationFailure {
|
|
48
|
-
export interface Encoded extends S.Struct.Encoded<typeof OperationFailure["fields"]> {}
|
|
49
|
-
}
|
|
50
|
-
export namespace Operation {
|
|
51
|
-
export interface Encoded extends S.Struct.Encoded<typeof Operation["fields"]> {}
|
|
52
|
-
}
|
|
53
|
-
/* eslint-enable */
|
|
54
|
-
//
|
|
55
|
-
// codegen:end
|