@nlozgachev/pipekit 0.4.1 → 0.5.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.
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Reader = void 0;
4
+ var Reader;
5
+ (function (Reader) {
6
+ /**
7
+ * Lifts a pure value into a Reader. The environment is ignored.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const always42: Reader<Config, number> = Reader.resolve(42);
12
+ * always42(anyConfig); // 42
13
+ * ```
14
+ */
15
+ Reader.resolve = (value) => (_env) => value;
16
+ /**
17
+ * Returns the full environment as the result.
18
+ * The fundamental way to access the environment in a pipeline.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * pipe(
23
+ * Reader.ask<Config>(),
24
+ * Reader.map(config => config.baseUrl)
25
+ * )(appConfig); // "https://api.example.com"
26
+ * ```
27
+ */
28
+ Reader.ask = () => (env) => env;
29
+ /**
30
+ * Projects a value from the environment using a selector function.
31
+ * Equivalent to `pipe(Reader.ask(), Reader.map(f))` but more direct.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * const getBaseUrl: Reader<Config, string> = Reader.asks(c => c.baseUrl);
36
+ * getBaseUrl(appConfig); // "https://api.example.com"
37
+ * ```
38
+ */
39
+ Reader.asks = (f) => (env) => f(env);
40
+ /**
41
+ * Transforms the value produced by a Reader.
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * pipe(
46
+ * Reader.asks((c: Config) => c.baseUrl),
47
+ * Reader.map(url => url.toUpperCase())
48
+ * )(appConfig); // "HTTPS://API.EXAMPLE.COM"
49
+ * ```
50
+ */
51
+ Reader.map = (f) => (data) => (env) => f(data(env));
52
+ /**
53
+ * Sequences two Readers. Both see the same environment.
54
+ * The output of the first is passed to `f`, which returns the next Reader.
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * const buildUrl = (path: string): Reader<Config, string> =>
59
+ * Reader.asks(c => `${c.baseUrl}${path}`);
60
+ *
61
+ * const addAuth = (url: string): Reader<Config, string> =>
62
+ * Reader.asks(c => `${url}?key=${c.apiKey}`);
63
+ *
64
+ * pipe(
65
+ * buildUrl("/items"),
66
+ * Reader.chain(addAuth)
67
+ * )(appConfig); // "https://api.example.com/items?key=secret"
68
+ * ```
69
+ */
70
+ Reader.chain = (f) => (data) => (env) => f(data(env))(env);
71
+ /**
72
+ * Applies a function wrapped in a Reader to a value wrapped in a Reader.
73
+ * Both Readers see the same environment.
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * const add = (a: number) => (b: number) => a + b;
78
+ * pipe(
79
+ * Reader.resolve<Config, typeof add>(add),
80
+ * Reader.ap(Reader.asks(c => c.timeout)),
81
+ * Reader.ap(Reader.resolve(5))
82
+ * )(appConfig);
83
+ * ```
84
+ */
85
+ Reader.ap = (arg) => (data) => (env) => data(env)(arg(env));
86
+ /**
87
+ * Executes a side effect on the produced value without changing the Reader.
88
+ * Useful for logging or debugging inside a pipeline.
89
+ *
90
+ * @example
91
+ * ```ts
92
+ * pipe(
93
+ * buildUrl("/users"),
94
+ * Reader.tap(url => console.log("Requesting:", url)),
95
+ * Reader.chain(addAuth)
96
+ * )(appConfig);
97
+ * ```
98
+ */
99
+ Reader.tap = (f) => (data) => (env) => {
100
+ const a = data(env);
101
+ f(a);
102
+ return a;
103
+ };
104
+ /**
105
+ * Adapts a Reader to work with a different (typically wider) environment
106
+ * by transforming the environment before passing it to the Reader.
107
+ * This lets you compose Readers that expect different environments.
108
+ *
109
+ * @example
110
+ * ```ts
111
+ * type AppEnv = { db: DbPool; config: Config; logger: Logger };
112
+ *
113
+ * // buildUrl only needs Config
114
+ * const buildUrl: Reader<Config, string> = Reader.asks(c => c.baseUrl);
115
+ *
116
+ * // Zoom in from AppEnv to Config
117
+ * const buildUrlFromApp: Reader<AppEnv, string> =
118
+ * pipe(buildUrl, Reader.local((env: AppEnv) => env.config));
119
+ *
120
+ * buildUrlFromApp(appEnv); // works with the full AppEnv
121
+ * ```
122
+ */
123
+ Reader.local = (f) => (data) => (env) => data(f(env));
124
+ /**
125
+ * Runs a Reader by supplying the environment. Use this at the edge of your
126
+ * program where the environment is available.
127
+ *
128
+ * @example
129
+ * ```ts
130
+ * pipe(
131
+ * buildEndpoint("/users"),
132
+ * Reader.run(appConfig)
133
+ * ); // "https://api.example.com/users?key=secret"
134
+ * ```
135
+ */
136
+ Reader.run = (env) => (data) => data(env);
137
+ })(Reader || (exports.Reader = Reader = {}));
@@ -1,7 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Task = void 0;
4
+ const Deferred_js_1 = require("./Deferred.js");
4
5
  const Result_js_1 = require("./Result.js");
