@nlozgachev/pipelined 0.41.0 → 0.43.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.
- package/dist/InternalTypes-DsCqxWZm.d.mts +118 -0
- package/dist/InternalTypes-DuzMFAfJ.d.ts +118 -0
- package/dist/{Task-BprUabHP.d.mts → Validation-BOPLiDqa.d.ts} +875 -111
- package/dist/{Task-Dt3ZMen6.d.ts → Validation-Do6uWLLZ.d.mts} +875 -111
- package/dist/{chunk-GBB6LVLI.mjs → chunk-74JKKJ4R.mjs} +0 -4
- package/dist/{chunk-COGQKPIP.mjs → chunk-CHRXZIJU.mjs} +204 -180
- package/dist/{chunk-V37OUM35.mjs → chunk-W6RWKBDX.mjs} +157 -69
- package/dist/{chunk-TCE2UETM.mjs → chunk-X6XQX3OZ.mjs} +4 -4
- package/dist/composition.d.mts +45 -44
- package/dist/composition.d.ts +45 -44
- package/dist/composition.js +3 -3
- package/dist/composition.mjs +2 -2
- package/dist/core.d.mts +10 -812
- package/dist/core.d.ts +10 -812
- package/dist/core.js +202 -182
- package/dist/core.mjs +2 -8
- package/dist/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +359 -254
- package/dist/index.mjs +5 -13
- package/dist/types.d.mts +112 -17
- package/dist/types.d.ts +112 -17
- package/dist/types.js +2 -7
- package/dist/types.mjs +3 -5
- package/dist/utils.d.mts +345 -89
- package/dist/utils.d.ts +345 -89
- package/dist/utils.js +456 -152
- package/dist/utils.mjs +3 -3
- package/package.json +2 -2
- package/dist/Duration-BTeT9D-q.d.mts +0 -127
- package/dist/Duration-BTeT9D-q.d.ts +0 -127
package/dist/index.js
CHANGED
|
@@ -45,9 +45,6 @@ __export(src_exports, {
|
|
|
45
45
|
State: () => State,
|
|
46
46
|
Str: () => Str,
|
|
47
47
|
Task: () => Task,
|
|
48
|
-
TaskMaybe: () => TaskMaybe,
|
|
49
|
-
TaskResult: () => TaskResult3,
|
|
50
|
-
TaskValidation: () => TaskValidation,
|
|
51
48
|
These: () => These,
|
|
52
49
|
Tuple: () => Tuple,
|
|
53
50
|
Uniq: () => Uniq,
|
|
@@ -68,7 +65,6 @@ __export(src_exports, {
|
|
|
68
65
|
flip: () => flip,
|
|
69
66
|
flow: () => flow,
|
|
70
67
|
identity: () => identity,
|
|
71
|
-
isNonEmptyList: () => isNonEmptyList,
|
|
72
68
|
juxt: () => juxt,
|
|
73
69
|
memoize: () => memoize,
|
|
74
70
|
memoizeWeak: () => memoizeWeak,
|
|
@@ -411,9 +407,6 @@ var Brand;
|
|
|
411
407
|
Brand2.unwrap = (branded) => branded;
|
|
412
408
|
})(Brand || (Brand = {}));
|
|
413
409
|
|
|
414
|
-
// src/Types/NonEmptyList.ts
|
|
415
|
-
var isNonEmptyList = (list) => list.length > 0;
|
|
416
|
-
|
|
417
410
|
// src/Types/Duration.ts
|
|
418
411
|
var Duration;
|
|
419
412
|
((Duration2) => {
|
|
@@ -480,7 +473,7 @@ function tap(f) {
|
|
|
480
473
|
};
|
|
481
474
|
tap2.async = (fn, options) => (a) => {
|
|
482
475
|
const onError = options?.onError ?? console.error;
|
|
483
|
-
fn(a).catch((err2) => {
|
|
476
|
+
Promise.resolve(fn(a)).catch((err2) => {
|
|
484
477
|
onError(err2);
|
|
485
478
|
});
|
|
486
479
|
return a;
|
|
@@ -490,13 +483,13 @@ function tap(f) {
|
|
|
490
483
|
const triggerFinish = (duration) => {
|
|
491
484
|
if (config.label !== void 0) {
|
|
492
485
|
console.log(`[${config.label}]: ${Duration.toMilliseconds(duration)}ms`);
|
|
493
|
-
} else
|
|
486
|
+
} else {
|
|
494
487
|
config.onFinish(duration);
|
|
495
488
|
}
|
|
496
489
|
};
|
|
497
490
|
try {
|
|
498
491
|
const res = fn(a);
|
|
499
|
-
if (res
|
|
492
|
+
if (res !== null && (typeof res === "object" || typeof res === "function") && typeof res.then === "function") {
|
|
500
493
|
res.then(() => {
|
|
501
494
|
const duration = Duration.milliseconds(performance.now() - start);
|
|
502
495
|
triggerFinish(duration);
|
|
@@ -2104,6 +2097,162 @@ var State;
|
|
|
2104
2097
|
)(data);
|
|
2105
2098
|
})(State || (State = {}));
|
|
2106
2099
|
|
|
2100
|
+
// src/Core/TaskMaybe.ts
|
|
2101
|
+
var TaskMaybe;
|
|
2102
|
+
((TaskMaybe2) => {
|
|
2103
|
+
TaskMaybe2.some = (value) => Task.resolve(Maybe.some(value));
|
|
2104
|
+
TaskMaybe2.none = () => Task.resolve(Maybe.none());
|
|
2105
|
+
TaskMaybe2.fromMaybe = (option) => Task.resolve(option);
|
|
2106
|
+
TaskMaybe2.fromNullable = (value) => Task.resolve(Maybe.fromNullable(value));
|
|
2107
|
+
TaskMaybe2.fromResult = (result) => Task.resolve(Result.toMaybe(result));
|
|
2108
|
+
TaskMaybe2.fromTask = (task) => Task.map(Maybe.some)(task);
|
|
2109
|
+
TaskMaybe2.tryCatch = (f) => Task.from((signal) => Promise.resolve(f(signal)).then(Maybe.some).catch(() => Maybe.none()));
|
|
2110
|
+
TaskMaybe2.map = (f) => (data) => Task.map(Maybe.map(f))(data);
|
|
2111
|
+
TaskMaybe2.chain = (f) => (data) => Task.chain((option) => Maybe.isSome(option) ? f(option.value) : Task.resolve(Maybe.none()))(data);
|
|
2112
|
+
TaskMaybe2.ap = (arg) => (data) => Task.from(
|
|
2113
|
+
(signal) => Promise.all([Deferred.toPromise(data(signal)), Deferred.toPromise(arg(signal))]).then(
|
|
2114
|
+
([of_, oa]) => Maybe.ap(oa)(of_)
|
|
2115
|
+
)
|
|
2116
|
+
);
|
|
2117
|
+
TaskMaybe2.fold = (onNone, onSome) => (data) => Task.map(Maybe.fold(onNone, onSome))(data);
|
|
2118
|
+
TaskMaybe2.match = (cases) => (data) => Task.map(Maybe.match(cases))(data);
|
|
2119
|
+
TaskMaybe2.getOrElse = (defaultValue) => (data) => Task.map(Maybe.getOrElse(defaultValue))(data);
|
|
2120
|
+
TaskMaybe2.tap = (f) => (data) => Task.map(Maybe.tap(f))(data);
|
|
2121
|
+
TaskMaybe2.filter = (predicate) => (data) => Task.map(Maybe.filter(predicate))(data);
|
|
2122
|
+
TaskMaybe2.toResult = (onNone) => (data) => Task.map(Maybe.toResult(onNone))(data);
|
|
2123
|
+
TaskMaybe2.bindTo = (key) => (data) => (0, TaskMaybe2.map)((a) => ({ [key]: a }))(data);
|
|
2124
|
+
TaskMaybe2.bind = (key, f) => (data) => (0, TaskMaybe2.chain)(
|
|
2125
|
+
(a) => (0, TaskMaybe2.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
2126
|
+
)(data);
|
|
2127
|
+
TaskMaybe2.recover = (fallback) => (data) => Task.chain((maybe) => Maybe.isNone(maybe) ? fallback() : Task.resolve(maybe))(data);
|
|
2128
|
+
TaskMaybe2.struct = (fields) => Task.from((signal) => {
|
|
2129
|
+
const keys = Object.keys(fields);
|
|
2130
|
+
const promises = keys.map((key) => Deferred.toPromise(fields[key](signal)));
|
|
2131
|
+
return Promise.all(promises).then((results) => {
|
|
2132
|
+
const record = {};
|
|
2133
|
+
for (let i = 0; i < keys.length; i++) {
|
|
2134
|
+
const res = results[i];
|
|
2135
|
+
if (Maybe.isNone(res)) {
|
|
2136
|
+
return res;
|
|
2137
|
+
}
|
|
2138
|
+
record[keys[i]] = res.value;
|
|
2139
|
+
}
|
|
2140
|
+
return Maybe.some(record);
|
|
2141
|
+
});
|
|
2142
|
+
});
|
|
2143
|
+
})(TaskMaybe || (TaskMaybe = {}));
|
|
2144
|
+
|
|
2145
|
+
// src/Core/TaskResult.ts
|
|
2146
|
+
var TaskResult;
|
|
2147
|
+
((TaskResult2) => {
|
|
2148
|
+
TaskResult2.ok = (value) => Task.resolve(Result.ok(value));
|
|
2149
|
+
TaskResult2.err = (error) => Task.resolve(Result.err(error));
|
|
2150
|
+
TaskResult2.fromNullable = (onNull) => (value) => Task.resolve(value === null || value === void 0 ? Result.err(onNull()) : Result.ok(value));
|
|
2151
|
+
TaskResult2.fromMaybe = (onNone) => (maybe) => Task.resolve(Maybe.isNone(maybe) ? Result.err(onNone()) : Result.ok(maybe.value));
|
|
2152
|
+
TaskResult2.fromResult = (result) => Task.resolve(result);
|
|
2153
|
+
TaskResult2.fromThrowable = (f, onError) => (...args) => Task.from(() => f(...args).then(Result.ok).catch((error) => Result.err(onError(error))));
|
|
2154
|
+
TaskResult2.tryCatch = (f, onError) => Task.from((signal) => Promise.resolve(f(signal)).then(Result.ok).catch((error) => Result.err(onError(error))));
|
|
2155
|
+
TaskResult2.map = (f) => (data) => Task.map(Result.map(f))(data);
|
|
2156
|
+
TaskResult2.mapError = (f) => (data) => Task.map(Result.mapError(f))(data);
|
|
2157
|
+
TaskResult2.chain = (f) => (data) => Task.chain((result) => Result.isOk(result) ? f(result.value) : Task.resolve(Result.err(result.error)))(
|
|
2158
|
+
data
|
|
2159
|
+
);
|
|
2160
|
+
TaskResult2.fold = (onErr, onOk) => (data) => Task.map(Result.fold(onErr, onOk))(data);
|
|
2161
|
+
TaskResult2.match = (cases) => (data) => Task.map(Result.match(cases))(data);
|
|
2162
|
+
TaskResult2.recover = (fallback) => (data) => Task.chain(
|
|
2163
|
+
(result) => Result.isErr(result) ? fallback(result.error) : Task.resolve(result)
|
|
2164
|
+
)(data);
|
|
2165
|
+
TaskResult2.getOrElse = (defaultValue) => (data) => Task.map(Result.getOrElse(defaultValue))(data);
|
|
2166
|
+
TaskResult2.tap = (f) => (data) => Task.map(Result.tap(f))(data);
|
|
2167
|
+
TaskResult2.tapError = (f) => (data) => Task.map(Result.tapError(f))(data);
|
|
2168
|
+
TaskResult2.ap = (arg) => (data) => Task.from(
|
|
2169
|
+
(signal) => Promise.all([Deferred.toPromise(data(signal)), Deferred.toPromise(arg(signal))]).then(
|
|
2170
|
+
([of_, oa]) => Result.ap(oa)(of_)
|
|
2171
|
+
)
|
|
2172
|
+
);
|
|
2173
|
+
TaskResult2.run = (signal) => (task) => task(signal);
|
|
2174
|
+
TaskResult2.bindTo = (key) => (data) => (0, TaskResult2.map)((a) => ({ [key]: a }))(data);
|
|
2175
|
+
TaskResult2.bind = (key, f) => (data) => (0, TaskResult2.chain)(
|
|
2176
|
+
(a) => (0, TaskResult2.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
2177
|
+
)(data);
|
|
2178
|
+
TaskResult2.struct = (fields) => Task.from((signal) => {
|
|
2179
|
+
const keys = Object.keys(fields);
|
|
2180
|
+
const promises = keys.map((key) => Deferred.toPromise(fields[key](signal)));
|
|
2181
|
+
return Promise.all(promises).then((results) => {
|
|
2182
|
+
const record = {};
|
|
2183
|
+
for (let i = 0; i < keys.length; i++) {
|
|
2184
|
+
const res = results[i];
|
|
2185
|
+
if (Result.isErr(res)) {
|
|
2186
|
+
return res;
|
|
2187
|
+
}
|
|
2188
|
+
record[keys[i]] = res.value;
|
|
2189
|
+
}
|
|
2190
|
+
return Result.ok(record);
|
|
2191
|
+
});
|
|
2192
|
+
});
|
|
2193
|
+
})(TaskResult || (TaskResult = {}));
|
|
2194
|
+
|
|
2195
|
+
// src/internal/InternalTypes.ts
|
|
2196
|
+
var isNonEmptyArr = (list) => list.length > 0;
|
|
2197
|
+
|
|
2198
|
+
// src/Core/TaskValidation.ts
|
|
2199
|
+
var TaskValidation;
|
|
2200
|
+
((TaskValidation2) => {
|
|
2201
|
+
TaskValidation2.passed = (value) => Task.resolve(Validation.passed(value));
|
|
2202
|
+
TaskValidation2.failed = (error) => Task.resolve(Validation.failed(error));
|
|
2203
|
+
TaskValidation2.failedAll = (errors) => Task.resolve(Validation.failedAll(errors));
|
|
2204
|
+
TaskValidation2.fromValidation = (validation) => Task.resolve(validation);
|
|
2205
|
+
TaskValidation2.fromNullable = (onNull) => (value) => Task.resolve(value === null || value === void 0 ? Validation.failed(onNull()) : Validation.passed(value));
|
|
2206
|
+
TaskValidation2.fromMaybe = (onNone) => (maybe) => Task.resolve(Maybe.isNone(maybe) ? Validation.failed(onNone()) : Validation.passed(maybe.value));
|
|
2207
|
+
TaskValidation2.fromResult = (result) => Task.resolve(Validation.fromResult(result));
|
|
2208
|
+
TaskValidation2.tryCatch = (f, onError) => Task.from(
|
|
2209
|
+
(signal) => Promise.resolve(f(signal)).then(Validation.passed).catch((error) => Validation.failed(onError(error)))
|
|
2210
|
+
);
|
|
2211
|
+
TaskValidation2.map = (f) => (data) => Task.map(Validation.map(f))(data);
|
|
2212
|
+
TaskValidation2.ap = (arg) => (data) => Task.from(
|
|
2213
|
+
(signal) => Promise.all([Deferred.toPromise(data(signal)), Deferred.toPromise(arg(signal))]).then(
|
|
2214
|
+
([vf, va]) => Validation.ap(va)(vf)
|
|
2215
|
+
)
|
|
2216
|
+
);
|
|
2217
|
+
TaskValidation2.fold = (onFailed, onPassed) => (data) => Task.map(Validation.fold(onFailed, onPassed))(data);
|
|
2218
|
+
TaskValidation2.match = (cases) => (data) => Task.map(Validation.match(cases))(data);
|
|
2219
|
+
TaskValidation2.getOrElse = (defaultValue) => (data) => Task.map(Validation.getOrElse(defaultValue))(data);
|
|
2220
|
+
TaskValidation2.tap = (f) => (data) => Task.map(Validation.tap(f))(data);
|
|
2221
|
+
TaskValidation2.recover = (fallback) => (data) => Task.chain(
|
|
2222
|
+
(validation) => Validation.isPassed(validation) ? Task.resolve(validation) : fallback(validation.errors)
|
|
2223
|
+
)(data);
|
|
2224
|
+
TaskValidation2.product = (first, second) => Task.from(
|
|
2225
|
+
(signal) => Promise.all([Deferred.toPromise(first(signal)), Deferred.toPromise(second(signal))]).then(
|
|
2226
|
+
([va, vb]) => Validation.product(va, vb)
|
|
2227
|
+
)
|
|
2228
|
+
);
|
|
2229
|
+
TaskValidation2.productAll = (data) => Task.from(
|
|
2230
|
+
(signal) => Promise.all(data.map((t) => Deferred.toPromise(t(signal)))).then((results) => {
|
|
2231
|
+
const [first, ...rest] = results;
|
|
2232
|
+
return Validation.productAll([first, ...rest]);
|
|
2233
|
+
})
|
|
2234
|
+
);
|
|
2235
|
+
TaskValidation2.mapError = (f) => (data) => Task.map(Validation.mapError(f))(data);
|
|
2236
|
+
TaskValidation2.tapError = (f) => (data) => Task.map(Validation.tapError(f))(data);
|
|
2237
|
+
TaskValidation2.struct = (fields) => Task.from((signal) => {
|
|
2238
|
+
const keys = Object.keys(fields);
|
|
2239
|
+
const promises = keys.map((key) => Deferred.toPromise(fields[key](signal)));
|
|
2240
|
+
return Promise.all(promises).then((results) => {
|
|
2241
|
+
const record = {};
|
|
2242
|
+
const errors = [];
|
|
2243
|
+
for (let i = 0; i < keys.length; i++) {
|
|
2244
|
+
const res = results[i];
|
|
2245
|
+
if (Validation.isPassed(res)) {
|
|
2246
|
+
record[keys[i]] = res.value;
|
|
2247
|
+
} else {
|
|
2248
|
+
errors.push(...res.errors);
|
|
2249
|
+
}
|
|
2250
|
+
}
|
|
2251
|
+
return isNonEmptyArr(errors) ? Validation.failedAll(errors) : Validation.passed(record);
|
|
2252
|
+
});
|
|
2253
|
+
});
|
|
2254
|
+
})(TaskValidation || (TaskValidation = {}));
|
|
2255
|
+
|
|
2107
2256
|
// src/Core/Task.ts
|
|
2108
2257
|
var toPromise = (task, signal) => Deferred.toPromise(task(signal));
|
|
2109
2258
|
var getMs2 = (duration) => Duration.toMilliseconds(duration);
|
|
@@ -2128,9 +2277,7 @@ var Task;
|
|
|
2128
2277
|
(signal) => new Promise((res) => {
|
|
2129
2278
|
let timerId;
|
|
2130
2279
|
const onAbort = () => {
|
|
2131
|
-
|
|
2132
|
-
clearTimeout(timerId);
|
|
2133
|
-
}
|
|
2280
|
+
clearTimeout(timerId);
|
|
2134
2281
|
res(toPromise(data, signal));
|
|
2135
2282
|
};
|
|
2136
2283
|
if (signal) {
|
|
@@ -2151,27 +2298,20 @@ var Task;
|
|
|
2151
2298
|
return Promise.resolve([]);
|
|
2152
2299
|
}
|
|
2153
2300
|
const results = [];
|
|
2154
|
-
const wait = () => {
|
|
2155
|
-
|
|
2156
|
-
|
|
2301
|
+
const wait = () => new Promise((r) => {
|
|
2302
|
+
let timerId;
|
|
2303
|
+
const onAbort = () => {
|
|
2304
|
+
clearTimeout(timerId);
|
|
2305
|
+
r();
|
|
2306
|
+
};
|
|
2307
|
+
if (signal) {
|
|
2308
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
2157
2309
|
}
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
}
|
|
2164
|
-
r();
|
|
2165
|
-
};
|
|
2166
|
-
if (signal) {
|
|
2167
|
-
signal.addEventListener("abort", onAbort, { once: true });
|
|
2168
|
-
}
|
|
2169
|
-
timerId = setTimeout(() => {
|
|
2170
|
-
signal?.removeEventListener("abort", onAbort);
|
|
2171
|
-
r();
|
|
2172
|
-
}, delayDuration ? getMs2(delayDuration) : 0);
|
|
2173
|
-
});
|
|
2174
|
-
};
|
|
2310
|
+
timerId = setTimeout(() => {
|
|
2311
|
+
signal?.removeEventListener("abort", onAbort);
|
|
2312
|
+
r();
|
|
2313
|
+
}, delayDuration ? getMs2(delayDuration) : 0);
|
|
2314
|
+
});
|
|
2175
2315
|
const run2 = (left) => {
|
|
2176
2316
|
if (signal?.aborted) {
|
|
2177
2317
|
return Promise.resolve(results);
|
|
@@ -2188,27 +2328,20 @@ var Task;
|
|
|
2188
2328
|
});
|
|
2189
2329
|
Task2.repeatUntil = (options) => (task) => (0, Task2.from)((signal) => {
|
|
2190
2330
|
const { when: predicate, delay: delayDuration, maxAttempts } = options;
|
|
2191
|
-
const wait = () => {
|
|
2192
|
-
|
|
2193
|
-
|
|
2331
|
+
const wait = () => new Promise((r) => {
|
|
2332
|
+
let timerId;
|
|
2333
|
+
const onAbort = () => {
|
|
2334
|
+
clearTimeout(timerId);
|
|
2335
|
+
r();
|
|
2336
|
+
};
|
|
2337
|
+
if (signal) {
|
|
2338
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
2194
2339
|
}
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
}
|
|
2201
|
-
r();
|
|
2202
|
-
};
|
|
2203
|
-
if (signal) {
|
|
2204
|
-
signal.addEventListener("abort", onAbort, { once: true });
|
|
2205
|
-
}
|
|
2206
|
-
timerId = setTimeout(() => {
|
|
2207
|
-
signal?.removeEventListener("abort", onAbort);
|
|
2208
|
-
r();
|
|
2209
|
-
}, delayDuration ? getMs2(delayDuration) : 0);
|
|
2210
|
-
});
|
|
2211
|
-
};
|
|
2340
|
+
timerId = setTimeout(() => {
|
|
2341
|
+
signal?.removeEventListener("abort", onAbort);
|
|
2342
|
+
r();
|
|
2343
|
+
}, delayDuration ? getMs2(delayDuration) : 0);
|
|
2344
|
+
});
|
|
2212
2345
|
const run2 = (attempt, lastValue) => {
|
|
2213
2346
|
if (signal?.aborted && lastValue !== void 0) {
|
|
2214
2347
|
return Promise.resolve(lastValue);
|
|
@@ -2276,16 +2409,16 @@ var Task;
|
|
|
2276
2409
|
Task2.timeout = (duration, onTimeout) => (task) => (0, Task2.from)((outerSignal) => {
|
|
2277
2410
|
const controller = new AbortController();
|
|
2278
2411
|
let timerId;
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
}
|
|
2283
|
-
outerSignal?.removeEventListener("abort", onOuterAbort);
|
|
2284
|
-
}
|
|
2285
|
-
function onOuterAbort() {
|
|
2412
|
+
let cleanUp = () => {
|
|
2413
|
+
};
|
|
2414
|
+
const onOuterAbort = () => {
|
|
2286
2415
|
cleanUp();
|
|
2287
2416
|
controller.abort();
|
|
2288
|
-
}
|
|
2417
|
+
};
|
|
2418
|
+
cleanUp = () => {
|
|
2419
|
+
clearTimeout(timerId);
|
|
2420
|
+
outerSignal?.removeEventListener("abort", onOuterAbort);
|
|
2421
|
+
};
|
|
2289
2422
|
if (outerSignal) {
|
|
2290
2423
|
if (outerSignal.aborted) {
|
|
2291
2424
|
controller.abort();
|
|
@@ -2330,123 +2463,11 @@ var Task;
|
|
|
2330
2463
|
Task2.bind = (key, f) => (data) => (0, Task2.chain)(
|
|
2331
2464
|
(a) => (0, Task2.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
2332
2465
|
)(data);
|
|
2466
|
+
Task2.Maybe = TaskMaybe;
|
|
2467
|
+
Task2.Result = TaskResult;
|
|
2468
|
+
Task2.Validation = TaskValidation;
|
|
2333
2469
|
})(Task || (Task = {}));
|
|
2334
2470
|
|
|
2335
|
-
// src/Core/TaskMaybe.ts
|
|
2336
|
-
var TaskMaybe;
|
|
2337
|
-
((TaskMaybe2) => {
|
|
2338
|
-
TaskMaybe2.some = (value) => Task.resolve(Maybe.some(value));
|
|
2339
|
-
TaskMaybe2.none = () => Task.resolve(Maybe.none());
|
|
2340
|
-
TaskMaybe2.fromMaybe = (option) => Task.resolve(option);
|
|
2341
|
-
TaskMaybe2.fromNullable = (value) => Task.resolve(Maybe.fromNullable(value));
|
|
2342
|
-
TaskMaybe2.fromResult = (result) => Task.resolve(Result.toMaybe(result));
|
|
2343
|
-
TaskMaybe2.fromTask = (task) => Task.map(Maybe.some)(task);
|
|
2344
|
-
TaskMaybe2.tryCatch = (f) => Task.from((signal) => f(signal).then(Maybe.some).catch(() => Maybe.none()));
|
|
2345
|
-
TaskMaybe2.map = (f) => (data) => Task.map(Maybe.map(f))(data);
|
|
2346
|
-
TaskMaybe2.chain = (f) => (data) => Task.chain((option) => Maybe.isSome(option) ? f(option.value) : Task.resolve(Maybe.none()))(data);
|
|
2347
|
-
TaskMaybe2.ap = (arg) => (data) => Task.from(
|
|
2348
|
-
(signal) => Promise.all([Deferred.toPromise(data(signal)), Deferred.toPromise(arg(signal))]).then(
|
|
2349
|
-
([of_, oa]) => Maybe.ap(oa)(of_)
|
|
2350
|
-
)
|
|
2351
|
-
);
|
|
2352
|
-
TaskMaybe2.fold = (onNone, onSome) => (data) => Task.map(Maybe.fold(onNone, onSome))(data);
|
|
2353
|
-
TaskMaybe2.match = (cases) => (data) => Task.map(Maybe.match(cases))(data);
|
|
2354
|
-
TaskMaybe2.getOrElse = (defaultValue) => (data) => Task.map(Maybe.getOrElse(defaultValue))(data);
|
|
2355
|
-
TaskMaybe2.tap = (f) => (data) => Task.map(Maybe.tap(f))(data);
|
|
2356
|
-
TaskMaybe2.filter = (predicate) => (data) => Task.map(Maybe.filter(predicate))(data);
|
|
2357
|
-
TaskMaybe2.toTaskResult = (onNone) => (data) => Task.map(Maybe.toResult(onNone))(data);
|
|
2358
|
-
TaskMaybe2.bindTo = (key) => (data) => (0, TaskMaybe2.map)((a) => ({ [key]: a }))(data);
|
|
2359
|
-
TaskMaybe2.bind = (key, f) => (data) => (0, TaskMaybe2.chain)(
|
|
2360
|
-
(a) => (0, TaskMaybe2.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
2361
|
-
)(data);
|
|
2362
|
-
})(TaskMaybe || (TaskMaybe = {}));
|
|
2363
|
-
|
|
2364
|
-
// src/Core/TaskResult.ts
|
|
2365
|
-
var TaskResult3;
|
|
2366
|
-
((TaskResult4) => {
|
|
2367
|
-
TaskResult4.ok = (value) => Task.resolve(Result.ok(value));
|
|
2368
|
-
TaskResult4.err = (error) => Task.resolve(Result.err(error));
|
|
2369
|
-
TaskResult4.fromNullable = (onNull) => (value) => Task.resolve(value === null || value === void 0 ? Result.err(onNull()) : Result.ok(value));
|
|
2370
|
-
TaskResult4.fromMaybe = (onNone) => (maybe) => Task.resolve(Maybe.isNone(maybe) ? Result.err(onNone()) : Result.ok(maybe.value));
|
|
2371
|
-
TaskResult4.fromResult = (result) => Task.resolve(result);
|
|
2372
|
-
TaskResult4.fromThrowable = (f, onError) => (...args) => Task.from(() => f(...args).then(Result.ok).catch((error) => Result.err(onError(error))));
|
|
2373
|
-
TaskResult4.tryCatch = (f, onError) => Task.from((signal) => f(signal).then(Result.ok).catch((error) => Result.err(onError(error))));
|
|
2374
|
-
TaskResult4.map = (f) => (data) => Task.map(Result.map(f))(data);
|
|
2375
|
-
TaskResult4.mapError = (f) => (data) => Task.map(Result.mapError(f))(data);
|
|
2376
|
-
TaskResult4.chain = (f) => (data) => Task.chain((result) => Result.isOk(result) ? f(result.value) : Task.resolve(Result.err(result.error)))(
|
|
2377
|
-
data
|
|
2378
|
-
);
|
|
2379
|
-
TaskResult4.fold = (onErr, onOk) => (data) => Task.map(Result.fold(onErr, onOk))(data);
|
|
2380
|
-
TaskResult4.match = (cases) => (data) => Task.map(Result.match(cases))(data);
|
|
2381
|
-
TaskResult4.recover = (fallback) => (data) => Task.chain(
|
|
2382
|
-
(result) => Result.isErr(result) ? fallback(result.error) : Task.resolve(result)
|
|
2383
|
-
)(data);
|
|
2384
|
-
TaskResult4.getOrElse = (defaultValue) => (data) => Task.map(Result.getOrElse(defaultValue))(data);
|
|
2385
|
-
TaskResult4.tap = (f) => (data) => Task.map(Result.tap(f))(data);
|
|
2386
|
-
TaskResult4.tapError = (f) => (data) => Task.map(Result.tapError(f))(data);
|
|
2387
|
-
TaskResult4.ap = (arg) => (data) => Task.from(
|
|
2388
|
-
(signal) => Promise.all([Deferred.toPromise(data(signal)), Deferred.toPromise(arg(signal))]).then(
|
|
2389
|
-
([of_, oa]) => Result.ap(oa)(of_)
|
|
2390
|
-
)
|
|
2391
|
-
);
|
|
2392
|
-
TaskResult4.run = (signal) => (task) => task(signal);
|
|
2393
|
-
TaskResult4.bindTo = (key) => (data) => (0, TaskResult4.map)((a) => ({ [key]: a }))(data);
|
|
2394
|
-
TaskResult4.bind = (key, f) => (data) => (0, TaskResult4.chain)(
|
|
2395
|
-
(a) => (0, TaskResult4.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
2396
|
-
)(data);
|
|
2397
|
-
TaskResult4.struct = (fields) => Task.from((signal) => {
|
|
2398
|
-
const keys = Object.keys(fields);
|
|
2399
|
-
const promises = keys.map((key) => Deferred.toPromise(fields[key](signal)));
|
|
2400
|
-
return Promise.all(promises).then((results) => {
|
|
2401
|
-
const record = {};
|
|
2402
|
-
for (let i = 0; i < keys.length; i++) {
|
|
2403
|
-
const res = results[i];
|
|
2404
|
-
if (Result.isErr(res)) {
|
|
2405
|
-
return res;
|
|
2406
|
-
}
|
|
2407
|
-
record[keys[i]] = res.value;
|
|
2408
|
-
}
|
|
2409
|
-
return Result.ok(record);
|
|
2410
|
-
});
|
|
2411
|
-
});
|
|
2412
|
-
})(TaskResult3 || (TaskResult3 = {}));
|
|
2413
|
-
|
|
2414
|
-
// src/Core/TaskValidation.ts
|
|
2415
|
-
var TaskValidation;
|
|
2416
|
-
((TaskValidation2) => {
|
|
2417
|
-
TaskValidation2.passed = (value) => Task.resolve(Validation.passed(value));
|
|
2418
|
-
TaskValidation2.failed = (error) => Task.resolve(Validation.failed(error));
|
|
2419
|
-
TaskValidation2.failedAll = (errors) => Task.resolve(Validation.failedAll(errors));
|
|
2420
|
-
TaskValidation2.fromValidation = (validation) => Task.resolve(validation);
|
|
2421
|
-
TaskValidation2.fromNullable = (onNull) => (value) => Task.resolve(value === null || value === void 0 ? Validation.failed(onNull()) : Validation.passed(value));
|
|
2422
|
-
TaskValidation2.fromMaybe = (onNone) => (maybe) => Task.resolve(Maybe.isNone(maybe) ? Validation.failed(onNone()) : Validation.passed(maybe.value));
|
|
2423
|
-
TaskValidation2.fromResult = (result) => Task.resolve(Validation.fromResult(result));
|
|
2424
|
-
TaskValidation2.tryCatch = (f, onError) => Task.from((signal) => f(signal).then(Validation.passed).catch((error) => Validation.failed(onError(error))));
|
|
2425
|
-
TaskValidation2.map = (f) => (data) => Task.map(Validation.map(f))(data);
|
|
2426
|
-
TaskValidation2.ap = (arg) => (data) => Task.from(
|
|
2427
|
-
(signal) => Promise.all([Deferred.toPromise(data(signal)), Deferred.toPromise(arg(signal))]).then(
|
|
2428
|
-
([vf, va]) => Validation.ap(va)(vf)
|
|
2429
|
-
)
|
|
2430
|
-
);
|
|
2431
|
-
TaskValidation2.fold = (onFailed, onPassed) => (data) => Task.map(Validation.fold(onFailed, onPassed))(data);
|
|
2432
|
-
TaskValidation2.match = (cases) => (data) => Task.map(Validation.match(cases))(data);
|
|
2433
|
-
TaskValidation2.getOrElse = (defaultValue) => (data) => Task.map(Validation.getOrElse(defaultValue))(data);
|
|
2434
|
-
TaskValidation2.tap = (f) => (data) => Task.map(Validation.tap(f))(data);
|
|
2435
|
-
TaskValidation2.recover = (fallback) => (data) => Task.chain(
|
|
2436
|
-
(validation) => Validation.isPassed(validation) ? Task.resolve(validation) : fallback(validation.errors)
|
|
2437
|
-
)(data);
|
|
2438
|
-
TaskValidation2.product = (first, second) => Task.from(
|
|
2439
|
-
(signal) => Promise.all([Deferred.toPromise(first(signal)), Deferred.toPromise(second(signal))]).then(
|
|
2440
|
-
([va, vb]) => Validation.product(va, vb)
|
|
2441
|
-
)
|
|
2442
|
-
);
|
|
2443
|
-
TaskValidation2.productAll = (data) => Task.from(
|
|
2444
|
-
(signal) => Promise.all(data.map((t) => Deferred.toPromise(t(signal)))).then(
|
|
2445
|
-
(results) => Validation.productAll(results)
|
|
2446
|
-
)
|
|
2447
|
-
);
|
|
2448
|
-
})(TaskValidation || (TaskValidation = {}));
|
|
2449
|
-
|
|
2450
2471
|
// src/Core/These.ts
|
|
2451
2472
|
var These;
|
|
2452
2473
|
((These2) => {
|
|
@@ -2569,11 +2590,10 @@ var Validation;
|
|
|
2569
2590
|
Validation2.map = (f) => (data) => (0, Validation2.isPassed)(data) ? (0, Validation2.passed)(f(data.value)) : data;
|
|
2570
2591
|
Validation2.mapError = (f) => (data) => (0, Validation2.isFailed)(data) ? (0, Validation2.failedAll)(data.errors.map(f)) : data;
|
|
2571
2592
|
Validation2.ap = (arg) => (data) => {
|
|
2572
|
-
if ((0, Validation2.isPassed)(data)
|
|
2573
|
-
return (0, Validation2.passed)(data.value(arg.value));
|
|
2593
|
+
if ((0, Validation2.isPassed)(data)) {
|
|
2594
|
+
return (0, Validation2.isPassed)(arg) ? (0, Validation2.passed)(data.value(arg.value)) : (0, Validation2.failedAll)(arg.errors);
|
|
2574
2595
|
}
|
|
2575
|
-
|
|
2576
|
-
return (0, Validation2.failedAll)(errors);
|
|
2596
|
+
return (0, Validation2.isPassed)(arg) ? (0, Validation2.failedAll)(data.errors) : (0, Validation2.failedAll)([...data.errors, ...arg.errors]);
|
|
2577
2597
|
};
|
|
2578
2598
|
Validation2.fold = (onFailed, onPassed) => (data) => (0, Validation2.isPassed)(data) ? onPassed(data.value) : onFailed(data.errors);
|
|
2579
2599
|
Validation2.match = (cases) => (data) => (0, Validation2.isPassed)(data) ? cases.passed(data.value) : cases.failed(data.errors);
|
|
@@ -2596,11 +2616,10 @@ var Validation;
|
|
|
2596
2616
|
Validation2.toMaybe = (data) => (0, Validation2.isPassed)(data) ? Maybe.some(data.value) : Maybe.none();
|
|
2597
2617
|
Validation2.fromResult = (data) => data.kind === "Ok" ? (0, Validation2.passed)(data.value) : (0, Validation2.failed)(data.error);
|
|
2598
2618
|
Validation2.product = (first, second) => {
|
|
2599
|
-
if ((0, Validation2.isPassed)(first)
|
|
2600
|
-
return (0, Validation2.passed)([first.value, second.value]);
|
|
2619
|
+
if ((0, Validation2.isPassed)(first)) {
|
|
2620
|
+
return (0, Validation2.isPassed)(second) ? (0, Validation2.passed)([first.value, second.value]) : (0, Validation2.failedAll)(second.errors);
|
|
2601
2621
|
}
|
|
2602
|
-
|
|
2603
|
-
return (0, Validation2.failedAll)(errors);
|
|
2622
|
+
return (0, Validation2.isPassed)(second) ? (0, Validation2.failedAll)(first.errors) : (0, Validation2.failedAll)([...first.errors, ...second.errors]);
|
|
2604
2623
|
};
|
|
2605
2624
|
Validation2.productAll = (data) => {
|
|
2606
2625
|
const values = [];
|
|
@@ -2612,7 +2631,7 @@ var Validation;
|
|
|
2612
2631
|
errors.push(...v.errors);
|
|
2613
2632
|
}
|
|
2614
2633
|
}
|
|
2615
|
-
return errors
|
|
2634
|
+
return isNonEmptyArr(errors) ? (0, Validation2.failedAll)(errors) : (0, Validation2.passed)(values);
|
|
2616
2635
|
};
|
|
2617
2636
|
Validation2.struct = (fields) => {
|
|
2618
2637
|
const record = {};
|
|
@@ -2627,11 +2646,73 @@ var Validation;
|
|
|
2627
2646
|
}
|
|
2628
2647
|
}
|
|
2629
2648
|
}
|
|
2630
|
-
return errors
|
|
2649
|
+
return isNonEmptyArr(errors) ? (0, Validation2.failedAll)(errors) : (0, Validation2.passed)(record);
|
|
2631
2650
|
};
|
|
2632
2651
|
})(Validation || (Validation = {}));
|
|
2633
2652
|
|
|
2634
2653
|
// src/Data/Arr.ts
|
|
2654
|
+
var ArrMaybe;
|
|
2655
|
+
((ArrMaybe2) => {
|
|
2656
|
+
ArrMaybe2.traverse = (f) => (data) => {
|
|
2657
|
+
const n = data.length;
|
|
2658
|
+
const result = new Array(n);
|
|
2659
|
+
for (let i = 0; i < n; i++) {
|
|
2660
|
+
const mapped = f(data[i]);
|
|
2661
|
+
if (mapped.kind === "None") {
|
|
2662
|
+
return Maybe.none();
|
|
2663
|
+
}
|
|
2664
|
+
result[i] = mapped.value;
|
|
2665
|
+
}
|
|
2666
|
+
return Maybe.some(result);
|
|
2667
|
+
};
|
|
2668
|
+
ArrMaybe2.sequence = (data) => (0, ArrMaybe2.traverse)((a) => a)(data);
|
|
2669
|
+
})(ArrMaybe || (ArrMaybe = {}));
|
|
2670
|
+
var ArrResult;
|
|
2671
|
+
((ArrResult2) => {
|
|
2672
|
+
ArrResult2.traverse = (f) => (data) => {
|
|
2673
|
+
const n = data.length;
|
|
2674
|
+
const result = new Array(n);
|
|
2675
|
+
for (let i = 0; i < n; i++) {
|
|
2676
|
+
const mapped = f(data[i]);
|
|
2677
|
+
if (mapped.kind === "Err") {
|
|
2678
|
+
return mapped;
|
|
2679
|
+
}
|
|
2680
|
+
result[i] = mapped.value;
|
|
2681
|
+
}
|
|
2682
|
+
return Result.ok(result);
|
|
2683
|
+
};
|
|
2684
|
+
ArrResult2.sequence = (data) => (0, ArrResult2.traverse)((a) => a)(data);
|
|
2685
|
+
})(ArrResult || (ArrResult = {}));
|
|
2686
|
+
var ArrTaskResult;
|
|
2687
|
+
((ArrTaskResult2) => {
|
|
2688
|
+
ArrTaskResult2.traverse = (f) => (data) => Task.from(async () => {
|
|
2689
|
+
const result = [];
|
|
2690
|
+
for (const a of data) {
|
|
2691
|
+
const r = await Deferred.toPromise(f(a)());
|
|
2692
|
+
if (Result.isErr(r)) {
|
|
2693
|
+
return r;
|
|
2694
|
+
}
|
|
2695
|
+
result.push(r.value);
|
|
2696
|
+
}
|
|
2697
|
+
return Result.ok(result);
|
|
2698
|
+
});
|
|
2699
|
+
ArrTaskResult2.sequence = (data) => (0, ArrTaskResult2.traverse)((a) => a)(data);
|
|
2700
|
+
})(ArrTaskResult || (ArrTaskResult = {}));
|
|
2701
|
+
var ArrTask;
|
|
2702
|
+
((ArrTask2) => {
|
|
2703
|
+
ArrTask2.traverse = (f) => (data) => Task.from(() => Promise.all(data.map((a) => Deferred.toPromise(f(a)()))));
|
|
2704
|
+
ArrTask2.sequence = (data) => (0, ArrTask2.traverse)((a) => a)(data);
|
|
2705
|
+
ArrTask2.Result = ArrTaskResult;
|
|
2706
|
+
})(ArrTask || (ArrTask = {}));
|
|
2707
|
+
var ArrNonEmpty;
|
|
2708
|
+
((ArrNonEmpty2) => {
|
|
2709
|
+
ArrNonEmpty2.singleton = (value) => [value];
|
|
2710
|
+
ArrNonEmpty2.fromArray = (data) => isNonEmptyArr(data) ? Maybe.some(data) : Maybe.none();
|
|
2711
|
+
ArrNonEmpty2.head = (data) => data[0];
|
|
2712
|
+
ArrNonEmpty2.last = (data) => data[data.length - 1];
|
|
2713
|
+
ArrNonEmpty2.tail = (data) => data.slice(1);
|
|
2714
|
+
ArrNonEmpty2.reduce = (f) => (data) => data.reduce(f);
|
|
2715
|
+
})(ArrNonEmpty || (ArrNonEmpty = {}));
|
|
2635
2716
|
var Arr;
|
|
2636
2717
|
((Arr2) => {
|
|
2637
2718
|
Arr2.head = (data) => data.length > 0 ? Maybe.some(data[0]) : Maybe.none();
|
|
@@ -2805,6 +2886,7 @@ var Arr;
|
|
|
2805
2886
|
}
|
|
2806
2887
|
return result;
|
|
2807
2888
|
};
|
|
2889
|
+
Arr2.concat = (other) => (data) => [...data, ...other];
|
|
2808
2890
|
Arr2.chunksOf = (n) => (data) => {
|
|
2809
2891
|
if (n <= 0) {
|
|
2810
2892
|
return [];
|
|
@@ -2845,47 +2927,12 @@ var Arr;
|
|
|
2845
2927
|
return result;
|
|
2846
2928
|
};
|
|
2847
2929
|
Arr2.reduce = (initial, f) => (data) => data.reduce(f, initial);
|
|
2848
|
-
Arr2.
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
return Maybe.none();
|
|
2855
|
-
}
|
|
2856
|
-
result[i] = mapped.value;
|
|
2857
|
-
}
|
|
2858
|
-
return Maybe.some(result);
|
|
2859
|
-
};
|
|
2860
|
-
Arr2.traverseResult = (f) => (data) => {
|
|
2861
|
-
const n = data.length;
|
|
2862
|
-
const result = new Array(n);
|
|
2863
|
-
for (let i = 0; i < n; i++) {
|
|
2864
|
-
const mapped = f(data[i]);
|
|
2865
|
-
if (mapped.kind === "Err") {
|
|
2866
|
-
return mapped;
|
|
2867
|
-
}
|
|
2868
|
-
result[i] = mapped.value;
|
|
2869
|
-
}
|
|
2870
|
-
return Result.ok(result);
|
|
2871
|
-
};
|
|
2872
|
-
Arr2.traverseTask = (f) => (data) => Task.from(() => Promise.all(data.map((a) => Deferred.toPromise(f(a)()))));
|
|
2873
|
-
Arr2.sequence = (data) => (0, Arr2.traverse)((a) => a)(data);
|
|
2874
|
-
Arr2.sequenceResult = (data) => (0, Arr2.traverseResult)((a) => a)(data);
|
|
2875
|
-
Arr2.sequenceTask = (data) => (0, Arr2.traverseTask)((a) => a)(data);
|
|
2876
|
-
Arr2.traverseTaskResult = (f) => (data) => Task.from(async () => {
|
|
2877
|
-
const result = [];
|
|
2878
|
-
for (const a of data) {
|
|
2879
|
-
const r = await Deferred.toPromise(f(a)());
|
|
2880
|
-
if (Result.isErr(r)) {
|
|
2881
|
-
return r;
|
|
2882
|
-
}
|
|
2883
|
-
result.push(r.value);
|
|
2884
|
-
}
|
|
2885
|
-
return Result.ok(result);
|
|
2886
|
-
});
|
|
2887
|
-
Arr2.sequenceTaskResult = (data) => (0, Arr2.traverseTaskResult)((a) => a)(data);
|
|
2888
|
-
Arr2.isNonEmpty = (data) => isNonEmptyList(data);
|
|
2930
|
+
Arr2.Maybe = ArrMaybe;
|
|
2931
|
+
Arr2.Result = ArrResult;
|
|
2932
|
+
Arr2.Task = ArrTask;
|
|
2933
|
+
Arr2.isNonEmpty = (data) => isNonEmptyArr(data);
|
|
2934
|
+
Arr2.prepend = (value) => (data) => [value, ...data];
|
|
2935
|
+
Arr2.append = (value) => (data) => [...data, value];
|
|
2889
2936
|
Arr2.size = (data) => data.length;
|
|
2890
2937
|
Arr2.some = (predicate) => (data) => {
|
|
2891
2938
|
const n = data.length;
|
|
@@ -2961,6 +3008,7 @@ var Arr;
|
|
|
2961
3008
|
const i = Math.max(0, index);
|
|
2962
3009
|
return [data.slice(0, i), data.slice(i)];
|
|
2963
3010
|
};
|
|
3011
|
+
Arr2.NonEmpty = ArrNonEmpty;
|
|
2964
3012
|
})(Arr || (Arr = {}));
|
|
2965
3013
|
|
|
2966
3014
|
// src/Data/Dict.ts
|
|
@@ -3170,25 +3218,78 @@ var Num;
|
|
|
3170
3218
|
})(Num || (Num = {}));
|
|
3171
3219
|
|
|
3172
3220
|
// src/Data/Rec.ts
|
|
3221
|
+
var _isNonEmpty = (data) => Object.keys(data).length > 0;
|
|
3222
|
+
var RecMaybe;
|
|
3223
|
+
((RecMaybe2) => {
|
|
3224
|
+
RecMaybe2.traverse = (f) => (data) => {
|
|
3225
|
+
const recordKeys = Object.keys(data);
|
|
3226
|
+
const result = {};
|
|
3227
|
+
for (let i = 0; i < recordKeys.length; i++) {
|
|
3228
|
+
const key = recordKeys[i];
|
|
3229
|
+
const maybeVal = f(data[key]);
|
|
3230
|
+
if (maybeVal.kind === "None") {
|
|
3231
|
+
return maybeVal;
|
|
3232
|
+
}
|
|
3233
|
+
Object.defineProperty(result, key, { value: maybeVal.value, writable: true, enumerable: true, configurable: true });
|
|
3234
|
+
}
|
|
3235
|
+
return { kind: "Some", value: result };
|
|
3236
|
+
};
|
|
3237
|
+
RecMaybe2.sequence = (data) => (0, RecMaybe2.traverse)((a) => a)(data);
|
|
3238
|
+
})(RecMaybe || (RecMaybe = {}));
|
|
3239
|
+
var RecResult;
|
|
3240
|
+
((RecResult2) => {
|
|
3241
|
+
RecResult2.traverse = (f) => (data) => {
|
|
3242
|
+
const recordKeys = Object.keys(data);
|
|
3243
|
+
const result = {};
|
|
3244
|
+
for (let i = 0; i < recordKeys.length; i++) {
|
|
3245
|
+
const key = recordKeys[i];
|
|
3246
|
+
const res = f(data[key]);
|
|
3247
|
+
if (res.kind === "Err") {
|
|
3248
|
+
return res;
|
|
3249
|
+
}
|
|
3250
|
+
Object.defineProperty(result, key, { value: res.value, writable: true, enumerable: true, configurable: true });
|
|
3251
|
+
}
|
|
3252
|
+
return { kind: "Ok", value: result };
|
|
3253
|
+
};
|
|
3254
|
+
RecResult2.sequence = (data) => (0, RecResult2.traverse)((a) => a)(data);
|
|
3255
|
+
})(RecResult || (RecResult = {}));
|
|
3256
|
+
var RecNonEmpty;
|
|
3257
|
+
((RecNonEmpty2) => {
|
|
3258
|
+
RecNonEmpty2.singleton = (key, value) => ({ [key]: value });
|
|
3259
|
+
RecNonEmpty2.fromRecord = (data) => _isNonEmpty(data) ? Maybe.some(data) : Maybe.none();
|
|
3260
|
+
RecNonEmpty2.keys = (data) => Object.keys(data);
|
|
3261
|
+
RecNonEmpty2.values = (data) => Object.values(data);
|
|
3262
|
+
RecNonEmpty2.entries = (data) => Object.entries(data);
|
|
3263
|
+
RecNonEmpty2.reduce = (f) => (data) => {
|
|
3264
|
+
const recordVals = Object.values(data);
|
|
3265
|
+
return recordVals.reduce(f);
|
|
3266
|
+
};
|
|
3267
|
+
})(RecNonEmpty || (RecNonEmpty = {}));
|
|
3173
3268
|
var Rec;
|
|
3174
3269
|
((Rec2) => {
|
|
3175
|
-
Rec2.
|
|
3176
|
-
|
|
3177
|
-
const
|
|
3270
|
+
Rec2.isNonEmpty = _isNonEmpty;
|
|
3271
|
+
Rec2.map = (f) => ((data) => {
|
|
3272
|
+
const recordKeys = Object.keys(data);
|
|
3273
|
+
const recordValues = Object.values(data);
|
|
3178
3274
|
const result = Object.create(Object.getPrototypeOf(data));
|
|
3179
|
-
for (let i = 0; i <
|
|
3180
|
-
Object.defineProperty(result,
|
|
3275
|
+
for (let i = 0; i < recordKeys.length; i++) {
|
|
3276
|
+
Object.defineProperty(result, recordKeys[i], {
|
|
3277
|
+
value: f(recordValues[i]),
|
|
3278
|
+
writable: true,
|
|
3279
|
+
enumerable: true,
|
|
3280
|
+
configurable: true
|
|
3281
|
+
});
|
|
3181
3282
|
}
|
|
3182
3283
|
return result;
|
|
3183
|
-
};
|
|
3284
|
+
});
|
|
3184
3285
|
Rec2.filterMap = (f) => (data) => {
|
|
3185
|
-
const
|
|
3186
|
-
const
|
|
3286
|
+
const recordKeys = Object.keys(data);
|
|
3287
|
+
const recordValues = Object.values(data);
|
|
3187
3288
|
const result = Object.create(Object.getPrototypeOf(data));
|
|
3188
|
-
for (let i = 0; i <
|
|
3189
|
-
const maybeVal = f(
|
|
3289
|
+
for (let i = 0; i < recordKeys.length; i++) {
|
|
3290
|
+
const maybeVal = f(recordValues[i]);
|
|
3190
3291
|
if (maybeVal.kind === "Some") {
|
|
3191
|
-
Object.defineProperty(result,
|
|
3292
|
+
Object.defineProperty(result, recordKeys[i], {
|
|
3192
3293
|
value: maybeVal.value,
|
|
3193
3294
|
writable: true,
|
|
3194
3295
|
enumerable: true,
|
|
@@ -3198,27 +3299,32 @@ var Rec;
|
|
|
3198
3299
|
}
|
|
3199
3300
|
return result;
|
|
3200
3301
|
};
|
|
3201
|
-
Rec2.mapWithKey = (f) => (data) => {
|
|
3202
|
-
const
|
|
3203
|
-
const
|
|
3302
|
+
Rec2.mapWithKey = (f) => ((data) => {
|
|
3303
|
+
const recordKeys = Object.keys(data);
|
|
3304
|
+
const recordValues = Object.values(data);
|
|
3204
3305
|
const result = Object.create(Object.getPrototypeOf(data));
|
|
3205
|
-
for (let i = 0; i <
|
|
3206
|
-
Object.defineProperty(result,
|
|
3207
|
-
value: f(
|
|
3306
|
+
for (let i = 0; i < recordKeys.length; i++) {
|
|
3307
|
+
Object.defineProperty(result, recordKeys[i], {
|
|
3308
|
+
value: f(recordKeys[i], recordValues[i]),
|
|
3208
3309
|
writable: true,
|
|
3209
3310
|
enumerable: true,
|
|
3210
3311
|
configurable: true
|
|
3211
3312
|
});
|
|
3212
3313
|
}
|
|
3213
3314
|
return result;
|
|
3214
|
-
};
|
|
3315
|
+
});
|
|
3215
3316
|
Rec2.filter = (predicate) => (data) => {
|
|
3216
|
-
const
|
|
3217
|
-
const
|
|
3317
|
+
const recordKeys = Object.keys(data);
|
|
3318
|
+
const recordValues = Object.values(data);
|
|
3218
3319
|
const result = Object.create(Object.getPrototypeOf(data));
|
|
3219
|
-
for (let i = 0; i <
|
|
3220
|
-
if (predicate(
|
|
3221
|
-
Object.defineProperty(result,
|
|
3320
|
+
for (let i = 0; i < recordKeys.length; i++) {
|
|
3321
|
+
if (predicate(recordValues[i])) {
|
|
3322
|
+
Object.defineProperty(result, recordKeys[i], {
|
|
3323
|
+
value: recordValues[i],
|
|
3324
|
+
writable: true,
|
|
3325
|
+
enumerable: true,
|
|
3326
|
+
configurable: true
|
|
3327
|
+
});
|
|
3222
3328
|
}
|
|
3223
3329
|
}
|
|
3224
3330
|
return result;
|
|
@@ -3295,6 +3401,9 @@ var Rec;
|
|
|
3295
3401
|
}
|
|
3296
3402
|
return result;
|
|
3297
3403
|
};
|
|
3404
|
+
Rec2.Maybe = RecMaybe;
|
|
3405
|
+
Rec2.Result = RecResult;
|
|
3406
|
+
Rec2.NonEmpty = RecNonEmpty;
|
|
3298
3407
|
})(Rec || (Rec = {}));
|
|
3299
3408
|
|
|
3300
3409
|
// src/Data/Str.ts
|
|
@@ -3483,9 +3592,6 @@ var Uniq;
|
|
|
3483
3592
|
State,
|
|
3484
3593
|
Str,
|
|
3485
3594
|
Task,
|
|
3486
|
-
TaskMaybe,
|
|
3487
|
-
TaskResult,
|
|
3488
|
-
TaskValidation,
|
|
3489
3595
|
These,
|
|
3490
3596
|
Tuple,
|
|
3491
3597
|
Uniq,
|
|
@@ -3506,7 +3612,6 @@ var Uniq;
|
|
|
3506
3612
|
flip,
|
|
3507
3613
|
flow,
|
|
3508
3614
|
identity,
|
|
3509
|
-
isNonEmptyList,
|
|
3510
3615
|
juxt,
|
|
3511
3616
|
memoize,
|
|
3512
3617
|
memoizeWeak,
|