isaacscript-common 83.2.0 → 83.3.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.
|
@@ -130,6 +130,11 @@ export declare function filterMap<OldT, NewT>(array: readonly OldT[], func: (ele
|
|
|
130
130
|
* the length of the array.
|
|
131
131
|
*/
|
|
132
132
|
export declare function getArrayCombinations<T>(array: readonly T[], includeEmptyArray: boolean, min?: int, max?: int): ReadonlyArray<readonly T[]>;
|
|
133
|
+
/**
|
|
134
|
+
* Helper function to get the duplicate elements in an array. Only one element for each value will
|
|
135
|
+
* be returned. The elements will be sorted before they are returned.
|
|
136
|
+
*/
|
|
137
|
+
export declare function getArrayDuplicateElements<T>(array: readonly T[]): readonly T[];
|
|
133
138
|
/**
|
|
134
139
|
* Helper function to get an array containing the indexes of an array.
|
|
135
140
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/functions/array.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/functions/array.ts"],"names":[],"mappings":"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"}
|
package/dist/functions/array.lua
CHANGED
|
@@ -13,9 +13,11 @@ local __TS__ArraySlice = ____lualib.__TS__ArraySlice
|
|
|
13
13
|
local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
|
|
14
14
|
local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
|
|
15
15
|
local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
|
|
16
|
+
local Set = ____lualib.Set
|
|
17
|
+
local __TS__Spread = ____lualib.__TS__Spread
|
|
18
|
+
local __TS__ArraySort = ____lualib.__TS__ArraySort
|
|
16
19
|
local __TS__ArrayIncludes = ____lualib.__TS__ArrayIncludes
|
|
17
20
|
local __TS__ObjectKeys = ____lualib.__TS__ObjectKeys
|
|
18
|
-
local Set = ____lualib.Set
|
|
19
21
|
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
20
22
|
local __TS__ArrayReduce = ____lualib.__TS__ArrayReduce
|
|
21
23
|
local ____exports = {}
|
|
@@ -373,6 +375,20 @@ function ____exports.getArrayCombinations(self, array, includeEmptyArray, min, m
|
|
|
373
375
|
end
|
|
374
376
|
return all
|
|
375
377
|
end
|
|
378
|
+
--- Helper function to get the duplicate elements in an array. Only one element for each value will
|
|
379
|
+
-- be returned. The elements will be sorted before they are returned.
|
|
380
|
+
function ____exports.getArrayDuplicateElements(self, array)
|
|
381
|
+
local duplicateElements = __TS__New(Set)
|
|
382
|
+
local set = __TS__New(Set)
|
|
383
|
+
for ____, element in ipairs(array) do
|
|
384
|
+
if set:has(element) then
|
|
385
|
+
duplicateElements:add(element)
|
|
386
|
+
end
|
|
387
|
+
set:add(element)
|
|
388
|
+
end
|
|
389
|
+
local values = {__TS__Spread(duplicateElements)}
|
|
390
|
+
return __TS__ArraySort(values)
|
|
391
|
+
end
|
|
376
392
|
--- Helper function to get an array containing the indexes of an array.
|
|
377
393
|
--
|
|
378
394
|
-- For example, an array of `["Apple", "Banana"]` would return an array of `[0, 1]`.
|
package/dist/index.rollup.d.ts
CHANGED
|
@@ -5003,6 +5003,12 @@ export declare function getAngleDifference(angle1: float, angle2: float): float;
|
|
|
5003
5003
|
*/
|
|
5004
5004
|
export declare function getArrayCombinations<T>(array: readonly T[], includeEmptyArray: boolean, min?: int, max?: int): ReadonlyArray<readonly T[]>;
|
|
5005
5005
|
|
|
5006
|
+
/**
|
|
5007
|
+
* Helper function to get the duplicate elements in an array. Only one element for each value will
|
|
5008
|
+
* be returned. The elements will be sorted before they are returned.
|
|
5009
|
+
*/
|
|
5010
|
+
export declare function getArrayDuplicateElements<T>(array: readonly T[]): readonly T[];
|
|
5011
|
+
|
|
5006
5012
|
/**
|
|
5007
5013
|
* Helper function to get an array containing the indexes of an array.
|
|
5008
5014
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
--[[
|
|
2
2
|
|
|
3
|
-
isaacscript-common 83.
|
|
3
|
+
isaacscript-common 83.2.0
|
|
4
4
|
|
|
5
5
|
This is the "isaacscript-common" library, which was created with the IsaacScript tool.
|
|
6
6
|
|
|
@@ -18692,9 +18692,11 @@ local __TS__ArraySlice = ____lualib.__TS__ArraySlice
|
|
|
18692
18692
|
local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
|
|
18693
18693
|
local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
|
|
18694
18694
|
local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
|
|
18695
|
+
local Set = ____lualib.Set
|
|
18696
|
+
local __TS__Spread = ____lualib.__TS__Spread
|
|
18697
|
+
local __TS__ArraySort = ____lualib.__TS__ArraySort
|
|
18695
18698
|
local __TS__ArrayIncludes = ____lualib.__TS__ArrayIncludes
|
|
18696
18699
|
local __TS__ObjectKeys = ____lualib.__TS__ObjectKeys
|
|
18697
|
-
local Set = ____lualib.Set
|
|
18698
18700
|
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
18699
18701
|
local __TS__ArrayReduce = ____lualib.__TS__ArrayReduce
|
|
18700
18702
|
local ____exports = {}
|
|
@@ -19052,6 +19054,20 @@ function ____exports.getArrayCombinations(self, array, includeEmptyArray, min, m
|
|
|
19052
19054
|
end
|
|
19053
19055
|
return all
|
|
19054
19056
|
end
|
|
19057
|
+
--- Helper function to get the duplicate elements in an array. Only one element for each value will
|
|
19058
|
+
-- be returned. The elements will be sorted before they are returned.
|
|
19059
|
+
function ____exports.getArrayDuplicateElements(self, array)
|
|
19060
|
+
local duplicateElements = __TS__New(Set)
|
|
19061
|
+
local set = __TS__New(Set)
|
|
19062
|
+
for ____, element in ipairs(array) do
|
|
19063
|
+
if set:has(element) then
|
|
19064
|
+
duplicateElements:add(element)
|
|
19065
|
+
end
|
|
19066
|
+
set:add(element)
|
|
19067
|
+
end
|
|
19068
|
+
local values = {__TS__Spread(duplicateElements)}
|
|
19069
|
+
return __TS__ArraySort(values)
|
|
19070
|
+
end
|
|
19055
19071
|
--- Helper function to get an array containing the indexes of an array.
|
|
19056
19072
|
--
|
|
19057
19073
|
-- For example, an array of `["Apple", "Banana"]` would return an array of `[0, 1]`.
|
package/package.json
CHANGED
package/src/functions/array.ts
CHANGED
|
@@ -355,6 +355,27 @@ function addCombinations<T>(
|
|
|
355
355
|
}
|
|
356
356
|
}
|
|
357
357
|
|
|
358
|
+
/**
|
|
359
|
+
* Helper function to get the duplicate elements in an array. Only one element for each value will
|
|
360
|
+
* be returned. The elements will be sorted before they are returned.
|
|
361
|
+
*/
|
|
362
|
+
export function getArrayDuplicateElements<T>(
|
|
363
|
+
array: readonly T[],
|
|
364
|
+
): readonly T[] {
|
|
365
|
+
const duplicateElements = new Set<T>();
|
|
366
|
+
const set = new Set<T>();
|
|
367
|
+
|
|
368
|
+
for (const element of array) {
|
|
369
|
+
if (set.has(element)) {
|
|
370
|
+
duplicateElements.add(element);
|
|
371
|
+
}
|
|
372
|
+
set.add(element);
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
const values = [...duplicateElements];
|
|
376
|
+
return values.sort();
|
|
377
|
+
}
|
|
378
|
+
|
|
358
379
|
/**
|
|
359
380
|
* Helper function to get an array containing the indexes of an array.
|
|
360
381
|
*
|