6
+ // Internal helper — not exported. Runs a Task and converts the result to a Promise
7
+ // so that combinators can use Promise chaining (.then, Promise.all, Promise.race, etc.)
8
+ // internally without leaking that primitive through the public API.
9
+ const toPromise = (task) => Deferred_js_1.Deferred.toPromise(task());
5
10
  var Task;
6
11
  (function (Task) {
7
12
  /**
@@ -10,20 +15,19 @@ var Task;
10
15
  * @example
11
16
  * ```ts
12
17
  * const task = Task.resolve(42);
13
- * task().then(console.log); // 42
18
+ * const value = await task(); // 42
14
19
  * ```
15
20
  */
16
- Task.resolve = (value) => () => Promise.resolve(value);
21
+ Task.resolve = (value) => () => Deferred_js_1.Deferred.fromPromise(Promise.resolve(value));
17
22
  /**
18
23
  * Creates a Task from a function that returns a Promise.
19
- * Alias for directly creating a Task.
20
24
  *
21
25
  * @example
22
26
  * ```ts
23
27
  * const getTimestamp = Task.from(() => Promise.resolve(Date.now()));
24
28
  * ```
25
29
  */
26
- Task.from = (f) => f;
30
+ Task.from = (f) => () => Deferred_js_1.Deferred.fromPromise(f());
27
31
  /**
28
32
  * Transforms the value inside a Task.
29
33
  *
@@ -32,25 +36,26 @@ var Task;
32
36
  * pipe(
33
37
  * Task.resolve(5),
34
38
  * Task.map(n => n * 2)
35
- * )(); // Promise<10>
39
+ * )(); // Deferred<10>
36
40
  * ```
37
41
  */
38
- Task.map = (f) => (data) => () => data().then(f);
42
+ Task.map = (f) => (data) => Task.from(() => toPromise(data).then(f));
39
43
  /**
40
44
  * Chains Task computations. Passes the resolved value of the first Task to f.
41
45
  *
42
46
  * @example
43
47
  * ```ts
44
- * const readUserId: Task<string> = () => Promise.resolve(session.userId);
45
- * const loadPrefs = (id: string): Task<Preferences> => () => Promise.resolve(prefsCache.get(id));
48
+ * const readUserId: Task<string> = Task.resolve(session.userId);
49
+ * const loadPrefs = (id: string): Task<Preferences> =>
50
+ * Task.resolve(prefsCache.get(id));
46
51
  *
47
52
  * pipe(
48
53
  * readUserId,
49
54
  * Task.chain(loadPrefs)
50
- * )(); // Promise<Preferences>
55
+ * )(); // Deferred<Preferences>
51
56
  * ```
52
57
  */
53
- Task.chain = (f) => (data) => () => data().then((a) => f(a)());
58
+ Task.chain = (f) => (data) => Task.from(() => toPromise(data).then((a) => toPromise(f(a))));
54
59
  /**
55
60
  * Applies a function wrapped in a Task to a value wrapped in a Task.
56
61
  * Both Tasks run in parallel.
@@ -62,10 +67,13 @@ var Task;
62
67
  * Task.resolve(add),
63
68
  * Task.ap(Task.resolve(5)),
64
69
  * Task.ap(Task.resolve(3))
65
- * )(); // Promise<8>
70
+ * )(); // Deferred<8>
66
71
  * ```
67
72
  */
68
- Task.ap = (arg) => (data) => () => Promise.all([data(), arg()]).then(([f, a]) => f(a));
73
+ Task.ap = (arg) => (data) => Task.from(() => Promise.all([
74
+ toPromise(data),
75
+ toPromise(arg),
76
+ ]).then(([f, a]) => f(a)));
69
77
  /**
70
78
  * Executes a side effect on the value without changing the Task.
71
79
  * Useful for logging or debugging.
@@ -79,20 +87,20 @@ var Task;
79
87
  * );
80
88
  * ```
81
89
  */
82
- Task.tap = (f) => (data) => () => data().then((a) => {
90
+ Task.tap = (f) => (data) => Task.from(() => toPromise(data).then((a) => {
83
91
  f(a);
84
92
  return a;
85
- });
93
+ }));
86
94
  /**
87
95
  * Runs multiple Tasks in parallel and collects their results.
88
96
  *
89
97
  * @example
90
98
  * ```ts
91
99
  * Task.all([loadConfig, detectLocale, loadTheme])();
92
- * // Promise<[Config, string, Theme]>
100
+ * // Deferred<[Config, string, Theme]>
93
101
  * ```
94
102
  */
95
- Task.all = (tasks) => () => Promise.all(tasks.map((t) => t()));
103
+ Task.all = (tasks) => Task.from(() => Promise.all(tasks.map((t) => toPromise(t))));
96
104
  /**
97
105
  * Delays the execution of a Task by the specified milliseconds.
98
106
  * Useful for debouncing or rate limiting.
@@ -105,7 +113,7 @@ var Task;
105
113
  * )(); // Resolves after 1 second
106
114
  * ```
107
115
  */
108
- Task.delay = (ms) => (data) => () => new Promise((resolve, reject) => setTimeout(() => data().then(resolve, reject), ms));
116
+ Task.delay = (ms) => (data) => Task.from(() => new Promise((resolve) => setTimeout(() => toPromise(data).then(resolve), ms)));
109
117
  /**
110
118
  * Runs a Task a fixed number of times sequentially, collecting all results into an array.
111
119
  * An optional delay (ms) can be inserted between runs.
@@ -118,20 +126,20 @@ var Task;
118
126
  * )(); // Task<Reading[]> — 5 readings, one per second
119
127
  * ```
120
128
  */
121
- Task.repeat = (options) => (task) => () => {
129
+ Task.repeat = (options) => (task) => Task.from(() => {
122
130
  const { times, delay: ms } = options;
123
131
  if (times <= 0)
124
132
  return Promise.resolve([]);
125
133
  const results = [];
126
134
  const wait = () => ms !== undefined && ms > 0 ? new Promise((r) => setTimeout(r, ms)) : Promise.resolve();
127
- const run = (left) => task().then((a) => {
135
+ const run = (left) => toPromise(task).then((a) => {
128
136
  results.push(a);
129
137
  if (left <= 1)
130
138
  return results;
131
139
  return wait().then(() => run(left - 1));
132
140
  });
133
141
  return run(times);
134
- };
142
+ });
135
143
  /**
136
144
  * Runs a Task repeatedly until the result satisfies a predicate, returning that result.
137
145
  * An optional delay (ms) can be inserted between runs.
@@ -144,16 +152,16 @@ var Task;
144
152
  * )(); // polls every 500ms until status is "ready"
145
153
  * ```
146
154
  */
147
- Task.repeatUntil = (options) => (task) => () => {
155
+ Task.repeatUntil = (options) => (task) => Task.from(() => {
148
156
  const { when: predicate, delay: ms } = options;
149
157
  const wait = () => ms !== undefined && ms > 0 ? new Promise((r) => setTimeout(r, ms)) : Promise.resolve();
150
- const run = () => task().then((a) => {
158
+ const run = () => toPromise(task).then((a) => {
151
159
  if (predicate(a))
152
160
  return a;
153
161
  return wait().then(run);
154
162
  });
155
163
  return run();
156
- };
164
+ });
157
165
  /**
158
166
  * Converts a `Task<A>` into a `Task<Result<E, A>>`, resolving to `Err` if the
159
167
  * Task does not complete within the given time.
@@ -167,10 +175,10 @@ var Task;
167
175
  * );
168
176
  * ```
169
177
  */
170
- Task.timeout = (ms, onTimeout) => (task) => () => {
178
+ Task.timeout = (ms, onTimeout) => (task) => Task.from(() => {
171
179
  let timerId;
172
180
  return Promise.race([
173
- task().then((a) => {
181
+ toPromise(task).then((a) => {
174
182
  clearTimeout(timerId);
175
183
  return Result_js_1.Result.ok(a);
176
184
  }),
@@ -178,5 +186,5 @@ var Task;
178
186
  timerId = setTimeout(() => resolve(Result_js_1.Result.err(onTimeout())), ms);
179
187
  }),
180
188
  ]);
181
- };
189
+ });
182
190
  })(Task || (exports.Task = Task = {}));
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaskOption = void 0;
4
+ const Deferred_js_1 = require("./Deferred.js");
4
5
  const Option_js_1 = require("./Option.js");
5
6
  const Task_js_1 = require("./Task.js");
6
7
  var TaskOption;
@@ -32,9 +33,9 @@ var TaskOption;
32
33
  * );
33
34
  * ```
34
35
  */
35
- TaskOption.tryCatch = (f) => () => f()
36
+ TaskOption.tryCatch = (f) => Task_js_1.Task.from(() => f()
36
37
  .then(Option_js_1.Option.some)
37
- .catch(() => Option_js_1.Option.none());
38
+ .catch(() => Option_js_1.Option.none()));
38
39
  /**
39
40
  * Transforms the value inside a TaskOption.
40
41
  */
@@ -56,7 +57,10 @@ var TaskOption;
56
57
  * Applies a function wrapped in a TaskOption to a value wrapped in a TaskOption.
57
58
  * Both Tasks run in parallel.
58
59
  */
59
- TaskOption.ap = (arg) => (data) => () => Promise.all([data(), arg()]).then(([of_, oa]) => Option_js_1.Option.ap(oa)(of_));
60
+ TaskOption.ap = (arg) => (data) => Task_js_1.Task.from(() => Promise.all([
61
+ Deferred_js_1.Deferred.toPromise(data()),
62
+ Deferred_js_1.Deferred.toPromise(arg()),
63
+ ]).then(([of_, oa]) => Option_js_1.Option.ap(oa)(of_)));
60
64
  /**
61
65
  * Extracts a value from a TaskOption by providing handlers for both cases.
62
66
  */
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaskResult = void 0;
4
+ const Deferred_js_1 = require("./Deferred.js");
4
5
  const Result_js_1 = require("./Result.js");
5
6
  const Task_js_1 = require("./Task.js");
6
7
  var TaskResult;
@@ -26,9 +27,9 @@ var TaskResult;
26
27
  * );
27
28
  * ```
28
29
  */
29
- TaskResult.tryCatch = (f, onError) => () => f()
30
+ TaskResult.tryCatch = (f, onError) => Task_js_1.Task.from(() => f()
30
31
  .then(Result_js_1.Result.ok)
31
- .catch((e) => Result_js_1.Result.err(onError(e)));
32
+ .catch((e) => Result_js_1.Result.err(onError(e))));
32
33
  /**
33
34
  * Transforms the success value inside a TaskResult.
34
35
  */
@@ -85,10 +86,10 @@ var TaskResult;
85
86
  * );
86
87
  * ```
87
88
  */
88
- TaskResult.retry = (options) => (data) => () => {
89
+ TaskResult.retry = (options) => (data) => Task_js_1.Task.from(() => {
89
90
  const { attempts, backoff, when: shouldRetry } = options;
90
91
  const getDelay = (n) => backoff === undefined ? 0 : typeof backoff === "function" ? backoff(n) : backoff;
91
- const run = (left) => data().then((result) => {
92
+ const run = (left) => Deferred_js_1.Deferred.toPromise(data()).then((result) => {
92
93
  if (Result_js_1.Result.isOk(result))
93
94
  return result;
94
95
  if (left <= 1)
@@ -100,7 +101,7 @@ var TaskResult;
100
101
  return (ms > 0 ? new Promise((r) => setTimeout(r, ms)) : Promise.resolve()).then(() => run(left - 1));
101
102
  });
102
103
  return run(attempts);
103
- };
104
+ });
104
105
  /**
105
106
  * Fails a TaskResult with a typed error if it does not resolve within the given time.
106
107
  *
@@ -112,10 +113,10 @@ var TaskResult;
112
113
  * );
113
114
  * ```
114
115
  */
115
- TaskResult.timeout = (ms, onTimeout) => (data) => () => {
116
+ TaskResult.timeout = (ms, onTimeout) => (data) => Task_js_1.Task.from(() => {
116
117
  let timerId;
117
118
  return Promise.race([
118
- data().then((result) => {
119
+ Deferred_js_1.Deferred.toPromise(data()).then((result) => {
119
120
  clearTimeout(timerId);
120
121
  return result;
121
122
  }),
@@ -123,5 +124,5 @@ var TaskResult;
123
124
  timerId = setTimeout(() => resolve(Result_js_1.Result.err(onTimeout())), ms);
124
125
  }),
125
126
  ]);
126
- };
127
+ });
127
128
  })(TaskResult || (exports.TaskResult = TaskResult = {}));
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaskValidation = void 0;
4
+ const Deferred_js_1 = require("./Deferred.js");
4
5
  const Task_js_1 = require("./Task.js");
