effect-app 4.0.0-beta.99 → 4.0.1
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 +2042 -0
- package/dist/Array.d.ts +1 -17
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +3 -27
- package/dist/Chunk.d.ts +3 -27
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +4 -39
- package/dist/Config/SecretURL.d.ts +3 -1
- package/dist/Config/SecretURL.d.ts.map +1 -1
- package/dist/Config/SecretURL.js +3 -6
- package/dist/Config/internal/configSecretURL.d.ts.map +1 -1
- package/dist/Config/internal/configSecretURL.js +2 -2
- package/dist/Config.d.ts +0 -5
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +7 -5
- package/dist/ConfigProvider.d.ts +0 -37
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +5 -41
- package/dist/Context.d.ts +6 -4
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +4 -3
- package/dist/DataDependencies.d.ts +136 -0
- package/dist/DataDependencies.d.ts.map +1 -0
- package/dist/DataDependencies.js +112 -0
- package/dist/DateTime.d.ts +33 -0
- package/dist/DateTime.d.ts.map +1 -0
- package/dist/DateTime.js +18 -0
- package/dist/Effect.d.ts +3 -14
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +8 -26
- package/dist/Emailer.d.ts +51 -0
- package/dist/Emailer.d.ts.map +1 -0
- package/dist/Emailer.js +7 -0
- package/dist/Function.d.ts +0 -4
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +1 -7
- package/dist/Layer.d.ts +6 -3
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +3 -2
- package/dist/Model/Repository/Registry.d.ts +22 -0
- package/dist/Model/Repository/Registry.d.ts.map +1 -0
- package/dist/Model/Repository/Registry.js +18 -0
- package/dist/Model/Repository/dependency.d.ts +6 -0
- package/dist/Model/Repository/dependency.d.ts.map +1 -0
- package/dist/Model/Repository/dependency.js +29 -0
- package/dist/Model/Repository/ext.d.ts +60 -0
- package/dist/Model/Repository/ext.d.ts.map +1 -0
- package/dist/Model/Repository/ext.js +124 -0
- package/dist/Model/Repository/internal/internal.d.ts +68 -0
- package/dist/Model/Repository/internal/internal.d.ts.map +1 -0
- package/dist/Model/Repository/internal/internal.js +610 -0
- package/dist/Model/Repository/legacy.d.ts +21 -0
- package/dist/Model/Repository/legacy.d.ts.map +1 -0
- package/dist/Model/Repository/legacy.js +2 -0
- package/dist/Model/Repository/makeRepo.d.ts +71 -0
- package/dist/Model/Repository/makeRepo.d.ts.map +1 -0
- package/dist/Model/Repository/makeRepo.js +30 -0
- package/dist/Model/Repository/service.d.ts +121 -0
- package/dist/Model/Repository/service.d.ts.map +1 -0
- package/dist/Model/Repository/service.js +2 -0
- package/dist/Model/Repository/validation.d.ts +72 -0
- package/dist/Model/Repository/validation.d.ts.map +1 -0
- package/dist/Model/Repository/validation.js +39 -0
- package/dist/Model/Repository.d.ts +8 -0
- package/dist/Model/Repository.d.ts.map +1 -0
- package/dist/Model/Repository.js +8 -0
- package/dist/Model/dsl.d.ts +34 -0
- package/dist/Model/dsl.d.ts.map +1 -0
- package/dist/Model/dsl.js +45 -0
- package/dist/Model/filter/filterApi.d.ts +30 -0
- package/dist/Model/filter/filterApi.d.ts.map +1 -0
- package/dist/Model/filter/filterApi.js +2 -0
- package/dist/Model/filter/types/errors.d.ts +29 -0
- package/dist/Model/filter/types/errors.d.ts.map +1 -0
- package/dist/Model/filter/types/errors.js +2 -0
- package/dist/Model/filter/types/fields.d.ts +15 -0
- package/dist/Model/filter/types/fields.d.ts.map +1 -0
- package/dist/Model/filter/types/fields.js +2 -0
- package/dist/Model/filter/types/path/common.d.ts +316 -0
- package/dist/Model/filter/types/path/common.d.ts.map +1 -0
- package/dist/Model/filter/types/path/common.js +2 -0
- package/dist/Model/filter/types/path/eager.d.ts +94 -0
- package/dist/Model/filter/types/path/eager.d.ts.map +1 -0
- package/dist/Model/filter/types/path/eager.js +36 -0
- package/dist/Model/filter/types/path/index.d.ts +4 -0
- package/dist/Model/filter/types/path/index.d.ts.map +1 -0
- package/dist/Model/filter/types/path/index.js +3 -0
- package/dist/Model/filter/types/utils.d.ts +79 -0
- package/dist/Model/filter/types/utils.d.ts.map +1 -0
- package/dist/Model/filter/types/utils.js +2 -0
- package/dist/Model/filter/types/validator.d.ts +30 -0
- package/dist/Model/filter/types/validator.d.ts.map +1 -0
- package/dist/Model/filter/types/validator.js +2 -0
- package/dist/Model/filter/types.d.ts +5 -0
- package/dist/Model/filter/types.d.ts.map +1 -0
- package/dist/Model/filter/types.js +7 -0
- package/dist/Model/query/dsl.d.ts +630 -0
- package/dist/Model/query/dsl.d.ts.map +1 -0
- package/dist/Model/query/dsl.js +376 -0
- package/dist/Model/query/new-kid-interpreter.d.ts +132 -0
- package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -0
- package/dist/Model/query/new-kid-interpreter.js +369 -0
- package/dist/Model/query.d.ts +15 -0
- package/dist/Model/query.d.ts.map +1 -0
- package/dist/Model/query.js +3 -0
- package/dist/Model.d.ts +6 -0
- package/dist/Model.d.ts.map +1 -0
- package/dist/Model.js +6 -0
- package/dist/NonEmptySet.d.ts +3 -1
- package/dist/NonEmptySet.d.ts.map +1 -1
- package/dist/NonEmptySet.js +2 -2
- package/dist/Option.d.ts +1 -2
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +3 -7
- package/dist/Pure.d.ts +9 -7
- package/dist/Pure.d.ts.map +1 -1
- package/dist/Pure.js +20 -17
- package/dist/QueueMaker.d.ts +11 -0
- package/dist/QueueMaker.d.ts.map +1 -0
- package/dist/QueueMaker.js +11 -0
- package/dist/RequestContext.d.ts +87 -0
- package/dist/RequestContext.d.ts.map +1 -0
- package/dist/RequestContext.js +45 -0
- package/dist/RequestScopedDependencies.d.ts +21 -0
- package/dist/RequestScopedDependencies.d.ts.map +1 -0
- package/dist/RequestScopedDependencies.js +16 -0
- package/dist/Schema/Class.d.ts +163 -16
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema/Class.js +193 -21
- package/dist/Schema/FastCheck.d.ts.map +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 +15 -2
- package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -1
- package/dist/Schema/SpecialJsonSchema.js +70 -12
- package/dist/Schema/SpecialOpenApi.d.ts +1 -1
- package/dist/Schema/SpecialOpenApi.js +3 -3
- package/dist/Schema/brand.d.ts +5 -5
- package/dist/Schema/brand.d.ts.map +1 -1
- package/dist/Schema/brand.js +6 -4
- package/dist/Schema/email.d.ts.map +1 -1
- package/dist/Schema/email.js +8 -5
- package/dist/Schema/ext.d.ts +279 -75
- package/dist/Schema/ext.d.ts.map +1 -1
- package/dist/Schema/ext.js +330 -72
- package/dist/Schema/moreStrings.d.ts +82 -48
- package/dist/Schema/moreStrings.d.ts.map +1 -1
- package/dist/Schema/moreStrings.js +85 -51
- package/dist/Schema/numbers.d.ts +33 -21
- package/dist/Schema/numbers.d.ts.map +1 -1
- package/dist/Schema/numbers.js +64 -12
- package/dist/Schema/phoneNumber.d.ts.map +1 -1
- package/dist/Schema/phoneNumber.js +6 -6
- package/dist/Schema/schema.d.ts +1 -1
- package/dist/Schema/schema.d.ts.map +1 -1
- package/dist/Schema/schema.js +2 -2
- package/dist/Schema/strings.d.ts +18 -4
- package/dist/Schema/strings.d.ts.map +1 -1
- package/dist/Schema/strings.js +1 -5
- package/dist/Schema.d.ts +224 -7
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +190 -24
- package/dist/SchemaAST.d.ts +2 -0
- package/dist/SchemaAST.d.ts.map +1 -0
- package/dist/SchemaAST.js +2 -0
- package/dist/Set.d.ts +4 -1
- package/dist/Set.d.ts.map +1 -1
- package/dist/Set.js +8 -6
- package/dist/Store.d.ts +215 -0
- package/dist/Store.d.ts.map +1 -0
- package/dist/Store.js +113 -0
- package/dist/_ext/Array.d.ts +1 -1
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/Array.js +4 -2
- package/dist/_ext/ord.ext.d.ts +2 -1
- package/dist/_ext/ord.ext.d.ts.map +1 -1
- package/dist/_ext/ord.ext.js +2 -2
- package/dist/builtin.d.ts +2 -14
- package/dist/builtin.d.ts.map +1 -1
- package/dist/builtin.js +1 -1
- package/dist/client/InvalidationKeys.d.ts +30 -0
- package/dist/client/InvalidationKeys.d.ts.map +1 -0
- package/dist/client/InvalidationKeys.js +37 -0
- package/dist/client/apiClientFactory.d.ts +13 -8
- package/dist/client/apiClientFactory.d.ts.map +1 -1
- package/dist/client/apiClientFactory.js +154 -34
- package/dist/client/clientFor.d.ts +48 -13
- package/dist/client/clientFor.d.ts.map +1 -1
- package/dist/client/clientFor.js +9 -1
- package/dist/client/errors.d.ts +74 -28
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +41 -10
- package/dist/client/makeClient.d.ts +487 -32
- package/dist/client/makeClient.d.ts.map +1 -1
- package/dist/client/makeClient.js +47 -21
- package/dist/client.d.ts +2 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +3 -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/Request.js +2 -2
- package/dist/http/internal/lib.d.ts +12 -12
- package/dist/http/internal/lib.d.ts.map +1 -1
- package/dist/http/internal/lib.js +13 -13
- package/dist/ids.d.ts +32 -14
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +38 -7
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/middleware.d.ts +12 -6
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +13 -7
- package/dist/migration/nativeEffect.d.ts +21 -0
- package/dist/migration/nativeEffect.d.ts.map +1 -0
- package/dist/migration/nativeEffect.js +598 -0
- package/dist/rpc/Invalidation.d.ts +1124 -0
- package/dist/rpc/Invalidation.d.ts.map +1 -0
- package/dist/rpc/Invalidation.js +178 -0
- package/dist/rpc/MiddlewareMaker.d.ts +10 -7
- package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
- package/dist/rpc/MiddlewareMaker.js +57 -37
- package/dist/rpc/RpcContextMap.d.ts +2 -2
- package/dist/rpc/RpcContextMap.d.ts.map +1 -1
- package/dist/rpc/RpcMiddleware.d.ts +13 -10
- package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/rpc/RpcMiddleware.js +2 -2
- package/dist/rpc.d.ts +1 -1
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +2 -2
- package/dist/runtime.d.ts +19 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +40 -0
- package/dist/setupRequest.d.ts +20 -0
- package/dist/setupRequest.d.ts.map +1 -0
- package/dist/setupRequest.js +72 -0
- package/dist/toast.d.ts +51 -0
- package/dist/toast.d.ts.map +1 -0
- package/dist/toast.js +34 -0
- package/dist/transform.d.ts +1 -1
- package/dist/transform.d.ts.map +1 -1
- package/dist/transform.js +4 -5
- package/dist/utils/effectify.d.ts +1 -1
- package/dist/utils/effectify.d.ts.map +1 -1
- package/dist/utils/effectify.js +2 -2
- package/dist/utils/extend.d.ts +6 -1
- package/dist/utils/extend.d.ts.map +1 -1
- package/dist/utils/extend.js +24 -6
- package/dist/utils/gen.d.ts +4 -4
- 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 +2 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +2 -2
- package/dist/utils.d.ts +34 -45
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +33 -49
- package/dist/validation/validators.d.ts.map +1 -1
- package/dist/validation.d.ts.map +1 -1
- package/dist/withToast.d.ts +30 -0
- package/dist/withToast.d.ts.map +1 -0
- package/dist/withToast.js +64 -0
- package/package.json +25 -266
- package/src/Array.ts +7 -39
- package/src/Chunk.ts +6 -55
- package/src/Config/SecretURL.ts +6 -3
- package/src/Config/internal/configSecretURL.ts +2 -2
- package/src/Config.ts +6 -13
- package/src/ConfigProvider.ts +4 -47
- package/src/Context.ts +9 -8
- package/src/DataDependencies.ts +171 -0
- package/src/DateTime.ts +473 -0
- package/src/Effect.ts +10 -32
- package/src/Emailer.ts +51 -0
- package/src/Function.ts +0 -7
- package/src/Inputify.type.ts +1 -1
- package/src/Layer.ts +8 -5
- package/src/Model/Repository/Registry.ts +35 -0
- package/src/Model/Repository/dependency.ts +32 -0
- package/src/Model/Repository/ext.ts +374 -0
- package/src/Model/Repository/internal/internal.ts +987 -0
- package/src/Model/Repository/legacy.ts +29 -0
- package/src/Model/Repository/makeRepo.ts +168 -0
- package/src/Model/Repository/service.ts +676 -0
- package/src/Model/Repository/validation.ts +38 -0
- package/src/Model/Repository.ts +7 -0
- package/src/Model/dsl.ts +130 -0
- package/src/Model/filter/filterApi.ts +78 -0
- package/src/Model/filter/types/errors.ts +47 -0
- package/src/Model/filter/types/fields.ts +50 -0
- package/src/Model/filter/types/path/common.ts +404 -0
- package/src/Model/filter/types/path/eager.ts +329 -0
- package/src/Model/filter/types/path/index.ts +4 -0
- package/src/Model/filter/types/utils.ts +128 -0
- package/src/Model/filter/types/validator.ts +46 -0
- package/src/Model/filter/types.ts +6 -0
- package/src/Model/query/dsl.ts +3092 -0
- package/src/Model/query/new-kid-interpreter.ts +531 -0
- package/src/Model/query.ts +13 -0
- package/src/Model.ts +5 -0
- package/src/NonEmptySet.ts +6 -4
- package/src/Option.ts +3 -8
- package/src/Pure.ts +20 -17
- package/src/QueueMaker.ts +11 -0
- package/src/RequestContext.ts +48 -0
- package/src/RequestScopedDependencies.ts +45 -0
- package/src/Schema/Class.ts +550 -56
- package/src/Schema/SchemaParser.ts +12 -0
- package/src/Schema/SpecialJsonSchema.ts +75 -7
- package/src/Schema/SpecialOpenApi.ts +5 -5
- package/src/Schema/brand.ts +27 -12
- package/src/Schema/email.ts +9 -7
- package/src/Schema/ext.ts +405 -95
- package/src/Schema/moreStrings.ts +213 -88
- package/src/Schema/numbers.ts +107 -29
- package/src/Schema/phoneNumber.ts +8 -9
- package/src/Schema/schema.ts +1 -1
- package/src/Schema/strings.ts +23 -14
- package/src/Schema.ts +403 -46
- package/src/SchemaAST.ts +1 -0
- package/src/Set.ts +10 -5
- package/src/Store.ts +325 -0
- package/src/_ext/Array.ts +4 -2
- package/src/_ext/ord.ext.ts +2 -1
- package/src/builtin-json.d.ts +24 -0
- package/src/builtin.ts +16 -21
- package/src/client/InvalidationKeys.ts +55 -0
- package/src/client/apiClientFactory.ts +295 -129
- package/src/client/clientFor.ts +101 -33
- package/src/client/errors.ts +66 -20
- package/src/client/makeClient.ts +519 -60
- package/src/client.ts +6 -4
- package/src/http/Request.ts +4 -4
- package/src/http/internal/lib.ts +12 -12
- package/src/http.ts +1 -1
- package/src/ids.ts +45 -8
- package/src/index.ts +20 -16
- package/src/middleware.ts +12 -8
- package/src/migration/nativeEffect.ts +645 -0
- package/src/rpc/Invalidation.ts +278 -0
- package/src/rpc/MiddlewareMaker.ts +86 -79
- package/src/rpc/README.md +2 -2
- package/src/rpc/RpcContextMap.ts +4 -4
- package/src/rpc/RpcMiddleware.ts +18 -13
- package/src/rpc.ts +4 -4
- package/src/runtime.ts +57 -0
- package/src/setupRequest.ts +138 -0
- package/src/toast.ts +54 -0
- package/src/transform.ts +4 -4
- package/src/utils/effectify.ts +1 -1
- package/src/utils/extend.ts +24 -5
- package/src/utils/gen.ts +7 -7
- package/src/utils/logLevel.ts +1 -1
- package/src/utils/logger.ts +3 -2
- package/src/utils.ts +85 -175
- package/src/validation.ts +2 -2
- package/src/withToast.ts +133 -0
- package/test/dateTimeLocal.test.ts +55 -0
- package/test/dist/dateTimeLocal.test.d.ts.map +1 -0
- package/test/dist/nativeEffectMigration.test.d.ts.map +1 -0
- package/test/dist/rpc.test.d.ts.map +1 -1
- package/test/dist/rpcMiddlewareContext.test.d.ts.map +1 -0
- package/test/moreStrings.test.ts +55 -10
- package/test/nativeEffectMigration.test.ts +77 -0
- package/test/rpc.test.ts +28 -11
- package/test/rpcMiddlewareContext.test.ts +63 -0
- package/test/schema.test.ts +318 -55
- package/test/secretURL.test.ts +4 -1
- package/test/special.test.ts +663 -131
- package/test/utils.test.ts +5 -5
- package/tsconfig.base.json +6 -4
- package/tsconfig.json +9 -1
- package/tsconfig.src.json +29 -29
- package/tsconfig.test.json +2 -2
- package/dist/Operations.d.ts +0 -124
- package/dist/Operations.d.ts.map +0 -1
- package/dist/Operations.js +0 -29
- package/dist/_ext/date.d.ts +0 -15
- package/dist/_ext/date.d.ts.map +0 -1
- package/dist/_ext/date.js +0 -16
- package/dist/_ext/misc.d.ts +0 -14
- package/dist/_ext/misc.d.ts.map +0 -1
- package/dist/_ext/misc.js +0 -17
- package/eslint.config.mjs +0 -26
- package/src/Operations.ts +0 -55
- package/src/_ext/date.ts +0 -27
- package/src/_ext/misc.ts +0 -46
- package/tsconfig.json.bak +0 -12
package/src/client.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// codegen:start {preset: barrel, include: ./client/*.ts}
|
|
2
|
-
export * from "./client/apiClientFactory.
|
|
3
|
-
export * from "./client/clientFor.
|
|
4
|
-
export * from "./client/errors.
|
|
5
|
-
export * from "./client/
|
|
2
|
+
export * from "./client/apiClientFactory.ts"
|
|
3
|
+
export * from "./client/clientFor.ts"
|
|
4
|
+
export * from "./client/errors.ts"
|
|
5
|
+
export * from "./client/InvalidationKeys.ts"
|
|
6
|
+
export * from "./client/makeClient.ts"
|
|
6
7
|
// codegen:end
|
|
8
|
+
export * as DataDependencies from "./DataDependencies.ts"
|
package/src/http/Request.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import * as Effect from "../Effect.
|
|
4
|
-
import { HttpClient, HttpClientError, HttpClientRequest, HttpHeaders } from "./internal/lib.
|
|
1
|
+
import type { HttpClientResponse } from "effect/http/HttpClientResponse"
|
|
2
|
+
import * as Option from "effect/Option"
|
|
3
|
+
import * as Effect from "../Effect.ts"
|
|
4
|
+
import { HttpClient, HttpClientError, HttpClientRequest, HttpHeaders } from "./internal/lib.ts"
|
|
5
5
|
|
|
6
6
|
export interface ResponseWithBody<A> extends Pick<HttpClientResponse, "headers" | "status" | "remoteAddress"> {
|
|
7
7
|
readonly body: A
|
package/src/http/internal/lib.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export * as HttpHeaders from "effect/
|
|
2
|
-
export * as HttpBody from "effect/
|
|
3
|
-
export * as HttpClient from "effect/
|
|
4
|
-
export * as HttpClientError from "effect/
|
|
5
|
-
export * as HttpClientRequest from "effect/
|
|
6
|
-
export * as HttpClientResponse from "effect/
|
|
1
|
+
export * as HttpHeaders from "effect/http/Headers"
|
|
2
|
+
export * as HttpBody from "effect/http/HttpBody"
|
|
3
|
+
export * as HttpClient from "effect/http/HttpClient"
|
|
4
|
+
export * as HttpClientError from "effect/http/HttpClientError"
|
|
5
|
+
export * as HttpClientRequest from "effect/http/HttpClientRequest"
|
|
6
|
+
export * as HttpClientResponse from "effect/http/HttpClientResponse"
|
|
7
7
|
// HttpLayerRouter removed in v4 — use HttpRouter instead
|
|
8
|
-
export * as HttpMiddleware from "effect/
|
|
9
|
-
export * as HttpRouter from "effect/
|
|
10
|
-
export * as HttpServer from "effect/
|
|
11
|
-
export * as HttpServerError from "effect/
|
|
12
|
-
export * as HttpServerRequest from "effect/
|
|
13
|
-
export * as HttpServerResponse from "effect/
|
|
8
|
+
export * as HttpMiddleware from "effect/http/HttpMiddleware"
|
|
9
|
+
export * as HttpRouter from "effect/http/HttpRouter"
|
|
10
|
+
export * as HttpServer from "effect/http/HttpServer"
|
|
11
|
+
export * as HttpServerError from "effect/http/HttpServerError"
|
|
12
|
+
export * as HttpServerRequest from "effect/http/HttpServerRequest"
|
|
13
|
+
export * as HttpServerResponse from "effect/http/HttpServerResponse"
|
package/src/http.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "./http/internal/lib.
|
|
1
|
+
export * from "./http/internal/lib.ts"
|
package/src/ids.ts
CHANGED
|
@@ -1,29 +1,66 @@
|
|
|
1
|
-
import { Effect } from "effect"
|
|
2
1
|
import { brandedStringId, type Codec, NonEmptyString255, StringId, type StringIdBrand, withDefaultMake } from "effect-app/Schema"
|
|
3
2
|
import type { B } from "effect-app/Schema/schema"
|
|
3
|
+
import * as Effect from "effect/Effect"
|
|
4
4
|
import type { Simplify } from "effect/Types"
|
|
5
|
-
import
|
|
6
|
-
import { extendM } from "./utils.
|
|
5
|
+
import * as S from "./Schema.ts"
|
|
6
|
+
import { extendM } from "./utils.ts"
|
|
7
7
|
|
|
8
8
|
export interface RequestIdBrand extends StringIdBrand {
|
|
9
9
|
readonly RequestId: unique symbol
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export type RequestId = NonEmptyString255
|
|
13
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Schema for a request id.
|
|
15
|
+
*
|
|
16
|
+
* A request id may be made from a span id, which does not comply with the
|
|
17
|
+
* `StringId` schema (hence the looser `NonEmptyString255` base).
|
|
18
|
+
*
|
|
19
|
+
* `.withConstructorDefault` => fresh `StringId` (construction-only; not
|
|
20
|
+
* applied during decode — cannot be used to JIT-migrate database fields).
|
|
21
|
+
* See `./Schema/ext.ts` for the full policy note.
|
|
22
|
+
*/
|
|
23
|
+
const requestIdSamples = S.makeFilter<string>(() => undefined, {
|
|
24
|
+
arbitraryConstraint: {
|
|
25
|
+
minLength: 21,
|
|
26
|
+
maxLength: 21,
|
|
27
|
+
patterns: [{ source: "^[A-Za-z0-9_-]{21}$", flags: "" }]
|
|
28
|
+
}
|
|
29
|
+
})
|
|
30
|
+
|
|
14
31
|
export const RequestId = extendM(
|
|
15
32
|
Object
|
|
16
|
-
.assign(
|
|
33
|
+
.assign(
|
|
34
|
+
Object.create(NonEmptyString255) as {},
|
|
35
|
+
NonEmptyString255.pipe(S.check(requestIdSamples)) as unknown as Codec<NonEmptyString255, string>
|
|
36
|
+
),
|
|
17
37
|
(s) => {
|
|
18
|
-
|
|
38
|
+
function make(): NonEmptyString255
|
|
39
|
+
function make(input: string, options?: S.MakeOptions): NonEmptyString255
|
|
40
|
+
function make(input?: string, options?: S.MakeOptions): NonEmptyString255 {
|
|
41
|
+
const id = input === undefined ? StringId.make() : StringId.make(input, options)
|
|
42
|
+
return id
|
|
43
|
+
}
|
|
19
44
|
return ({
|
|
20
45
|
make,
|
|
21
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Construction-only default: fresh `StringId`. Applied only when the
|
|
48
|
+
* field is omitted from `.make(...)` input. NOT applied during decode —
|
|
49
|
+
* cannot be used to JIT-migrate database fields. See `./Schema/ext.ts`
|
|
50
|
+
* file-level note.
|
|
51
|
+
*/
|
|
52
|
+
withConstructorDefault: S.withConstructorDefault(Effect.sync(make))(s as typeof s & S.WithoutConstructorDefault)
|
|
22
53
|
})
|
|
23
54
|
}
|
|
24
55
|
)
|
|
25
56
|
.pipe(withDefaultMake)
|
|
26
57
|
|
|
27
58
|
export interface UserProfileIdBrand extends Simplify<B.Brand<"UserProfileId"> & StringIdBrand> {}
|
|
28
|
-
export type UserProfileId =
|
|
59
|
+
export type UserProfileId = string & UserProfileIdBrand
|
|
60
|
+
/**
|
|
61
|
+
* Branded `StringId` for user profiles.
|
|
62
|
+
*
|
|
63
|
+
* Exposes `.withConstructorDefault` (fresh id) — construction-only; not
|
|
64
|
+
* applied during decode. See `./Schema/ext.ts` for the full policy note.
|
|
65
|
+
*/
|
|
29
66
|
export const UserProfileId = brandedStringId<UserProfileId>()
|
package/src/index.ts
CHANGED
|
@@ -1,23 +1,27 @@
|
|
|
1
|
-
import
|
|
1
|
+
// eslint-disable-next-line import/no-unassigned-import
|
|
2
|
+
import "./builtin.ts"
|
|
2
3
|
|
|
3
|
-
export * as Fnc from "./Function.
|
|
4
|
-
export * as Utils from "./utils.
|
|
4
|
+
export * as Fnc from "./Function.ts"
|
|
5
|
+
export * as Utils from "./utils.ts"
|
|
5
6
|
|
|
6
|
-
export * as Array from "./Array.
|
|
7
|
-
export * as Config from "./Config.
|
|
8
|
-
export * as ConfigProvider from "./ConfigProvider.
|
|
9
|
-
export * as Context from "./Context.
|
|
10
|
-
export * as Effect from "./Effect.
|
|
11
|
-
export * as Layer from "./Layer.
|
|
12
|
-
export * as
|
|
13
|
-
export * as
|
|
7
|
+
export * as Array from "./Array.ts"
|
|
8
|
+
export * as Config from "./Config.ts"
|
|
9
|
+
export * as ConfigProvider from "./ConfigProvider.ts"
|
|
10
|
+
export * as Context from "./Context.ts"
|
|
11
|
+
export * as Effect from "./Effect.ts"
|
|
12
|
+
export * as Layer from "./Layer.ts"
|
|
13
|
+
export * as Model from "./Model.ts"
|
|
14
|
+
export * as NonEmptySet from "./NonEmptySet.ts"
|
|
15
|
+
export * as Set from "./Set.ts"
|
|
16
|
+
export * as Store from "./Store.ts"
|
|
14
17
|
|
|
15
|
-
export { type NonEmptyArray, type NonEmptyReadonlyArray } from "./Array.
|
|
18
|
+
export { type NonEmptyArray, type NonEmptyReadonlyArray } from "./Array.ts"
|
|
16
19
|
|
|
17
20
|
export * from "effect"
|
|
18
21
|
|
|
19
|
-
export type * as Types from "./Types.
|
|
22
|
+
export type * as Types from "./Types.ts"
|
|
20
23
|
|
|
21
|
-
export * as SecretURL from "./Config/SecretURL.
|
|
22
|
-
export * as
|
|
23
|
-
export
|
|
24
|
+
export * as SecretURL from "./Config/SecretURL.ts"
|
|
25
|
+
export * as RpcX from "./rpc.ts"
|
|
26
|
+
export * as S from "./Schema.ts"
|
|
27
|
+
export { copy } from "./utils.ts"
|
package/src/middleware.ts
CHANGED
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import * as Context from "effect-app/Context"
|
|
3
|
+
import { RpcMiddleware } from "./rpc.ts"
|
|
4
4
|
|
|
5
5
|
export class DevMode extends Context.Reference("DevMode", { defaultValue: () => false }) {}
|
|
6
6
|
|
|
7
|
-
export class RequestCacheMiddleware
|
|
8
|
-
extends RpcX.RpcMiddleware.Tag<RequestCacheMiddleware>()("RequestCacheMiddleware")
|
|
9
|
-
{}
|
|
7
|
+
export class RequestCacheMiddleware extends RpcMiddleware.Tag<RequestCacheMiddleware>()("RequestCacheMiddleware") {}
|
|
10
8
|
|
|
11
9
|
export class ConfigureInterruptibilityMiddleware
|
|
12
|
-
extends
|
|
10
|
+
extends RpcMiddleware.Tag<ConfigureInterruptibilityMiddleware>()("ConfigureInterruptibilityMiddleware")
|
|
13
11
|
{}
|
|
14
12
|
|
|
15
|
-
export class LoggerMiddleware extends
|
|
13
|
+
export class LoggerMiddleware extends RpcMiddleware.Tag<LoggerMiddleware>()("LoggerMiddleware") {}
|
|
16
14
|
|
|
17
|
-
export class DevModeMiddleware extends
|
|
15
|
+
export class DevModeMiddleware extends RpcMiddleware.Tag<DevModeMiddleware>()("DevModeMiddleware") {}
|
|
18
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Generic middlewares attached by `makeRouter` to every request.
|
|
19
|
+
*
|
|
20
|
+
* Invalidation key wrap/unwrap is handled by the routing layer (server) and the
|
|
21
|
+
* api client factory (client) directly — there is no middleware tag for it.
|
|
22
|
+
*/
|
|
19
23
|
export const DefaultGenericMiddlewares = [
|
|
20
24
|
RequestCacheMiddleware,
|
|
21
25
|
ConfigureInterruptibilityMiddleware,
|