isaacscript-common 31.1.1 → 31.2.1
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/index.rollup.d.ts +13 -3
- package/dist/isaacscript-common.lua +5 -1
- package/dist/src/functions/utils.d.ts +2 -2
- package/dist/src/functions/utils.lua +2 -2
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/types/TupleWithLengthBetween.d.ts +11 -0
- package/dist/src/types/TupleWithLengthBetween.d.ts.map +1 -0
- package/dist/src/types/TupleWithLengthBetween.lua +2 -0
- package/dist/src/types/TupleWithMaxLength.d.ts +2 -2
- package/dist/src/types/TupleWithMaxLength.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/functions/utils.ts +2 -2
- package/src/index.ts +1 -0
- package/src/types/TupleWithLengthBetween.ts +15 -0
- package/src/types/TupleWithMaxLength.ts +2 -2
package/dist/index.rollup.d.ts
CHANGED
|
@@ -4049,7 +4049,7 @@ export declare type EntityID = string & {
|
|
|
4049
4049
|
|
|
4050
4050
|
/**
|
|
4051
4051
|
* Helper function to return an array of integers with the specified range, inclusive on the lower
|
|
4052
|
-
* end and exclusive on the high end. (The "e" stands for exclusive.)
|
|
4052
|
+
* end and exclusive on the high end. (The "e" in the function name stands for exclusive.)
|
|
4053
4053
|
*
|
|
4054
4054
|
* - For example, `eRange(1, 3)` will return `[1, 2]`.
|
|
4055
4055
|
* - For example, `eRange(2)` will return `[0, 1]`.
|
|
@@ -7690,7 +7690,7 @@ export declare function inStartingRoom(): boolean;
|
|
|
7690
7690
|
|
|
7691
7691
|
/**
|
|
7692
7692
|
* Helper function to return an array of integers with the specified range, inclusive on both ends.
|
|
7693
|
-
* (The "i" stands for inclusive.)
|
|
7693
|
+
* (The "i" in the function name stands for inclusive.)
|
|
7694
7694
|
*
|
|
7695
7695
|
* - For example, `iRange(1, 3)` will return `[1, 2, 3]`.
|
|
7696
7696
|
* - For example, `iRange(2)` will return `[0, 1, 2]`.
|
|
@@ -16979,13 +16979,23 @@ infer F,
|
|
|
16979
16979
|
/** Helper type to convert a tuple to a union. */
|
|
16980
16980
|
export declare type TupleToUnion<T extends unknown[]> = T[number];
|
|
16981
16981
|
|
|
16982
|
+
/**
|
|
16983
|
+
* Helper type that validates that a tuple has a length between `MinLength` and `MaxLength`
|
|
16984
|
+
* (inclusive on both ends).
|
|
16985
|
+
*
|
|
16986
|
+
* For example, `TupleWithLengthBetween<string, 2, 4>` will allow string tuples of size 2, 3, or 4.
|
|
16987
|
+
*/
|
|
16988
|
+
export declare type TupleWithLengthBetween<T, MinLength extends number, MaxLength extends number> = (T[] | readonly T[]) & {
|
|
16989
|
+
length: Range<MinLength, MaxLength>;
|
|
16990
|
+
};
|
|
16991
|
+
|
|
16982
16992
|
/**
|
|
16983
16993
|
* Helper type that validates that a tuple does not have a length greater than N.
|
|
16984
16994
|
*
|
|
16985
16995
|
* For example, `TupleWithMaxLength<string, 3>` will allow string tuples of size 0, 1, 2, or 3.
|
|
16986
16996
|
*/
|
|
16987
16997
|
export declare type TupleWithMaxLength<T, MaxLength extends number> = (T[] | readonly T[]) & {
|
|
16988
|
-
length:
|
|
16998
|
+
length: Range<0, MaxLength>;
|
|
16989
16999
|
};
|
|
16990
17000
|
|
|
16991
17001
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
--[[
|
|
2
2
|
|
|
3
|
-
isaacscript-common 31.
|
|
3
|
+
isaacscript-common 31.2.1
|
|
4
4
|
|
|
5
5
|
This is the "isaacscript-common" library, which was created with the IsaacScript tool.
|
|
6
6
|
|
|
@@ -53862,6 +53862,10 @@ return ____exports
|
|
|
53862
53862
|
end,
|
|
53863
53863
|
["src.types.TupleToUnion"] = function(...)
|
|
53864
53864
|
local ____exports = {}
|
|
53865
|
+
return ____exports
|
|
53866
|
+
end,
|
|
53867
|
+
["src.types.TupleWithLengthBetween"] = function(...)
|
|
53868
|
+
local ____exports = {}
|
|
53865
53869
|
return ____exports
|
|
53866
53870
|
end,
|
|
53867
53871
|
["src.types.TupleWithMaxLength"] = function(...)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
2
|
/**
|
|
3
3
|
* Helper function to return an array of integers with the specified range, inclusive on the lower
|
|
4
|
-
* end and exclusive on the high end. (The "e" stands for exclusive.)
|
|
4
|
+
* end and exclusive on the high end. (The "e" in the function name stands for exclusive.)
|
|
5
5
|
*
|
|
6
6
|
* - For example, `eRange(1, 3)` will return `[1, 2]`.
|
|
7
7
|
* - For example, `eRange(2)` will return `[0, 1]`.
|
|
@@ -19,7 +19,7 @@ export declare function eRange(start: int, end?: int, increment?: number): int[]
|
|
|
19
19
|
export declare function getTraversalDescription(key: unknown, traversalDescription: string): string;
|
|
20
20
|
/**
|
|
21
21
|
* Helper function to return an array of integers with the specified range, inclusive on both ends.
|
|
22
|
-
* (The "i" stands for inclusive.)
|
|
22
|
+
* (The "i" in the function name stands for inclusive.)
|
|
23
23
|
*
|
|
24
24
|
* - For example, `iRange(1, 3)` will return `[1, 2, 3]`.
|
|
25
25
|
* - For example, `iRange(2)` will return `[0, 1, 2]`.
|
|
@@ -13,7 +13,7 @@ local getAllPlayers = ____playerIndex.getAllPlayers
|
|
|
13
13
|
local ____types = require("src.functions.types")
|
|
14
14
|
local isFunction = ____types.isFunction
|
|
15
15
|
--- Helper function to return an array of integers with the specified range, inclusive on the lower
|
|
16
|
-
-- end and exclusive on the high end. (The "e" stands for exclusive.)
|
|
16
|
+
-- end and exclusive on the high end. (The "e" in the function name stands for exclusive.)
|
|
17
17
|
--
|
|
18
18
|
-- - For example, `eRange(1, 3)` will return `[1, 2]`.
|
|
19
19
|
-- - For example, `eRange(2)` will return `[0, 1]`.
|
|
@@ -49,7 +49,7 @@ function ____exports.getTraversalDescription(self, key, traversalDescription)
|
|
|
49
49
|
return traversalDescription
|
|
50
50
|
end
|
|
51
51
|
--- Helper function to return an array of integers with the specified range, inclusive on both ends.
|
|
52
|
-
-- (The "i" stands for inclusive.)
|
|
52
|
+
-- (The "i" in the function name stands for inclusive.)
|
|
53
53
|
--
|
|
54
54
|
-- - For example, `iRange(1, 3)` will return `[1, 2, 3]`.
|
|
55
55
|
-- - For example, `iRange(2)` will return `[0, 1, 2]`.
|
package/dist/src/index.d.ts
CHANGED
|
@@ -178,6 +178,7 @@ export * from "./types/TSTLClass";
|
|
|
178
178
|
export * from "./types/Tuple";
|
|
179
179
|
export * from "./types/TupleToIntersection";
|
|
180
180
|
export * from "./types/TupleToUnion";
|
|
181
|
+
export * from "./types/TupleWithLengthBetween";
|
|
181
182
|
export * from "./types/TupleWithMaxLength";
|
|
182
183
|
export * from "./types/UnionToIntersection";
|
|
183
184
|
export * from "./types/UppercaseKeys";
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0CAA0C,CAAC;AACzD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Range } from "./Range";
|
|
2
|
+
/**
|
|
3
|
+
* Helper type that validates that a tuple has a length between `MinLength` and `MaxLength`
|
|
4
|
+
* (inclusive on both ends).
|
|
5
|
+
*
|
|
6
|
+
* For example, `TupleWithLengthBetween<string, 2, 4>` will allow string tuples of size 2, 3, or 4.
|
|
7
|
+
*/
|
|
8
|
+
export type TupleWithLengthBetween<T, MinLength extends number, MaxLength extends number> = (T[] | readonly T[]) & {
|
|
9
|
+
length: Range<MinLength, MaxLength>;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=TupleWithLengthBetween.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TupleWithLengthBetween.d.ts","sourceRoot":"","sources":["../../../src/types/TupleWithLengthBetween.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,CAChC,CAAC,EACD,SAAS,SAAS,MAAM,EACxB,SAAS,SAAS,MAAM,IACtB,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,GAAG;IACzB,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CACrC,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Range } from "./Range";
|
|
2
2
|
/**
|
|
3
3
|
* Helper type that validates that a tuple does not have a length greater than N.
|
|
4
4
|
*
|
|
5
5
|
* For example, `TupleWithMaxLength<string, 3>` will allow string tuples of size 0, 1, 2, or 3.
|
|
6
6
|
*/
|
|
7
7
|
export type TupleWithMaxLength<T, MaxLength extends number> = (T[] | readonly T[]) & {
|
|
8
|
-
length:
|
|
8
|
+
length: Range<0, MaxLength>;
|
|
9
9
|
};
|
|
10
10
|
//# sourceMappingURL=TupleWithMaxLength.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TupleWithMaxLength.d.ts","sourceRoot":"","sources":["../../../src/types/TupleWithMaxLength.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE
|
|
1
|
+
{"version":3,"file":"TupleWithMaxLength.d.ts","sourceRoot":"","sources":["../../../src/types/TupleWithMaxLength.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,EAAE,SAAS,SAAS,MAAM,IAAI,CAC1D,CAAC,EAAE,GACH,SAAS,CAAC,EAAE,CACf,GAAG;IACF,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;CAC7B,CAAC"}
|
package/package.json
CHANGED
package/src/functions/utils.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { isFunction } from "./types";
|
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Helper function to return an array of integers with the specified range, inclusive on the lower
|
|
9
|
-
* end and exclusive on the high end. (The "e" stands for exclusive.)
|
|
9
|
+
* end and exclusive on the high end. (The "e" in the function name stands for exclusive.)
|
|
10
10
|
*
|
|
11
11
|
* - For example, `eRange(1, 3)` will return `[1, 2]`.
|
|
12
12
|
* - For example, `eRange(2)` will return `[0, 1]`.
|
|
@@ -48,7 +48,7 @@ export function getTraversalDescription(
|
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
50
|
* Helper function to return an array of integers with the specified range, inclusive on both ends.
|
|
51
|
-
* (The "i" stands for inclusive.)
|
|
51
|
+
* (The "i" in the function name stands for inclusive.)
|
|
52
52
|
*
|
|
53
53
|
* - For example, `iRange(1, 3)` will return `[1, 2, 3]`.
|
|
54
54
|
* - For example, `iRange(2)` will return `[0, 1, 2]`.
|
package/src/index.ts
CHANGED
|
@@ -178,6 +178,7 @@ export * from "./types/TSTLClass";
|
|
|
178
178
|
export * from "./types/Tuple";
|
|
179
179
|
export * from "./types/TupleToIntersection";
|
|
180
180
|
export * from "./types/TupleToUnion";
|
|
181
|
+
export * from "./types/TupleWithLengthBetween";
|
|
181
182
|
export * from "./types/TupleWithMaxLength";
|
|
182
183
|
export * from "./types/UnionToIntersection";
|
|
183
184
|
export * from "./types/UppercaseKeys";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Range } from "./Range";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Helper type that validates that a tuple has a length between `MinLength` and `MaxLength`
|
|
5
|
+
* (inclusive on both ends).
|
|
6
|
+
*
|
|
7
|
+
* For example, `TupleWithLengthBetween<string, 2, 4>` will allow string tuples of size 2, 3, or 4.
|
|
8
|
+
*/
|
|
9
|
+
export type TupleWithLengthBetween<
|
|
10
|
+
T,
|
|
11
|
+
MinLength extends number,
|
|
12
|
+
MaxLength extends number,
|
|
13
|
+
> = (T[] | readonly T[]) & {
|
|
14
|
+
length: Range<MinLength, MaxLength>;
|
|
15
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Range } from "./Range";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Helper type that validates that a tuple does not have a length greater than N.
|
|
@@ -9,5 +9,5 @@ export type TupleWithMaxLength<T, MaxLength extends number> = (
|
|
|
9
9
|
| T[]
|
|
10
10
|
| readonly T[]
|
|
11
11
|
) & {
|
|
12
|
-
length:
|
|
12
|
+
length: Range<0, MaxLength>;
|
|
13
13
|
};
|