5
6
  const Validation_js_1 = require("./Validation.js");
6
7
  var TaskValidation;
@@ -34,9 +35,9 @@ var TaskValidation;
34
35
  * );
35
36
  * ```
36
37
  */
37
- TaskValidation.tryCatch = (f, onError) => () => f()
38
+ TaskValidation.tryCatch = (f, onError) => Task_js_1.Task.from(() => f()
38
39
  .then((Validation_js_1.Validation.valid))
39
- .catch((e) => Validation_js_1.Validation.invalid(onError(e)));
40
+ .catch((e) => Validation_js_1.Validation.invalid(onError(e))));
40
41
  /**
41
42
  * Transforms the success value inside a TaskValidation.
42
43
  */
@@ -64,7 +65,10 @@ var TaskValidation;
64
65
  * )();
65
66
  * ```
66
67
  */
67
- TaskValidation.ap = (arg) => (data) => () => Promise.all([data(), arg()]).then(([vf, va]) => Validation_js_1.Validation.ap(va)(vf));
68
+ TaskValidation.ap = (arg) => (data) => Task_js_1.Task.from(() => Promise.all([
69
+ Deferred_js_1.Deferred.toPromise(data()),
70
+ Deferred_js_1.Deferred.toPromise(arg()),
71
+ ]).then(([vf, va]) => Validation_js_1.Validation.ap(va)(vf)));
68
72
  /**
69
73
  * Extracts a value from a TaskValidation by providing handlers for both cases.
70
74
  */
