effect-app 0.152.0

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.
Files changed (169) hide show
  1. package/.eslintrc.cjs +11 -0
  2. package/.prettierignore +6 -0
  3. package/CHANGELOG.md +4106 -0
  4. package/_cjs/Config/SecretURL.cjs +58 -0
  5. package/_cjs/Config/SecretURL.cjs.map +1 -0
  6. package/_cjs/Config/internal/configSecretURL.cjs +88 -0
  7. package/_cjs/Config/internal/configSecretURL.cjs.map +1 -0
  8. package/_cjs/Inputify.type.cjs +6 -0
  9. package/_cjs/Inputify.type.cjs.map +1 -0
  10. package/_cjs/Operations.cjs +76 -0
  11. package/_cjs/Operations.cjs.map +1 -0
  12. package/_cjs/Pure.cjs +201 -0
  13. package/_cjs/Pure.cjs.map +1 -0
  14. package/_cjs/Request.cjs +76 -0
  15. package/_cjs/Request.cjs.map +1 -0
  16. package/_cjs/Widen.type.cjs +6 -0
  17. package/_cjs/Widen.type.cjs.map +1 -0
  18. package/_cjs/_ext/date.cjs +64 -0
  19. package/_cjs/_ext/date.cjs.map +1 -0
  20. package/_cjs/_ext/misc.cjs +121 -0
  21. package/_cjs/_ext/misc.cjs.map +1 -0
  22. package/_cjs/_global.cjs +24 -0
  23. package/_cjs/_global.cjs.map +1 -0
  24. package/_cjs/_global.ext.cjs +5 -0
  25. package/_cjs/_global.ext.cjs.map +1 -0
  26. package/_cjs/_global.schema.cjs +4 -0
  27. package/_cjs/_global.schema.cjs.map +1 -0
  28. package/_cjs/client/QueryResult.cjs +116 -0
  29. package/_cjs/client/QueryResult.cjs.map +1 -0
  30. package/_cjs/client/clientFor.cjs +159 -0
  31. package/_cjs/client/clientFor.cjs.map +1 -0
  32. package/_cjs/client/config.cjs +21 -0
  33. package/_cjs/client/config.cjs.map +1 -0
  34. package/_cjs/client/errors.cjs +116 -0
  35. package/_cjs/client/errors.cjs.map +1 -0
  36. package/_cjs/client/fetch.cjs +178 -0
  37. package/_cjs/client/fetch.cjs.map +1 -0
  38. package/_cjs/client.cjs +61 -0
  39. package/_cjs/client.cjs.map +1 -0
  40. package/_cjs/faker.cjs +31 -0
  41. package/_cjs/faker.cjs.map +1 -0
  42. package/_cjs/ids.cjs +24 -0
  43. package/_cjs/ids.cjs.map +1 -0
  44. package/_cjs/index.cjs +27 -0
  45. package/_cjs/index.cjs.map +1 -0
  46. package/_cjs/refinements.cjs +97 -0
  47. package/_cjs/refinements.cjs.map +1 -0
  48. package/_cjs/schema.cjs +50 -0
  49. package/_cjs/schema.cjs.map +1 -0
  50. package/_cjs/schema.test.cjs +9 -0
  51. package/_cjs/schema.test.cjs.map +1 -0
  52. package/_cjs/service.cjs +97 -0
  53. package/_cjs/service.cjs.map +1 -0
  54. package/_cjs/utils.cjs +17 -0
  55. package/_cjs/utils.cjs.map +1 -0
  56. package/_src/Config/SecretURL.ts +103 -0
  57. package/_src/Config/internal/configSecretURL.ts +85 -0
  58. package/_src/Inputify.type.ts +13 -0
  59. package/_src/Operations.ts +70 -0
  60. package/_src/Pure.ts +525 -0
  61. package/_src/Request.ts +106 -0
  62. package/_src/Widen.type.ts +28 -0
  63. package/_src/_ext/date.ts +84 -0
  64. package/_src/_ext/misc.ts +161 -0
  65. package/_src/_global/stm.ts.bak +35 -0
  66. package/_src/_global.ext.ts +3 -0
  67. package/_src/_global.schema.ts +106 -0
  68. package/_src/_global.ts +119 -0
  69. package/_src/client/QueryResult.ts +120 -0
  70. package/_src/client/clientFor.ts +260 -0
  71. package/_src/client/config.ts +13 -0
  72. package/_src/client/errors.ts +129 -0
  73. package/_src/client/fetch.ts +253 -0
  74. package/_src/client.ts +7 -0
  75. package/_src/faker.ts +32 -0
  76. package/_src/ids.ts +35 -0
  77. package/_src/index.ts +4 -0
  78. package/_src/refinements.ts +92 -0
  79. package/_src/schema/_schema.ts.bak +208 -0
  80. package/_src/schema/api/date.ts.bak +78 -0
  81. package/_src/schema/api.ts.bak +20 -0
  82. package/_src/schema/overrides.ts.bak +76 -0
  83. package/_src/schema/shared.ts.bak +334 -0
  84. package/_src/schema.test.ts +3 -0
  85. package/_src/schema.ts +37 -0
  86. package/_src/service.ts +119 -0
  87. package/_src/utils.ts +1 -0
  88. package/dist/Config/SecretURL.d.ts +82 -0
  89. package/dist/Config/SecretURL.d.ts.map +1 -0
  90. package/dist/Config/SecretURL.js +49 -0
  91. package/dist/Config/internal/configSecretURL.d.ts +24 -0
  92. package/dist/Config/internal/configSecretURL.d.ts.map +1 -0
  93. package/dist/Config/internal/configSecretURL.js +75 -0
  94. package/dist/Inputify.type.d.ts +10 -0
  95. package/dist/Inputify.type.d.ts.map +1 -0
  96. package/dist/Inputify.type.js +2 -0
  97. package/dist/Operations.d.ts +170 -0
  98. package/dist/Operations.d.ts.map +1 -0
  99. package/dist/Operations.js +87 -0
  100. package/dist/Pure.d.ts +169 -0
  101. package/dist/Pure.d.ts.map +1 -0
  102. package/dist/Pure.js +167 -0
  103. package/dist/Request.d.ts +49 -0
  104. package/dist/Request.d.ts.map +1 -0
  105. package/dist/Request.js +58 -0
  106. package/dist/Widen.type.d.ts +19 -0
  107. package/dist/Widen.type.d.ts.map +1 -0
  108. package/dist/Widen.type.js +2 -0
  109. package/dist/_ext/date.d.ts +71 -0
  110. package/dist/_ext/date.d.ts.map +1 -0
  111. package/dist/_ext/date.js +58 -0
  112. package/dist/_ext/misc.d.ts +77 -0
  113. package/dist/_ext/misc.d.ts.map +1 -0
  114. package/dist/_ext/misc.js +98 -0
  115. package/dist/_global.d.ts +70 -0
  116. package/dist/_global.d.ts.map +1 -0
  117. package/dist/_global.ext.d.ts +3 -0
  118. package/dist/_global.ext.d.ts.map +1 -0
  119. package/dist/_global.ext.js +4 -0
  120. package/dist/_global.js +76 -0
  121. package/dist/_global.schema.d.ts +6 -0
  122. package/dist/_global.schema.d.ts.map +1 -0
  123. package/dist/_global.schema.js +6 -0
  124. package/dist/client/QueryResult.d.ts +85 -0
  125. package/dist/client/QueryResult.d.ts.map +1 -0
  126. package/dist/client/QueryResult.js +85 -0
  127. package/dist/client/clientFor.d.ts +44 -0
  128. package/dist/client/clientFor.d.ts.map +1 -0
  129. package/dist/client/clientFor.js +144 -0
  130. package/dist/client/config.d.ts +14 -0
  131. package/dist/client/config.d.ts.map +1 -0
  132. package/dist/client/config.js +11 -0
  133. package/dist/client/errors.d.ts +206 -0
  134. package/dist/client/errors.d.ts.map +1 -0
  135. package/dist/client/errors.js +130 -0
  136. package/dist/client/fetch.d.ts +61 -0
  137. package/dist/client/fetch.d.ts.map +1 -0
  138. package/dist/client/fetch.js +127 -0
  139. package/dist/client.d.ts +6 -0
  140. package/dist/client.d.ts.map +1 -0
  141. package/dist/client.js +7 -0
  142. package/dist/faker.d.ts +7 -0
  143. package/dist/faker.d.ts.map +1 -0
  144. package/dist/faker.js +24 -0
  145. package/dist/ids.d.ts +32 -0
  146. package/dist/ids.d.ts.map +1 -0
  147. package/dist/ids.js +17 -0
  148. package/dist/index.d.ts +4 -0
  149. package/dist/index.d.ts.map +1 -0
  150. package/dist/index.js +4 -0
  151. package/dist/refinements.d.ts +57 -0
  152. package/dist/refinements.d.ts.map +1 -0
  153. package/dist/refinements.js +85 -0
  154. package/dist/schema.d.ts +7 -0
  155. package/dist/schema.d.ts.map +1 -0
  156. package/dist/schema.js +22 -0
  157. package/dist/schema.test.d.ts.map +1 -0
  158. package/dist/service.d.ts +47 -0
  159. package/dist/service.d.ts.map +1 -0
  160. package/dist/service.js +83 -0
  161. package/dist/utils.d.ts +2 -0
  162. package/dist/utils.d.ts.map +1 -0
  163. package/dist/utils.js +2 -0
  164. package/package.json +315 -0
  165. package/tsconfig.json +114 -0
  166. package/tsconfig.json.bak +47 -0
  167. package/tsplus.config.json +7 -0
  168. package/vitest.config.ts +5 -0
  169. package/wallaby.cjs +1 -0
