effect 3.13.9 → 3.13.11
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/cjs/Arbitrary.js +38 -22
- package/dist/cjs/Arbitrary.js.map +1 -1
- package/dist/cjs/Array.js +50 -50
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/Brand.js +9 -4
- package/dist/cjs/Brand.js.map +1 -1
- package/dist/cjs/Cause.js +1 -0
- package/dist/cjs/Cause.js.map +1 -1
- package/dist/cjs/Chunk.js +25 -23
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Config.js +2 -1
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/Context.js +4 -4
- package/dist/cjs/Effect.js +823 -632
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +12 -12
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/LogLevel.js +1 -1
- package/dist/cjs/Logger.js +12 -12
- package/dist/cjs/Match.js +26 -26
- package/dist/cjs/Option.js +43 -43
- package/dist/cjs/Predicate.js +6 -2
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/Schema.js +21 -17
- package/dist/cjs/Schema.js.map +1 -1
- package/dist/cjs/SchemaAST.js +49 -25
- package/dist/cjs/SchemaAST.js.map +1 -1
- package/dist/cjs/Scope.js +2 -0
- package/dist/cjs/Scope.js.map +1 -1
- package/dist/cjs/Stream.js +93 -93
- package/dist/cjs/internal/core.js +1 -1
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/schema/util.js +23 -14
- package/dist/cjs/internal/schema/util.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/cjs/internal/version.js.map +1 -1
- package/dist/dts/Array.d.ts +47 -47
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/Brand.d.ts +14 -6
- package/dist/dts/Brand.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +1 -0
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +91 -89
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +2 -1
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +4 -4
- package/dist/dts/Effect.d.ts +2107 -1621
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +33 -33
- package/dist/dts/LogLevel.d.ts +3 -3
- package/dist/dts/Logger.d.ts +16 -16
- package/dist/dts/Match.d.ts +26 -26
- package/dist/dts/Option.d.ts +84 -84
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/Schema.d.ts +53 -21
- package/dist/dts/Schema.d.ts.map +1 -1
- package/dist/dts/SchemaAST.d.ts.map +1 -1
- package/dist/dts/Scope.d.ts +2 -0
- package/dist/dts/Scope.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +229 -229
- package/dist/esm/Arbitrary.js +38 -22
- package/dist/esm/Arbitrary.js.map +1 -1
- package/dist/esm/Array.js +50 -50
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/Brand.js +9 -4
- package/dist/esm/Brand.js.map +1 -1
- package/dist/esm/Cause.js +1 -0
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/Chunk.js +25 -23
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Config.js +2 -1
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Context.js +4 -4
- package/dist/esm/Effect.js +845 -648
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +17 -17
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/LogLevel.js +1 -1
- package/dist/esm/Logger.js +12 -12
- package/dist/esm/Match.js +26 -26
- package/dist/esm/Option.js +48 -48
- package/dist/esm/Predicate.js +3 -0
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/Schema.js +21 -17
- package/dist/esm/Schema.js.map +1 -1
- package/dist/esm/SchemaAST.js +46 -22
- package/dist/esm/SchemaAST.js.map +1 -1
- package/dist/esm/Scope.js +2 -0
- package/dist/esm/Scope.js.map +1 -1
- package/dist/esm/Stream.js +101 -101
- package/dist/esm/internal/core.js +1 -1
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/schema/util.js +23 -14
- package/dist/esm/internal/schema/util.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/dist/esm/internal/version.js.map +1 -1
- package/package.json +1 -1
- package/src/Arbitrary.ts +39 -24
- package/src/Array.ts +116 -113
- package/src/Brand.ts +14 -6
- package/src/Cause.ts +1 -0
- package/src/Chunk.ts +97 -95
- package/src/Config.ts +2 -1
- package/src/Context.ts +4 -4
- package/src/Effect.ts +2107 -1621
- package/src/Either.ts +34 -34
- package/src/LogLevel.ts +3 -3
- package/src/Logger.ts +16 -16
- package/src/Match.ts +26 -26
- package/src/Option.ts +84 -84
- package/src/Predicate.ts +4 -0
- package/src/Schema.ts +87 -41
- package/src/SchemaAST.ts +47 -22
- package/src/Scope.ts +2 -0
- package/src/Stream.ts +229 -229
- package/src/internal/core.ts +2 -1
- package/src/internal/schema/util.ts +34 -25
- package/src/internal/version.ts +1 -1
package/dist/esm/Arbitrary.js
CHANGED
|
@@ -212,15 +212,26 @@ const constBigIntConstraints = /*#__PURE__*/makeBigIntConstraints({});
|
|
|
212
212
|
const defaultSuspendedArrayConstraints = {
|
|
213
213
|
maxLength: 2
|
|
214
214
|
};
|
|
215
|
+
const getASTConstraints = ast => {
|
|
216
|
+
const TypeAnnotationId = ast.annotations[AST.SchemaIdAnnotationId];
|
|
217
|
+
if (Predicate.isPropertyKey(TypeAnnotationId)) {
|
|
218
|
+
const out = ast.annotations[TypeAnnotationId];
|
|
219
|
+
if (Predicate.isReadonlyRecord(out)) {
|
|
220
|
+
return out;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
};
|
|
215
224
|
/** @internal */
|
|
216
225
|
export const toOp = (ast, ctx, path) => {
|
|
217
226
|
switch (ast._tag) {
|
|
218
227
|
case "Declaration":
|
|
219
228
|
{
|
|
220
229
|
const TypeAnnotationId = ast.annotations[AST.SchemaIdAnnotationId];
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
230
|
+
if (TypeAnnotationId === schemaId_.DateFromSelfSchemaId) {
|
|
231
|
+
const c = getASTConstraints(ast);
|
|
232
|
+
if (c !== undefined) {
|
|
233
|
+
return new Deferred(makeDateConstraints(c));
|
|
234
|
+
}
|
|
224
235
|
}
|
|
225
236
|
return new Succeed(go(ast, ctx, path));
|
|
226
237
|
}
|
|
@@ -301,7 +312,7 @@ export const toOp = (ast, ctx, path) => {
|
|
|
301
312
|
}
|
|
302
313
|
case "Deferred":
|
|
303
314
|
{
|
|
304
|
-
return new Deferred(merge(from.config,
|
|
315
|
+
return new Deferred(merge(from.config, getRefinementConstraints(from.config._tag, ast)), filters);
|
|
305
316
|
}
|
|
306
317
|
}
|
|
307
318
|
}
|
|
@@ -462,7 +473,7 @@ const goTupleType = (ast, ctx, path, constraints) => {
|
|
|
462
473
|
return output;
|
|
463
474
|
};
|
|
464
475
|
};
|
|
465
|
-
const
|
|
476
|
+
const getRefinementConstraints = (_tag, ast) => {
|
|
466
477
|
const TypeAnnotationId = ast.annotations[AST.SchemaIdAnnotationId];
|
|
467
478
|
const jsonSchema = Option.getOrElse(AST.getJSONSchemaAnnotation(ast), () => ({}));
|
|
468
479
|
switch (_tag) {
|
|
@@ -470,27 +481,32 @@ const getConstraints = (_tag, ast) => {
|
|
|
470
481
|
return makeStringConstraints(jsonSchema);
|
|
471
482
|
case "NumberConstraints":
|
|
472
483
|
{
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
});
|
|
484
|
+
if (TypeAnnotationId === schemaId_.NonNaNSchemaId) {
|
|
485
|
+
return makeNumberConstraints({
|
|
486
|
+
noNaN: true
|
|
487
|
+
});
|
|
488
|
+
} else {
|
|
489
|
+
return makeNumberConstraints({
|
|
490
|
+
isInteger: "type" in jsonSchema && jsonSchema.type === "integer",
|
|
491
|
+
noNaN: "type" in jsonSchema && jsonSchema.type === "number" ? true : undefined,
|
|
492
|
+
noDefaultInfinity: "type" in jsonSchema && jsonSchema.type === "number" ? true : undefined,
|
|
493
|
+
min: jsonSchema.exclusiveMinimum ?? jsonSchema.minimum,
|
|
494
|
+
minExcluded: "exclusiveMinimum" in jsonSchema ? true : undefined,
|
|
495
|
+
max: jsonSchema.exclusiveMaximum ?? jsonSchema.maximum,
|
|
496
|
+
maxExcluded: "exclusiveMaximum" in jsonSchema ? true : undefined
|
|
497
|
+
});
|
|
488
498
|
}
|
|
489
499
|
}
|
|
490
500
|
case "BigIntConstraints":
|
|
491
|
-
|
|
501
|
+
{
|
|
502
|
+
const c = getASTConstraints(ast);
|
|
503
|
+
return c !== undefined ? makeBigIntConstraints(c) : undefined;
|
|
504
|
+
}
|
|
492
505
|
case "DateConstraints":
|
|
493
|
-
|
|
506
|
+
{
|
|
507
|
+
const c = getASTConstraints(ast);
|
|
508
|
+
return c !== undefined ? makeDateConstraints(c) : undefined;
|
|
509
|
+
}
|
|
494
510
|
case "ArrayConstraints":
|
|
495
511
|
return makeArrayConstraints({
|
|
496
512
|
minLength: jsonSchema.minItems,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Arbitrary.js","names":["Arr","FastCheck","globalValue","errors_","schemaId_","util_","Option","Predicate","AST","makeLazy","schema","go","ast","maxDepth","make","getArbitraryAnnotation","getAnnotation","ArbitraryAnnotationId","Succeed","lazyArbitrary","filters","_tag","constructor","toLazyArbitrary","fc","out","f","filter","Deferred","config","ctx","path","pattern","undefined","stringMatching","RegExp","string","constraints","isInteger","integer","float","bigInt","date","goTupleType","makeStringConstraints","options","isNumber","minLength","maxLength","isString","makeNumberConstraints","min","Math","fround","isBoolean","minExcluded","max","maxExcluded","noNaN","noDefaultInfinity","makeBigIntConstraints","isBigInt","makeArrayConstraints","makeDateConstraints","noInvalidDate","isDate","makeArrayConfig","arbitraryMemoMap","Symbol","for","WeakMap","hook","isSome","value","typeParameters","map","p","op","toOp","from","isDeclaration","Error","getArbitraryMissingAnnotationErrorMessage","constStringConstraints","constNumberConstraints","constBigIntConstraints","defaultSuspendedArrayConstraints","TypeAnnotationId","annotations","SchemaIdAnnotationId","DateFromSelfSchemaId","constant","literal","symbol","anything","boolean","s","oneof","object","array","enums","length","getArbitraryEmptyEnumErrorMessage","_","number","getTemplateLiteralArb","components","head","getTemplateLiteralSpanTypeArb","String","types","spans","forEach","span","push","type","tuple","join","a","isNone","defaultParseOption","merge","getConstraints","propertySignaturesTypes","propertySignatures","ps","concat","name","indexSignatures","is","parameter","arbs","requiredKeys","i","isOptional","output","record","key","chain","o","item","arr","depthIdentifier","getSuspendedArray","tuples","Object","fromEntries","member","arb","memo","get","memoizeThunk","getSuspendedContext","set","to","subtractElementsLength","elementsLength","elements","hasOptionals","element","rest","annotatedAST","indexes","booleans","b","reverse","entries","splice","isNonEmptyReadonlyArray","tail","as","len","restArrayConstraints","j","jsonSchema","getOrElse","getJSONSchemaAnnotation","NonNaNSchemaId","exclusiveMinimum","minimum","exclusiveMaximum","maximum","minItems","maxItems","getMax","n1","n2","getMin","getOr","mergePattern","pattern1","pattern2","c1","c2","maxLengthLimit","getIdentifierAnnotation","pipe","orElse"],"sources":["../../src/Arbitrary.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Arbitrary.js","names":["Arr","FastCheck","globalValue","errors_","schemaId_","util_","Option","Predicate","AST","makeLazy","schema","go","ast","maxDepth","make","getArbitraryAnnotation","getAnnotation","ArbitraryAnnotationId","Succeed","lazyArbitrary","filters","_tag","constructor","toLazyArbitrary","fc","out","f","filter","Deferred","config","ctx","path","pattern","undefined","stringMatching","RegExp","string","constraints","isInteger","integer","float","bigInt","date","goTupleType","makeStringConstraints","options","isNumber","minLength","maxLength","isString","makeNumberConstraints","min","Math","fround","isBoolean","minExcluded","max","maxExcluded","noNaN","noDefaultInfinity","makeBigIntConstraints","isBigInt","makeArrayConstraints","makeDateConstraints","noInvalidDate","isDate","makeArrayConfig","arbitraryMemoMap","Symbol","for","WeakMap","hook","isSome","value","typeParameters","map","p","op","toOp","from","isDeclaration","Error","getArbitraryMissingAnnotationErrorMessage","constStringConstraints","constNumberConstraints","constBigIntConstraints","defaultSuspendedArrayConstraints","getASTConstraints","TypeAnnotationId","annotations","SchemaIdAnnotationId","isPropertyKey","isReadonlyRecord","DateFromSelfSchemaId","c","constant","literal","symbol","anything","boolean","s","oneof","object","array","enums","length","getArbitraryEmptyEnumErrorMessage","_","number","getTemplateLiteralArb","components","head","getTemplateLiteralSpanTypeArb","String","types","spans","forEach","span","push","type","tuple","join","a","isNone","defaultParseOption","merge","getRefinementConstraints","propertySignaturesTypes","propertySignatures","ps","concat","name","indexSignatures","is","parameter","arbs","requiredKeys","i","isOptional","output","record","key","chain","o","item","arr","depthIdentifier","getSuspendedArray","tuples","Object","fromEntries","member","arb","memo","get","memoizeThunk","getSuspendedContext","set","to","subtractElementsLength","elementsLength","elements","hasOptionals","element","rest","annotatedAST","indexes","booleans","b","reverse","entries","splice","isNonEmptyReadonlyArray","tail","as","len","restArrayConstraints","j","jsonSchema","getOrElse","getJSONSchemaAnnotation","NonNaNSchemaId","exclusiveMinimum","minimum","exclusiveMaximum","maximum","minItems","maxItems","getMax","n1","n2","getMin","getOr","mergePattern","pattern1","pattern2","c1","c2","maxLengthLimit","getIdentifierAnnotation","pipe","orElse"],"sources":["../../src/Arbitrary.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Array.js
CHANGED
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @since 2.0.0
|
|
5
5
|
*/
|
|
6
|
-
import * as
|
|
6
|
+
import * as Either from "./Either.js";
|
|
7
7
|
import * as Equal from "./Equal.js";
|
|
8
8
|
import * as Equivalence from "./Equivalence.js";
|
|
9
9
|
import { dual, identity } from "./Function.js";
|
|
10
|
-
import * as
|
|
11
|
-
import * as
|
|
12
|
-
import * as
|
|
13
|
-
import * as
|
|
10
|
+
import * as internalArray from "./internal/array.js";
|
|
11
|
+
import * as internalDoNotation from "./internal/doNotation.js";
|
|
12
|
+
import * as moduleIterable from "./Iterable.js";
|
|
13
|
+
import * as Option from "./Option.js";
|
|
14
14
|
import * as Order from "./Order.js";
|
|
15
|
-
import
|
|
15
|
+
import * as Predicate from "./Predicate.js";
|
|
16
16
|
import * as Record from "./Record.js";
|
|
17
17
|
import * as Tuple from "./Tuple.js";
|
|
18
18
|
/**
|
|
@@ -172,7 +172,7 @@ export const fromRecord = Record.toEntries;
|
|
|
172
172
|
* @category conversions
|
|
173
173
|
* @since 2.0.0
|
|
174
174
|
*/
|
|
175
|
-
export const fromOption =
|
|
175
|
+
export const fromOption = Option.toArray;
|
|
176
176
|
/**
|
|
177
177
|
* Matches the elements of an array, applying functions to cases of empty and non-empty arrays.
|
|
178
178
|
*
|
|
@@ -422,7 +422,7 @@ export const isEmptyReadonlyArray = isEmptyArray;
|
|
|
422
422
|
* @category guards
|
|
423
423
|
* @since 2.0.0
|
|
424
424
|
*/
|
|
425
|
-
export const isNonEmptyArray =
|
|
425
|
+
export const isNonEmptyArray = internalArray.isNonEmptyArray;
|
|
426
426
|
/**
|
|
427
427
|
* Determine if a `ReadonlyArray` is non empty narrowing down the type to `NonEmptyReadonlyArray`.
|
|
428
428
|
*
|
|
@@ -440,7 +440,7 @@ export const isNonEmptyArray = readonlyArray.isNonEmptyArray;
|
|
|
440
440
|
* @category guards
|
|
441
441
|
* @since 2.0.0
|
|
442
442
|
*/
|
|
443
|
-
export const isNonEmptyReadonlyArray =
|
|
443
|
+
export const isNonEmptyReadonlyArray = internalArray.isNonEmptyArray;
|
|
444
444
|
/**
|
|
445
445
|
* Return the number of elements in a `ReadonlyArray`.
|
|
446
446
|
*
|
|
@@ -448,7 +448,7 @@ export const isNonEmptyReadonlyArray = readonlyArray.isNonEmptyArray;
|
|
|
448
448
|
* @since 2.0.0
|
|
449
449
|
*/
|
|
450
450
|
export const length = self => self.length;
|
|
451
|
-
const
|
|
451
|
+
const isOutOfBounds = (i, as) => i < 0 || i >= as.length;
|
|
452
452
|
const clamp = (i, as) => Math.floor(Math.min(Math.max(0, i), as.length));
|
|
453
453
|
/**
|
|
454
454
|
* This function provides a safe way to read a value at a particular index from a `ReadonlyArray`.
|
|
@@ -458,7 +458,7 @@ const clamp = (i, as) => Math.floor(Math.min(Math.max(0, i), as.length));
|
|
|
458
458
|
*/
|
|
459
459
|
export const get = /*#__PURE__*/dual(2, (self, index) => {
|
|
460
460
|
const i = Math.floor(index);
|
|
461
|
-
return
|
|
461
|
+
return isOutOfBounds(i, self) ? Option.none() : Option.some(self[i]);
|
|
462
462
|
});
|
|
463
463
|
/**
|
|
464
464
|
* Gets an element unsafely, will throw on out of bounds.
|
|
@@ -468,7 +468,7 @@ export const get = /*#__PURE__*/dual(2, (self, index) => {
|
|
|
468
468
|
*/
|
|
469
469
|
export const unsafeGet = /*#__PURE__*/dual(2, (self, index) => {
|
|
470
470
|
const i = Math.floor(index);
|
|
471
|
-
if (
|
|
471
|
+
if (isOutOfBounds(i, self)) {
|
|
472
472
|
throw new Error(`Index ${i} out of bounds`);
|
|
473
473
|
}
|
|
474
474
|
return self[i];
|
|
@@ -534,7 +534,7 @@ export const headNonEmpty = /*#__PURE__*/unsafeGet(0);
|
|
|
534
534
|
* @category getters
|
|
535
535
|
* @since 2.0.0
|
|
536
536
|
*/
|
|
537
|
-
export const last = self => isNonEmptyReadonlyArray(self) ?
|
|
537
|
+
export const last = self => isNonEmptyReadonlyArray(self) ? Option.some(lastNonEmpty(self)) : Option.none();
|
|
538
538
|
/**
|
|
539
539
|
* Get the last element of a non empty array.
|
|
540
540
|
*
|
|
@@ -559,7 +559,7 @@ export const lastNonEmpty = self => self[self.length - 1];
|
|
|
559
559
|
*/
|
|
560
560
|
export const tail = self => {
|
|
561
561
|
const input = fromIterable(self);
|
|
562
|
-
return isNonEmptyReadonlyArray(input) ?
|
|
562
|
+
return isNonEmptyReadonlyArray(input) ? Option.some(tailNonEmpty(input)) : Option.none();
|
|
563
563
|
};
|
|
564
564
|
/**
|
|
565
565
|
* Get all but the first element of a `NonEmptyReadonlyArray`.
|
|
@@ -585,7 +585,7 @@ export const tailNonEmpty = self => self.slice(1);
|
|
|
585
585
|
*/
|
|
586
586
|
export const init = self => {
|
|
587
587
|
const input = fromIterable(self);
|
|
588
|
-
return isNonEmptyReadonlyArray(input) ?
|
|
588
|
+
return isNonEmptyReadonlyArray(input) ? Option.some(initNonEmpty(input)) : Option.none();
|
|
589
589
|
};
|
|
590
590
|
/**
|
|
591
591
|
* Get all but the last element of a non empty array, creating a new array.
|
|
@@ -776,11 +776,11 @@ export const findFirstIndex = /*#__PURE__*/dual(2, (self, predicate) => {
|
|
|
776
776
|
let i = 0;
|
|
777
777
|
for (const a of self) {
|
|
778
778
|
if (predicate(a, i)) {
|
|
779
|
-
return
|
|
779
|
+
return Option.some(i);
|
|
780
780
|
}
|
|
781
781
|
i++;
|
|
782
782
|
}
|
|
783
|
-
return
|
|
783
|
+
return Option.none();
|
|
784
784
|
});
|
|
785
785
|
/**
|
|
786
786
|
* Return the last index for which a predicate holds.
|
|
@@ -801,10 +801,10 @@ export const findLastIndex = /*#__PURE__*/dual(2, (self, predicate) => {
|
|
|
801
801
|
const input = fromIterable(self);
|
|
802
802
|
for (let i = input.length - 1; i >= 0; i--) {
|
|
803
803
|
if (predicate(input[i], i)) {
|
|
804
|
-
return
|
|
804
|
+
return Option.some(i);
|
|
805
805
|
}
|
|
806
806
|
}
|
|
807
|
-
return
|
|
807
|
+
return Option.none();
|
|
808
808
|
});
|
|
809
809
|
/**
|
|
810
810
|
* Returns the first element that satisfies the specified
|
|
@@ -822,7 +822,7 @@ export const findLastIndex = /*#__PURE__*/dual(2, (self, predicate) => {
|
|
|
822
822
|
* @category elements
|
|
823
823
|
* @since 2.0.0
|
|
824
824
|
*/
|
|
825
|
-
export const findFirst =
|
|
825
|
+
export const findFirst = moduleIterable.findFirst;
|
|
826
826
|
/**
|
|
827
827
|
* Finds the last element in an iterable collection that satisfies the given predicate or refinement.
|
|
828
828
|
* Returns an `Option` containing the found element, or `Option.none` if no element matches.
|
|
@@ -844,17 +844,17 @@ export const findLast = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
844
844
|
for (let i = input.length - 1; i >= 0; i--) {
|
|
845
845
|
const a = input[i];
|
|
846
846
|
const o = f(a, i);
|
|
847
|
-
if (isBoolean(o)) {
|
|
847
|
+
if (Predicate.isBoolean(o)) {
|
|
848
848
|
if (o) {
|
|
849
|
-
return
|
|
849
|
+
return Option.some(a);
|
|
850
850
|
}
|
|
851
851
|
} else {
|
|
852
|
-
if (
|
|
852
|
+
if (Option.isSome(o)) {
|
|
853
853
|
return o;
|
|
854
854
|
}
|
|
855
855
|
}
|
|
856
856
|
}
|
|
857
|
-
return
|
|
857
|
+
return Option.none();
|
|
858
858
|
});
|
|
859
859
|
/**
|
|
860
860
|
* Insert an element at the specified index, creating a new `NonEmptyArray`,
|
|
@@ -875,10 +875,10 @@ export const insertAt = /*#__PURE__*/dual(3, (self, i, b) => {
|
|
|
875
875
|
const out = Array.from(self);
|
|
876
876
|
// v--- `= self.length` is ok, it means inserting in last position
|
|
877
877
|
if (i < 0 || i > out.length) {
|
|
878
|
-
return
|
|
878
|
+
return Option.none();
|
|
879
879
|
}
|
|
880
880
|
out.splice(i, 0, b);
|
|
881
|
-
return
|
|
881
|
+
return Option.some(out);
|
|
882
882
|
});
|
|
883
883
|
/**
|
|
884
884
|
* Change the element at the specified index, creating a new `Array`,
|
|
@@ -926,7 +926,7 @@ export const replaceOption = /*#__PURE__*/dual(3, (self, i, b) => modifyOption(s
|
|
|
926
926
|
*
|
|
927
927
|
* @since 2.0.0
|
|
928
928
|
*/
|
|
929
|
-
export const modify = /*#__PURE__*/dual(3, (self, i, f) =>
|
|
929
|
+
export const modify = /*#__PURE__*/dual(3, (self, i, f) => Option.getOrElse(modifyOption(self, i, f), () => Array.from(self)));
|
|
930
930
|
/**
|
|
931
931
|
* Apply a function to the element at the specified index, creating a new `Array`,
|
|
932
932
|
* or return `None` if the index is out of bounds.
|
|
@@ -947,14 +947,14 @@ export const modify = /*#__PURE__*/dual(3, (self, i, f) => O.getOrElse(modifyOpt
|
|
|
947
947
|
* @since 2.0.0
|
|
948
948
|
*/
|
|
949
949
|
export const modifyOption = /*#__PURE__*/dual(3, (self, i, f) => {
|
|
950
|
-
const
|
|
951
|
-
if (
|
|
952
|
-
return
|
|
950
|
+
const arr = Array.from(self);
|
|
951
|
+
if (isOutOfBounds(i, arr)) {
|
|
952
|
+
return Option.none();
|
|
953
953
|
}
|
|
954
|
-
const
|
|
955
|
-
|
|
956
|
-
out[i] =
|
|
957
|
-
return
|
|
954
|
+
const out = arr;
|
|
955
|
+
const b = f(arr[i]);
|
|
956
|
+
out[i] = b;
|
|
957
|
+
return Option.some(out);
|
|
958
958
|
});
|
|
959
959
|
/**
|
|
960
960
|
* Delete the element at the specified index, creating a new `Array`,
|
|
@@ -977,7 +977,7 @@ export const modifyOption = /*#__PURE__*/dual(3, (self, i, f) => {
|
|
|
977
977
|
*/
|
|
978
978
|
export const remove = /*#__PURE__*/dual(2, (self, i) => {
|
|
979
979
|
const out = Array.from(self);
|
|
980
|
-
if (
|
|
980
|
+
if (isOutOfBounds(i, out)) {
|
|
981
981
|
return out;
|
|
982
982
|
}
|
|
983
983
|
out.splice(i, 1);
|
|
@@ -1267,7 +1267,7 @@ export const rotate = /*#__PURE__*/dual(2, (self, n) => {
|
|
|
1267
1267
|
if (isNonEmptyReadonlyArray(input)) {
|
|
1268
1268
|
const len = input.length;
|
|
1269
1269
|
const m = Math.round(n) % len;
|
|
1270
|
-
if (
|
|
1270
|
+
if (isOutOfBounds(Math.abs(m), input) || m === 0) {
|
|
1271
1271
|
return copy(input);
|
|
1272
1272
|
}
|
|
1273
1273
|
if (m < 0) {
|
|
@@ -1348,7 +1348,7 @@ export const chop = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
1348
1348
|
const [b, rest] = f(input);
|
|
1349
1349
|
const out = [b];
|
|
1350
1350
|
let next = rest;
|
|
1351
|
-
while (
|
|
1351
|
+
while (internalArray.isNonEmptyArray(next)) {
|
|
1352
1352
|
const [b, rest] = f(next);
|
|
1353
1353
|
out.push(b);
|
|
1354
1354
|
next = rest;
|
|
@@ -1790,7 +1790,7 @@ export const filterMap = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
1790
1790
|
const out = [];
|
|
1791
1791
|
for (let i = 0; i < as.length; i++) {
|
|
1792
1792
|
const o = f(as[i], i);
|
|
1793
|
-
if (
|
|
1793
|
+
if (Option.isSome(o)) {
|
|
1794
1794
|
out.push(o.value);
|
|
1795
1795
|
}
|
|
1796
1796
|
}
|
|
@@ -1820,7 +1820,7 @@ export const filterMapWhile = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
1820
1820
|
const out = [];
|
|
1821
1821
|
for (const a of self) {
|
|
1822
1822
|
const b = f(a, i);
|
|
1823
|
-
if (
|
|
1823
|
+
if (Option.isSome(b)) {
|
|
1824
1824
|
out.push(b.value);
|
|
1825
1825
|
} else {
|
|
1826
1826
|
break;
|
|
@@ -1861,7 +1861,7 @@ export const partitionMap = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
1861
1861
|
const as = fromIterable(self);
|
|
1862
1862
|
for (let i = 0; i < as.length; i++) {
|
|
1863
1863
|
const e = f(as[i], i);
|
|
1864
|
-
if (
|
|
1864
|
+
if (Either.isLeft(e)) {
|
|
1865
1865
|
left.push(e.left);
|
|
1866
1866
|
} else {
|
|
1867
1867
|
right.push(e.right);
|
|
@@ -1903,7 +1903,7 @@ export const getSomes = /*#__PURE__*/filterMap(identity);
|
|
|
1903
1903
|
export const getLefts = self => {
|
|
1904
1904
|
const out = [];
|
|
1905
1905
|
for (const a of self) {
|
|
1906
|
-
if (
|
|
1906
|
+
if (Either.isLeft(a)) {
|
|
1907
1907
|
out.push(a.left);
|
|
1908
1908
|
}
|
|
1909
1909
|
}
|
|
@@ -1927,7 +1927,7 @@ export const getLefts = self => {
|
|
|
1927
1927
|
export const getRights = self => {
|
|
1928
1928
|
const out = [];
|
|
1929
1929
|
for (const a of self) {
|
|
1930
|
-
if (
|
|
1930
|
+
if (Either.isRight(a)) {
|
|
1931
1931
|
out.push(a.right);
|
|
1932
1932
|
}
|
|
1933
1933
|
}
|
|
@@ -2100,7 +2100,7 @@ export const flatMapNullable = /*#__PURE__*/dual(2, (self, f) => flatMap(self, a
|
|
|
2100
2100
|
*/
|
|
2101
2101
|
export const liftEither = f => (...a) => {
|
|
2102
2102
|
const e = f(...a);
|
|
2103
|
-
return
|
|
2103
|
+
return Either.isLeft(e) ? [] : [e.right];
|
|
2104
2104
|
};
|
|
2105
2105
|
/**
|
|
2106
2106
|
* Check if a predicate holds true for every `ReadonlyArray` element.
|
|
@@ -2175,7 +2175,7 @@ export const unfold = (b, f) => {
|
|
|
2175
2175
|
const out = [];
|
|
2176
2176
|
let next = b;
|
|
2177
2177
|
let o;
|
|
2178
|
-
while (
|
|
2178
|
+
while (Option.isSome(o = f(next))) {
|
|
2179
2179
|
const [a, b] = o.value;
|
|
2180
2180
|
out.push(a);
|
|
2181
2181
|
next = b;
|
|
@@ -2274,11 +2274,11 @@ export const dedupe = self => dedupeWith(self, Equal.equivalence());
|
|
|
2274
2274
|
*/
|
|
2275
2275
|
export const dedupeAdjacentWith = /*#__PURE__*/dual(2, (self, isEquivalent) => {
|
|
2276
2276
|
const out = [];
|
|
2277
|
-
let lastA =
|
|
2277
|
+
let lastA = Option.none();
|
|
2278
2278
|
for (const a of self) {
|
|
2279
|
-
if (
|
|
2279
|
+
if (Option.isNone(lastA) || !isEquivalent(a, lastA.value)) {
|
|
2280
2280
|
out.push(a);
|
|
2281
|
-
lastA =
|
|
2281
|
+
lastA = Option.some(a);
|
|
2282
2282
|
}
|
|
2283
2283
|
}
|
|
2284
2284
|
return out;
|
|
@@ -2472,7 +2472,7 @@ export const Do = /*#__PURE__*/of({});
|
|
|
2472
2472
|
* @category do notation
|
|
2473
2473
|
* @since 3.2.0
|
|
2474
2474
|
*/
|
|
2475
|
-
export const bind = /*#__PURE__*/
|
|
2475
|
+
export const bind = /*#__PURE__*/internalDoNotation.bind(map, flatMap);
|
|
2476
2476
|
/**
|
|
2477
2477
|
* The "do simulation" for array allows you to sequentially apply operations to the elements of arrays, just as nested loops allow you to go through all combinations of elements in an arrays.
|
|
2478
2478
|
*
|
|
@@ -2520,8 +2520,8 @@ export const bind = /*#__PURE__*/doNotation.bind(map, flatMap);
|
|
|
2520
2520
|
* @category do notation
|
|
2521
2521
|
* @since 3.2.0
|
|
2522
2522
|
*/
|
|
2523
|
-
export const bindTo = /*#__PURE__*/
|
|
2524
|
-
const let_ = /*#__PURE__*/
|
|
2523
|
+
export const bindTo = /*#__PURE__*/internalDoNotation.bindTo(map);
|
|
2524
|
+
const let_ = /*#__PURE__*/internalDoNotation.let_(map);
|
|
2525
2525
|
export {
|
|
2526
2526
|
/**
|
|
2527
2527
|
* The "do simulation" for array allows you to sequentially apply operations to the elements of arrays, just as nested loops allow you to go through all combinations of elements in an arrays.
|