@duplojs/utils 1.3.24 → 1.3.25

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.
@@ -43,6 +43,7 @@ var chunk = require('./chunk.cjs');
43
43
  var insert$2 = require('./insert.cjs');
44
44
  var isLastIndex = require('./isLastIndex.cjs');
45
45
  var select = require('./select.cjs');
46
+ var lengthEqual = require('./lengthEqual.cjs');
46
47
  var _delete = require('./splice/delete.cjs');
47
48
  var insert = require('./splice/insert.cjs');
48
49
  var replace = require('./splice/replace.cjs');
@@ -104,6 +105,7 @@ exports.insert = insert$2.insert;
104
105
  exports.isLastIndex = isLastIndex.isLastIndex;
105
106
  exports.select = select.select;
106
107
  exports.selectTools = select.selectTools;
108
+ exports.lengthEqual = lengthEqual.lengthEqual;
107
109
  exports.spliceDelete = _delete.spliceDelete;
108
110
  exports.spliceInsert = insert.spliceInsert;
109
111
  exports.spliceReplace = replace.spliceReplace;
@@ -46,3 +46,4 @@ export * from "./chunk";
46
46
  export * from "./insert";
47
47
  export * from "./isLastIndex";
48
48
  export * from "./select";
49
+ export * from "./lengthEqual";
@@ -41,6 +41,7 @@ export { chunk } from './chunk.mjs';
41
41
  export { insert } from './insert.mjs';
42
42
  export { isLastIndex } from './isLastIndex.mjs';
43
43
  export { select, selectTools } from './select.mjs';
44
+ export { lengthEqual } from './lengthEqual.mjs';
44
45
  export { spliceDelete } from './splice/delete.mjs';
45
46
  export { spliceInsert } from './splice/insert.mjs';
46
47
  export { spliceReplace } from './splice/replace.mjs';
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ function lengthEqual(...args) {
4
+ if (args.length === 1) {
5
+ const [minLength] = args;
6
+ return (array) => lengthEqual(array, minLength);
7
+ }
8
+ const [array, minLength] = args;
9
+ return array.length === minLength;
10
+ }
11
+
12
+ exports.lengthEqual = lengthEqual;
@@ -0,0 +1,3 @@
1
+ import { type CreateTuple } from "./types";
2
+ export declare function lengthEqual<GenericArray extends readonly unknown[], GenericLength extends number>(length: GenericLength): (array: GenericArray) => array is CreateTuple<GenericArray[number], GenericLength>;
3
+ export declare function lengthEqual<GenericArray extends readonly unknown[], GenericLength extends number>(array: GenericArray, length: GenericLength): array is CreateTuple<GenericArray[number], GenericLength>;
@@ -0,0 +1,10 @@
1
+ function lengthEqual(...args) {
2
+ if (args.length === 1) {
3
+ const [minLength] = args;
4
+ return (array) => lengthEqual(array, minLength);
5
+ }
6
+ const [array, minLength] = args;
7
+ return array.length === minLength;
8
+ }
9
+
10
+ export { lengthEqual };
@@ -1,2 +1,2 @@
1
1
  import { type IsEqual } from "../../common/types/isEqual";
2
- export type CreateTuple<GenericValue extends unknown, GenericLength extends number, GenericLastTuple extends unknown[] = []> = IsEqual<GenericLength, number> extends true ? GenericValue[] : [...GenericLastTuple, GenericValue] extends infer InferredResult extends any[] ? IsEqual<InferredResult["length"], GenericLength> extends true ? InferredResult : IsEqual<InferredResult["length"], 1000> extends true ? [...InferredResult, ...GenericValue[]] : CreateTuple<GenericValue, GenericLength, InferredResult> : never;
2
+ export type CreateTuple<GenericValue extends unknown, GenericLength extends number, GenericLastTuple extends unknown[] = []> = IsEqual<GenericLength, number> extends true ? GenericValue[] : IsEqual<GenericLength, 0> extends true ? [] : [...GenericLastTuple, GenericValue] extends infer InferredResult extends any[] ? IsEqual<InferredResult["length"], GenericLength> extends true ? InferredResult : IsEqual<InferredResult["length"], 1000> extends true ? [...InferredResult, ...GenericValue[]] : CreateTuple<GenericValue, GenericLength, InferredResult> : never;
@@ -1733,6 +1733,9 @@
1733
1733
  {
1734
1734
  "name": "findLastIndex.d.ts"
1735
1735
  },
1736
+ {
1737
+ "name": "lengthEqual.cjs"
1738
+ },
1736
1739
  {
1737
1740
  "name": "minOf.mjs"
1738
1741
  },
@@ -1748,6 +1751,9 @@
1748
1751
  {
1749
1752
  "name": "reverse.cjs"
1750
1753
  },
1754
+ {
1755
+ "name": "lengthEqual.d.ts"
1756
+ },
1751
1757
  {
1752
1758
  "name": "coalescing.mjs"
1753
1759
  },
@@ -1810,6 +1816,9 @@
1810
1816
  {
1811
1817
  "name": "includes.cjs"
1812
1818
  },
1819
+ {
1820
+ "name": "lengthEqual.mjs"
1821
+ },
1813
1822
  {
1814
1823
  "name": "maxElements.d.ts"
1815
1824
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duplojs/utils",
3
- "version": "1.3.24",
3
+ "version": "1.3.25",
4
4
  "author": {
5
5
  "name": "mathcovax",
6
6
  "url": "https://github.com/mathcovax"