@@ -15,8 +15,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./Arr.js"), exports);
18
+ __exportStar(require("./Deferred.js"), exports);
18
19
  __exportStar(require("./Lens.js"), exports);
19
20
  __exportStar(require("./Option.js"), exports);
21
+ __exportStar(require("./Reader.js"), exports);
20
22
  __exportStar(require("./Optional.js"), exports);
21
23
  __exportStar(require("./Rec.js"), exports);
22
24
  __exportStar(require("./RemoteData.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"Arr.d.ts","sourceRoot":"","sources":["../../../src/src/Core/Arr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Arr.d.ts","sourceRoot":"","sources":["../../../src/src/Core/Arr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * A one-shot async value that supports `await` but nothing else.
3
+ *
4
+ * Unlike `Promise`, `Deferred` has no `.catch()` or `.finally()`, and its
5
+ * `.then()` returns `void` — so it cannot be chained. This makes it the
6
+ * natural return type for `Task`, which is guaranteed to never reject.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const value = await Deferred.fromPromise(Promise.resolve(42));
11
+ * // value === 42
12
+ * ```
13
+ */
14
+ export type Deferred<A> = {
15
+ readonly then: (onfulfilled: (value: A) => void) => void;
16
+ };
17
+ export declare namespace Deferred {
18
+ /**
19
+ * Wraps a `Promise` into a `Deferred`, hiding `.catch()`, `.finally()`,
20
+ * and chainable `.then()`.
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * const d = Deferred.fromPromise(Promise.resolve("hello"));
25
+ * const value = await d; // "hello"
26
+ * ```
27
+ */
28
+ const fromPromise: <A>(p: Promise<A>) => Deferred<A>;
29
+ /**
30
+ * Converts a `Deferred` back into a `Promise`.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const p = Deferred.toPromise(Deferred.fromPromise(Promise.resolve(42)));
35
+ * // p is Promise<42>
36
+ * ```
37
+ */
38
+ const toPromise: <A>(d: Deferred<A>) => Promise<A>;
39
+ }
40
+ //# sourceMappingURL=Deferred.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Deferred.d.ts","sourceRoot":"","sources":["../../../src/src/Core/Deferred.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF,yBAAiB,QAAQ,CAAC;IACxB;;;;;;;;;OASG;IACI,MAAM,WAAW,GAAI,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,KAAG,QAAQ,CAAC,CAAC,CAIvD,CAAC;IAEH;;;;;;;;OAQG;IACI,MAAM,SAAS,GAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CACZ,CAAC;CAC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"Lens.d.ts","sourceRoot":"","sources":["../../../src/src/Core/Lens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI;IACvB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;CACrC,CAAC;AAEF,yBAAiB,IAAI,CAAC;IACpB;;;;;;;;;;OAUG;IACI,MAAM,IAAI,GAAI,CAAC,EAAE,CAAC,EACvB,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAChB,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KACzB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAmB,CAAC;IAEhC;;;;;;;;OAQG;IACI,MAAM,IAAI,GAAI,CAAC,QACrB,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,CAAC,KAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAItC,CAAC;IAEJ;;;;;;;OAOG;IACI,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,KAAG,CAAgB,CAAC;IAExE;;;;;;;OAOG;IACI,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAG,CAAmB,CAAC;IAErF;;;;;;;OAOG;IACI,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,KAAG,CACjD,CAAC;IAE9B;;;;;;;;;;;OAWG;IACI,MAAM,OAAO,GACjB,CAAC,EAAE,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAI3D,CAAC;IAEN;;;;;;;;;;;OAWG;IACI,MAAM,eAAe,GACzB,CAAC,EAAE,CAAC,EAAE,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAGpE,CAAC;IAEL;;;;;;;;;;;;OAYG;IACI,MAAM,UAAU,GAAI,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAG/D,CAAC;CACJ"}
1
+ {"version":3,"file":"Lens.d.ts","sourceRoot":"","sources":["../../../src/src/Core/Lens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI;IACvB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;CACrC,CAAC;AAEF,yBAAiB,IAAI,CAAC;IACpB;;;;;;;;;;OAUG;IACI,MAAM,IAAI,GAAI,CAAC,EAAE,CAAC,EACvB,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAChB,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KACzB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAmB,CAAC;IAEhC;;;;;;;;OAQG;IACI,MAAM,IAAI,GAAI,CAAC,QAAQ,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,CAAC,KAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAInE,CAAC;IAEJ;;;;;;;OAOG;IACI,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,KAAG,CAAgB,CAAC;IAExE;;;;;;;OAOG;IACI,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAG,CAAmB,CAAC;IAErF;;;;;;;OAOG;IACI,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,KAAG,CACjD,CAAC;IAE9B;;;;;;;;;;;OAWG;IACI,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAIlF,CAAC;IAEJ;;;;;;;;;;;OAWG;IACI,MAAM,eAAe,GACzB,CAAC,EAAE,CAAC,EAAE,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAGpE,CAAC;IAEL;;;;;;;;;;;;OAYG;IACI,MAAM,UAAU,GAAI,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAG/D,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"Optional.d.ts","sourceRoot":"","sources":["../../../src/src/Core/Optional.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Optional.d.ts","sourceRoot":"","sources":["../../../src/src/Core/Optional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,0EAA0E;AAC1E,KAAK,YAAY,CAAC,CAAC,IAAI;KACpB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACrD,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI;IAC3B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;CACrC,CAAC;AAEF,yBAAiB,QAAQ,CAAC;IACxB;;;;;;;;;;OAUG;IACI,MAAM,IAAI,GAAI,CAAC,EAAE,CAAC,EACvB,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EACxB,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KACzB,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAmB,CAAC;IAEpC;;;;;;;;;;OAUG;IACI,MAAM,IAAI,GACd,CAAC,QAAQ,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAG,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAOxE,CAAC;IAEN;;;;;;;;;;;OAWG;IACI,MAAM,KAAK,GAAI,CAAC,EAAE,GAAG,MAAM,KAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CASjD,CAAC;IAEJ;;;;;;;OAOG;IACI,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,KAAG,MAAM,CAAC,CAAC,CAAe,CAAC;IAElF;;;;;;;;OAQG;IACI,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAG,CAAkB,CAAC;IAEvF;;;;;;;;OAQG;IACI,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,KAAG,CAGhF,CAAC;IAEF;;;;;;;OAOG;IACI,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,cAAc,CAAC,MAAM,GAAG,CAAC,KAAG,CAGpF,CAAC;IAEF;;;;;;;;OAQG;IACI,MAAM,IAAI,GACd,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,KAAG,CAGnF,CAAC;IAEJ;;;;;;;;;;OAUG;IACI,MAAM,KAAK,GACf,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,MACzB,CAAC,EAAE,OAAO;QAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;KAAE,MAE7C,GAAG,CAAC,KACH,CAGF,CAAC;IAEJ;;;;;;;;;;;OAWG;IACI,MAAM,OAAO,GACjB,CAAC,EAAE,CAAC,EAAE,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAUvE,CAAC;IAEN;;;;;;;;;;;OAWG;IACI,MAAM,WAAW,GACrB,CAAC,EAAE,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAUnE,CAAC;CACP"}