@nunofyobiz/effect-extras 0.0.2 → 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.
- package/README.md +14 -4
- package/dist/index.d.ts +605 -536
- package/dist/index.js +148 -142
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/ArrayX/ArrayX.ts +27 -25
- package/src/WarnResult/WarnResult.ts +1265 -0
- package/src/WarnResult/index.ts +1 -0
- package/src/index.ts +1 -1
- package/src/These/These.ts +0 -1173
- package/src/These/index.ts +0 -1
package/dist/index.js
CHANGED
|
@@ -23,7 +23,7 @@ __export(ArrayX_exports, {
|
|
|
23
23
|
slice: () => slice,
|
|
24
24
|
takeFirstWhere: () => takeFirstWhere2,
|
|
25
25
|
takeLastWhere: () => takeLastWhere2,
|
|
26
|
-
|
|
26
|
+
zipWithWarnings: () => zipWithWarnings
|
|
27
27
|
});
|
|
28
28
|
|
|
29
29
|
// src/RecordX/RecordX.ts
|
|
@@ -93,195 +93,201 @@ var collectBy = dual(
|
|
|
93
93
|
)
|
|
94
94
|
);
|
|
95
95
|
|
|
96
|
-
// src/
|
|
97
|
-
var
|
|
98
|
-
__export(
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
96
|
+
// src/WarnResult/WarnResult.ts
|
|
97
|
+
var WarnResult_exports = {};
|
|
98
|
+
__export(WarnResult_exports, {
|
|
99
|
+
SuccessOnly: () => SuccessOnly,
|
|
100
|
+
SuccessWithWarnings: () => SuccessWithWarnings,
|
|
101
|
+
WarningsOnly: () => WarningsOnly,
|
|
102
|
+
WithSuccess: () => WithSuccess,
|
|
103
|
+
WithWarnings: () => WithWarnings,
|
|
104
|
+
flatMapSuccess: () => flatMapSuccess,
|
|
105
|
+
flatMapSuccessEffect: () => flatMapSuccessEffect,
|
|
106
|
+
flatMapWarnings: () => flatMapWarnings,
|
|
107
|
+
flatMapWarningsEffect: () => flatMapWarningsEffect,
|
|
108
108
|
fromNullables: () => fromNullables,
|
|
109
109
|
is: () => is,
|
|
110
|
-
leftOption: () => leftOption,
|
|
111
|
-
leftOrElse: () => leftOrElse,
|
|
112
|
-
leftOrUndefined: () => leftOrUndefined,
|
|
113
110
|
mapBoth: () => mapBoth,
|
|
114
111
|
mapBothEffect: () => mapBothEffect,
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
112
|
+
mapSuccess: () => mapSuccess,
|
|
113
|
+
mapSuccessEffect: () => mapSuccessEffect,
|
|
114
|
+
mapWarnings: () => mapWarnings,
|
|
115
|
+
mapWarningsEffect: () => mapWarningsEffect,
|
|
119
116
|
match: () => match,
|
|
120
|
-
|
|
121
|
-
|
|
117
|
+
matchSuccess: () => matchSuccess,
|
|
118
|
+
matchWarnings: () => matchWarnings,
|
|
122
119
|
optionFromNullables: () => optionFromNullables,
|
|
123
120
|
orElse: () => orElse,
|
|
124
121
|
orUndefined: () => orUndefined,
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
122
|
+
successOption: () => successOption,
|
|
123
|
+
successOrElse: () => successOrElse,
|
|
124
|
+
successOrUndefined: () => successOrUndefined,
|
|
125
|
+
warningsOption: () => warningsOption,
|
|
126
|
+
warningsOrElse: () => warningsOrElse,
|
|
127
|
+
warningsOrUndefined: () => warningsOrUndefined
|
|
128
128
|
});
|
|
129
129
|
var taggedEnum = Data.taggedEnum();
|
|
130
|
-
var
|
|
131
|
-
var
|
|
132
|
-
var
|
|
130
|
+
var WarningsOnly = taggedEnum.WarningsOnly;
|
|
131
|
+
var SuccessOnly = taggedEnum.SuccessOnly;
|
|
132
|
+
var SuccessWithWarnings = taggedEnum.SuccessWithWarnings;
|
|
133
133
|
var is = taggedEnum.$is;
|
|
134
134
|
var match = taggedEnum.$match;
|
|
135
|
-
var
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}) => Predicate.isNotNullish(
|
|
139
|
-
var
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}) => Predicate.isNotNullish(
|
|
135
|
+
var WithWarnings = ({
|
|
136
|
+
warnings,
|
|
137
|
+
success
|
|
138
|
+
}) => Predicate.isNotNullish(success) ? SuccessWithWarnings({ warnings, success }) : WarningsOnly({ warnings });
|
|
139
|
+
var WithSuccess = ({
|
|
140
|
+
warnings,
|
|
141
|
+
success
|
|
142
|
+
}) => Predicate.isNotNullish(warnings) ? SuccessWithWarnings({ warnings, success }) : SuccessOnly({ success });
|
|
143
143
|
var optionFromNullables = ({
|
|
144
|
-
|
|
145
|
-
|
|
144
|
+
warnings,
|
|
145
|
+
success
|
|
146
146
|
}) => {
|
|
147
|
-
if (Predicate.isNotNullish(
|
|
148
|
-
return Option.some(
|
|
147
|
+
if (Predicate.isNotNullish(warnings) && Predicate.isNotNullish(success)) {
|
|
148
|
+
return Option.some(SuccessWithWarnings({ warnings, success }));
|
|
149
149
|
}
|
|
150
|
-
if (Predicate.isNotNullish(
|
|
151
|
-
return Option.some(
|
|
150
|
+
if (Predicate.isNotNullish(warnings)) {
|
|
151
|
+
return Option.some(WarningsOnly({ warnings }));
|
|
152
152
|
}
|
|
153
|
-
if (Predicate.isNotNullish(
|
|
154
|
-
return Option.some(
|
|
153
|
+
if (Predicate.isNotNullish(success)) {
|
|
154
|
+
return Option.some(SuccessOnly({ success }));
|
|
155
155
|
}
|
|
156
156
|
return Option.none();
|
|
157
157
|
};
|
|
158
158
|
var fromNullables = ({
|
|
159
|
-
|
|
160
|
-
|
|
159
|
+
warnings,
|
|
160
|
+
success,
|
|
161
161
|
orElse: orElse2 = () => {
|
|
162
|
-
throw new Error("Both
|
|
162
|
+
throw new Error("Both warnings and success are nullish");
|
|
163
163
|
}
|
|
164
|
-
}) => pipe(optionFromNullables({
|
|
165
|
-
var
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
}) => (
|
|
169
|
-
|
|
164
|
+
}) => pipe(optionFromNullables({ warnings, success }), Option.getOrElse(orElse2));
|
|
165
|
+
var matchWarnings = ({
|
|
166
|
+
Warnings,
|
|
167
|
+
SuccessOnly: SuccessOnly2
|
|
168
|
+
}) => (warnResult) => pipe(
|
|
169
|
+
warnResult,
|
|
170
170
|
match({
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
171
|
+
WarningsOnly: ({ warnings }) => Warnings(warnings),
|
|
172
|
+
SuccessOnly: ({ success }) => SuccessOnly2(success),
|
|
173
|
+
SuccessWithWarnings: ({ warnings }) => Warnings(warnings)
|
|
174
174
|
}),
|
|
175
175
|
// Make Typescript happy
|
|
176
176
|
(a) => a
|
|
177
177
|
);
|
|
178
|
-
var
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
}) => (
|
|
182
|
-
|
|
178
|
+
var matchSuccess = ({
|
|
179
|
+
WarningsOnly: WarningsOnly2,
|
|
180
|
+
Success
|
|
181
|
+
}) => (warnResult) => pipe(
|
|
182
|
+
warnResult,
|
|
183
183
|
match({
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
184
|
+
WarningsOnly: ({ warnings }) => WarningsOnly2(warnings),
|
|
185
|
+
SuccessOnly: ({ success }) => Success(success),
|
|
186
|
+
SuccessWithWarnings: ({ success }) => Success(success)
|
|
187
187
|
}),
|
|
188
188
|
// Make Typescript happy
|
|
189
189
|
(a) => a
|
|
190
190
|
);
|
|
191
191
|
var orElse = ({
|
|
192
|
-
|
|
193
|
-
|
|
192
|
+
orElseWarnings,
|
|
193
|
+
orElseSuccess
|
|
194
194
|
}) => match({
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
195
|
+
WarningsOnly: ({ warnings }) => SuccessWithWarnings({ warnings, success: orElseSuccess() }),
|
|
196
|
+
SuccessOnly: ({ success }) => SuccessWithWarnings({ warnings: orElseWarnings(), success }),
|
|
197
|
+
SuccessWithWarnings: ({ warnings, success }) => SuccessWithWarnings({ warnings, success })
|
|
198
198
|
});
|
|
199
199
|
var orUndefined = orElse({
|
|
200
|
-
|
|
201
|
-
|
|
200
|
+
orElseWarnings: () => void 0,
|
|
201
|
+
orElseSuccess: () => void 0
|
|
202
202
|
});
|
|
203
|
-
var
|
|
204
|
-
|
|
203
|
+
var warningsOrElse = (orElseReturn) => (warnResult) => pipe(
|
|
204
|
+
warnResult,
|
|
205
205
|
orElse({
|
|
206
|
-
|
|
207
|
-
|
|
206
|
+
orElseWarnings: orElseReturn,
|
|
207
|
+
orElseSuccess: constUndefined
|
|
208
208
|
}),
|
|
209
|
-
Struct.get("
|
|
209
|
+
Struct.get("warnings")
|
|
210
210
|
);
|
|
211
|
-
var
|
|
212
|
-
var
|
|
213
|
-
|
|
211
|
+
var warningsOrUndefined = warningsOrElse(() => void 0);
|
|
212
|
+
var successOrElse = (orElseReturn) => (warnResult) => pipe(
|
|
213
|
+
warnResult,
|
|
214
214
|
orElse({
|
|
215
|
-
|
|
216
|
-
|
|
215
|
+
orElseWarnings: constUndefined,
|
|
216
|
+
orElseSuccess: orElseReturn
|
|
217
217
|
}),
|
|
218
|
-
Struct.get("
|
|
219
|
-
);
|
|
220
|
-
var
|
|
221
|
-
var
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
218
|
+
Struct.get("success")
|
|
219
|
+
);
|
|
220
|
+
var successOrUndefined = successOrElse(() => void 0);
|
|
221
|
+
var successOption = (warnResult) => pipe(
|
|
222
|
+
warnResult,
|
|
223
|
+
matchSuccess({
|
|
224
|
+
WarningsOnly: () => Option.none(),
|
|
225
|
+
Success: Option.some
|
|
226
226
|
})
|
|
227
227
|
);
|
|
228
|
-
var
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
228
|
+
var warningsOption = (warnResult) => pipe(
|
|
229
|
+
warnResult,
|
|
230
|
+
matchWarnings({
|
|
231
|
+
Warnings: Option.some,
|
|
232
|
+
SuccessOnly: () => Option.none()
|
|
233
233
|
})
|
|
234
234
|
);
|
|
235
235
|
var mapBoth = ({
|
|
236
|
-
|
|
237
|
-
|
|
236
|
+
mapWarnings: mapWarnings2,
|
|
237
|
+
mapSuccess: mapSuccess2
|
|
238
238
|
}) => match({
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
239
|
+
WarningsOnly: ({ warnings }) => WarningsOnly({ warnings: mapWarnings2(warnings) }),
|
|
240
|
+
SuccessOnly: ({ success }) => SuccessOnly({ success: mapSuccess2(success) }),
|
|
241
|
+
SuccessWithWarnings: ({ warnings, success }) => SuccessWithWarnings({
|
|
242
|
+
warnings: mapWarnings2(warnings),
|
|
243
|
+
success: mapSuccess2(success)
|
|
244
|
+
})
|
|
242
245
|
});
|
|
243
246
|
var mapBothEffect = ({
|
|
244
|
-
|
|
245
|
-
|
|
247
|
+
mapWarnings: mapWarnings2,
|
|
248
|
+
mapSuccess: mapSuccess2
|
|
246
249
|
}) => match({
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
Effect.map((
|
|
250
|
+
WarningsOnly: ({ warnings }) => pipe(
|
|
251
|
+
mapWarnings2(warnings),
|
|
252
|
+
Effect.map((warnings2) => WarningsOnly({ warnings: warnings2 }))
|
|
250
253
|
),
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
Effect.map((
|
|
254
|
+
SuccessOnly: ({ success }) => pipe(
|
|
255
|
+
mapSuccess2(success),
|
|
256
|
+
Effect.map((success2) => SuccessOnly({ success: success2 }))
|
|
254
257
|
),
|
|
255
|
-
|
|
256
|
-
Effect.all({
|
|
258
|
+
SuccessWithWarnings: ({ warnings, success }) => pipe(
|
|
259
|
+
Effect.all({
|
|
260
|
+
warnings: mapWarnings2(warnings),
|
|
261
|
+
success: mapSuccess2(success)
|
|
262
|
+
}),
|
|
257
263
|
Effect.map(
|
|
258
|
-
({
|
|
264
|
+
({ warnings: warnings2, success: success2 }) => SuccessWithWarnings({ warnings: warnings2, success: success2 })
|
|
259
265
|
)
|
|
260
266
|
)
|
|
261
267
|
});
|
|
262
|
-
var
|
|
263
|
-
var
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
});
|
|
268
|
-
var
|
|
269
|
-
var
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
});
|
|
274
|
-
var
|
|
275
|
-
var
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
});
|
|
280
|
-
var
|
|
281
|
-
var
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
268
|
+
var mapWarnings = (mapWarnings2) => mapBoth({ mapWarnings: mapWarnings2, mapSuccess: identity });
|
|
269
|
+
var flatMapWarnings = (mapWarnings2) => match({
|
|
270
|
+
WarningsOnly: ({ warnings }) => mapWarnings2(warnings),
|
|
271
|
+
SuccessOnly: ({ success }) => SuccessOnly({ success }),
|
|
272
|
+
SuccessWithWarnings: ({ warnings }) => mapWarnings2(warnings)
|
|
273
|
+
});
|
|
274
|
+
var mapWarningsEffect = (mapWarnings2) => mapBothEffect({ mapWarnings: mapWarnings2, mapSuccess: Effect.succeed });
|
|
275
|
+
var flatMapWarningsEffect = (mapWarnings2) => match({
|
|
276
|
+
WarningsOnly: ({ warnings }) => mapWarnings2(warnings),
|
|
277
|
+
SuccessOnly: ({ success }) => Effect.succeed(SuccessOnly({ success })),
|
|
278
|
+
SuccessWithWarnings: ({ warnings }) => mapWarnings2(warnings)
|
|
279
|
+
});
|
|
280
|
+
var mapSuccess = (mapSuccess2) => mapBoth({ mapWarnings: identity, mapSuccess: mapSuccess2 });
|
|
281
|
+
var flatMapSuccess = (mapSuccess2) => match({
|
|
282
|
+
WarningsOnly: ({ warnings }) => WarningsOnly({ warnings }),
|
|
283
|
+
SuccessOnly: ({ success }) => mapSuccess2(success),
|
|
284
|
+
SuccessWithWarnings: ({ success }) => mapSuccess2(success)
|
|
285
|
+
});
|
|
286
|
+
var mapSuccessEffect = (mapSuccess2) => mapBothEffect({ mapWarnings: Effect.succeed, mapSuccess: mapSuccess2 });
|
|
287
|
+
var flatMapSuccessEffect = (mapSuccess2) => match({
|
|
288
|
+
WarningsOnly: ({ warnings }) => Effect.succeed(WarningsOnly({ warnings })),
|
|
289
|
+
SuccessOnly: ({ success }) => mapSuccess2(success),
|
|
290
|
+
SuccessWithWarnings: ({ success }) => mapSuccess2(success)
|
|
285
291
|
});
|
|
286
292
|
|
|
287
293
|
// src/ResultX/ResultX.ts
|
|
@@ -296,7 +302,7 @@ var slice = dual(
|
|
|
296
302
|
3,
|
|
297
303
|
(array, start, end) => array.slice(start, end)
|
|
298
304
|
);
|
|
299
|
-
var
|
|
305
|
+
var zipWithWarnings = dual(
|
|
300
306
|
3,
|
|
301
307
|
(array1, array2, f) => {
|
|
302
308
|
const newLength = Math.max(array1.length, array2.length);
|
|
@@ -306,23 +312,23 @@ var zipWithThese = dual(
|
|
|
306
312
|
return Array.makeBy(newLength, (index) => {
|
|
307
313
|
if (index < array1.length && index < array2.length) {
|
|
308
314
|
return f(
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
315
|
+
WarnResult_exports.SuccessWithWarnings({
|
|
316
|
+
warnings: array1[index],
|
|
317
|
+
success: array2[index]
|
|
312
318
|
})
|
|
313
319
|
);
|
|
314
320
|
}
|
|
315
321
|
if (index < array1.length) {
|
|
316
322
|
return f(
|
|
317
|
-
|
|
318
|
-
|
|
323
|
+
WarnResult_exports.WarningsOnly({
|
|
324
|
+
warnings: array1[index]
|
|
319
325
|
})
|
|
320
326
|
);
|
|
321
327
|
}
|
|
322
328
|
if (index < array2.length) {
|
|
323
329
|
return f(
|
|
324
|
-
|
|
325
|
-
|
|
330
|
+
WarnResult_exports.SuccessOnly({
|
|
331
|
+
success: array2[index]
|
|
326
332
|
})
|
|
327
333
|
);
|
|
328
334
|
}
|
|
@@ -1001,6 +1007,6 @@ var hasNotNullableProperty = dual(
|
|
|
1001
1007
|
(object, key) => Predicate.hasProperty(object, key) && Predicate.isNotNullish(object[key])
|
|
1002
1008
|
);
|
|
1003
1009
|
|
|
1004
|
-
export { ArrayX_exports as ArrayX, BigIntX_exports as BigIntX, BooleanX_exports as BooleanX, DurationX_exports as DurationX, EffectX_exports as EffectX, FormDataX_exports as FormDataX, MapX_exports as MapX, NonNullableX_exports as NonNullableX, NumberX_exports as NumberX, OptionX_exports as OptionX, OrderX_exports as OrderX, PredicateX_exports as PredicateX, PromiseX_exports as PromiseX, RecordX_exports as RecordX, ResultX_exports as ResultX, SchemaX_exports as SchemaX, SetX_exports as SetX, StringX_exports as StringX, StructX_exports as StructX,
|
|
1010
|
+
export { ArrayX_exports as ArrayX, BigIntX_exports as BigIntX, BooleanX_exports as BooleanX, DurationX_exports as DurationX, EffectX_exports as EffectX, FormDataX_exports as FormDataX, MapX_exports as MapX, NonNullableX_exports as NonNullableX, NumberX_exports as NumberX, OptionX_exports as OptionX, OrderX_exports as OrderX, PredicateX_exports as PredicateX, PromiseX_exports as PromiseX, RecordX_exports as RecordX, ResultX_exports as ResultX, SchemaX_exports as SchemaX, SetX_exports as SetX, StringX_exports as StringX, StructX_exports as StructX, WarnResult_exports as WarnResult, fromNullableOrThrow as nn };
|
|
1005
1011
|
//# sourceMappingURL=index.js.map
|
|
1006
1012
|
//# sourceMappingURL=index.js.map
|