package/dist/ids.d.ts ADDED
@@ -0,0 +1,32 @@
1
+ import { NonEmptyString255, Schema, StringId } from "effect-app/schema";
2
+ import type { StringIdBrand } from "effect-app/schema";
3
+ import type { B } from "@effect-app/schema/schema";
4
+ import type { Simplify } from "effect/Types";
5
+ export interface RequestIdBrand extends StringIdBrand {
6
+ readonly RequestId: unique symbol;
7
+ }
8
+ /**
9
+ * @tsplus type RequestId
10
+ */
11
+ export type RequestId = NonEmptyString255;
12
+ export declare const RequestId: import("effect-app/schema").WithDefaults<import("effect-app/schema").Schema<import("effect-app/schema").NonEmptyString255, string, never> & {
13
+ make: () => NonEmptyString255;
14
+ withDefault: import("effect-app/schema").Schema<import("effect-app/schema").NonEmptyString255, string, never> & import("effect-app/schema").ConstructorPropertyDescriptor<import("effect-app/schema").NonEmptyString255, string, never>;
15
+ }> & import("effect-app/schema").Schema<import("effect-app/schema").NonEmptyString255, string, never> & {
16
+ make: () => NonEmptyString255;
17
+ withDefault: import("effect-app/schema").Schema<import("effect-app/schema").NonEmptyString255, string, never> & import("effect-app/schema").ConstructorPropertyDescriptor<import("effect-app/schema").NonEmptyString255, string, never>;
18
+ };
19
+ export interface UserProfileIdBrand extends Simplify<B.Brand<"UserProfileId"> & StringIdBrand> {
20
+ }
21
+ /**
22
+ * @tsplus type UserProfileId
23
+ */
24
+ export type UserProfileId = StringId & UserProfileIdBrand;
25
+ export declare const UserProfileId: import("effect-app/schema").WithDefaults<import("effect-app/schema").Schema<string & UserProfileIdBrand, string, never> & {
26
+ make: () => string & UserProfileIdBrand;
27
+ withDefault: import("effect-app/schema").ConstructorPropertyDescriptor<string & UserProfileIdBrand, string, never>;
28
+ } & import("effect-app/schema").WithDefaults<import("effect-app/schema").Schema<string & UserProfileIdBrand, string, never>>> & import("effect-app/schema").Schema<string & UserProfileIdBrand, string, never> & {
29
+ make: () => string & UserProfileIdBrand;
30
+ withDefault: import("effect-app/schema").ConstructorPropertyDescriptor<string & UserProfileIdBrand, string, never>;
31
+ } & import("effect-app/schema").WithDefaults<import("effect-app/schema").Schema<string & UserProfileIdBrand, string, never>>;
32
+ //# sourceMappingURL=ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../_src/ids.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAG5C,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,QAAQ,CAAC,SAAS,EAAE,OAAO,MAAM,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,iBAAiB,CAAA;AAEzC,eAAO,MAAM,SAAS;gBAKkB,iBAAiB;;;gBAAjB,iBAAiB;;CAOpC,CAAA;AAErB,MAAM,WAAW,kBAAmB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;CAAG;AACjG;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,kBAAkB,CAAA;AACzD,eAAO,MAAM,aAAa;;;;;;4HAAwC,CAAA"}
package/dist/ids.js ADDED
@@ -0,0 +1,17 @@
1
+ import * as tsplus_module_1 from "effect-app/schema";
2
+ import * as tsplus_module_2 from "effect-app";
3
+ import { brandedStringId, withDefaults } from "effect-app/schema";
4
+ import { extendM } from "./utils.js";
5
+ // a request id may be made from a span id, which does not comply with StringId schema.
6
+ export const RequestId = extendM(Object
7
+ // eslint-disable-next-line @typescript-eslint/ban-types
8
+ .assign(Object.create(tsplus_module_1.NonEmptyString255), tsplus_module_1.NonEmptyString255), (s) => {
9
+ const make = tsplus_module_1.StringId.make;
10
+ return ({
11
+ make,
12
+ withDefault: tsplus_module_2.S.withDefaultConstructor(s, make)
13
+ });
14
+ })
15
+ .pipe(withDefaults);
16
+ export const UserProfileId = brandedStringId();
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9pZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBSWpFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFVcEMsdUZBQXVGO0FBQ3ZGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQzlCLE1BQU07SUFDSix3REFBd0Q7S0FDdkQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLGlCQUFDLGlCQUFpQixDQUFPLEVBQUUsZ0JBQUEsaUJBQXNELENBQUMsRUFDekcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNKLE1BQU0sSUFBSSxHQUFHLGdCQUFBLFFBQVEsQ0FBQyxJQUErQixDQUFBO0lBQ3JELE9BQU8sQ0FBQztRQUNOLElBQUk7UUFDSixXQUFXLEVBQUUsZ0JBQUEsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFBRSxJQUFJLENBQUM7S0FDL0MsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGO0tBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO0FBT3JCLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxlQUFlLEVBQXNCLENBQUEifQ==
@@ -0,0 +1,4 @@
1
+ import "@effect-app/fluent-extensions";
2
+ export * from "@effect-app/core";
3
+ export * as S from "effect-app/schema";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../_src/index.ts"],"names":[],"mappings":"AAAA,OAAO,+BAA+B,CAAA;AAEtC,cAAc,kBAAkB,CAAA;AAChC,OAAO,KAAK,CAAC,MAAM,mBAAmB,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ import "@effect-app/fluent-extensions";
2
+ export * from "@effect-app/core";
3
+ export * as S from "effect-app/schema";
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sK0JBQStCLENBQUE7QUFFdEMsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQyxPQUFPLEtBQUssQ0FBQyxNQUFNLG1CQUFtQixDQUFBIn0=
@@ -0,0 +1,57 @@
1
+ import { Refinement } from "effect/Predicate";
2
+ import { Option } from "@effect-app/core/Option";
3
+ import { Equal } from "effect/Equal";
4
+ import type { Clone } from "@fp-ts/optic";
5
+ import { InvalidStateError } from "./client.js";
6
+ /**
7
+ * @tsplus getter function asCollectable
8
+ * @tsplus location "@effect-app/prelude/refinements"
9
+ */
10
+ export declare function asCollectable<T, T2 extends T>(refinement: Refinement<T, T2>): (a: T) => import("effect/Option").Option<T2>;
11
+ /**
12
+ * @tsplus fluent function as
13
+ * @tsplus location "@effect-app/prelude/refinements"
14
+ */
15
+ export declare function as<T, T2 extends T>(refinement: Refinement<T, T2>, name: string): (a: T) => import("effect/Either").Either<InvalidStateError, T2>;
16
+ /**
17
+ * @tsplus fluent function refinements
18
+ * @tsplus location "@effect-app/prelude/refinements"
19
+ */
20
+ export declare function makeAwesome<T, T2 extends T>(refinement: Refinement<T, T2>, name: string): {
21
+ $item: (item: T) => {
22
+ readonly collect: import("effect/Option").Option<T2>;
23
+ readonly as: import("effect/Either").Either<InvalidStateError, T2>;
24
+ };
25
+ is: import("effect/Predicate").Refinement<T, T2>;
26
+ collect: (a: T) => import("effect/Option").Option<T2>;
27
+ as: (a: T) => import("effect/Either").Either<InvalidStateError, T2>;
28
+ lens: import("@fp-ts/optic").Iso<T2, T2>;
29
+ };
30
+ export interface Collect<A, B extends A> {
31
+ (a: A): Option<B>;
32
+ }
33
+ /**
34
+ * @tsplus fluent function as
35
+ * @tsplus location "@effect-app/prelude/refinements"
36
+ */
37
+ export declare function asOption<T, T2 extends T>(collect: Collect<T, T2>, name: string): (a: T) => import("effect/Either").Either<InvalidStateError, T2>;
38
+ /**
39
+ * @tsplus fluent function refinements
40
+ * @tsplus location "@effect-app/prelude/refinements"
41
+ */
42
+ export declare function makeAwesomeCollect<T extends Object, T2 extends T>(collect: Collect<T, T2>, name: string): {
43
+ $item: (item: T) => {
44
+ readonly collect: import("effect/Option").Option<T2>;
45
+ readonly as: import("effect/Either").Either<InvalidStateError, T2>;
46
+ };
47
+ collect: Collect<T, T2>;
48
+ is: (item: T) => item is T2;
49
+ as: (a: T) => import("effect/Either").Either<InvalidStateError, T2>;
50
+ lens: import("@fp-ts/optic").Iso<T2, T2>;
51
+ copy: (item: T2, _copy: Partial<Omit<T2, keyof Clone | keyof Equal>>) => Omit<T2, typeof import("@fp-ts/optic").cloneTrait | keyof import("effect/Equal").Equal>;
52
+ clone: (item: T, cloned: T) => T;
53
+ };
54
+ export type GetCollectedType<T> = T extends {
55
+ collect: Collect<any, infer U>;
56
+ } ? U : never;
57
+ //# sourceMappingURL=refinements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refinements.d.ts","sourceRoot":"","sources":["../_src/refinements.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;;;;;AAM/C,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,gDAE3E;;;;;AAKD,wBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,mEAK9E;;;;;AAKD,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;kBAQ7D,CAAC;;;;;;;;EAc3B;AAGD,MAAM,WAAW,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;IACrC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;CAClB;;;;;AAKD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,mEAE9E;;;;;AAKD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;kBAa7E,CAAC;;;;;eAXR,CAAC;;;iBAQJ,EAAE,SAAS,QAAQ,KAAK,EAAE,EAAE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,CAAC;kBACtD,CAAC,UAAU,CAAC;EAgB7B;AACD,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAA"}
@@ -0,0 +1,85 @@
1
+ import * as tsplus_module_1 from "effect/Option";
2
+ import * as tsplus_module_2 from "@effect-app/prelude/_ext/misc";
3
+ import * as tsplus_module_3 from "@effect-app/core/Function";
4
+ import * as tsplus_module_4 from "@fp-ts/optic/index";
5
+ export const asCollectable = asCollectable_1;
6
+ export const as = as_1;
7
+ export const asOption = asOption_1;
8
+ import { InvalidStateError } from "./client.js";
9
+ import { clone, copy } from "./utils.js";
10
+ /**
11
+ * @tsplus getter function asCollectable
12
+ */
13
+ function asCollectable_1(refinement) {
14
+ return tsplus_module_1.liftPredicate(refinement);
15
+ }
16
+ /**
17
+ * @tsplus fluent function as
18
+ */
19
+ function as_1(refinement, name) {
20
+ return tsplus_module_3.flow(asCollectable_1(refinement), (_) => tsplus_module_2.encaseMaybeEither_(_, () => new InvalidStateError(`Cannot be ${name}`)));
21
+ }
22
+ /**
23
+ * @tsplus fluent function refinements
24
+ */
25
+ export function makeAwesome(refinement, name) {
26
+ const as = as_1(refinement, name);
27
+ const validate = {
28
+ is: refinement,
29
+ collect: asCollectable_1(refinement),
30
+ as,
31
+ lens: tsplus_module_4.id()
32
+ };
33
+ function validatei(item) {
34
+ return {
35
+ get collect() {
36
+ return validate.collect(item);
37
+ },
38
+ get as() {
39
+ return validate.as(item);
40
+ }
41
+ };
42
+ }
43
+ return {
44
+ ...validate,
45
+ $item: validatei
46
+ };
47
+ }
48
+ /**
49
+ * @tsplus fluent function as
50
+ */
51
+ function asOption_1(collect, name) {
52
+ return tsplus_module_3.flow(collect, (_) => tsplus_module_2.encaseMaybeEither_(_, () => new InvalidStateError({ message: `Cannot be ${name}` })));
53
+ }
54
+ /**
55
+ * @tsplus fluent function refinements
56
+ */
57
+ export function makeAwesomeCollect(collect, name) {
58
+ const as = asOption_1(collect, name);
59
+ function is(item) {
60
+ return tsplus_module_1.isSome(collect(item));
61
+ }
62
+ const validate = {
63
+ collect,
64
+ is,
65
+ as,
66
+ lens: tsplus_module_4.id(),
67
+ copy: (item, _copy) => copy(item, _copy),
68
+ clone: (item, cloned) => clone(item, cloned)
69
+ };
70
+ function validatei(item) {
71
+ return {
72
+ get collect() {
73
+ return validate.collect(item);
74
+ },
75
+ get as() {
76
+ return validate.as(item);
77
+ }
78
+ };
79
+ }
80
+ return {
81
+ ...validate,
82
+ $item: validatei
83
+ };
84
+ }
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmaW5lbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL3JlZmluZW1lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7YUFPZ0IsYUFBYTthQU9iLEVBQUU7YUEwQ0YsUUFBUTtBQXZEeEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRXhDOztHQUVHO0FBQ0gseUJBQStDLFVBQTZCO0lBQzFFLE9BQU8sOEJBQXFCLFVBQVUsQ0FBQyxDQUFBO0FBQ3pDLENBQUM7QUFFRDs7R0FFRztBQUNILGNBQW9DLFVBQTZCLEVBQUUsSUFBWTtJQUM3RSxPQUFPLGdCQUFBLElBQUksQ0FDVCxnQkFBYyxVQUFVLENBQUMsRUFDekIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLG1DQUFBLENBQUMsRUFBZ0IsR0FBRyxFQUFFLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDMUUsQ0FBQTtBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQWtCLFVBQTZCLEVBQUUsSUFBWTtJQUN0RixNQUFNLEVBQUUsR0FBRyxLQUFBLFVBQVUsRUFBSSxJQUFJLENBQUMsQ0FBQTtJQUM5QixNQUFNLFFBQVEsR0FBRztRQUNmLEVBQUUsRUFBRSxVQUFVO1FBQ2QsT0FBTyxrQkFBRSxVQUFVLENBQWM7UUFDakMsRUFBRTtRQUNGLElBQUksRUFBRSxvQkFBYztLQUNyQixDQUFBO0lBQ0QsU0FBUyxTQUFTLENBQUMsSUFBTztRQUN4QixPQUFPO1lBQ0wsSUFBSSxPQUFPO2dCQUNULE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUMvQixDQUFDO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLE9BQU8sUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUMxQixDQUFDO1NBQ0YsQ0FBQTtJQUNILENBQUM7SUFDRCxPQUFPO1FBQ0wsR0FBRyxRQUFRO1FBQ1gsS0FBSyxFQUFFLFNBQVM7S0FDakIsQ0FBQTtBQUNILENBQUM7QUFPRDs7R0FFRztBQUNILG9CQUEwQyxPQUF1QixFQUFFLElBQVk7SUFDN0UsT0FBTyxnQkFBQSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxtQ0FBQSxDQUFDLEVBQWdCLEdBQUcsRUFBRSxDQUFDLElBQUksaUJBQWlCLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQzlHLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBaUMsT0FBdUIsRUFBRSxJQUFZO0lBQ3RHLE1BQU0sRUFBRSxHQUFHLFdBQUEsT0FBTyxFQUFJLElBQUksQ0FBQyxDQUFBO0lBQzNCLFNBQVMsRUFBRSxDQUFDLElBQU87UUFDakIsT0FBTyx1QkFBQSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQVMsQ0FBQTtJQUMvQixDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBQUc7UUFDZixPQUFPO1FBQ1AsRUFBRTtRQUNGLEVBQUU7UUFDRixJQUFJLEVBQUUsb0JBQWM7UUFDcEIsSUFBSSxFQUFFLENBQUMsSUFBUSxFQUFFLEtBQW1ELEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQzFGLEtBQUssRUFBRSxDQUFDLElBQU8sRUFBRSxNQUFTLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO0tBQ25ELENBQUE7SUFDRCxTQUFTLFNBQVMsQ0FBQyxJQUFPO1FBQ3hCLE9BQU87WUFDTCxJQUFJLE9BQU87Z0JBQ1QsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQy9CLENBQUM7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osT0FBTyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQzFCLENBQUM7U0FDRixDQUFBO0lBQ0gsQ0FBQztJQUNELE9BQU87UUFDTCxHQUFHLFFBQVE7UUFDWCxLQUFLLEVBQUUsU0FBUztLQUNqQixDQUFBO0FBQ0gsQ0FBQyJ9
@@ -0,0 +1,7 @@
1
+ import { type Email as EmailT, type PhoneNumber as PhoneNumberT } from "@effect-app/schema";
2
+ export declare const Email: import("@effect-app/schema").WithDefaults<import("@effect-app/schema").Schema<string & import("@effect-app/schema").EmailBrand, string, never>> & import("@effect-app/schema").Schema<string & import("@effect-app/schema").EmailBrand, string, never>;
3
+ export type Email = EmailT;
4
+ export declare const PhoneNumber: import("@effect-app/schema").WithDefaults<import("@effect-app/schema").Schema<string & import("@effect-app/schema").PhoneNumberBrand, string, never>> & import("@effect-app/schema").Schema<string & import("@effect-app/schema").PhoneNumberBrand, string, never>;
5
+ export type PhoneNumber = PhoneNumberT;
6
+ export * from "@effect-app/schema";
7
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../_src/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,KAAK,IAAI,MAAM,EAAsB,KAAK,WAAW,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGvH,eAAO,MAAM,KAAK,wPAYf,CAAA;AAEH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAE1B,eAAO,MAAM,WAAW,oQAYrB,CAAA;AAEH,MAAM,MAAM,WAAW,GAAG,YAAY,CAAA;AAEtC,cAAc,oBAAoB,CAAA"}
package/dist/schema.js ADDED
@@ -0,0 +1,22 @@
1
+ import * as tsplus_module_1 from "effect-app";
2
+ import { isValidEmail, isValidPhone } from "@effect-app/core/validation";
3
+ import { fromBrand, nominal } from "@effect-app/schema";
4
+ import { fakerArb } from "./faker.js";
5
+ export const Email = tsplus_module_1.S.string
6
+ .pipe(tsplus_module_1.S.filter(isValidEmail, {
7
+ title: "Email",
8
+ description: "an email according to RFC 5322",
9
+ jsonSchema: { format: "email" },
10
+ // eslint-disable-next-line @typescript-eslint/unbound-method
11
+ arbitrary: () => fakerArb((faker) => faker.internet.exampleEmail)
12
+ }), fromBrand(nominal(), { jsonSchema: {} }), tsplus_module_1.S.withDefaults);
13
+ export const PhoneNumber = tsplus_module_1.S.string
14
+ .pipe(tsplus_module_1.S.filter(isValidPhone, {
15
+ title: "PhoneNumber",
16
+ description: "a phone number with at least 7 digits",
17
+ jsonSchema: { format: "phone" },
18
+ // eslint-disable-next-line @typescript-eslint/unbound-method
19
+ arbitrary: () => fakerArb((faker) => faker.phone.number)
20
+ }), fromBrand(nominal(), { jsonSchema: {} }), tsplus_module_1.S.withDefaults);
21
+ export * from "@effect-app/schema";
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDeEUsT0FBTyxFQUFnQyxTQUFTLEVBQUUsT0FBTyxFQUFvQyxNQUFNLG9CQUFvQixDQUFBO0FBQ3ZILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckMsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLGdCQUFBLENBQUMsQ0FDbkIsTUFBTTtLQUNOLElBQUksQ0FDSCxnQkFBQSxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRTtJQUNyQixLQUFLLEVBQUUsT0FBTztJQUNkLFdBQVcsRUFBRSxnQ0FBZ0M7SUFDN0MsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRTtJQUMvQiw2REFBNkQ7SUFDN0QsU0FBUyxFQUFFLEdBQXdCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO0NBQ3ZGLENBQUMsRUFDRixTQUFTLENBQUMsT0FBTyxFQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFDL0MsZ0JBQUEsQ0FBQyxDQUFDLFlBQVksQ0FDZixDQUFBO0FBSUgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGdCQUFBLENBQUMsQ0FDekIsTUFBTTtLQUNOLElBQUksQ0FDSCxnQkFBQSxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRTtJQUNyQixLQUFLLEVBQUUsYUFBYTtJQUNwQixXQUFXLEVBQUUsdUNBQXVDO0lBQ3BELFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7SUFDL0IsNkRBQTZEO0lBQzdELFNBQVMsRUFBRSxHQUF3QixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztDQUM5RSxDQUFDLEVBQ0YsU0FBUyxDQUFDLE9BQU8sRUFBZSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQ3JELGdCQUFBLENBQUMsQ0FBQyxZQUFZLENBQ2YsQ0FBQTtBQUlILGNBQWMsb0JBQW9CLENBQUEifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.test.d.ts","sourceRoot":"","sources":["../_src/schema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
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 { Tag } from "effect/Context";
7
+ import { Effect } from "effect/Effect";
8
+ import { Layer } from "effect/Layer";
9
+ import { Scope } from "effect/Scope";
10
+ import type { TagTypeId as TagTypeIdOriginal } from "effect/Context";
11
+ export declare const ServiceTag: unique symbol;
12
+ export type ServiceTag = typeof ServiceTag;
13
+ export declare abstract class PhantomTypeParameter<Identifier extends keyof any, InstantiatedType> {
14
+ protected abstract readonly [ServiceTag]: {
15
+ readonly [NameP in Identifier]: (_: InstantiatedType) => InstantiatedType;
16
+ };
17
+ }
18
+ /**
19
+ * @tsplus type ServiceTagged
20
+ */
21
+ export declare abstract class ServiceTagged<ServiceKey> extends PhantomTypeParameter<string, ServiceKey> {
22
+ }
23
+ /**
24
+ * @tsplus static ServiceTagged make
25
+ * @tsplus location "@effect-app/prelude/service"
26
+ */
27
+ export declare function makeService<T extends ServiceTagged<any>>(_: Omit<T, ServiceTag>): T;
28
+ /**
29
+ * @tsplus fluent effect/data/Context/Tag make
30
+ * @tsplus location "@effect-app/prelude/service"
31
+ */
32
+ export declare function make<T extends ServiceTagged<any>, I = T>(_: Tag<I, T>, t: Omit<T, ServiceTag>): T;
33
+ export declare const TagTypeId: TagTypeIdOriginal;
34
+ export type TagTypeId = typeof TagTypeId;
35
+ export declare function assignTag<Id, Service = Id>(key?: string): <S extends object>(cls: S) => S & Tag<Id, Service>;
36
+ export declare function TagClass<Id, ServiceImpl, Service = Id>(key?: string): (new (service: ServiceImpl) => Readonly<ServiceImpl>) & import("effect/Context").Tag<Id, Service>;
37
+ export declare const TagClassMake: <Id, Service = Id>() => <ServiceImpl, R, E>(make: Effect<ServiceImpl, E, R>, key?: string) => {
38
+ new (service: ServiceImpl): Readonly<ServiceImpl>;
39
+ toLayer: () => Layer<Service, E, R>;
40
+ toLayerScoped: () => Layer<Service, E, Exclude<R, Scope>>;
41
+ } & import("effect/Context").Tag<Id, Service>;
42
+ export declare function TagClassLegacy<Id, Service = Id>(key?: string): (abstract new () => {}) & import("effect/Context").Tag<Id, Service>;
43
+ /** @deprecated use `Id` of TagClass for unique id */
44
+ export declare function ServiceTaggedClass<Id, Service = Id>(): <Key extends PropertyKey>(_: Key) => ((abstract new () => {}) & {
45
+ make: (t: Omit<Service, Key>) => Service;
46
+ }) & import("effect/Context").Tag<Id, Service>;
47
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../_src/service.ts"],"names":[],"mappings":"AAEA;;;;GAIG;;;;;AAEH,OAAO,KAAK,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEpE,eAAO,MAAM,UAAU,eAAW,CAAA;AAClC,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAA;AAE1C,8BAAsB,oBAAoB,CAAC,UAAU,SAAS,MAAM,GAAG,EAAE,gBAAgB;IACvF,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE;QACxC,QAAQ,EAAE,KAAK,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE,gBAAgB,KAAK,gBAAgB;KAC1E,CAAA;CACF;AAED;;GAEG;AACH,8BAAsB,aAAa,CAAC,UAAU,CAAE,SAAQ,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC;CAAG;;;;;AAKnG,wBAAgB,WAAW,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,KAE/E;;;;;AAKD,wBAAgB,IAAI,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,KAE7F;AAED,eAAO,MAAM,SAAS,EAAE,iBAAoF,CAAA;AAC5G,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA;AAKxC,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,2BACvB,CAAC,KAAG,CAAC,GAAG,IAAI,EAAE,EAAE,OAAO,CAAC,CAgBxD;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,kBAC1C,WAAW,KAAG,SAAS,WAAW,CAAC,8CAQ5D;AAED,eAAO,MAAM,YAAY,oDAEjB,OAAO,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,QACzB,MAAM;kBAGG,WAAW,GAAG,SAAS,WAAW,CAAC;aACvC,MAAM,MAAM,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;mBACpB,MAAM,MAAM,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;6CAiB5D,CAAA;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,uEAI5D;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,kCACb,GAAG;cAEjB,KAAK,OAAO,EAAE,GAAG,CAAC;+CAOzC"}
@@ -0,0 +1,83 @@
1
+ import * as tsplus_module_1 from "effect/Context";
2
+ import * as tsplus_module_2 from "effect/Layer";
3
+ export const ServiceTag = Symbol();
4
+ export class PhantomTypeParameter {
5
+ }
6
+ /**
7
+ * @tsplus type ServiceTagged
8
+ */
9
+ export class ServiceTagged extends PhantomTypeParameter {
10
+ }
11
+ /**
12
+ * @tsplus static ServiceTagged make
13
+ */
14
+ export function makeService(_) {
15
+ return _;
16
+ }
17
+ /**
18
+ * @tsplus fluent effect/data/Context/Tag make
19
+ */
20
+ export function make(_, t) {
21
+ return t;
22
+ }
23
+ export const TagTypeId = Symbol.for("effect/Context/Tag");
24
+ let i = 0;
25
+ const randomId = () => "unknown-service-" + i++;
26
+ export function assignTag(key) {
27
+ return (cls) => {
28
+ const tag = tsplus_module_1.GenericTag(key ?? randomId());
29
+ const t = Object.assign(cls, Object.getPrototypeOf(tag), tag);
30
+ const limit = Error.stackTraceLimit;
31
+ Error.stackTraceLimit = 4; // TODO
32
+ const creationError = new Error();
33
+ Error.stackTraceLimit = limit;
34
+ // the stack is used to get the location of the tag definition, if a service is not found in the registry
35
+ Object.defineProperty(t, "stack", {
36
+ get() {
37
+ // remove one line as assignTag is generally used inside a class constructor function
38
+ return creationError.stack?.split("\n").slice(1).join("\n");
39
+ }
40
+ });
41
+ return t;
42
+ };
43
+ }
44
+ export function TagClass(key) {
45
+ const c = class {
46
+ constructor(service) {
47
+ Object.assign(this, service);
48
+ }
49
+ };
50
+ return assignTag(key)(c);
51
+ }
52
+ export const TagClassMake = () => (make, key) => {
53
+ const c = class {
54
+ constructor(service) {
55
+ Object.assign(this, service);
56
+ }
57
+ // works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
58
+ static toLayer() {
59
+ return tsplus_module_2.effect(this)(make);
60
+ }
61
+ static toLayerScoped() {
62
+ return tsplus_module_2.scoped(this)(make);
63
+ }
64
+ };
65
+ return assignTag(key)(c);
66
+ };
67
+ export function TagClassLegacy(key) {
68
+ class TagClassLegacy {
69
+ }
70
+ return assignTag(key)(TagClassLegacy);
71
+ }
72
+ /** @deprecated use `Id` of TagClass for unique id */
73
+ export function ServiceTaggedClass() {
74
+ return (_) => {
75
+ class ServiceTaggedClassC {
76
+ }
77
+ ServiceTaggedClassC.make = (t) => {
78
+ return t;
79
+ };
80
+ return assignTag()(ServiceTaggedClassC);
81
+ };
82
+ }
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVVBLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLEVBQUUsQ0FBQTtBQUdsQyxNQUFNLE9BQWdCLG9CQUFvQjtDQUl6QztBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixhQUEwQixTQUFRLG9CQUF3QztDQUFHO0FBRW5HOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBK0IsQ0FBc0I7SUFDOUUsT0FBTyxDQUFNLENBQUE7QUFDZixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsSUFBSSxDQUFzQyxDQUFZLEVBQUUsQ0FBc0I7SUFDNUYsT0FBTyxDQUFNLENBQUE7QUFDZixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFzQixNQUFNLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFpQyxDQUFBO0FBRzVHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNULE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixHQUFHLENBQUMsRUFBRSxDQUFBO0FBRS9DLE1BQU0sVUFBVSxTQUFTLENBQW1CLEdBQVk7SUFDdEQsT0FBTyxDQUFtQixHQUFNLEVBQXdCLEVBQUU7UUFDeEQsTUFBTSxHQUFHLEdBQUcsZ0JBQUEsVUFBVSxDQUFjLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQ3RELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDN0QsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQTtRQUNuQyxLQUFLLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQSxDQUFDLE9BQU87UUFDakMsTUFBTSxhQUFhLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQTtRQUNqQyxLQUFLLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQTtRQUM3Qix5R0FBeUc7UUFDekcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFO1lBQ2hDLEdBQUc7Z0JBQ0QscUZBQXFGO2dCQUNyRixPQUFPLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDN0QsQ0FBQztTQUNGLENBQUMsQ0FBQTtRQUNGLE9BQU8sQ0FBQyxDQUFBO0lBQ1YsQ0FBQyxDQUFBO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQWdDLEdBQVk7SUFDbEUsTUFBTSxDQUFDLEdBQXlEO1FBQzlELFlBQVksT0FBb0I7WUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDOUIsQ0FBQztLQUVLLENBQUE7SUFFUixPQUFPLFNBQVMsQ0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUN2QyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEdBQXFCLEVBQUUsQ0FDbkQsQ0FDRSxJQUErQixFQUMvQixHQUFZLEVBQ1osRUFBRTtJQUNGLE1BQU0sQ0FBQyxHQUlIO1FBQ0YsWUFBWSxPQUFvQjtZQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUM5QixDQUFDO1FBQ0QsaUhBQWlIO1FBQ2pILE1BQU0sQ0FBQyxPQUFPO1lBQ1osT0FBTyx1QkFBYSxJQUFXLEVBQXhCLElBQUksQ0FBcUIsQ0FBQTtRQUNsQyxDQUFDO1FBRUQsTUFBTSxDQUFDLGFBQWE7WUFDbEIsT0FBTyx1QkFBbUIsSUFBVyxFQUE5QixJQUFJLENBQTJCLENBQUE7UUFDeEMsQ0FBQztLQUVLLENBQUE7SUFFUixPQUFPLFNBQVMsQ0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUN2QyxDQUFDLENBQUE7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFtQixHQUFZO0lBQzNELE1BQWUsY0FBYztLQUFHO0lBRWhDLE9BQU8sU0FBUyxDQUFjLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0FBQ3BELENBQUM7QUFFRCxxREFBcUQ7QUFDckQsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxPQUFPLENBQTBCLENBQU0sRUFBRSxFQUFFO1FBQ3pDLE1BQWUsbUJBQW1COztRQUN6Qix3QkFBSSxHQUFHLENBQUMsQ0FBcUIsRUFBRSxFQUFFO1lBQ3RDLE9BQU8sQ0FBWSxDQUFBO1FBQ3JCLENBQUMsQ0FBQTtRQUdILE9BQU8sU0FBUyxFQUFlLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUN0RCxDQUFDLENBQUE7QUFDSCxDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ export * from "@effect-app/core/utils";
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../_src/utils.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
package/dist/utils.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from "@effect-app/core/utils";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUEifQ==