@ts-fns/stdlib 0.1.0 → 0.2.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/dist/array/index.cjs +230 -33
- package/dist/array/index.cjs.map +1 -1
- package/dist/array/index.d.cts +434 -32
- package/dist/array/index.d.cts.map +1 -1
- package/dist/array/index.d.mts +434 -32
- package/dist/array/index.d.mts.map +1 -1
- package/dist/array/index.mjs +216 -18
- package/dist/array/index.mjs.map +1 -1
- package/dist/function/index.cjs +4 -2
- package/dist/function/index.d.cts +128 -13
- package/dist/function/index.d.cts.map +1 -1
- package/dist/function/index.d.mts +128 -13
- package/dist/function/index.d.mts.map +1 -1
- package/dist/function/index.mjs +3 -3
- package/dist/{function-DnI2v0p3.mjs → function-CYHPhQCQ.mjs} +84 -6
- package/dist/function-CYHPhQCQ.mjs.map +1 -0
- package/dist/{function-CB82a2GS.cjs → function-DYPifnmg.cjs} +95 -5
- package/dist/function-DYPifnmg.cjs.map +1 -0
- package/dist/{get-yrs1Kqho.cjs → get-1kqkxPFX.cjs} +20 -8
- package/dist/get-1kqkxPFX.cjs.map +1 -0
- package/dist/{get-CWL_cu6G.mjs → get-Dv6ejLZg.mjs} +21 -3
- package/dist/get-Dv6ejLZg.mjs.map +1 -0
- package/dist/guard/index.cjs +5 -12
- package/dist/guard/index.cjs.map +1 -1
- package/dist/guard/index.d.cts +18 -17
- package/dist/guard/index.d.cts.map +1 -1
- package/dist/guard/index.d.mts +18 -17
- package/dist/guard/index.d.mts.map +1 -1
- package/dist/guard/index.mjs +4 -12
- package/dist/guard/index.mjs.map +1 -1
- package/dist/index-MbdqaUt1.d.cts +54 -0
- package/dist/index-MbdqaUt1.d.cts.map +1 -0
- package/dist/index-k-paNOu4.d.mts +54 -0
- package/dist/index-k-paNOu4.d.mts.map +1 -0
- package/dist/iterator/index.cjs +72 -26
- package/dist/iterator/index.cjs.map +1 -1
- package/dist/iterator/index.d.cts +157 -5
- package/dist/iterator/index.d.cts.map +1 -1
- package/dist/iterator/index.d.mts +157 -5
- package/dist/iterator/index.d.mts.map +1 -1
- package/dist/iterator/index.mjs +66 -24
- package/dist/iterator/index.mjs.map +1 -1
- package/dist/lens/index.cjs +3 -3
- package/dist/lens/index.cjs.map +1 -1
- package/dist/lens/index.mjs +3 -3
- package/dist/lens/index.mjs.map +1 -1
- package/dist/map/index.cjs +88 -1
- package/dist/map/index.cjs.map +1 -1
- package/dist/map/index.d.cts +130 -2
- package/dist/map/index.d.cts.map +1 -1
- package/dist/map/index.d.mts +130 -2
- package/dist/map/index.d.mts.map +1 -1
- package/dist/map/index.mjs +86 -2
- package/dist/map/index.mjs.map +1 -1
- package/dist/number/index.cjs +91 -18
- package/dist/number/index.cjs.map +1 -1
- package/dist/number/index.d.cts +134 -19
- package/dist/number/index.d.cts.map +1 -1
- package/dist/number/index.d.mts +134 -19
- package/dist/number/index.d.mts.map +1 -1
- package/dist/number/index.mjs +91 -18
- package/dist/number/index.mjs.map +1 -1
- package/dist/object/index.cjs +111 -7
- package/dist/object/index.cjs.map +1 -1
- package/dist/object/index.d.cts +186 -26
- package/dist/object/index.d.cts.map +1 -1
- package/dist/object/index.d.mts +186 -26
- package/dist/object/index.d.mts.map +1 -1
- package/dist/object/index.mjs +111 -7
- package/dist/object/index.mjs.map +1 -1
- package/dist/orNull-CJNrTjhQ.cjs +45 -0
- package/dist/orNull-CJNrTjhQ.cjs.map +1 -0
- package/dist/orNull-EeXiCxD4.mjs +34 -0
- package/dist/orNull-EeXiCxD4.mjs.map +1 -0
- package/dist/order/index.cjs +22 -1
- package/dist/order/index.cjs.map +1 -1
- package/dist/order/index.d.cts +2 -2
- package/dist/order/index.d.mts +2 -2
- package/dist/order/index.mjs +22 -1
- package/dist/order/index.mjs.map +1 -1
- package/dist/{order.constants-BWSCg3C7.d.cts → order.constants-DpGY-EDp.d.cts} +4 -1
- package/dist/order.constants-DpGY-EDp.d.cts.map +1 -0
- package/dist/{order.constants-BWSCg3C7.d.mts → order.constants-DpGY-EDp.d.mts} +4 -1
- package/dist/order.constants-DpGY-EDp.d.mts.map +1 -0
- package/dist/purry-DXnhXie9.mjs +22 -0
- package/dist/purry-DXnhXie9.mjs.map +1 -0
- package/dist/purry-Dqp_F64t.cjs +27 -0
- package/dist/purry-Dqp_F64t.cjs.map +1 -0
- package/dist/set/index.cjs +59 -1
- package/dist/set/index.cjs.map +1 -1
- package/dist/set/index.d.cts +151 -2
- package/dist/set/index.d.cts.map +1 -1
- package/dist/set/index.d.mts +151 -2
- package/dist/set/index.d.mts.map +1 -1
- package/dist/set/index.mjs +59 -2
- package/dist/set/index.mjs.map +1 -1
- package/dist/string/index.cjs +289 -15
- package/dist/string/index.cjs.map +1 -1
- package/dist/string/index.d.cts +406 -1
- package/dist/string/index.d.cts.map +1 -1
- package/dist/string/index.d.mts +406 -1
- package/dist/string/index.d.mts.map +1 -1
- package/dist/string/index.mjs +271 -4
- package/dist/string/index.mjs.map +1 -1
- package/dist/tuple/index.cjs +20 -21
- package/dist/tuple/index.cjs.map +1 -1
- package/dist/tuple/index.d.cts +27 -58
- package/dist/tuple/index.d.cts.map +1 -1
- package/dist/tuple/index.d.mts +27 -58
- package/dist/tuple/index.d.mts.map +1 -1
- package/dist/tuple/index.mjs +20 -22
- package/dist/tuple/index.mjs.map +1 -1
- package/package.json +5 -6
- package/dist/function-CB82a2GS.cjs.map +0 -1
- package/dist/function-DnI2v0p3.mjs.map +0 -1
- package/dist/get-CWL_cu6G.mjs.map +0 -1
- package/dist/get-yrs1Kqho.cjs.map +0 -1
- package/dist/index-BJlKyBJH.d.cts +0 -18
- package/dist/index-BJlKyBJH.d.cts.map +0 -1
- package/dist/index-DGrnGMDt.d.mts +0 -18
- package/dist/index-DGrnGMDt.d.mts.map +0 -1
- package/dist/isNotNil-DrF-ohem.cjs +0 -28
- package/dist/isNotNil-DrF-ohem.cjs.map +0 -1
- package/dist/isNotNil-R5f1hC53.mjs +0 -23
- package/dist/isNotNil-R5f1hC53.mjs.map +0 -1
- package/dist/orThrow-V91Jw2lF.mjs +0 -15
- package/dist/orThrow-V91Jw2lF.mjs.map +0 -1
- package/dist/orThrow-ejzcQYAI.cjs +0 -20
- package/dist/orThrow-ejzcQYAI.cjs.map +0 -1
- package/dist/order.constants-BWSCg3C7.d.cts.map +0 -1
- package/dist/order.constants-BWSCg3C7.d.mts.map +0 -1
- package/dist/purry-B2_0DGLV.cjs +0 -28
- package/dist/purry-B2_0DGLV.cjs.map +0 -1
- package/dist/purry-BOWmqwDB.mjs +0 -23
- package/dist/purry-BOWmqwDB.mjs.map +0 -1
package/dist/order/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_purry = require("../purry-
|
|
2
|
+
const require_purry = require("../purry-Dqp_F64t.cjs");
|
|
3
3
|
const require_errors = require("../errors-O-d_Vemi.cjs");
|
|
4
4
|
//#region src/order/breakTie.ts
|
|
5
5
|
function breakTieImplementation(order, other) {
|
|
@@ -19,11 +19,24 @@ function compare(...args) {
|
|
|
19
19
|
}
|
|
20
20
|
//#endregion
|
|
21
21
|
//#region src/order/order.constants.ts
|
|
22
|
+
/** Order value indicating the left operand is less than the right. */
|
|
22
23
|
const lt = -1;
|
|
24
|
+
/** Order value indicating the operands are equal. */
|
|
23
25
|
const eq = 0;
|
|
26
|
+
/** Order value indicating the left operand is greater than the right. */
|
|
24
27
|
const gt = 1;
|
|
25
28
|
//#endregion
|
|
26
29
|
//#region src/order/negate.ts
|
|
30
|
+
/**
|
|
31
|
+
* Flips an order value: less-than becomes greater-than and vice versa; equal stays equal.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* negate(-1); // 1
|
|
36
|
+
* negate(0); // 0
|
|
37
|
+
* negate(1); // -1
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
27
40
|
function negate(order) {
|
|
28
41
|
switch (order) {
|
|
29
42
|
case -1: return 1;
|
|
@@ -34,6 +47,14 @@ function negate(order) {
|
|
|
34
47
|
}
|
|
35
48
|
//#endregion
|
|
36
49
|
//#region src/order/reverse.ts
|
|
50
|
+
/**
|
|
51
|
+
* Reverses an orderer by negating its result.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* reverse((a, b) => (a < b ? -1 : a > b ? 1 : 0))(2, 1); // 1
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
37
58
|
function reverse(orderer) {
|
|
38
59
|
return (left, right) => negate(orderer(left, right));
|
|
39
60
|
}
|
package/dist/order/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["purry","NotYetImplementedError","purry","Panic"],"sources":["../../src/order/breakTie.ts","../../src/order/compare.ts","../../src/order/order.constants.ts","../../src/order/negate.ts","../../src/order/reverse.ts"],"sourcesContent":["import { purry } from '../function/purry';\n\nimport type { Order } from './order.constants';\n\nexport function breakTieImplementation(order: Order, other: Order): Order {\n if (order === 0) return other;\n return order;\n}\n\nexport function breakTie(other: Order): (order: Order) => Order;\nexport function breakTie(order: Order, other: Order): Order;\nexport function breakTie(...args: readonly unknown[]): unknown {\n return purry(breakTieImplementation, args);\n}\n","import { NotYetImplementedError } from '../errors';\nimport { purry } from '../function/purry';\n\nimport type { Order } from './order.constants';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction compareImplementation(left: Order, right: Order): Order {\n throw new NotYetImplementedError('Order.compare not yet implemented');\n}\n\nexport function compare(left: Order, right: Order): Order;\nexport function compare(...args: readonly unknown[]): unknown {\n return purry(compareImplementation, args);\n}\n","export type Eq = 0;\nexport type Lt = -1;\nexport type Gt = 1;\n\nexport type Order = Eq | Gt | Lt;\n\nexport const lt: Lt = -1;\nexport const eq: Eq = 0;\nexport const gt: Gt = 1;\n","import { Panic } from '../errors';\n\nimport type { Order } from './order.constants';\nimport { eq, gt, lt } from './order.constants';\n\nexport function negate(order: Order): Order {\n switch (order) {\n case lt:\n return gt;\n case eq:\n return eq;\n case gt:\n return lt;\n default:\n throw new Panic('Ord.negate() received a number that was not -1, 0, or 1');\n }\n}\n","import { negate } from './negate';\nimport type { Order } from './order.constants';\n\nexport function reverse<T>(orderer: (left: T, right: T) => Order): (left: T, right: T) => Order {\n return (left: T, right: T) => negate(orderer(left, right));\n}\n"],"mappings":";;;;AAIA,SAAgB,uBAAuB,OAAc,OAAqB;CACxE,IAAI,UAAU,GAAG,OAAO;CACxB,OAAO;AACT;
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["purry","NotYetImplementedError","purry","Panic"],"sources":["../../src/order/breakTie.ts","../../src/order/compare.ts","../../src/order/order.constants.ts","../../src/order/negate.ts","../../src/order/reverse.ts"],"sourcesContent":["import { purry } from '../function/purry';\n\nimport type { Order } from './order.constants';\n\nexport function breakTieImplementation(order: Order, other: Order): Order {\n if (order === 0) return other;\n return order;\n}\n\n/**\n * Resolves a tie by returning `other` when `order` is equal; otherwise returns `order`.\n *\n * @example\n * ```ts\n * breakTie(0, 1); // 1\n * breakTie(-1, 1); // -1\n * breakTie(1)(0); // 1\n * ```\n */\nexport function breakTie(other: Order): (order: Order) => Order;\nexport function breakTie(order: Order, other: Order): Order;\nexport function breakTie(...args: readonly unknown[]): unknown {\n return purry(breakTieImplementation, args);\n}\n","import { NotYetImplementedError } from '../errors';\nimport { purry } from '../function/purry';\n\nimport type { Order } from './order.constants';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction compareImplementation(left: Order, right: Order): Order {\n throw new NotYetImplementedError('Order.compare not yet implemented');\n}\n\n/**\n * Compares two order values and returns their relative ordering.\n *\n * @example\n * ```ts\n * compare(-1, 1); // throws NotYetImplementedError\n * ```\n */\nexport function compare(left: Order, right: Order): Order;\nexport function compare(...args: readonly unknown[]): unknown {\n return purry(compareImplementation, args);\n}\n","export type Eq = 0;\nexport type Lt = -1;\nexport type Gt = 1;\n\nexport type Order = Eq | Gt | Lt;\n\n/** Order value indicating the left operand is less than the right. */\nexport const lt: Lt = -1;\n\n/** Order value indicating the operands are equal. */\nexport const eq: Eq = 0;\n\n/** Order value indicating the left operand is greater than the right. */\nexport const gt: Gt = 1;\n","import { Panic } from '../errors';\n\nimport type { Order } from './order.constants';\nimport { eq, gt, lt } from './order.constants';\n\n/**\n * Flips an order value: less-than becomes greater-than and vice versa; equal stays equal.\n *\n * @example\n * ```ts\n * negate(-1); // 1\n * negate(0); // 0\n * negate(1); // -1\n * ```\n */\nexport function negate(order: Order): Order {\n switch (order) {\n case lt:\n return gt;\n case eq:\n return eq;\n case gt:\n return lt;\n default:\n throw new Panic('Ord.negate() received a number that was not -1, 0, or 1');\n }\n}\n","import { negate } from './negate';\nimport type { Order } from './order.constants';\n\n/**\n * Reverses an orderer by negating its result.\n *\n * @example\n * ```ts\n * reverse((a, b) => (a < b ? -1 : a > b ? 1 : 0))(2, 1); // 1\n * ```\n */\nexport function reverse<T>(orderer: (left: T, right: T) => Order): (left: T, right: T) => Order {\n return (left: T, right: T) => negate(orderer(left, right));\n}\n"],"mappings":";;;;AAIA,SAAgB,uBAAuB,OAAc,OAAqB;CACxE,IAAI,UAAU,GAAG,OAAO;CACxB,OAAO;AACT;AAcA,SAAgB,SAAS,GAAG,MAAmC;CAC7D,OAAOA,cAAAA,MAAM,wBAAwB,IAAI;AAC3C;;;ACjBA,SAAS,sBAAsB,MAAa,OAAqB;CAC/D,MAAM,IAAIC,eAAAA,uBAAuB,mCAAmC;AACtE;AAWA,SAAgB,QAAQ,GAAG,MAAmC;CAC5D,OAAOC,cAAAA,MAAM,uBAAuB,IAAI;AAC1C;;;;ACdA,MAAa,KAAS;;AAGtB,MAAa,KAAS;;AAGtB,MAAa,KAAS;;;;;;;;;;;;;ACEtB,SAAgB,OAAO,OAAqB;CAC1C,QAAQ,OAAR;EACE,KAAA,IACE,OAAA;EACF,KAAA,GACE,OAAA;EACF,KAAA,GACE,OAAA;EACF,SACE,MAAM,IAAIC,eAAAA,MAAM,yDAAyD;CAC7E;AACF;;;;;;;;;;;ACfA,SAAgB,QAAW,SAAqE;CAC9F,QAAQ,MAAS,UAAa,OAAO,QAAQ,MAAM,KAAK,CAAC;AAC3D"}
|
package/dist/order/index.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as eq, i as Order, n as Gt, o as gt, r as Lt, s as lt, t as Eq } from "../order.constants-
|
|
2
|
-
import { a as breakTieImplementation, i as breakTie, n as negate, r as compare, t as reverse } from "../index-
|
|
1
|
+
import { a as eq, i as Order, n as Gt, o as gt, r as Lt, s as lt, t as Eq } from "../order.constants-DpGY-EDp.cjs";
|
|
2
|
+
import { a as breakTieImplementation, i as breakTie, n as negate, r as compare, t as reverse } from "../index-MbdqaUt1.cjs";
|
|
3
3
|
export { Eq, Gt, Lt, Order, breakTie, breakTieImplementation, compare, eq, gt, lt, negate, reverse };
|
package/dist/order/index.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as eq, i as Order, n as Gt, o as gt, r as Lt, s as lt, t as Eq } from "../order.constants-
|
|
2
|
-
import { a as breakTieImplementation, i as breakTie, n as negate, r as compare, t as reverse } from "../index-
|
|
1
|
+
import { a as eq, i as Order, n as Gt, o as gt, r as Lt, s as lt, t as Eq } from "../order.constants-DpGY-EDp.mjs";
|
|
2
|
+
import { a as breakTieImplementation, i as breakTie, n as negate, r as compare, t as reverse } from "../index-k-paNOu4.mjs";
|
|
3
3
|
export { Eq, Gt, Lt, Order, breakTie, breakTieImplementation, compare, eq, gt, lt, negate, reverse };
|
package/dist/order/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as purry } from "../purry-
|
|
1
|
+
import { t as purry } from "../purry-DXnhXie9.mjs";
|
|
2
2
|
import { a as NotYetImplementedError, o as Panic } from "../errors-Dw1kitu_.mjs";
|
|
3
3
|
//#region src/order/breakTie.ts
|
|
4
4
|
function breakTieImplementation(order, other) {
|
|
@@ -18,11 +18,24 @@ function compare(...args) {
|
|
|
18
18
|
}
|
|
19
19
|
//#endregion
|
|
20
20
|
//#region src/order/order.constants.ts
|
|
21
|
+
/** Order value indicating the left operand is less than the right. */
|
|
21
22
|
const lt = -1;
|
|
23
|
+
/** Order value indicating the operands are equal. */
|
|
22
24
|
const eq = 0;
|
|
25
|
+
/** Order value indicating the left operand is greater than the right. */
|
|
23
26
|
const gt = 1;
|
|
24
27
|
//#endregion
|
|
25
28
|
//#region src/order/negate.ts
|
|
29
|
+
/**
|
|
30
|
+
* Flips an order value: less-than becomes greater-than and vice versa; equal stays equal.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* negate(-1); // 1
|
|
35
|
+
* negate(0); // 0
|
|
36
|
+
* negate(1); // -1
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
26
39
|
function negate(order) {
|
|
27
40
|
switch (order) {
|
|
28
41
|
case -1: return 1;
|
|
@@ -33,6 +46,14 @@ function negate(order) {
|
|
|
33
46
|
}
|
|
34
47
|
//#endregion
|
|
35
48
|
//#region src/order/reverse.ts
|
|
49
|
+
/**
|
|
50
|
+
* Reverses an orderer by negating its result.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* reverse((a, b) => (a < b ? -1 : a > b ? 1 : 0))(2, 1); // 1
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
36
57
|
function reverse(orderer) {
|
|
37
58
|
return (left, right) => negate(orderer(left, right));
|
|
38
59
|
}
|
package/dist/order/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/order/breakTie.ts","../../src/order/compare.ts","../../src/order/order.constants.ts","../../src/order/negate.ts","../../src/order/reverse.ts"],"sourcesContent":["import { purry } from '../function/purry';\n\nimport type { Order } from './order.constants';\n\nexport function breakTieImplementation(order: Order, other: Order): Order {\n if (order === 0) return other;\n return order;\n}\n\nexport function breakTie(other: Order): (order: Order) => Order;\nexport function breakTie(order: Order, other: Order): Order;\nexport function breakTie(...args: readonly unknown[]): unknown {\n return purry(breakTieImplementation, args);\n}\n","import { NotYetImplementedError } from '../errors';\nimport { purry } from '../function/purry';\n\nimport type { Order } from './order.constants';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction compareImplementation(left: Order, right: Order): Order {\n throw new NotYetImplementedError('Order.compare not yet implemented');\n}\n\nexport function compare(left: Order, right: Order): Order;\nexport function compare(...args: readonly unknown[]): unknown {\n return purry(compareImplementation, args);\n}\n","export type Eq = 0;\nexport type Lt = -1;\nexport type Gt = 1;\n\nexport type Order = Eq | Gt | Lt;\n\nexport const lt: Lt = -1;\nexport const eq: Eq = 0;\nexport const gt: Gt = 1;\n","import { Panic } from '../errors';\n\nimport type { Order } from './order.constants';\nimport { eq, gt, lt } from './order.constants';\n\nexport function negate(order: Order): Order {\n switch (order) {\n case lt:\n return gt;\n case eq:\n return eq;\n case gt:\n return lt;\n default:\n throw new Panic('Ord.negate() received a number that was not -1, 0, or 1');\n }\n}\n","import { negate } from './negate';\nimport type { Order } from './order.constants';\n\nexport function reverse<T>(orderer: (left: T, right: T) => Order): (left: T, right: T) => Order {\n return (left: T, right: T) => negate(orderer(left, right));\n}\n"],"mappings":";;;AAIA,SAAgB,uBAAuB,OAAc,OAAqB;CACxE,IAAI,UAAU,GAAG,OAAO;CACxB,OAAO;AACT;
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/order/breakTie.ts","../../src/order/compare.ts","../../src/order/order.constants.ts","../../src/order/negate.ts","../../src/order/reverse.ts"],"sourcesContent":["import { purry } from '../function/purry';\n\nimport type { Order } from './order.constants';\n\nexport function breakTieImplementation(order: Order, other: Order): Order {\n if (order === 0) return other;\n return order;\n}\n\n/**\n * Resolves a tie by returning `other` when `order` is equal; otherwise returns `order`.\n *\n * @example\n * ```ts\n * breakTie(0, 1); // 1\n * breakTie(-1, 1); // -1\n * breakTie(1)(0); // 1\n * ```\n */\nexport function breakTie(other: Order): (order: Order) => Order;\nexport function breakTie(order: Order, other: Order): Order;\nexport function breakTie(...args: readonly unknown[]): unknown {\n return purry(breakTieImplementation, args);\n}\n","import { NotYetImplementedError } from '../errors';\nimport { purry } from '../function/purry';\n\nimport type { Order } from './order.constants';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction compareImplementation(left: Order, right: Order): Order {\n throw new NotYetImplementedError('Order.compare not yet implemented');\n}\n\n/**\n * Compares two order values and returns their relative ordering.\n *\n * @example\n * ```ts\n * compare(-1, 1); // throws NotYetImplementedError\n * ```\n */\nexport function compare(left: Order, right: Order): Order;\nexport function compare(...args: readonly unknown[]): unknown {\n return purry(compareImplementation, args);\n}\n","export type Eq = 0;\nexport type Lt = -1;\nexport type Gt = 1;\n\nexport type Order = Eq | Gt | Lt;\n\n/** Order value indicating the left operand is less than the right. */\nexport const lt: Lt = -1;\n\n/** Order value indicating the operands are equal. */\nexport const eq: Eq = 0;\n\n/** Order value indicating the left operand is greater than the right. */\nexport const gt: Gt = 1;\n","import { Panic } from '../errors';\n\nimport type { Order } from './order.constants';\nimport { eq, gt, lt } from './order.constants';\n\n/**\n * Flips an order value: less-than becomes greater-than and vice versa; equal stays equal.\n *\n * @example\n * ```ts\n * negate(-1); // 1\n * negate(0); // 0\n * negate(1); // -1\n * ```\n */\nexport function negate(order: Order): Order {\n switch (order) {\n case lt:\n return gt;\n case eq:\n return eq;\n case gt:\n return lt;\n default:\n throw new Panic('Ord.negate() received a number that was not -1, 0, or 1');\n }\n}\n","import { negate } from './negate';\nimport type { Order } from './order.constants';\n\n/**\n * Reverses an orderer by negating its result.\n *\n * @example\n * ```ts\n * reverse((a, b) => (a < b ? -1 : a > b ? 1 : 0))(2, 1); // 1\n * ```\n */\nexport function reverse<T>(orderer: (left: T, right: T) => Order): (left: T, right: T) => Order {\n return (left: T, right: T) => negate(orderer(left, right));\n}\n"],"mappings":";;;AAIA,SAAgB,uBAAuB,OAAc,OAAqB;CACxE,IAAI,UAAU,GAAG,OAAO;CACxB,OAAO;AACT;AAcA,SAAgB,SAAS,GAAG,MAAmC;CAC7D,OAAO,MAAM,wBAAwB,IAAI;AAC3C;;;ACjBA,SAAS,sBAAsB,MAAa,OAAqB;CAC/D,MAAM,IAAI,uBAAuB,mCAAmC;AACtE;AAWA,SAAgB,QAAQ,GAAG,MAAmC;CAC5D,OAAO,MAAM,uBAAuB,IAAI;AAC1C;;;;ACdA,MAAa,KAAS;;AAGtB,MAAa,KAAS;;AAGtB,MAAa,KAAS;;;;;;;;;;;;;ACEtB,SAAgB,OAAO,OAAqB;CAC1C,QAAQ,OAAR;EACE,KAAA,IACE,OAAA;EACF,KAAA,GACE,OAAA;EACF,KAAA,GACE,OAAA;EACF,SACE,MAAM,IAAI,MAAM,yDAAyD;CAC7E;AACF;;;;;;;;;;;ACfA,SAAgB,QAAW,SAAqE;CAC9F,QAAQ,MAAS,UAAa,OAAO,QAAQ,MAAM,KAAK,CAAC;AAC3D"}
|
|
@@ -3,9 +3,12 @@ type Eq = 0;
|
|
|
3
3
|
type Lt = -1;
|
|
4
4
|
type Gt = 1;
|
|
5
5
|
type Order = Eq | Gt | Lt;
|
|
6
|
+
/** Order value indicating the left operand is less than the right. */
|
|
6
7
|
declare const lt: Lt;
|
|
8
|
+
/** Order value indicating the operands are equal. */
|
|
7
9
|
declare const eq: Eq;
|
|
10
|
+
/** Order value indicating the left operand is greater than the right. */
|
|
8
11
|
declare const gt: Gt;
|
|
9
12
|
//#endregion
|
|
10
13
|
export { eq as a, Order as i, Gt as n, gt as o, Lt as r, lt as s, Eq as t };
|
|
11
|
-
//# sourceMappingURL=order.constants-
|
|
14
|
+
//# sourceMappingURL=order.constants-DpGY-EDp.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order.constants-DpGY-EDp.d.cts","names":[],"sources":["../src/order/order.constants.ts"],"mappings":";KAAY,EAAA;AAAA,KACA,EAAA;AAAA,KACA,EAAA;AAAA,KAEA,KAAA,GAAQ,EAAA,GAAK,EAAA,GAAK,EAAA;;cAGjB,EAAA,EAAI,EAAO;AANxB;AAAA,cASa,EAAA,EAAI,EAAM;;cAGV,EAAA,EAAI,EAAM"}
|
|
@@ -3,9 +3,12 @@ type Eq = 0;
|
|
|
3
3
|
type Lt = -1;
|
|
4
4
|
type Gt = 1;
|
|
5
5
|
type Order = Eq | Gt | Lt;
|
|
6
|
+
/** Order value indicating the left operand is less than the right. */
|
|
6
7
|
declare const lt: Lt;
|
|
8
|
+
/** Order value indicating the operands are equal. */
|
|
7
9
|
declare const eq: Eq;
|
|
10
|
+
/** Order value indicating the left operand is greater than the right. */
|
|
8
11
|
declare const gt: Gt;
|
|
9
12
|
//#endregion
|
|
10
13
|
export { eq as a, Order as i, Gt as n, gt as o, Lt as r, lt as s, Eq as t };
|
|
11
|
-
//# sourceMappingURL=order.constants-
|
|
14
|
+
//# sourceMappingURL=order.constants-DpGY-EDp.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order.constants-DpGY-EDp.d.mts","names":[],"sources":["../src/order/order.constants.ts"],"mappings":";KAAY,EAAA;AAAA,KACA,EAAA;AAAA,KACA,EAAA;AAAA,KAEA,KAAA,GAAQ,EAAA,GAAK,EAAA,GAAK,EAAA;;cAGjB,EAAA,EAAI,EAAO;AANxB;AAAA,cASa,EAAA,EAAI,EAAM;;cAGV,EAAA,EAAI,EAAM"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/function/purry.ts
|
|
2
|
+
/**
|
|
3
|
+
* Enables pipe-style partial application for multi-argument functions.
|
|
4
|
+
* With all arguments, calls the function immediately; with one fewer, returns a function that accepts the remaining argument.
|
|
5
|
+
* Throws when called with any other number of arguments.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* purry((data, n) => data.slice(0, n), [2])([1, 2, 3]); // [1, 2]
|
|
10
|
+
* purry((data, n) => data.slice(0, n), [[1, 2, 3], 2]); // [1, 2]
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
function purry(fn, args) {
|
|
14
|
+
const diff = fn.length - args.length;
|
|
15
|
+
if (diff === 0) return fn(...args);
|
|
16
|
+
if (diff === 1) return (data) => fn(data, ...args);
|
|
17
|
+
throw new Error(`Attempt to call Purried function "${fn.name}" failed with wrong number of arguments. Received "${args.length}". It can accept either "${fn.length}" or "${fn.length - 1}" arguments.`);
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { purry as t };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=purry-DXnhXie9.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"purry-DXnhXie9.mjs","names":[],"sources":["../src/function/purry.ts"],"sourcesContent":["/**\n * Enables pipe-style partial application for multi-argument functions.\n * With all arguments, calls the function immediately; with one fewer, returns a function that accepts the remaining argument.\n * Throws when called with any other number of arguments.\n *\n * @example\n * ```ts\n * purry((data, n) => data.slice(0, n), [2])([1, 2, 3]); // [1, 2]\n * purry((data, n) => data.slice(0, n), [[1, 2, 3], 2]); // [1, 2]\n * ```\n */\nexport function purry(fn: (...args: any) => unknown, args: readonly unknown[]): unknown {\n const diff = fn.length - args.length;\n if (diff === 0) {\n return fn(...args);\n }\n\n if (diff === 1) {\n return (data: unknown): unknown => fn(data, ...args);\n }\n\n throw new Error(\n `Attempt to call Purried function \"${fn.name}\" failed with wrong number of arguments. Received \"${args.length}\". It can accept either \"${fn.length}\" or \"${fn.length - 1}\" arguments.`,\n );\n}\n"],"mappings":";;;;;;;;;;;;AAWA,SAAgB,MAAM,IAA+B,MAAmC;CACtF,MAAM,OAAO,GAAG,SAAS,KAAK;CAC9B,IAAI,SAAS,GACX,OAAO,GAAG,GAAG,IAAI;CAGnB,IAAI,SAAS,GACX,QAAQ,SAA2B,GAAG,MAAM,GAAG,IAAI;CAGrD,MAAM,IAAI,MACR,qCAAqC,GAAG,KAAK,qDAAqD,KAAK,OAAO,2BAA2B,GAAG,OAAO,QAAQ,GAAG,SAAS,EAAE,aAC3K;AACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/function/purry.ts
|
|
2
|
+
/**
|
|
3
|
+
* Enables pipe-style partial application for multi-argument functions.
|
|
4
|
+
* With all arguments, calls the function immediately; with one fewer, returns a function that accepts the remaining argument.
|
|
5
|
+
* Throws when called with any other number of arguments.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* purry((data, n) => data.slice(0, n), [2])([1, 2, 3]); // [1, 2]
|
|
10
|
+
* purry((data, n) => data.slice(0, n), [[1, 2, 3], 2]); // [1, 2]
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
function purry(fn, args) {
|
|
14
|
+
const diff = fn.length - args.length;
|
|
15
|
+
if (diff === 0) return fn(...args);
|
|
16
|
+
if (diff === 1) return (data) => fn(data, ...args);
|
|
17
|
+
throw new Error(`Attempt to call Purried function "${fn.name}" failed with wrong number of arguments. Received "${args.length}". It can accept either "${fn.length}" or "${fn.length - 1}" arguments.`);
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
Object.defineProperty(exports, "purry", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function() {
|
|
23
|
+
return purry;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=purry-Dqp_F64t.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"purry-Dqp_F64t.cjs","names":[],"sources":["../src/function/purry.ts"],"sourcesContent":["/**\n * Enables pipe-style partial application for multi-argument functions.\n * With all arguments, calls the function immediately; with one fewer, returns a function that accepts the remaining argument.\n * Throws when called with any other number of arguments.\n *\n * @example\n * ```ts\n * purry((data, n) => data.slice(0, n), [2])([1, 2, 3]); // [1, 2]\n * purry((data, n) => data.slice(0, n), [[1, 2, 3], 2]); // [1, 2]\n * ```\n */\nexport function purry(fn: (...args: any) => unknown, args: readonly unknown[]): unknown {\n const diff = fn.length - args.length;\n if (diff === 0) {\n return fn(...args);\n }\n\n if (diff === 1) {\n return (data: unknown): unknown => fn(data, ...args);\n }\n\n throw new Error(\n `Attempt to call Purried function \"${fn.name}\" failed with wrong number of arguments. Received \"${args.length}\". It can accept either \"${fn.length}\" or \"${fn.length - 1}\" arguments.`,\n );\n}\n"],"mappings":";;;;;;;;;;;;AAWA,SAAgB,MAAM,IAA+B,MAAmC;CACtF,MAAM,OAAO,GAAG,SAAS,KAAK;CAC9B,IAAI,SAAS,GACX,OAAO,GAAG,GAAG,IAAI;CAGnB,IAAI,SAAS,GACX,QAAQ,SAA2B,GAAG,MAAM,GAAG,IAAI;CAGrD,MAAM,IAAI,MACR,qCAAqC,GAAG,KAAK,qDAAqD,KAAK,OAAO,2BAA2B,GAAG,OAAO,QAAQ,GAAG,SAAS,EAAE,aAC3K;AACF"}
|
package/dist/set/index.cjs
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_purry = require("../purry-
|
|
2
|
+
const require_purry = require("../purry-Dqp_F64t.cjs");
|
|
3
|
+
//#region src/set/_globalAliases.ts
|
|
4
|
+
/**
|
|
5
|
+
* Alias of the built-in set constructor. `new Set() === new Set.Ctor()`
|
|
6
|
+
* @function
|
|
7
|
+
*/
|
|
8
|
+
const Ctor = Set;
|
|
9
|
+
//#endregion
|
|
3
10
|
//#region src/set/add.ts
|
|
4
11
|
function addImplementation(data, value) {
|
|
5
12
|
return data.add(value);
|
|
@@ -9,6 +16,14 @@ function add(...args) {
|
|
|
9
16
|
}
|
|
10
17
|
//#endregion
|
|
11
18
|
//#region src/set/clear.ts
|
|
19
|
+
/**
|
|
20
|
+
* Removes all values from a set and returns the same set.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* clear(new Set([1, 2, 3])); // Set(0) {}
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
12
27
|
function clear(data) {
|
|
13
28
|
data.clear();
|
|
14
29
|
return data;
|
|
@@ -23,6 +38,15 @@ function difference(...args) {
|
|
|
23
38
|
}
|
|
24
39
|
//#endregion
|
|
25
40
|
//#region src/set/entries.ts
|
|
41
|
+
/**
|
|
42
|
+
* Returns an iterator of a set's value-key pairs.
|
|
43
|
+
* For sets, each entry repeats the same value as both key and value.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* [...entries(new Set([1, 2]))]; // [[1, 1], [2, 2]]
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
26
50
|
function entries(data) {
|
|
27
51
|
return data.entries();
|
|
28
52
|
}
|
|
@@ -37,9 +61,25 @@ function forEach(...args) {
|
|
|
37
61
|
}
|
|
38
62
|
//#endregion
|
|
39
63
|
//#region src/set/from.ts
|
|
64
|
+
/**
|
|
65
|
+
* Creates a set from an iterable of values.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```ts
|
|
69
|
+
* from([1, 2, 2, 3]); // Set(3) { 1, 2, 3 }
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
40
72
|
function from(iterable) {
|
|
41
73
|
return new Set(iterable);
|
|
42
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Creates an empty set.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* empty(); // Set(0) {}
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
43
83
|
function empty() {
|
|
44
84
|
return /* @__PURE__ */ new Set();
|
|
45
85
|
}
|
|
@@ -77,6 +117,15 @@ function isSubsetOf(...args) {
|
|
|
77
117
|
}
|
|
78
118
|
//#endregion
|
|
79
119
|
//#region src/set/keys.ts
|
|
120
|
+
/**
|
|
121
|
+
* Returns an iterator of a set's values.
|
|
122
|
+
* For sets, keys and values are the same.
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```ts
|
|
126
|
+
* [...keys(new Set([1, 2, 3]))]; // [1, 2, 3]
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
80
129
|
function keys(data) {
|
|
81
130
|
return data.keys();
|
|
82
131
|
}
|
|
@@ -107,10 +156,19 @@ function union(...args) {
|
|
|
107
156
|
}
|
|
108
157
|
//#endregion
|
|
109
158
|
//#region src/set/values.ts
|
|
159
|
+
/**
|
|
160
|
+
* Returns an iterator of a set's values.
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```ts
|
|
164
|
+
* [...values(new Set([1, 2, 3]))]; // [1, 2, 3]
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
110
167
|
function values(data) {
|
|
111
168
|
return data.values();
|
|
112
169
|
}
|
|
113
170
|
//#endregion
|
|
171
|
+
exports.Ctor = Ctor;
|
|
114
172
|
exports.add = add;
|
|
115
173
|
exports.clear = clear;
|
|
116
174
|
exports.difference = difference;
|
package/dist/set/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["purry","purry","purry","purry","purry","purry","purry","purry","purry","purry"],"sources":["../../src/set/add.ts","../../src/set/clear.ts","../../src/set/difference.ts","../../src/set/entries.ts","../../src/set/forEach.ts","../../src/set/from.ts","../../src/set/has.ts","../../src/set/intersection.ts","../../src/set/isDisjointFrom.ts","../../src/set/isSubsetOf.ts","../../src/set/keys.ts","../../src/set/remove.ts","../../src/set/symmetricDifference.ts","../../src/set/union.ts","../../src/set/values.ts"],"sourcesContent":["import { purry } from '../function/purry';\n\nfunction addImplementation<T>(data: Set<T>, value: T): Set<T> {\n return data.add(value);\n}\n\nexport function add<T>(value: T): (data: Set<T>) => Set<T>;\nexport function add<T>(data: Set<T>, value: T): Set<T>;\nexport function add(...args: readonly unknown[]): unknown {\n return purry(addImplementation, args);\n}\n","export function clear<T>(data: Set<T>): Set<T> {\n data.clear();\n return data;\n}\n","import { purry } from '../function/purry';\n\nfunction differenceImplementation<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T> {\n return data.difference(other);\n}\n\nexport function difference<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => Set<T>;\nexport function difference<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T>;\nexport function difference(...args: readonly unknown[]): unknown {\n return purry(differenceImplementation, args);\n}\n","export function entries<T>(data: Set<T>): SetIterator<[T, T]> {\n return data.entries();\n}\n","import { purry } from '../function/purry';\n\nfunction forEachImplementation<T>(data: Set<T>, callbackfn: (value: T, key: T, set: Set<T>) => void): Set<T> {\n data.forEach(callbackfn);\n return data;\n}\n\nexport function forEach<T>(callbackfn: (value: T, key: T, set: Set<T>) => void): (data: Set<T>) => Set<T>;\nexport function forEach<T>(data: Set<T>, callbackfn: (value: T, key: T, set: Set<T>) => void): Set<T>;\nexport function forEach(...args: readonly unknown[]): unknown {\n return purry(forEachImplementation, args);\n}\n","export function from<T>(iterable: Iterable<T> | readonly T[]): Set<T> {\n return new Set(iterable);\n}\n\nexport function empty<T>(): Set<T> {\n return new Set();\n}\n","import { purry } from '../function/purry';\n\nfunction hasImplementation<T>(data: Set<T>, value: T): boolean {\n return data.has(value);\n}\n\nexport function has<T>(value: T): (data: Set<T>) => Set<T>;\nexport function has<T>(data: Set<T>, value: T): Set<T>;\nexport function has(...args: readonly unknown[]): unknown {\n return purry(hasImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction intersectionImplementation<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T & U> {\n return data.intersection(other);\n}\n\nexport function intersection<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => Set<T & U>;\nexport function intersection<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T & U>;\nexport function intersection(...args: readonly unknown[]): unknown {\n return purry(intersectionImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction isDisjointFromImplementation<T, U>(data: Set<T>, other: ReadonlySetLike<U>): boolean {\n return data.isDisjointFrom(other);\n}\n\nexport function isDisjointFrom<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => boolean;\nexport function isDisjointFrom<T, U>(data: Set<T>, other: ReadonlySetLike<U>): boolean;\nexport function isDisjointFrom(...args: readonly unknown[]): unknown {\n return purry(isDisjointFromImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction isSubsetOfImplementation<T, U>(data: Set<T>, other: ReadonlySetLike<U>): boolean {\n return data.isSubsetOf(other);\n}\n\nexport function isSubsetOf<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => boolean;\nexport function isSubsetOf<T, U>(data: Set<T>, other: ReadonlySetLike<U>): boolean;\nexport function isSubsetOf(...args: readonly unknown[]): unknown {\n return purry(isSubsetOfImplementation, args);\n}\n","export function keys<T>(data: Set<T>): SetIterator<T> {\n return data.keys();\n}\n","import { purry } from '../function/purry';\n\nfunction removeImplementation<T>(data: Set<T>, value: T): Set<T> {\n data.delete(value);\n return data;\n}\n\n/**\n * TODO: should this return a tuple?\n */\nexport function remove<T>(value: T): (data: Set<T>) => Set<T>;\nexport function remove<T>(data: Set<T>, value: T): Set<T>;\nexport function remove(...args: readonly unknown[]): unknown {\n return purry(removeImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction symmetricDifferenceImplementation<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T | U> {\n return data.symmetricDifference(other);\n}\n\nexport function symmetricDifference<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => Set<T | U>;\nexport function symmetricDifference<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T | U>;\nexport function symmetricDifference(...args: readonly unknown[]): unknown {\n return purry(symmetricDifferenceImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction unionImplementation<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T | U> {\n return data.union(other);\n}\n\nexport function union<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => Set<T | U>;\nexport function union<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T | U>;\nexport function union(...args: readonly unknown[]): unknown {\n return purry(unionImplementation, args);\n}\n","export function values<T>(data: Set<T>): SetIterator<T> {\n return data.values();\n}\n"],"mappings":";;;AAEA,SAAS,kBAAqB,MAAc,OAAkB;CAC5D,OAAO,KAAK,IAAI,KAAK;AACvB;AAIA,SAAgB,IAAI,GAAG,MAAmC;CACxD,OAAOA,cAAAA,MAAM,mBAAmB,IAAI;AACtC;;;ACVA,SAAgB,MAAS,MAAsB;CAC7C,KAAK,MAAM;CACX,OAAO;AACT;;;ACDA,SAAS,yBAA+B,MAAc,OAAmC;CACvF,OAAO,KAAK,WAAW,KAAK;AAC9B;AAIA,SAAgB,WAAW,GAAG,MAAmC;CAC/D,OAAOC,cAAAA,MAAM,0BAA0B,IAAI;AAC7C;;;ACVA,SAAgB,QAAW,MAAmC;CAC5D,OAAO,KAAK,QAAQ;AACtB;;;ACAA,SAAS,sBAAyB,MAAc,YAA6D;CAC3G,KAAK,QAAQ,UAAU;CACvB,OAAO;AACT;AAIA,SAAgB,QAAQ,GAAG,MAAmC;CAC5D,OAAOC,cAAAA,MAAM,uBAAuB,IAAI;AAC1C;;;ACXA,SAAgB,KAAQ,UAA8C;CACpE,OAAO,IAAI,IAAI,QAAQ;AACzB;AAEA,SAAgB,QAAmB;CACjC,uBAAO,IAAI,IAAI;AACjB;;;ACJA,SAAS,kBAAqB,MAAc,OAAmB;CAC7D,OAAO,KAAK,IAAI,KAAK;AACvB;AAIA,SAAgB,IAAI,GAAG,MAAmC;CACxD,OAAOC,cAAAA,MAAM,mBAAmB,IAAI;AACtC;;;ACRA,SAAS,2BAAiC,MAAc,OAAuC;CAC7F,OAAO,KAAK,aAAa,KAAK;AAChC;AAIA,SAAgB,aAAa,GAAG,MAAmC;CACjE,OAAOC,cAAAA,MAAM,4BAA4B,IAAI;AAC/C;;;ACRA,SAAS,6BAAmC,MAAc,OAAoC;CAC5F,OAAO,KAAK,eAAe,KAAK;AAClC;AAIA,SAAgB,eAAe,GAAG,MAAmC;CACnE,OAAOC,cAAAA,MAAM,8BAA8B,IAAI;AACjD;;;ACRA,SAAS,yBAA+B,MAAc,OAAoC;CACxF,OAAO,KAAK,WAAW,KAAK;AAC9B;AAIA,SAAgB,WAAW,GAAG,MAAmC;CAC/D,OAAOC,cAAAA,MAAM,0BAA0B,IAAI;AAC7C;;;ACVA,SAAgB,KAAQ,MAA8B;CACpD,OAAO,KAAK,KAAK;AACnB;;;ACAA,SAAS,qBAAwB,MAAc,OAAkB;CAC/D,KAAK,OAAO,KAAK;CACjB,OAAO;AACT;AAOA,SAAgB,OAAO,GAAG,MAAmC;CAC3D,OAAOC,cAAAA,MAAM,sBAAsB,IAAI;AACzC;;;ACZA,SAAS,kCAAwC,MAAc,OAAuC;CACpG,OAAO,KAAK,oBAAoB,KAAK;AACvC;AAIA,SAAgB,oBAAoB,GAAG,MAAmC;CACxE,OAAOC,cAAAA,MAAM,mCAAmC,IAAI;AACtD;;;ACRA,SAAS,oBAA0B,MAAc,OAAuC;CACtF,OAAO,KAAK,MAAM,KAAK;AACzB;AAIA,SAAgB,MAAM,GAAG,MAAmC;CAC1D,OAAOC,cAAAA,MAAM,qBAAqB,IAAI;AACxC;;;ACVA,SAAgB,OAAU,MAA8B;CACtD,OAAO,KAAK,OAAO;AACrB"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["purry","purry","purry","purry","purry","purry","purry","purry","purry","purry"],"sources":["../../src/set/_globalAliases.ts","../../src/set/add.ts","../../src/set/clear.ts","../../src/set/difference.ts","../../src/set/entries.ts","../../src/set/forEach.ts","../../src/set/from.ts","../../src/set/has.ts","../../src/set/intersection.ts","../../src/set/isDisjointFrom.ts","../../src/set/isSubsetOf.ts","../../src/set/keys.ts","../../src/set/remove.ts","../../src/set/symmetricDifference.ts","../../src/set/union.ts","../../src/set/values.ts"],"sourcesContent":["/**\n * Alias of the built-in set constructor. `new Set() === new Set.Ctor()`\n * @function\n */\nexport const Ctor = Set;\n","import { purry } from '../function/purry';\n\nfunction addImplementation<T>(data: Set<T>, value: T): Set<T> {\n return data.add(value);\n}\n\n/**\n * Adds a value to a set and returns the same set.\n *\n * @example\n * ```ts\n * add(new Set([1]), 2); // Set(2) { 1, 2 }\n * add(3)(new Set([1, 2])); // Set(3) { 1, 2, 3 }\n * ```\n */\nexport function add<T>(value: T): (data: Set<T>) => Set<T>;\nexport function add<T>(data: Set<T>, value: T): Set<T>;\nexport function add(...args: readonly unknown[]): unknown {\n return purry(addImplementation, args);\n}\n","/**\n * Removes all values from a set and returns the same set.\n *\n * @example\n * ```ts\n * clear(new Set([1, 2, 3])); // Set(0) {}\n * ```\n */\nexport function clear<T>(data: Set<T>): Set<T> {\n data.clear();\n return data;\n}\n","import { purry } from '../function/purry';\n\nfunction differenceImplementation<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T> {\n return data.difference(other);\n}\n\n/**\n * Returns a new set containing values in the first set but not the second.\n *\n * @example\n * ```ts\n * difference(new Set([1, 2, 3]), new Set([2, 3, 4])); // Set(1) { 1 }\n * difference(new Set([2, 3, 4]))(new Set([1, 2, 3])); // Set(1) { 1 }\n * ```\n */\nexport function difference<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => Set<T>;\nexport function difference<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T>;\nexport function difference(...args: readonly unknown[]): unknown {\n return purry(differenceImplementation, args);\n}\n","/**\n * Returns an iterator of a set's value-key pairs.\n * For sets, each entry repeats the same value as both key and value.\n *\n * @example\n * ```ts\n * [...entries(new Set([1, 2]))]; // [[1, 1], [2, 2]]\n * ```\n */\nexport function entries<T>(data: Set<T>): SetIterator<[T, T]> {\n return data.entries();\n}\n","import { purry } from '../function/purry';\n\nfunction forEachImplementation<T>(data: Set<T>, callbackfn: (value: T, key: T, set: Set<T>) => void): Set<T> {\n data.forEach(callbackfn);\n return data;\n}\n\n/**\n * Runs a callback for each set value and returns the same set.\n *\n * @example\n * ```ts\n * const set = new Set([1, 2, 3]);\n * forEach(set, value => console.log(value)); // set\n * forEach(value => console.log(value))(set); // set\n * ```\n */\nexport function forEach<T>(callbackfn: (value: T, key: T, set: Set<T>) => void): (data: Set<T>) => Set<T>;\nexport function forEach<T>(data: Set<T>, callbackfn: (value: T, key: T, set: Set<T>) => void): Set<T>;\nexport function forEach(...args: readonly unknown[]): unknown {\n return purry(forEachImplementation, args);\n}\n","/**\n * Creates a set from an iterable of values.\n *\n * @example\n * ```ts\n * from([1, 2, 2, 3]); // Set(3) { 1, 2, 3 }\n * ```\n */\nexport function from<T>(iterable: Iterable<T> | readonly T[]): Set<T> {\n return new Set(iterable);\n}\n\n/**\n * Creates an empty set.\n *\n * @example\n * ```ts\n * empty(); // Set(0) {}\n * ```\n */\nexport function empty<T>(): Set<T> {\n return new Set();\n}\n","import { purry } from '../function/purry';\n\nfunction hasImplementation<T>(data: Set<T>, value: T): boolean {\n return data.has(value);\n}\n\n/**\n * Returns whether a set contains a value.\n *\n * @example\n * ```ts\n * has(new Set([1, 2]), 1); // true\n * has(new Set([1, 2]), 3); // false\n * has(2)(new Set([1, 2])); // true\n * ```\n */\nexport function has<T>(value: T): (data: Set<T>) => Set<T>;\nexport function has<T>(data: Set<T>, value: T): Set<T>;\nexport function has(...args: readonly unknown[]): unknown {\n return purry(hasImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction intersectionImplementation<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T & U> {\n return data.intersection(other);\n}\n\n/**\n * Returns a new set containing values present in both sets.\n *\n * @example\n * ```ts\n * intersection(new Set([1, 2, 3]), new Set([2, 3, 4])); // Set(2) { 2, 3 }\n * intersection(new Set([2, 3, 4]))(new Set([1, 2, 3])); // Set(2) { 2, 3 }\n * ```\n */\nexport function intersection<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => Set<T & U>;\nexport function intersection<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T & U>;\nexport function intersection(...args: readonly unknown[]): unknown {\n return purry(intersectionImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction isDisjointFromImplementation<T, U>(data: Set<T>, other: ReadonlySetLike<U>): boolean {\n return data.isDisjointFrom(other);\n}\n\n/**\n * Returns whether two sets share no values.\n *\n * @example\n * ```ts\n * isDisjointFrom(new Set([1, 2]), new Set([3, 4])); // true\n * isDisjointFrom(new Set([1, 2]), new Set([2, 3])); // false\n * isDisjointFrom(new Set([2, 3]))(new Set([1, 2])); // false\n * ```\n */\nexport function isDisjointFrom<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => boolean;\nexport function isDisjointFrom<T, U>(data: Set<T>, other: ReadonlySetLike<U>): boolean;\nexport function isDisjointFrom(...args: readonly unknown[]): unknown {\n return purry(isDisjointFromImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction isSubsetOfImplementation<T, U>(data: Set<T>, other: ReadonlySetLike<U>): boolean {\n return data.isSubsetOf(other);\n}\n\n/**\n * Returns whether every value in the first set is contained in the second.\n *\n * @example\n * ```ts\n * isSubsetOf(new Set([1, 2]), new Set([1, 2, 3])); // true\n * isSubsetOf(new Set([1, 4]), new Set([1, 2, 3])); // false\n * isSubsetOf(new Set([1, 2, 3]))(new Set([1, 2])); // true\n * ```\n */\nexport function isSubsetOf<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => boolean;\nexport function isSubsetOf<T, U>(data: Set<T>, other: ReadonlySetLike<U>): boolean;\nexport function isSubsetOf(...args: readonly unknown[]): unknown {\n return purry(isSubsetOfImplementation, args);\n}\n","/**\n * Returns an iterator of a set's values.\n * For sets, keys and values are the same.\n *\n * @example\n * ```ts\n * [...keys(new Set([1, 2, 3]))]; // [1, 2, 3]\n * ```\n */\nexport function keys<T>(data: Set<T>): SetIterator<T> {\n return data.keys();\n}\n","import { purry } from '../function/purry';\n\nfunction removeImplementation<T>(data: Set<T>, value: T): Set<T> {\n data.delete(value);\n return data;\n}\n\n/**\n * Removes a value from a set and returns the same set.\n *\n * @example\n * ```ts\n * const set = new Set([1, 2, 3]);\n * remove(set, 2); // Set(2) { 1, 3 }\n * remove(3)(set); // Set(1) { 1 }\n * ```\n */\nexport function remove<T>(value: T): (data: Set<T>) => Set<T>;\nexport function remove<T>(data: Set<T>, value: T): Set<T>;\nexport function remove(...args: readonly unknown[]): unknown {\n return purry(removeImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction symmetricDifferenceImplementation<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T | U> {\n return data.symmetricDifference(other);\n}\n\n/**\n * Returns a new set containing values in either set but not both.\n *\n * @example\n * ```ts\n * symmetricDifference(new Set([1, 2, 3]), new Set([2, 3, 4])); // Set(2) { 1, 4 }\n * symmetricDifference(new Set([2, 3, 4]))(new Set([1, 2, 3])); // Set(2) { 1, 4 }\n * ```\n */\nexport function symmetricDifference<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => Set<T | U>;\nexport function symmetricDifference<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T | U>;\nexport function symmetricDifference(...args: readonly unknown[]): unknown {\n return purry(symmetricDifferenceImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction unionImplementation<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T | U> {\n return data.union(other);\n}\n\n/**\n * Returns a new set containing all values from both sets.\n *\n * @example\n * ```ts\n * union(new Set([1, 2]), new Set([2, 3])); // Set(3) { 1, 2, 3 }\n * union(new Set([2, 3]))(new Set([1, 2])); // Set(3) { 1, 2, 3 }\n * ```\n */\nexport function union<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => Set<T | U>;\nexport function union<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T | U>;\nexport function union(...args: readonly unknown[]): unknown {\n return purry(unionImplementation, args);\n}\n","/**\n * Returns an iterator of a set's values.\n *\n * @example\n * ```ts\n * [...values(new Set([1, 2, 3]))]; // [1, 2, 3]\n * ```\n */\nexport function values<T>(data: Set<T>): SetIterator<T> {\n return data.values();\n}\n"],"mappings":";;;;;;;AAIA,MAAa,OAAO;;;ACFpB,SAAS,kBAAqB,MAAc,OAAkB;CAC5D,OAAO,KAAK,IAAI,KAAK;AACvB;AAaA,SAAgB,IAAI,GAAG,MAAmC;CACxD,OAAOA,cAAAA,MAAM,mBAAmB,IAAI;AACtC;;;;;;;;;;;ACXA,SAAgB,MAAS,MAAsB;CAC7C,KAAK,MAAM;CACX,OAAO;AACT;;;ACTA,SAAS,yBAA+B,MAAc,OAAmC;CACvF,OAAO,KAAK,WAAW,KAAK;AAC9B;AAaA,SAAgB,WAAW,GAAG,MAAmC;CAC/D,OAAOC,cAAAA,MAAM,0BAA0B,IAAI;AAC7C;;;;;;;;;;;;ACVA,SAAgB,QAAW,MAAmC;CAC5D,OAAO,KAAK,QAAQ;AACtB;;;ACTA,SAAS,sBAAyB,MAAc,YAA6D;CAC3G,KAAK,QAAQ,UAAU;CACvB,OAAO;AACT;AAcA,SAAgB,QAAQ,GAAG,MAAmC;CAC5D,OAAOC,cAAAA,MAAM,uBAAuB,IAAI;AAC1C;;;;;;;;;;;ACbA,SAAgB,KAAQ,UAA8C;CACpE,OAAO,IAAI,IAAI,QAAQ;AACzB;;;;;;;;;AAUA,SAAgB,QAAmB;CACjC,uBAAO,IAAI,IAAI;AACjB;;;ACpBA,SAAS,kBAAqB,MAAc,OAAmB;CAC7D,OAAO,KAAK,IAAI,KAAK;AACvB;AAcA,SAAgB,IAAI,GAAG,MAAmC;CACxD,OAAOC,cAAAA,MAAM,mBAAmB,IAAI;AACtC;;;AClBA,SAAS,2BAAiC,MAAc,OAAuC;CAC7F,OAAO,KAAK,aAAa,KAAK;AAChC;AAaA,SAAgB,aAAa,GAAG,MAAmC;CACjE,OAAOC,cAAAA,MAAM,4BAA4B,IAAI;AAC/C;;;ACjBA,SAAS,6BAAmC,MAAc,OAAoC;CAC5F,OAAO,KAAK,eAAe,KAAK;AAClC;AAcA,SAAgB,eAAe,GAAG,MAAmC;CACnE,OAAOC,cAAAA,MAAM,8BAA8B,IAAI;AACjD;;;AClBA,SAAS,yBAA+B,MAAc,OAAoC;CACxF,OAAO,KAAK,WAAW,KAAK;AAC9B;AAcA,SAAgB,WAAW,GAAG,MAAmC;CAC/D,OAAOC,cAAAA,MAAM,0BAA0B,IAAI;AAC7C;;;;;;;;;;;;ACXA,SAAgB,KAAQ,MAA8B;CACpD,OAAO,KAAK,KAAK;AACnB;;;ACTA,SAAS,qBAAwB,MAAc,OAAkB;CAC/D,KAAK,OAAO,KAAK;CACjB,OAAO;AACT;AAcA,SAAgB,OAAO,GAAG,MAAmC;CAC3D,OAAOC,cAAAA,MAAM,sBAAsB,IAAI;AACzC;;;ACnBA,SAAS,kCAAwC,MAAc,OAAuC;CACpG,OAAO,KAAK,oBAAoB,KAAK;AACvC;AAaA,SAAgB,oBAAoB,GAAG,MAAmC;CACxE,OAAOC,cAAAA,MAAM,mCAAmC,IAAI;AACtD;;;ACjBA,SAAS,oBAA0B,MAAc,OAAuC;CACtF,OAAO,KAAK,MAAM,KAAK;AACzB;AAaA,SAAgB,MAAM,GAAG,MAAmC;CAC1D,OAAOC,cAAAA,MAAM,qBAAqB,IAAI;AACxC;;;;;;;;;;;ACXA,SAAgB,OAAU,MAA8B;CACtD,OAAO,KAAK,OAAO;AACrB"}
|
package/dist/set/index.d.cts
CHANGED
|
@@ -1,61 +1,210 @@
|
|
|
1
|
+
//#region src/set/_globalAliases.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Alias of the built-in set constructor. `new Set() === new Set.Ctor()`
|
|
4
|
+
* @function
|
|
5
|
+
*/
|
|
6
|
+
declare const Ctor: SetConstructor;
|
|
7
|
+
//#endregion
|
|
1
8
|
//#region src/set/add.d.ts
|
|
9
|
+
/**
|
|
10
|
+
* Adds a value to a set and returns the same set.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* add(new Set([1]), 2); // Set(2) { 1, 2 }
|
|
15
|
+
* add(3)(new Set([1, 2])); // Set(3) { 1, 2, 3 }
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
2
18
|
declare function add<T>(value: T): (data: Set<T>) => Set<T>;
|
|
3
19
|
declare function add<T>(data: Set<T>, value: T): Set<T>;
|
|
4
20
|
//#endregion
|
|
5
21
|
//#region src/set/clear.d.ts
|
|
22
|
+
/**
|
|
23
|
+
* Removes all values from a set and returns the same set.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* clear(new Set([1, 2, 3])); // Set(0) {}
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
6
30
|
declare function clear<T>(data: Set<T>): Set<T>;
|
|
7
31
|
//#endregion
|
|
8
32
|
//#region src/set/difference.d.ts
|
|
33
|
+
/**
|
|
34
|
+
* Returns a new set containing values in the first set but not the second.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* difference(new Set([1, 2, 3]), new Set([2, 3, 4])); // Set(1) { 1 }
|
|
39
|
+
* difference(new Set([2, 3, 4]))(new Set([1, 2, 3])); // Set(1) { 1 }
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
9
42
|
declare function difference<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => Set<T>;
|
|
10
43
|
declare function difference<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T>;
|
|
11
44
|
//#endregion
|
|
12
45
|
//#region src/set/entries.d.ts
|
|
46
|
+
/**
|
|
47
|
+
* Returns an iterator of a set's value-key pairs.
|
|
48
|
+
* For sets, each entry repeats the same value as both key and value.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* [...entries(new Set([1, 2]))]; // [[1, 1], [2, 2]]
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
13
55
|
declare function entries<T>(data: Set<T>): SetIterator<[T, T]>;
|
|
14
56
|
//#endregion
|
|
15
57
|
//#region src/set/forEach.d.ts
|
|
58
|
+
/**
|
|
59
|
+
* Runs a callback for each set value and returns the same set.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* const set = new Set([1, 2, 3]);
|
|
64
|
+
* forEach(set, value => console.log(value)); // set
|
|
65
|
+
* forEach(value => console.log(value))(set); // set
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
16
68
|
declare function forEach<T>(callbackfn: (value: T, key: T, set: Set<T>) => void): (data: Set<T>) => Set<T>;
|
|
17
69
|
declare function forEach<T>(data: Set<T>, callbackfn: (value: T, key: T, set: Set<T>) => void): Set<T>;
|
|
18
70
|
//#endregion
|
|
19
71
|
//#region src/set/from.d.ts
|
|
72
|
+
/**
|
|
73
|
+
* Creates a set from an iterable of values.
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```ts
|
|
77
|
+
* from([1, 2, 2, 3]); // Set(3) { 1, 2, 3 }
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
20
80
|
declare function from<T>(iterable: Iterable<T> | readonly T[]): Set<T>;
|
|
81
|
+
/**
|
|
82
|
+
* Creates an empty set.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```ts
|
|
86
|
+
* empty(); // Set(0) {}
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
21
89
|
declare function empty<T>(): Set<T>;
|
|
22
90
|
//#endregion
|
|
23
91
|
//#region src/set/has.d.ts
|
|
92
|
+
/**
|
|
93
|
+
* Returns whether a set contains a value.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* has(new Set([1, 2]), 1); // true
|
|
98
|
+
* has(new Set([1, 2]), 3); // false
|
|
99
|
+
* has(2)(new Set([1, 2])); // true
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
24
102
|
declare function has<T>(value: T): (data: Set<T>) => Set<T>;
|
|
25
103
|
declare function has<T>(data: Set<T>, value: T): Set<T>;
|
|
26
104
|
//#endregion
|
|
27
105
|
//#region src/set/intersection.d.ts
|
|
106
|
+
/**
|
|
107
|
+
* Returns a new set containing values present in both sets.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```ts
|
|
111
|
+
* intersection(new Set([1, 2, 3]), new Set([2, 3, 4])); // Set(2) { 2, 3 }
|
|
112
|
+
* intersection(new Set([2, 3, 4]))(new Set([1, 2, 3])); // Set(2) { 2, 3 }
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
28
115
|
declare function intersection<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => Set<T & U>;
|
|
29
116
|
declare function intersection<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T & U>;
|
|
30
117
|
//#endregion
|
|
31
118
|
//#region src/set/isDisjointFrom.d.ts
|
|
119
|
+
/**
|
|
120
|
+
* Returns whether two sets share no values.
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```ts
|
|
124
|
+
* isDisjointFrom(new Set([1, 2]), new Set([3, 4])); // true
|
|
125
|
+
* isDisjointFrom(new Set([1, 2]), new Set([2, 3])); // false
|
|
126
|
+
* isDisjointFrom(new Set([2, 3]))(new Set([1, 2])); // false
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
32
129
|
declare function isDisjointFrom<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => boolean;
|
|
33
130
|
declare function isDisjointFrom<T, U>(data: Set<T>, other: ReadonlySetLike<U>): boolean;
|
|
34
131
|
//#endregion
|
|
35
132
|
//#region src/set/isSubsetOf.d.ts
|
|
133
|
+
/**
|
|
134
|
+
* Returns whether every value in the first set is contained in the second.
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```ts
|
|
138
|
+
* isSubsetOf(new Set([1, 2]), new Set([1, 2, 3])); // true
|
|
139
|
+
* isSubsetOf(new Set([1, 4]), new Set([1, 2, 3])); // false
|
|
140
|
+
* isSubsetOf(new Set([1, 2, 3]))(new Set([1, 2])); // true
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
36
143
|
declare function isSubsetOf<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => boolean;
|
|
37
144
|
declare function isSubsetOf<T, U>(data: Set<T>, other: ReadonlySetLike<U>): boolean;
|
|
38
145
|
//#endregion
|
|
39
146
|
//#region src/set/keys.d.ts
|
|
147
|
+
/**
|
|
148
|
+
* Returns an iterator of a set's values.
|
|
149
|
+
* For sets, keys and values are the same.
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```ts
|
|
153
|
+
* [...keys(new Set([1, 2, 3]))]; // [1, 2, 3]
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
40
156
|
declare function keys<T>(data: Set<T>): SetIterator<T>;
|
|
41
157
|
//#endregion
|
|
42
158
|
//#region src/set/remove.d.ts
|
|
43
159
|
/**
|
|
44
|
-
*
|
|
160
|
+
* Removes a value from a set and returns the same set.
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```ts
|
|
164
|
+
* const set = new Set([1, 2, 3]);
|
|
165
|
+
* remove(set, 2); // Set(2) { 1, 3 }
|
|
166
|
+
* remove(3)(set); // Set(1) { 1 }
|
|
167
|
+
* ```
|
|
45
168
|
*/
|
|
46
169
|
declare function remove<T>(value: T): (data: Set<T>) => Set<T>;
|
|
47
170
|
declare function remove<T>(data: Set<T>, value: T): Set<T>;
|
|
48
171
|
//#endregion
|
|
49
172
|
//#region src/set/symmetricDifference.d.ts
|
|
173
|
+
/**
|
|
174
|
+
* Returns a new set containing values in either set but not both.
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```ts
|
|
178
|
+
* symmetricDifference(new Set([1, 2, 3]), new Set([2, 3, 4])); // Set(2) { 1, 4 }
|
|
179
|
+
* symmetricDifference(new Set([2, 3, 4]))(new Set([1, 2, 3])); // Set(2) { 1, 4 }
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
50
182
|
declare function symmetricDifference<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => Set<T | U>;
|
|
51
183
|
declare function symmetricDifference<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T | U>;
|
|
52
184
|
//#endregion
|
|
53
185
|
//#region src/set/union.d.ts
|
|
186
|
+
/**
|
|
187
|
+
* Returns a new set containing all values from both sets.
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```ts
|
|
191
|
+
* union(new Set([1, 2]), new Set([2, 3])); // Set(3) { 1, 2, 3 }
|
|
192
|
+
* union(new Set([2, 3]))(new Set([1, 2])); // Set(3) { 1, 2, 3 }
|
|
193
|
+
* ```
|
|
194
|
+
*/
|
|
54
195
|
declare function union<U>(other: ReadonlySetLike<U>): <T>(data: Set<T>) => Set<T | U>;
|
|
55
196
|
declare function union<T, U>(data: Set<T>, other: ReadonlySetLike<U>): Set<T | U>;
|
|
56
197
|
//#endregion
|
|
57
198
|
//#region src/set/values.d.ts
|
|
199
|
+
/**
|
|
200
|
+
* Returns an iterator of a set's values.
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* ```ts
|
|
204
|
+
* [...values(new Set([1, 2, 3]))]; // [1, 2, 3]
|
|
205
|
+
* ```
|
|
206
|
+
*/
|
|
58
207
|
declare function values<T>(data: Set<T>): SetIterator<T>;
|
|
59
208
|
//#endregion
|
|
60
|
-
export { add, clear, difference, empty, entries, forEach, from, has, intersection, isDisjointFrom, isSubsetOf, keys, remove, symmetricDifference, union, values };
|
|
209
|
+
export { Ctor, add, clear, difference, empty, entries, forEach, from, has, intersection, isDisjointFrom, isSubsetOf, keys, remove, symmetricDifference, union, values };
|
|
61
210
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/set/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/set/add.ts","../../src/set/clear.ts","../../src/set/difference.ts","../../src/set/entries.ts","../../src/set/forEach.ts","../../src/set/from.ts","../../src/set/has.ts","../../src/set/intersection.ts","../../src/set/isDisjointFrom.ts","../../src/set/isSubsetOf.ts","../../src/set/keys.ts","../../src/set/remove.ts","../../src/set/symmetricDifference.ts","../../src/set/union.ts","../../src/set/values.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/set/_globalAliases.ts","../../src/set/add.ts","../../src/set/clear.ts","../../src/set/difference.ts","../../src/set/entries.ts","../../src/set/forEach.ts","../../src/set/from.ts","../../src/set/has.ts","../../src/set/intersection.ts","../../src/set/isDisjointFrom.ts","../../src/set/isSubsetOf.ts","../../src/set/keys.ts","../../src/set/remove.ts","../../src/set/symmetricDifference.ts","../../src/set/union.ts","../../src/set/values.ts"],"mappings":"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"}
|