effect-app 1.32.0 → 2.0.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 (310) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/_cjs/Array.cjs +132 -0
  3. package/_cjs/Array.cjs.map +1 -0
  4. package/_cjs/Chunk.cjs +128 -0
  5. package/_cjs/Chunk.cjs.map +1 -0
  6. package/_cjs/Config/SecretURL.cjs +3 -3
  7. package/_cjs/Config/SecretURL.cjs.map +1 -1
  8. package/_cjs/Config/internal/configSecretURL.cjs +2 -2
  9. package/_cjs/Config/internal/configSecretURL.cjs.map +1 -1
  10. package/_cjs/Context.cjs +243 -0
  11. package/_cjs/Context.cjs.map +1 -0
  12. package/_cjs/Dictionary.cjs +522 -0
  13. package/_cjs/Dictionary.cjs.map +1 -0
  14. package/_cjs/Effect.cjs +202 -0
  15. package/_cjs/Effect.cjs.map +1 -0
  16. package/_cjs/Function.cjs +107 -0
  17. package/_cjs/Function.cjs.map +1 -0
  18. package/_cjs/NonEmptySet.cjs +26 -0
  19. package/_cjs/NonEmptySet.cjs.map +1 -0
  20. package/_cjs/NonEmptySetAspects.cjs +17 -0
  21. package/_cjs/NonEmptySetAspects.cjs.map +1 -0
  22. package/_cjs/NonEmptySetBase.cjs +82 -0
  23. package/_cjs/NonEmptySetBase.cjs.map +1 -0
  24. package/_cjs/Object.cjs +24 -0
  25. package/_cjs/Object.cjs.map +1 -0
  26. package/_cjs/Operations.cjs +1 -1
  27. package/_cjs/Option.cjs +88 -0
  28. package/_cjs/Option.cjs.map +1 -0
  29. package/_cjs/Prelude.cjs +51 -0
  30. package/_cjs/Prelude.cjs.map +1 -0
  31. package/_cjs/Prelude.code.cjs +51 -0
  32. package/_cjs/Prelude.code.cjs.map +1 -0
  33. package/_cjs/Pure.cjs +39 -36
  34. package/_cjs/Pure.cjs.map +1 -1
  35. package/_cjs/Schema/Class.cjs +61 -0
  36. package/_cjs/Schema/Class.cjs.map +1 -0
  37. package/_cjs/Schema/FastCheck.cjs +39 -0
  38. package/_cjs/Schema/FastCheck.cjs.map +1 -0
  39. package/_cjs/Schema/Methods.cjs +6 -0
  40. package/_cjs/Schema/Methods.cjs.map +1 -0
  41. package/_cjs/Schema/brand.cjs +17 -0
  42. package/_cjs/Schema/brand.cjs.map +1 -0
  43. package/_cjs/Schema/email.cjs +20 -0
  44. package/_cjs/Schema/email.cjs.map +1 -0
  45. package/_cjs/Schema/ext.cjs +174 -0
  46. package/_cjs/Schema/ext.cjs.map +1 -0
  47. package/_cjs/Schema/moreStrings.cjs +124 -0
  48. package/_cjs/Schema/moreStrings.cjs.map +1 -0
  49. package/_cjs/Schema/numbers.cjs +52 -0
  50. package/_cjs/Schema/numbers.cjs.map +1 -0
  51. package/_cjs/Schema/phoneNumber.cjs +22 -0
  52. package/_cjs/Schema/phoneNumber.cjs.map +1 -0
  53. package/_cjs/Schema/schema.cjs +15 -0
  54. package/_cjs/Schema/schema.cjs.map +1 -0
  55. package/_cjs/Schema/strings.cjs +32 -0
  56. package/_cjs/Schema/strings.cjs.map +1 -0
  57. package/_cjs/Schema.cjs +334 -0
  58. package/_cjs/Schema.cjs.map +1 -0
  59. package/_cjs/Set.cjs +567 -0
  60. package/_cjs/Set.cjs.map +1 -0
  61. package/_cjs/Struct.cjs +51 -0
  62. package/_cjs/Struct.cjs.map +1 -0
  63. package/_cjs/Tag.cjs +25 -0
  64. package/_cjs/Tag.cjs.map +1 -0
  65. package/_cjs/Unify.cjs +40 -0
  66. package/_cjs/Unify.cjs.map +1 -0
  67. package/_cjs/_ext/misc.cjs +16 -16
  68. package/_cjs/_ext/misc.cjs.map +1 -1
  69. package/_cjs/_ext/ord.ext.cjs +52 -0
  70. package/_cjs/_ext/ord.ext.cjs.map +1 -0
  71. package/_cjs/builtin.cjs +6 -0
  72. package/_cjs/builtin.cjs.map +1 -0
  73. package/_cjs/client/clientFor.cjs +5 -3
  74. package/_cjs/client/clientFor.cjs.map +1 -1
  75. package/_cjs/client/config.cjs +4 -4
  76. package/_cjs/client/config.cjs.map +1 -1
  77. package/_cjs/client/errors.cjs +9 -9
  78. package/_cjs/client/errors.cjs.map +1 -1
  79. package/_cjs/http/http-client.cjs +35 -0
  80. package/_cjs/http/http-client.cjs.map +1 -0
  81. package/_cjs/ids.cjs +5 -5
  82. package/_cjs/ids.cjs.map +1 -1
  83. package/_cjs/index.cjs +1 -1
  84. package/_cjs/lib.cjs +178 -9
  85. package/_cjs/lib.cjs.map +1 -1
  86. package/_cjs/logger.cjs +1 -1
  87. package/_cjs/transform.cjs +45 -0
  88. package/_cjs/transform.cjs.map +1 -0
  89. package/_cjs/utils/effectify.cjs +25 -0
  90. package/_cjs/utils/effectify.cjs.map +1 -0
  91. package/_cjs/utils/extend.cjs +17 -0
  92. package/_cjs/utils/extend.cjs.map +1 -0
  93. package/_cjs/utils/logger.cjs +23 -0
  94. package/_cjs/utils/logger.cjs.map +1 -0
  95. package/_cjs/utils.cjs +431 -4
  96. package/_cjs/utils.cjs.map +1 -1
  97. package/_cjs/validation/validators.cjs +32 -0
  98. package/_cjs/validation/validators.cjs.map +1 -0
  99. package/_cjs/validation.cjs +45 -0
  100. package/_cjs/validation.cjs.map +1 -0
  101. package/dist/Array.d.ts +64 -0
  102. package/dist/Array.d.ts.map +1 -0
  103. package/dist/Array.js +89 -0
  104. package/dist/Chunk.d.ts +68 -0
  105. package/dist/Chunk.d.ts.map +1 -0
  106. package/dist/Chunk.js +93 -0
  107. package/dist/Config/SecretURL.d.ts +3 -3
  108. package/dist/Config/SecretURL.d.ts.map +1 -1
  109. package/dist/Config/SecretURL.js +2 -2
  110. package/dist/Config/internal/configSecretURL.js +2 -2
  111. package/dist/Context.d.ts +55 -0
  112. package/dist/Context.d.ts.map +1 -0
  113. package/dist/Context.js +204 -0
  114. package/dist/Dictionary.d.ts +260 -0
  115. package/dist/Dictionary.d.ts.map +1 -0
  116. package/dist/Dictionary.js +448 -0
  117. package/dist/Effect.d.ts +115 -0
  118. package/dist/Effect.d.ts.map +1 -0
  119. package/dist/Effect.js +153 -0
  120. package/dist/Function.d.ts +72 -0
  121. package/dist/Function.d.ts.map +1 -0
  122. package/dist/Function.js +71 -0
  123. package/dist/Inputify.type.d.ts +1 -1
  124. package/dist/Inputify.type.d.ts.map +1 -1
  125. package/dist/NonEmptySet.d.ts +3 -0
  126. package/dist/NonEmptySet.d.ts.map +1 -0
  127. package/dist/NonEmptySet.js +3 -0
  128. package/dist/NonEmptySetAspects.d.ts +2 -0
  129. package/dist/NonEmptySetAspects.d.ts.map +1 -0
  130. package/dist/NonEmptySetAspects.js +2 -0
  131. package/dist/NonEmptySetBase.d.ts +39 -0
  132. package/dist/NonEmptySetBase.d.ts.map +1 -0
  133. package/dist/NonEmptySetBase.js +63 -0
  134. package/dist/Object.d.ts +7 -0
  135. package/dist/Object.d.ts.map +1 -0
  136. package/dist/Object.js +7 -0
  137. package/dist/Operations.d.ts +2 -2
  138. package/dist/Operations.js +1 -1
  139. package/dist/Option.d.ts +39 -0
  140. package/dist/Option.d.ts.map +1 -0
  141. package/dist/Option.js +55 -0
  142. package/dist/Prelude.code.d.ts +24 -0
  143. package/dist/Prelude.code.d.ts.map +1 -0
  144. package/dist/Prelude.code.js +23 -0
  145. package/dist/Prelude.d.ts +163 -0
  146. package/dist/Prelude.d.ts.map +1 -0
  147. package/dist/Prelude.js +23 -0
  148. package/dist/Pure.d.ts +13 -12
  149. package/dist/Pure.d.ts.map +1 -1
  150. package/dist/Pure.js +18 -17
  151. package/dist/Schema/Class.d.ts +45 -0
  152. package/dist/Schema/Class.d.ts.map +1 -0
  153. package/dist/Schema/Class.js +50 -0
  154. package/dist/Schema/FastCheck.d.ts +10 -0
  155. package/dist/Schema/FastCheck.d.ts.map +1 -0
  156. package/dist/Schema/FastCheck.js +12 -0
  157. package/dist/Schema/Methods.d.ts +6 -0
  158. package/dist/Schema/Methods.d.ts.map +1 -0
  159. package/dist/Schema/Methods.js +2 -0
  160. package/dist/Schema/brand.d.ts +35 -0
  161. package/dist/Schema/brand.d.ts.map +1 -0
  162. package/dist/Schema/brand.js +7 -0
  163. package/dist/Schema/email.d.ts +9 -0
  164. package/dist/Schema/email.d.ts.map +1 -0
  165. package/dist/Schema/email.js +12 -0
  166. package/dist/Schema/ext.d.ts +89 -0
  167. package/dist/Schema/ext.d.ts.map +1 -0
  168. package/dist/Schema/ext.js +111 -0
  169. package/dist/Schema/moreStrings.d.ts +109 -0
  170. package/dist/Schema/moreStrings.d.ts.map +1 -0
  171. package/dist/Schema/moreStrings.js +108 -0
  172. package/dist/Schema/numbers.d.ts +46 -0
  173. package/dist/Schema/numbers.d.ts.map +1 -0
  174. package/dist/Schema/numbers.js +28 -0
  175. package/dist/Schema/phoneNumber.d.ts +9 -0
  176. package/dist/Schema/phoneNumber.d.ts.map +1 -0
  177. package/dist/Schema/phoneNumber.js +14 -0
  178. package/dist/Schema/schema.d.ts +6 -0
  179. package/dist/Schema/schema.d.ts.map +1 -0
  180. package/dist/Schema/schema.js +5 -0
  181. package/dist/Schema/strings.d.ts +19 -0
  182. package/dist/Schema/strings.d.ts.map +1 -0
  183. package/dist/Schema/strings.js +32 -0
  184. package/dist/{schema.d.ts → Schema.d.ts} +25 -9
  185. package/dist/Schema.d.ts.map +1 -0
  186. package/dist/Schema.js +89 -0
  187. package/dist/Set.d.ts +221 -0
  188. package/dist/Set.d.ts.map +1 -0
  189. package/dist/Set.js +516 -0
  190. package/dist/Struct.d.ts +44 -0
  191. package/dist/Struct.d.ts.map +1 -0
  192. package/dist/Struct.js +29 -0
  193. package/dist/Tag.d.ts +9 -0
  194. package/dist/Tag.d.ts.map +1 -0
  195. package/dist/Tag.js +18 -0
  196. package/dist/Unify.d.ts +43 -0
  197. package/dist/Unify.d.ts.map +1 -0
  198. package/dist/Unify.js +31 -0
  199. package/dist/Widen.type.d.ts +1 -1
  200. package/dist/Widen.type.d.ts.map +1 -1
  201. package/dist/_ext/misc.d.ts +11 -11
  202. package/dist/_ext/misc.d.ts.map +1 -1
  203. package/dist/_ext/misc.js +8 -8
  204. package/dist/_ext/ord.ext.d.ts +23 -0
  205. package/dist/_ext/ord.ext.d.ts.map +1 -0
  206. package/dist/_ext/ord.ext.js +44 -0
  207. package/dist/builtin.d.ts +51 -0
  208. package/dist/builtin.d.ts.map +1 -0
  209. package/dist/builtin.js +2 -0
  210. package/dist/client/clientFor.d.ts +1 -1
  211. package/dist/client/clientFor.d.ts.map +1 -1
  212. package/dist/client/clientFor.js +2 -2
  213. package/dist/client/config.d.ts +1 -1
  214. package/dist/client/config.d.ts.map +1 -1
  215. package/dist/client/config.js +2 -2
  216. package/dist/client/errors.js +1 -1
  217. package/dist/http/http-client.d.ts +43 -0
  218. package/dist/http/http-client.d.ts.map +1 -0
  219. package/dist/http/http-client.js +30 -0
  220. package/dist/ids.d.ts +3 -3
  221. package/dist/ids.d.ts.map +1 -1
  222. package/dist/ids.js +2 -2
  223. package/dist/index.d.ts +1 -1
  224. package/dist/index.d.ts.map +1 -1
  225. package/dist/index.js +2 -2
  226. package/dist/lib.d.ts +22 -4
  227. package/dist/lib.d.ts.map +1 -1
  228. package/dist/lib.js +20 -5
  229. package/dist/logger.d.ts.map +1 -1
  230. package/dist/logger.js +2 -2
  231. package/dist/transform.d.ts +12 -0
  232. package/dist/transform.d.ts.map +1 -0
  233. package/dist/transform.js +39 -0
  234. package/dist/utils/effectify.d.ts +210 -0
  235. package/dist/utils/effectify.d.ts.map +1 -0
  236. package/dist/utils/effectify.js +19 -0
  237. package/dist/utils/extend.d.ts +3 -0
  238. package/dist/utils/extend.d.ts.map +1 -0
  239. package/dist/utils/extend.js +9 -0
  240. package/dist/utils/logger.d.ts +12 -0
  241. package/dist/utils/logger.d.ts.map +1 -0
  242. package/dist/utils/logger.js +15 -0
  243. package/dist/utils.d.ts +192 -1
  244. package/dist/utils.d.ts.map +1 -1
  245. package/dist/utils.js +332 -2
  246. package/dist/validation/validators.d.ts +11 -0
  247. package/dist/validation/validators.d.ts.map +1 -0
  248. package/dist/validation/validators.js +26 -0
  249. package/dist/validation.d.ts +13 -0
  250. package/dist/validation.d.ts.map +1 -0
  251. package/dist/validation.js +14 -0
  252. package/package.json +360 -9
  253. package/src/Array.ts +127 -0
  254. package/src/Chunk.ts +112 -0
  255. package/src/Config/SecretURL.ts +3 -3
  256. package/src/Config/internal/configSecretURL.ts +1 -1
  257. package/src/Context.ts +293 -0
  258. package/src/Dictionary.ts +669 -0
  259. package/src/Effect.ts +265 -0
  260. package/src/Function.ts +175 -0
  261. package/src/Inputify.type.ts +1 -1
  262. package/src/NonEmptySet.ts +3 -0
  263. package/src/NonEmptySetAspects.ts +1 -0
  264. package/src/NonEmptySetBase.ts +109 -0
  265. package/src/Object.ts +19 -0
  266. package/src/Operations.ts +1 -1
  267. package/src/Option.ts +82 -0
  268. package/src/Prelude.code.ts +26 -0
  269. package/src/Prelude.ts +220 -0
  270. package/src/Pure.ts +37 -30
  271. package/src/Schema/Class.ts +225 -0
  272. package/src/Schema/FastCheck.ts +23 -0
  273. package/src/Schema/Methods.ts +8 -0
  274. package/src/Schema/brand.ts +50 -0
  275. package/src/Schema/email.ts +22 -0
  276. package/src/Schema/ext.ts +273 -0
  277. package/src/Schema/moreStrings.ts +260 -0
  278. package/src/Schema/numbers.ts +83 -0
  279. package/src/Schema/phoneNumber.ts +24 -0
  280. package/src/Schema/schema.ts +6 -0
  281. package/src/Schema/strings.ts +60 -0
  282. package/src/{schema.ts → Schema.ts} +52 -20
  283. package/src/Set.ts +674 -0
  284. package/src/Struct.ts +54 -0
  285. package/src/Tag.ts +20 -0
  286. package/src/Unify.ts +56 -0
  287. package/src/Widen.type.ts +1 -1
  288. package/src/_ext/misc.ts +22 -22
  289. package/src/_ext/ord.ext.ts +49 -0
  290. package/src/builtin.ts +64 -0
  291. package/src/client/clientFor.ts +1 -1
  292. package/src/client/config.ts +1 -1
  293. package/src/client/errors.ts +1 -1
  294. package/src/http/http-client.ts +73 -0
  295. package/src/ids.ts +3 -3
  296. package/src/index.ts +1 -1
  297. package/src/lib.ts +88 -4
  298. package/src/logger.ts +1 -1
  299. package/src/transform.ts +80 -0
  300. package/src/utils/effectify.ts +259 -0
  301. package/src/utils/extend.ts +9 -0
  302. package/src/utils/logger.ts +24 -0
  303. package/src/utils.ts +805 -1
  304. package/src/validation/validators.ts +32 -0
  305. package/src/validation.ts +18 -0
  306. package/tsconfig.src.json +1 -5
  307. package/_cjs/schema.cjs +0 -110
  308. package/_cjs/schema.cjs.map +0 -1
  309. package/dist/schema.d.ts.map +0 -1
  310. package/dist/schema.js +0 -73
@@ -0,0 +1,448 @@
1
+ // ets_tracing: off
2
+ import * as A from "./Array.js";
3
+ import { pipe, tuple } from "./Function.js";
4
+ import * as O from "./Option.js";
5
+ // /**
6
+ // * Build a readonly record from a mutable version
7
+ // */
8
+ // export function fromMutable<A>(r: MutableRecord<string, A>): Dictionary<A> {
9
+ // return Object.assign({}, r)
10
+ // }
11
+ // /**
12
+ // * Converts the record to a mutable version
13
+ // */
14
+ // export function toMutable<A>(r: Dictionary<A>): MutableRecord<string, A> {
15
+ // return Object.assign({}, r)
16
+ // }
17
+ /**
18
+ * Calculate the number of key/value pairs in a record
19
+ */
20
+ export function size(r) {
21
+ return Object.keys(r).length;
22
+ }
23
+ /**
24
+ * Test whether a record is empty
25
+ */
26
+ export function isEmpty(r) {
27
+ return Object.keys(r).length === 0;
28
+ }
29
+ /**
30
+ * Extract record keys
31
+ */
32
+ export function keys(r) {
33
+ return Object.keys(r).sort();
34
+ }
35
+ /**
36
+ * Extract record values
37
+ */
38
+ export function values(r) {
39
+ return Object
40
+ .keys(r)
41
+ .sort()
42
+ .map((s) => r[s]);
43
+ }
44
+ /**
45
+ * Map a record into an array
46
+ */
47
+ export function collect(f) {
48
+ return (r) => collect_(r, f);
49
+ }
50
+ /**
51
+ * Map a record into an array
52
+ */
53
+ export function collect_(r, f) {
54
+ const out = [];
55
+ for (const key of keys(r)) {
56
+ out.push(f(key, r[key]));
57
+ }
58
+ return out;
59
+ }
60
+ /**
61
+ * Insert or replace a key/value pair in a record
62
+ */
63
+ export function insertAt(k, a) {
64
+ return (r) => insertAt_(r, k, a);
65
+ }
66
+ /**
67
+ * Insert or replace a key/value pair in a record
68
+ */
69
+ export function insertAt_(r, k, a) {
70
+ if (r[k] === a) {
71
+ return r;
72
+ }
73
+ const out = Object.assign({}, r);
74
+ out[k] = a;
75
+ return out;
76
+ }
77
+ /**
78
+ * Check if k is a key
79
+ */
80
+ export function hasOwnProperty(r, k) {
81
+ return Object.prototype.hasOwnProperty.call(r, k);
82
+ }
83
+ /**
84
+ * Delete a key
85
+ */
86
+ export function deleteAt(k) {
87
+ return (r) => deleteAt_(r, k);
88
+ }
89
+ /**
90
+ * Delete a key
91
+ */
92
+ export function deleteAt_(r, k) {
93
+ if (!Object.prototype.hasOwnProperty.call(r, k)) {
94
+ return r;
95
+ }
96
+ const out = Object.assign({}, r);
97
+ delete out[k];
98
+ return out;
99
+ }
100
+ /**
101
+ * Update a key value pair
102
+ */
103
+ export function updateAt(k, a) {
104
+ return (r) => updateAt_(r, k, a);
105
+ }
106
+ /**
107
+ * Update a key value pair
108
+ */
109
+ export function updateAt_(r, k, a) {
110
+ if (!hasOwnProperty(r, k)) {
111
+ return O.none();
112
+ }
113
+ if (r[k] === a) {
114
+ return O.some(r);
115
+ }
116
+ const out = Object.assign({}, r);
117
+ out[k] = a;
118
+ return O.some(out);
119
+ }
120
+ /**
121
+ * Modify the value at key k with f
122
+ */
123
+ export function modifyAt(k, f) {
124
+ return (r) => modifyAt_(r, k, f);
125
+ }
126
+ /**
127
+ * Modify the value at key k with f
128
+ */
129
+ export function modifyAt_(r, k, f) {
130
+ if (!hasOwnProperty(r, k)) {
131
+ return O.none();
132
+ }
133
+ const out = Object.assign({}, r);
134
+ out[k] = f(r[k]);
135
+ return O.some(out);
136
+ }
137
+ /**
138
+ * Delete a key and value from a map, returning the value as well as the subsequent map
139
+ */
140
+ export function pop(k) {
141
+ return (r) => pop_(r, k);
142
+ }
143
+ /**
144
+ * Delete a key and value from a map, returning the value as well as the subsequent map
145
+ */
146
+ export function pop_(r, k) {
147
+ const deleteAtk = deleteAt(k);
148
+ const oa = lookup_(r, k);
149
+ return O.isNone(oa) ? O.none() : O.some(tuple(oa.value, deleteAtk(r)));
150
+ }
151
+ /**
152
+ * Lookup the value for a key in a record
153
+ */
154
+ export function lookup_(r, k) {
155
+ return Object.prototype.hasOwnProperty.call(r, k) ? O.some(r[k]) : O.none();
156
+ }
157
+ /**
158
+ * Lookup the value for a key in a record
159
+ */
160
+ export function lookup(k) {
161
+ return (r) => (Object.prototype.hasOwnProperty.call(r, k) ? O.some(r[k]) : O.none());
162
+ }
163
+ /**
164
+ * Empty record
165
+ */
166
+ export const empty = {};
167
+ /**
168
+ * Map a record passing the keys to the iterating function
169
+ */
170
+ export function mapWithIndex(f) {
171
+ return (fa) => mapWithIndex_(fa, f);
172
+ }
173
+ /**
174
+ * Map a record passing the keys to the iterating function
175
+ */
176
+ export function mapWithIndex_(fa, f) {
177
+ const out = {};
178
+ const keys = Object.keys(fa);
179
+ for (const key of keys) {
180
+ out[key] = f(key, fa[key]);
181
+ }
182
+ return out;
183
+ }
184
+ /**
185
+ * Map a record passing the values to the iterating function
186
+ */
187
+ export function map(f) {
188
+ return (fa) => map_(fa, f);
189
+ }
190
+ /**
191
+ * Map a record passing the values to the iterating function
192
+ */
193
+ export function map_(fa, f) {
194
+ return mapWithIndex_(fa, (_, a) => f(a));
195
+ }
196
+ /**
197
+ * Reduce the record passing the index toghether with the value to f
198
+ */
199
+ export function reduceWithIndex(b, f) {
200
+ return (fa) => reduceWithIndex_(fa, b, f);
201
+ }
202
+ /**
203
+ * Reduce the record passing the index toghether with the value to f
204
+ */
205
+ export function reduceWithIndex_(fa, b, f) {
206
+ let out = b;
207
+ const keys = Object.keys(fa).sort();
208
+ const len = keys.length;
209
+ for (let i = 0; i < len; i++) {
210
+ const k = keys[i];
211
+ out = f(k, out, fa[k]);
212
+ }
213
+ return out;
214
+ }
215
+ /**
216
+ * Reduce the record passing the index toghether with the value to f
217
+ *
218
+ * Inverted order
219
+ */
220
+ export function reduceRightWithIndex(b, f) {
221
+ return (fa) => reduceRightWithIndex_(fa, b, f);
222
+ }
223
+ /**
224
+ * Reduce the record passing the index toghether with the value to f
225
+ *
226
+ * Inverted order
227
+ */
228
+ export function reduceRightWithIndex_(fa, b, f) {
229
+ let out = b;
230
+ const keys = Object.keys(fa).sort();
231
+ const len = keys.length;
232
+ for (let i = len - 1; i >= 0; i--) {
233
+ const k = keys[i];
234
+ out = f(k, fa[k], out);
235
+ }
236
+ return out;
237
+ }
238
+ /**
239
+ * Create a record with one key/value pair
240
+ */
241
+ export function singleton(k, a) {
242
+ return { [k]: a };
243
+ }
244
+ /**
245
+ * Partition a record using f that also consumes the entry key
246
+ */
247
+ export function partitionMapWithIndex(f) {
248
+ return (fa) => partitionMapWithIndex_(fa, f);
249
+ }
250
+ /**
251
+ * Partition a record using f that also consumes the entry key
252
+ */
253
+ export function partitionMapWithIndex_(fa, f) {
254
+ const left = {};
255
+ const right = {};
256
+ const keys = Object.keys(fa);
257
+ for (const key of keys) {
258
+ const e = f(key, fa[key]);
259
+ switch (e._tag) {
260
+ case "Left":
261
+ left[key] = e.left;
262
+ break;
263
+ case "Right":
264
+ right[key] = e.right;
265
+ break;
266
+ }
267
+ }
268
+ return tuple(left, right);
269
+ }
270
+ export function partitionWithIndex(predicateWithIndex) {
271
+ return (fa) => partitionWithIndex_(fa, predicateWithIndex);
272
+ }
273
+ export function partitionWithIndex_(fa, predicateWithIndex) {
274
+ const left = {};
275
+ const right = {};
276
+ const keys = Object.keys(fa);
277
+ for (const key of keys) {
278
+ const a = fa[key];
279
+ if (predicateWithIndex(key, a)) {
280
+ right[key] = a;
281
+ }
282
+ else {
283
+ left[key] = a;
284
+ }
285
+ }
286
+ return tuple(left, right);
287
+ }
288
+ export function filterMapWithIndex(f) {
289
+ return (fa) => filterMapWithIndex_(fa, f);
290
+ }
291
+ /**
292
+ * Filter & map the record entries with f that consumes also the entry index
293
+ */
294
+ export function filterMapWithIndex_(fa, f) {
295
+ const r = {};
296
+ const keys = Object.keys(fa);
297
+ for (const key of keys) {
298
+ const optionB = f(key, fa[key]);
299
+ if (O.isSome(optionB)) {
300
+ r[key] = optionB.value;
301
+ }
302
+ }
303
+ return r;
304
+ }
305
+ export function filterWithIndex(predicateWithIndex) {
306
+ return (fa) => filterWithIndex_(fa, predicateWithIndex);
307
+ }
308
+ export function filterWithIndex_(fa, predicateWithIndex) {
309
+ const out = {};
310
+ let changed = false;
311
+ for (const key in fa) {
312
+ if (Object.prototype.hasOwnProperty.call(fa, key)) {
313
+ const a = fa[key];
314
+ if (predicateWithIndex(key, a)) {
315
+ out[key] = a;
316
+ }
317
+ else {
318
+ changed = true;
319
+ }
320
+ }
321
+ }
322
+ return changed ? out : fa;
323
+ }
324
+ /**
325
+ * Checks a predicate against all the record entries
326
+ */
327
+ export function every(predicate) {
328
+ return (r) => every_(r, predicate);
329
+ }
330
+ /**
331
+ * Checks a predicate against all the record entries
332
+ */
333
+ export function every_(r, predicate) {
334
+ for (const k in r) {
335
+ if (!predicate(r[k])) {
336
+ return false;
337
+ }
338
+ }
339
+ return true;
340
+ }
341
+ /**
342
+ * Checks a predicate against some of the record entries
343
+ */
344
+ export function some(predicate) {
345
+ return (r) => some_(r, predicate);
346
+ }
347
+ /**
348
+ * Checks a predicate against some of the record entries
349
+ */
350
+ export function some_(r, predicate) {
351
+ for (const k in r) {
352
+ if (predicate(r[k])) {
353
+ return true;
354
+ }
355
+ }
356
+ return false;
357
+ }
358
+ /**
359
+ * Drop the None entries
360
+ */
361
+ export const compact = (fa) => {
362
+ const r = {};
363
+ const keys = Object.keys(fa);
364
+ for (const key of keys) {
365
+ const optionA = fa[key];
366
+ if (O.isSome(optionA)) {
367
+ r[key] = optionA.value;
368
+ }
369
+ }
370
+ return r;
371
+ };
372
+ /**
373
+ * Separate the record entries
374
+ */
375
+ export const separate = (fa) => {
376
+ const left = {};
377
+ const right = {};
378
+ const keys = Object.keys(fa);
379
+ for (const key of keys) {
380
+ const e = fa[key];
381
+ switch (e._tag) {
382
+ case "Left":
383
+ left[key] = e.left;
384
+ break;
385
+ case "Right":
386
+ right[key] = e.right;
387
+ break;
388
+ }
389
+ }
390
+ return tuple(left, right);
391
+ };
392
+ /**
393
+ * Filter record entries according to a predicate
394
+ */
395
+ export const filter = (predicate) => (fa) => filter_(fa, predicate);
396
+ /**
397
+ * Filter record entries according to a predicate
398
+ */
399
+ export const filter_ = (fa, predicate) => filterWithIndex_(fa, (_, a) => predicate(a));
400
+ /**
401
+ * Filter & map record entries according to a predicate
402
+ */
403
+ export const filterMap = (f) => (fa) => filterMap_(fa, f);
404
+ /**
405
+ * Filter & map record entries according to a predicate
406
+ */
407
+ export const filterMap_ = (fa, f) => filterMapWithIndex_(fa, (_, a) => f(a));
408
+ /**
409
+ * Partition record entries according to a predicate
410
+ */
411
+ export const partition = (predicate) => (fa) => partition_(fa, predicate);
412
+ /**
413
+ * Partition record entries according to a predicate
414
+ */
415
+ export const partition_ = (fa, predicate) => partitionWithIndex_(fa, (_, a) => predicate(a));
416
+ /**
417
+ * Partition & map record entries
418
+ */
419
+ export const partitionMap = (f) => (fa) => partitionMap_(fa, f);
420
+ /**
421
+ * Partition & map record entries
422
+ */
423
+ export const partitionMap_ = (fa, f) => partitionMapWithIndex_(fa, (_, a) => f(a));
424
+ /**
425
+ * Reduce record entries
426
+ */
427
+ export const reduce = (b, f) => (fa) => reduce_(fa, b, f);
428
+ /**
429
+ * Reduce record entries
430
+ */
431
+ export const reduce_ = (fa, b, f) => reduceWithIndex_(fa, b, (_, b, a) => f(b, a));
432
+ /**
433
+ * Reduce record entries in inverted order
434
+ */
435
+ export const reduceRight = (b, f) => (fa) => reduceRight_(fa, b, f);
436
+ /**
437
+ * Reduce record entries in inverted order
438
+ */
439
+ export const reduceRight_ = (fa, b, f) => reduceRightWithIndex_(fa, b, (_, a, b) => f(a, b));
440
+ /**
441
+ * Converts a record into an array of [key, value]
442
+ */
443
+ export const toArray = collect(tuple);
444
+ /**
445
+ * Converts an array of [key, value] into a record
446
+ */
447
+ export const fromArray = (_) => pipe(_, A.reduce({}, (b, [k, v]) => Object.assign(b, { [k]: v })));
448
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGljdGlvbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9EaWN0aW9uYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQjtBQUduQixPQUFPLEtBQUssQ0FBQyxNQUFNLFlBQVksQ0FBQTtBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFtQyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDNUUsT0FBTyxLQUFLLENBQUMsTUFBTSxhQUFhLENBQUE7QUFXaEMsTUFBTTtBQUNOLG9EQUFvRDtBQUNwRCxNQUFNO0FBQ04sK0VBQStFO0FBQy9FLGdDQUFnQztBQUNoQyxJQUFJO0FBRUosTUFBTTtBQUNOLDhDQUE4QztBQUM5QyxNQUFNO0FBQ04sNkVBQTZFO0FBQzdFLGdDQUFnQztBQUNoQyxJQUFJO0FBRUo7O0dBRUc7QUFDSCxNQUFNLFVBQVUsSUFBSSxDQUFDLENBQXNCO0lBQ3pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7QUFDOUIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FBQyxDQUFzQjtJQUM1QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQTtBQUNwQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsSUFBSSxDQUFDLENBQXNCO0lBQ3pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQVMsQ0FBQTtBQUNyQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUFJLENBQWdCO0lBQ3hDLE9BQU8sTUFBTTtTQUNWLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDUCxJQUFJLEVBQUU7U0FDTixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFBO0FBQ3RC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
@@ -0,0 +1,115 @@
1
+ import { Effect, Option, Ref } from "effect";
2
+ import * as Def from "effect/Deferred";
3
+ import type { Semaphore } from "effect/Effect";
4
+ import * as Fiber from "effect/Fiber";
5
+ import { type Context } from "./index.js";
6
+ export * from "effect/Effect";
7
+ /**
8
+ * @macro traced
9
+ * @tsplus fluent effect/io/Effect flatMapOpt
10
+ */
11
+ export declare function flatMapOption<R, E, A, R2, E2, A2>(self: Effect.Effect<Option.Option<A>, E, R>, fm: (a: A) => Effect.Effect<A2, E2, R2>): Effect.Effect<Option.Option<A2>, E | E2, R | R2>;
12
+ /**
13
+ * @macro traced
14
+ * @tsplus fluent effect/io/Effect tapOpt
15
+ */
16
+ export declare function tapOption<R, E, A, R2, E2, A2>(self: Effect.Effect<Option.Option<A>, E, R>, fm: (a: A) => Effect.Effect<A2, E2, R2>): Effect.Effect<Option.Option<A>, E | E2, R | R2>;
17
+ /**
18
+ * @macro traced
19
+ * @tsplus fluent effect/io/Effect zipRightOpt
20
+ */
21
+ export declare function zipRightOption<R, E, A, R2, E2, A2>(self: Effect.Effect<Option.Option<A>, E, R>, fm: Effect.Effect<A2, E2, R2>): Effect.Effect<Option.Option<A>, E | E2, R | R2>;
22
+ /**
23
+ * @macro traced
24
+ * @tsplus fluent effect/io/Effect mapOpt
25
+ */
26
+ export declare function mapOption<R, E, A, A2>(self: Effect.Effect<Option.Option<A>, E, R>, fm: (a: A) => A2): Effect.Effect<Option.Option<A2>, E, R>;
27
+ /**
28
+ * Takes [A, B], applies it to a curried Effect function,
29
+ * taps the Effect, returning A.
30
+ */
31
+ export declare function tupleTap<A, B, R, E, C>(f: (b: B) => (a: A) => Effect.Effect<C, E, R>): (t: readonly [A, B]) => Effect.Effect<A, E, R>;
32
+ /**
33
+ * Takes [A, B], applies it to an Effect function,
34
+ * taps the Effect, returning A.
35
+ */
36
+ export declare function tupleTap_<A, B, R, E, C>(f: (a: A, b: B) => Effect.Effect<C, E, R>): (t: readonly [A, B]) => Effect.Effect<A, E, R>;
37
+ export declare function ifDiffR<I, R, E, A>(f: (i: I) => Effect.Effect<A, E, R>): (n: I, orig: I) => Effect.Effect<void, never, never> | Effect.Effect<A, E, R>;
38
+ export declare function ifDiff_<I, R, E, A>(n: I, orig: I, f: (i: I) => Effect.Effect<A, E, R>): Effect.Effect<void, never, never> | Effect.Effect<A, E, R>;
39
+ export declare function ifDiff<I, R, E, A>(n: I, orig: I): (f: (i: I) => Effect.Effect<A, E, R>) => Effect.Effect<void, never, never> | Effect.Effect<A, E, R>;
40
+ /**
41
+ * @tsplus static effect/io/Deferred.Ops await
42
+ * @tsplus getter effect/io/Deferred await
43
+ */
44
+ export declare const await_: <A, E>(self: Def.Deferred<A, E>) => Effect.Effect<A, E>;
45
+ /**
46
+ * Ref has atomic modify support if synchronous, for Effect we need a Semaphore.
47
+ * @tsplus fluent effect/io/Ref modifyWithEffect
48
+ */
49
+ export declare function modifyWithPermitWithEffect<A>(ref: Ref.Ref<A>, semaphore: Semaphore): <R, E, A2>(mod: (a: A) => Effect.Effect<readonly [A2, A], E, R>) => Effect.Effect<A2, E, R>;
50
+ /**
51
+ * @tsplus getter Iterable joinAll
52
+ * @tsplus static effect/io/Effect.Ops joinAll
53
+ */
54
+ export declare function joinAll<E, A>(fibers: Iterable<Fiber.Fiber<A, E>>): Effect.Effect<readonly A[], E>;
55
+ type ServiceA<T> = T extends Effect.Effect<infer S, any, any> ? S : T extends Context.Tag<any, infer S> ? S : never;
56
+ type ServiceR<T> = T extends Effect.Effect<any, any, infer R> ? R : T extends Context.Tag<infer R, any> ? R : never;
57
+ type ServiceE<T> = T extends Effect.Effect<any, infer E, any> ? E : never;
58
+ type ValuesR<T> = T extends {
59
+ [s: string]: infer S;
60
+ } ? ServiceR<S> : never;
61
+ type ValuesE<T> = T extends {
62
+ [s: string]: infer S;
63
+ } ? ServiceE<S> : never;
64
+ /**
65
+ * Due to tsplus unification (tsplus unify tag), when trying to use the Effect type in a type constraint
66
+ * the compiler will cause basically anything to match. as such, use this type instead.
67
+ * ```ts
68
+ * const a = <
69
+ * SVC extends Record<
70
+ * string,
71
+ * ((req: number) => Effect.Effect<any, any, any>) | Effect.Effect<any, any, any>
72
+ * >
73
+ * >(svc: SVC) => svc
74
+ *
75
+ * const b = a({ str: "" }) // valid, but shouldn't be!
76
+ * ```
77
+ */
78
+ export interface EffectUnunified<R, E, A> extends Effect.Effect<R, E, A> {
79
+ }
80
+ export type LowerFirst<S extends PropertyKey> = S extends `${infer First}${infer Rest}` ? `${Lowercase<First>}${Rest}` : S;
81
+ export type LowerServices<T extends Record<string, Context.Tag<any, any> | Effect.Effect<any, any, any>>> = {
82
+ [key in keyof T as LowerFirst<key>]: ServiceA<T[key]>;
83
+ };
84
+ /**
85
+ * @tsplus static effect/io/Effect.Ops allLower
86
+ */
87
+ export declare function allLower<T extends Record<string, Context.Tag<any, any> | Effect.Effect<any, any, any>>>(services: T): Effect.Effect<LowerServices<T>, ValuesE<T>, ValuesR<T>>;
88
+ /**
89
+ * @tsplus static effect/io/Effect.Ops allLowerWith
90
+ */
91
+ export declare function allLowerWith<T extends Record<string, Context.Tag<any, any> | Effect.Effect<any, any, any>>, A>(services: T, fn: (services: LowerServices<T>) => A): Effect.Effect<A, ValuesE<T>, ValuesR<T>>;
92
+ /**
93
+ * @tsplus static effect/io/Effect.Ops allLowerWithEffect
94
+ */
95
+ export declare function allLowerWithEffect<T extends Record<string, Context.Tag<any, any> | Effect.Effect<any, any, any>>, R, E, A>(services: T, fn: (services: LowerServices<T>) => Effect.Effect<A, E, R>): Effect.Effect<A, E | ValuesE<T>, R | ValuesR<T>>;
96
+ /**
97
+ * Recovers from all errors.
98
+ *
99
+ * @tsplus static effect/io/Effect.Ops catchAllMap
100
+ * @tsplus pipeable effect/io/Effect catchAllMap
101
+ */
102
+ export declare function catchAllMap<E, A2>(f: (e: E) => A2): <R, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<A2 | A, never, R>;
103
+ /**
104
+ * Annotates each log in this scope with the specified log annotation.
105
+ *
106
+ * @tsplus static effect/io/Effect.Ops annotateLogscoped
107
+ */
108
+ export declare function annotateLogscoped(key: string, value: string): Effect.Effect<void, never, import("effect/Scope").Scope>;
109
+ /**
110
+ * Annotates each log in this scope with the specified log annotations.
111
+ *
112
+ * @tsplus static effect/io/Effect.Ops annotateLogsScoped
113
+ */
114
+ export declare function annotateLogsScoped(kvps: Record<string, string>): Effect.Effect<void, never, import("effect/Scope").Scope>;
115
+ //# sourceMappingURL=Effect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../src/Effect.ts"],"names":[],"mappings":"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"}