@lowentry/utils 1.25.3 → 2.0.3
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/LICENSE +23 -0
- package/README.md +0 -2
- package/dist/src/LeTypes.d.ts +73 -0
- package/dist/src/LeTypes.d.ts.map +1 -0
- package/dist/src/LeTypes.js +235 -0
- package/dist/src/LeTypes.js.map +1 -0
- package/dist/src/LeUtils.d.ts +745 -0
- package/dist/src/LeUtils.d.ts.map +1 -0
- package/dist/src/LeUtils.js +3168 -0
- package/dist/src/LeUtils.js.map +1 -0
- package/dist/src/classes/EventEmitter.d.ts +51 -0
- package/dist/src/classes/EventEmitter.d.ts.map +1 -0
- package/dist/src/classes/EventEmitter.js +94 -0
- package/dist/src/classes/EventEmitter.js.map +1 -0
- package/dist/src/classes/LinkedList.d.ts +35 -0
- package/dist/src/classes/LinkedList.d.ts.map +1 -0
- package/dist/src/classes/LinkedList.js +99 -0
- package/dist/src/classes/LinkedList.js.map +1 -0
- package/dist/src/classes/SerializableMap.d.ts +14 -0
- package/dist/src/classes/SerializableMap.d.ts.map +1 -0
- package/dist/src/classes/SerializableMap.js +27 -0
- package/dist/src/classes/SerializableMap.js.map +1 -0
- package/dist/src/classes/TreeSet.d.ts +123 -0
- package/dist/src/classes/TreeSet.d.ts.map +1 -0
- package/dist/src/classes/TreeSet.js +210 -0
- package/dist/src/classes/TreeSet.js.map +1 -0
- package/dist/src/index.d.ts +148 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +13 -0
- package/dist/src/index.js.map +1 -0
- package/dist/tests/CustomClasses.test.d.ts +2 -0
- package/dist/tests/CustomClasses.test.d.ts.map +1 -0
- package/dist/tests/CustomClasses.test.js +138 -0
- package/dist/tests/CustomClasses.test.js.map +1 -0
- package/dist/tests/LeClasses.EventEmitter.test.d.ts +2 -0
- package/dist/tests/LeClasses.EventEmitter.test.d.ts.map +1 -0
- package/dist/tests/LeClasses.EventEmitter.test.js +39 -0
- package/dist/tests/LeClasses.EventEmitter.test.js.map +1 -0
- package/dist/tests/LeClasses.LinkedList.test.d.ts +2 -0
- package/dist/tests/LeClasses.LinkedList.test.d.ts.map +1 -0
- package/dist/tests/LeClasses.LinkedList.test.js +36 -0
- package/dist/tests/LeClasses.LinkedList.test.js.map +1 -0
- package/dist/tests/LeClasses.SerializableMap.test.d.ts +2 -0
- package/dist/tests/LeClasses.SerializableMap.test.d.ts.map +1 -0
- package/dist/tests/LeClasses.SerializableMap.test.js +25 -0
- package/dist/tests/LeClasses.SerializableMap.test.js.map +1 -0
- package/dist/tests/LeClasses.TreeSet.test.d.ts +2 -0
- package/dist/tests/LeClasses.TreeSet.test.d.ts.map +1 -0
- package/dist/tests/LeClasses.TreeSet.test.js +28 -0
- package/dist/tests/LeClasses.TreeSet.test.js.map +1 -0
- package/dist/tests/LeTypes.ARRAY.test.d.ts +2 -0
- package/dist/tests/LeTypes.ARRAY.test.d.ts.map +1 -0
- package/dist/tests/LeTypes.ARRAY.test.js +103 -0
- package/dist/tests/LeTypes.ARRAY.test.js.map +1 -0
- package/dist/tests/LeTypes.BOOL.test.d.ts +2 -0
- package/dist/tests/LeTypes.BOOL.test.d.ts.map +1 -0
- package/dist/tests/LeTypes.BOOL.test.js +138 -0
- package/dist/tests/LeTypes.BOOL.test.js.map +1 -0
- package/dist/tests/LeTypes.FLOAT.test.d.ts +2 -0
- package/dist/tests/LeTypes.FLOAT.test.d.ts.map +1 -0
- package/dist/tests/LeTypes.FLOAT.test.js +120 -0
- package/dist/tests/LeTypes.FLOAT.test.js.map +1 -0
- package/dist/tests/LeTypes.FLOAT_ANY.test.d.ts +2 -0
- package/dist/tests/LeTypes.FLOAT_ANY.test.d.ts.map +1 -0
- package/dist/tests/LeTypes.FLOAT_ANY.test.js +47 -0
- package/dist/tests/LeTypes.FLOAT_ANY.test.js.map +1 -0
- package/dist/tests/LeTypes.INT.test.d.ts +2 -0
- package/dist/tests/LeTypes.INT.test.d.ts.map +1 -0
- package/dist/tests/LeTypes.INT.test.js +80 -0
- package/dist/tests/LeTypes.INT.test.js.map +1 -0
- package/dist/tests/LeTypes.INT_ANY.test.d.ts +2 -0
- package/dist/tests/LeTypes.INT_ANY.test.d.ts.map +1 -0
- package/dist/tests/LeTypes.INT_ANY.test.js +37 -0
- package/dist/tests/LeTypes.INT_ANY.test.js.map +1 -0
- package/dist/tests/LeTypes.ISSET.test.d.ts +2 -0
- package/dist/tests/LeTypes.ISSET.test.d.ts.map +1 -0
- package/dist/tests/LeTypes.ISSET.test.js +113 -0
- package/dist/tests/LeTypes.ISSET.test.js.map +1 -0
- package/dist/tests/LeTypes.IS_ARRAY.test.d.ts +2 -0
- package/dist/tests/LeTypes.IS_ARRAY.test.d.ts.map +1 -0
- package/dist/tests/LeTypes.IS_ARRAY.test.js +81 -0
- package/dist/tests/LeTypes.IS_ARRAY.test.js.map +1 -0
- package/dist/tests/LeTypes.IS_OBJECT.test.d.ts +2 -0
- package/dist/tests/LeTypes.IS_OBJECT.test.d.ts.map +1 -0
- package/dist/tests/LeTypes.IS_OBJECT.test.js +98 -0
- package/dist/tests/LeTypes.IS_OBJECT.test.js.map +1 -0
- package/dist/tests/LeTypes.LAX.test.d.ts +2 -0
- package/dist/tests/LeTypes.LAX.test.d.ts.map +1 -0
- package/dist/tests/LeTypes.LAX.test.js +89 -0
- package/dist/tests/LeTypes.LAX.test.js.map +1 -0
- package/dist/tests/LeTypes.OBJECT.test.d.ts +2 -0
- package/dist/tests/LeTypes.OBJECT.test.d.ts.map +1 -0
- package/dist/tests/LeTypes.OBJECT.test.js +81 -0
- package/dist/tests/LeTypes.OBJECT.test.js.map +1 -0
- package/dist/tests/LeTypes.STRING.test.d.ts +2 -0
- package/dist/tests/LeTypes.STRING.test.d.ts.map +1 -0
- package/dist/tests/LeTypes.STRING.test.js +204 -0
- package/dist/tests/LeTypes.STRING.test.js.map +1 -0
- package/dist/tests/LeTypes.STRING_ANY.test.d.ts +2 -0
- package/dist/tests/LeTypes.STRING_ANY.test.d.ts.map +1 -0
- package/dist/tests/LeTypes.STRING_ANY.test.js +58 -0
- package/dist/tests/LeTypes.STRING_ANY.test.js.map +1 -0
- package/dist/tests/LeUtils.clone.test.d.ts +2 -0
- package/dist/tests/LeUtils.clone.test.d.ts.map +1 -0
- package/dist/tests/LeUtils.clone.test.js +180 -0
- package/dist/tests/LeUtils.clone.test.js.map +1 -0
- package/dist/tests/LeUtils.collections.test.d.ts +2 -0
- package/dist/tests/LeUtils.collections.test.d.ts.map +1 -0
- package/dist/tests/LeUtils.collections.test.js +149 -0
- package/dist/tests/LeUtils.collections.test.js.map +1 -0
- package/dist/tests/LeUtils.comparison.test.d.ts +2 -0
- package/dist/tests/LeUtils.comparison.test.d.ts.map +1 -0
- package/dist/tests/LeUtils.comparison.test.js +125 -0
- package/dist/tests/LeUtils.comparison.test.js.map +1 -0
- package/dist/tests/LeUtils.contains.test.d.ts +2 -0
- package/dist/tests/LeUtils.contains.test.d.ts.map +1 -0
- package/dist/tests/LeUtils.contains.test.js +52 -0
- package/dist/tests/LeUtils.contains.test.js.map +1 -0
- package/dist/tests/LeUtils.each.test.d.ts +2 -0
- package/dist/tests/LeUtils.each.test.d.ts.map +1 -0
- package/dist/tests/LeUtils.each.test.js +267 -0
- package/dist/tests/LeUtils.each.test.js.map +1 -0
- package/dist/tests/LeUtils.eachAsync.test.d.ts +2 -0
- package/dist/tests/LeUtils.eachAsync.test.d.ts.map +1 -0
- package/dist/tests/LeUtils.eachAsync.test.js +80 -0
- package/dist/tests/LeUtils.eachAsync.test.js.map +1 -0
- package/dist/tests/LeUtils.encoding.test.d.ts +2 -0
- package/dist/tests/LeUtils.encoding.test.d.ts.map +1 -0
- package/dist/tests/LeUtils.encoding.test.js +45 -0
- package/dist/tests/LeUtils.encoding.test.js.map +1 -0
- package/dist/tests/LeUtils.equals.test.d.ts +2 -0
- package/dist/tests/LeUtils.equals.test.d.ts.map +1 -0
- package/dist/tests/LeUtils.equals.test.js +328 -0
- package/dist/tests/LeUtils.equals.test.js.map +1 -0
- package/dist/tests/LeUtils.flatten.test.d.ts +2 -0
- package/dist/tests/LeUtils.flatten.test.d.ts.map +1 -0
- package/dist/tests/LeUtils.flatten.test.js +30 -0
- package/dist/tests/LeUtils.flatten.test.js.map +1 -0
- package/dist/tests/LeUtils.misc.test.d.ts +2 -0
- package/dist/tests/LeUtils.misc.test.d.ts.map +1 -0
- package/dist/tests/LeUtils.misc.test.js +50 -0
- package/dist/tests/LeUtils.misc.test.js.map +1 -0
- package/dist/tests/LeUtils.misc2.test.d.ts +2 -0
- package/dist/tests/LeUtils.misc2.test.d.ts.map +1 -0
- package/dist/tests/LeUtils.misc2.test.js +58 -0
- package/dist/tests/LeUtils.misc2.test.js.map +1 -0
- package/dist/tests/LeUtils.newlyAdded.test.d.ts +2 -0
- package/dist/tests/LeUtils.newlyAdded.test.d.ts.map +1 -0
- package/dist/tests/LeUtils.newlyAdded.test.js +121 -0
- package/dist/tests/LeUtils.newlyAdded.test.js.map +1 -0
- package/dist/tests/LeUtils.strings.test.d.ts +2 -0
- package/dist/tests/LeUtils.strings.test.d.ts.map +1 -0
- package/dist/tests/LeUtils.strings.test.js +125 -0
- package/dist/tests/LeUtils.strings.test.js.map +1 -0
- package/dist/tests/LeUtils.timing.test.d.ts +2 -0
- package/dist/tests/LeUtils.timing.test.d.ts.map +1 -0
- package/dist/tests/LeUtils.timing.test.js +72 -0
- package/dist/tests/LeUtils.timing.test.js.map +1 -0
- package/dist/tests/LeUtils.transactional.test.d.ts +2 -0
- package/dist/tests/LeUtils.transactional.test.d.ts.map +1 -0
- package/dist/tests/LeUtils.transactional.test.js +39 -0
- package/dist/tests/LeUtils.transactional.test.js.map +1 -0
- package/dist/tests/setup.d.ts +2 -0
- package/dist/tests/setup.d.ts.map +1 -0
- package/dist/tests/setup.js +6 -0
- package/dist/tests/setup.js.map +1 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +21 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +52 -53
- package/api-extractor.json +0 -43
- package/index.d.ts +0 -454
- package/index.js +0 -4160
- package/index.js.map +0 -1
- package/src/LeTypes.js +0 -254
- package/src/LeUtils.js +0 -3611
- package/src/classes/EventEmitter.js +0 -124
- package/src/classes/LinkedList.js +0 -145
- package/src/classes/SerializableMap.js +0 -17
- package/src/classes/TreeSet.js +0 -235
- package/src/index.js +0 -6
- package/tsconfig.d.ts +0 -1
- package/tsconfig.json +0 -39
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeTypes.LAX.test.js","sourceRoot":"","sources":["../../tests/LeTypes.LAX.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAC,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE9E,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAEjD,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAEjC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAE1C,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAE9B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAEjD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QAEpD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QAEvB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAE9B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAE9B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAEjE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAE9C,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAEnC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAErC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAE7B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QAElC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAE/C,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAEvC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAErC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAE3B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IAExD,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAE9C,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QAEpC,6DAA6D;QAC7D,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QAElC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IAEtD,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAElD,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QAElC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IAEzC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QAEzD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAE1C,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QAExD,6CAA6C;QAC7C,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeTypes.OBJECT.test.d.ts","sourceRoot":"","sources":["../../tests/LeTypes.OBJECT.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { OBJECT } from '../src/index';
|
|
3
|
+
/**
|
|
4
|
+
* OBJECT() - Baseline Tests
|
|
5
|
+
* Old behavior: IS_OBJECT(value) ? value : {}
|
|
6
|
+
* - If object: return as-is
|
|
7
|
+
* - Otherwise: return empty object
|
|
8
|
+
*/
|
|
9
|
+
describe('OBJECT() - Happy Path', () => {
|
|
10
|
+
it('returns object unchanged', () => {
|
|
11
|
+
const obj = { a: 1 };
|
|
12
|
+
expect(OBJECT(obj)).toBe(obj); // Same reference
|
|
13
|
+
});
|
|
14
|
+
it('returns Map unchanged', () => {
|
|
15
|
+
const map = new Map();
|
|
16
|
+
expect(OBJECT(map)).toBe(map);
|
|
17
|
+
});
|
|
18
|
+
it('returns Set unchanged', () => {
|
|
19
|
+
const set = new Set();
|
|
20
|
+
expect(OBJECT(set)).toBe(set);
|
|
21
|
+
});
|
|
22
|
+
it('returns Date unchanged', () => {
|
|
23
|
+
const date = new Date();
|
|
24
|
+
expect(OBJECT(date)).toBe(date);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
describe('OBJECT() - Negative Inputs', () => {
|
|
28
|
+
it('returns empty object for null', () => {
|
|
29
|
+
expect(OBJECT(null)).toEqual({});
|
|
30
|
+
});
|
|
31
|
+
it('returns empty object for undefined', () => {
|
|
32
|
+
expect(OBJECT(undefined)).toEqual({});
|
|
33
|
+
});
|
|
34
|
+
it('returns empty object for string', () => {
|
|
35
|
+
expect(OBJECT('test')).toEqual({});
|
|
36
|
+
});
|
|
37
|
+
it('returns empty object for number', () => {
|
|
38
|
+
expect(OBJECT(123)).toEqual({});
|
|
39
|
+
});
|
|
40
|
+
it('returns empty object for boolean', () => {
|
|
41
|
+
expect(OBJECT(true)).toEqual({});
|
|
42
|
+
});
|
|
43
|
+
it('returns empty object for array', () => {
|
|
44
|
+
expect(OBJECT([1, 2])).toEqual({});
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
describe('OBJECT() - Empty Values', () => {
|
|
48
|
+
it('returns empty object unchanged', () => {
|
|
49
|
+
const empty = {};
|
|
50
|
+
expect(OBJECT(empty)).toBe(empty);
|
|
51
|
+
});
|
|
52
|
+
it('returns empty object for zero', () => {
|
|
53
|
+
expect(OBJECT(0)).toEqual({});
|
|
54
|
+
});
|
|
55
|
+
it('returns empty object for empty string', () => {
|
|
56
|
+
expect(OBJECT('')).toEqual({});
|
|
57
|
+
});
|
|
58
|
+
it('returns empty object for empty array', () => {
|
|
59
|
+
expect(OBJECT([])).toEqual({});
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
describe('OBJECT() - Edge Cases', () => {
|
|
63
|
+
it('returns frozen object unchanged', () => {
|
|
64
|
+
const frozen = Object.freeze({ a: 1 });
|
|
65
|
+
expect(OBJECT(frozen)).toBe(frozen);
|
|
66
|
+
});
|
|
67
|
+
it('returns object with null prototype unchanged', () => {
|
|
68
|
+
const obj = Object.create(null);
|
|
69
|
+
expect(OBJECT(obj)).toBe(obj);
|
|
70
|
+
});
|
|
71
|
+
it('returns empty object for function', () => {
|
|
72
|
+
expect(OBJECT(() => { })).toEqual({});
|
|
73
|
+
});
|
|
74
|
+
it('returns empty object for Symbol', () => {
|
|
75
|
+
expect(OBJECT(Symbol('test'))).toEqual({});
|
|
76
|
+
});
|
|
77
|
+
it('returns empty object for BigInt', () => {
|
|
78
|
+
expect(OBJECT(BigInt(123))).toEqual({});
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
//# sourceMappingURL=LeTypes.OBJECT.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeTypes.OBJECT.test.js","sourceRoot":"","sources":["../../tests/LeTypes.OBJECT.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeTypes.STRING.test.d.ts","sourceRoot":"","sources":["../../tests/LeTypes.STRING.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { STRING } from '../src/index';
|
|
3
|
+
/**
|
|
4
|
+
* STRING() - Baseline Tests
|
|
5
|
+
*
|
|
6
|
+
* Old behavior: ISSET(value) ? ('' + value) : ''
|
|
7
|
+
* - If value is not null/undefined: convert to string
|
|
8
|
+
* - If value is null/undefined: return empty string
|
|
9
|
+
*/
|
|
10
|
+
describe('STRING() - Happy Path', () => {
|
|
11
|
+
it('returns string unchanged', () => {
|
|
12
|
+
expect(STRING('hello')).toBe('hello');
|
|
13
|
+
});
|
|
14
|
+
it('converts number to string', () => {
|
|
15
|
+
expect(STRING(123)).toBe('123');
|
|
16
|
+
expect(STRING(0)).toBe('0');
|
|
17
|
+
expect(STRING(-456)).toBe('-456');
|
|
18
|
+
});
|
|
19
|
+
it('converts boolean to string', () => {
|
|
20
|
+
expect(STRING(true)).toBe('true');
|
|
21
|
+
expect(STRING(false)).toBe('false');
|
|
22
|
+
});
|
|
23
|
+
it('converts object to string', () => {
|
|
24
|
+
expect(STRING({ a: 1 })).toBe('[object Object]');
|
|
25
|
+
});
|
|
26
|
+
it('converts array to string', () => {
|
|
27
|
+
expect(STRING([1, 2, 3])).toBe('1,2,3');
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
describe('STRING() - Negative Inputs', () => {
|
|
31
|
+
it('returns empty string for null', () => {
|
|
32
|
+
expect(STRING(null)).toBe('');
|
|
33
|
+
});
|
|
34
|
+
it('returns empty string for undefined', () => {
|
|
35
|
+
expect(STRING(undefined)).toBe('');
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
describe('STRING() - Empty Values', () => {
|
|
39
|
+
it('returns empty string unchanged', () => {
|
|
40
|
+
expect(STRING('')).toBe('');
|
|
41
|
+
});
|
|
42
|
+
it('converts empty array to string', () => {
|
|
43
|
+
expect(STRING([])).toBe('');
|
|
44
|
+
});
|
|
45
|
+
it('converts empty object to string', () => {
|
|
46
|
+
expect(STRING({})).toBe('[object Object]');
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
describe('STRING() - Boundary Values', () => {
|
|
50
|
+
it('converts NaN to string', () => {
|
|
51
|
+
expect(STRING(NaN)).toBe('NaN');
|
|
52
|
+
});
|
|
53
|
+
it('converts Infinity to string', () => {
|
|
54
|
+
expect(STRING(Infinity)).toBe('Infinity');
|
|
55
|
+
});
|
|
56
|
+
it('converts -Infinity to string', () => {
|
|
57
|
+
expect(STRING(-Infinity)).toBe('-Infinity');
|
|
58
|
+
});
|
|
59
|
+
it('converts -0 to string', () => {
|
|
60
|
+
expect(STRING(-0)).toBe('0');
|
|
61
|
+
});
|
|
62
|
+
it('converts Number.MAX_VALUE', () => {
|
|
63
|
+
const result = STRING(Number.MAX_VALUE);
|
|
64
|
+
expect(typeof result).toBe('string');
|
|
65
|
+
expect(result).toContain('e+'); // Scientific notation
|
|
66
|
+
});
|
|
67
|
+
it('converts Number.MIN_VALUE', () => {
|
|
68
|
+
const result = STRING(Number.MIN_VALUE);
|
|
69
|
+
expect(typeof result).toBe('string');
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
describe('STRING() - Edge Cases', () => {
|
|
73
|
+
it('handles unicode characters', () => {
|
|
74
|
+
expect(STRING('你好')).toBe('你好');
|
|
75
|
+
expect(STRING('مرحبا')).toBe('مرحبا');
|
|
76
|
+
});
|
|
77
|
+
it('handles emoji', () => {
|
|
78
|
+
expect(STRING('👋🌍')).toBe('👋🌍');
|
|
79
|
+
});
|
|
80
|
+
it('handles newlines', () => {
|
|
81
|
+
expect(STRING('hello\nworld')).toBe('hello\nworld');
|
|
82
|
+
});
|
|
83
|
+
it('handles tabs', () => {
|
|
84
|
+
expect(STRING('hello\tworld')).toBe('hello\tworld');
|
|
85
|
+
});
|
|
86
|
+
it('handles whitespace-only string', () => {
|
|
87
|
+
expect(STRING(' ')).toBe(' ');
|
|
88
|
+
});
|
|
89
|
+
it('handles very long string (100k chars)', () => {
|
|
90
|
+
const long = 'a'.repeat(100000);
|
|
91
|
+
expect(STRING(long)).toBe(long);
|
|
92
|
+
});
|
|
93
|
+
it('returns description for Symbol', () => {
|
|
94
|
+
const sym = Symbol('test');
|
|
95
|
+
expect(STRING(sym)).toBe('test');
|
|
96
|
+
});
|
|
97
|
+
it('converts BigInt to string', () => {
|
|
98
|
+
expect(STRING(BigInt(123))).toBe('123');
|
|
99
|
+
expect(STRING(BigInt(999999999999999999n))).toBe('999999999999999999');
|
|
100
|
+
});
|
|
101
|
+
it('converts function to string', () => {
|
|
102
|
+
const fn = function test() {
|
|
103
|
+
return 42;
|
|
104
|
+
};
|
|
105
|
+
const result = STRING(fn);
|
|
106
|
+
expect(typeof result).toBe('string');
|
|
107
|
+
expect(result).toContain('function');
|
|
108
|
+
});
|
|
109
|
+
it('converts arrow function to string', () => {
|
|
110
|
+
const fn = () => 42;
|
|
111
|
+
const result = STRING(fn);
|
|
112
|
+
expect(typeof result).toBe('string');
|
|
113
|
+
});
|
|
114
|
+
it('converts Date to string', () => {
|
|
115
|
+
const date = new Date('2024-01-01T00:00:00.000Z');
|
|
116
|
+
const result = STRING(date);
|
|
117
|
+
expect(typeof result).toBe('string');
|
|
118
|
+
expect(result).toContain('2024');
|
|
119
|
+
});
|
|
120
|
+
it('converts RegExp to string', () => {
|
|
121
|
+
expect(STRING(/abc/gi)).toBe('/abc/gi');
|
|
122
|
+
});
|
|
123
|
+
it('converts Error to string', () => {
|
|
124
|
+
const err = new Error('test error');
|
|
125
|
+
const result = STRING(err);
|
|
126
|
+
expect(typeof result).toBe('string');
|
|
127
|
+
expect(result).toContain('Error');
|
|
128
|
+
});
|
|
129
|
+
it('converts Map to string', () => {
|
|
130
|
+
const map = new Map([['a', 1]]);
|
|
131
|
+
expect(STRING(map)).toBe('[object Map]');
|
|
132
|
+
});
|
|
133
|
+
it('converts Set to string', () => {
|
|
134
|
+
const set = new Set([1, 2]);
|
|
135
|
+
expect(STRING(set)).toBe('[object Set]');
|
|
136
|
+
});
|
|
137
|
+
it('converts custom class instance', () => {
|
|
138
|
+
class Custom {
|
|
139
|
+
}
|
|
140
|
+
const instance = new Custom();
|
|
141
|
+
expect(STRING(instance)).toBe('[object Object]');
|
|
142
|
+
});
|
|
143
|
+
it('uses custom toString() method if present', () => {
|
|
144
|
+
const obj = {
|
|
145
|
+
toString: () => 'custom string representation',
|
|
146
|
+
};
|
|
147
|
+
expect(STRING(obj)).toBe('custom string representation');
|
|
148
|
+
});
|
|
149
|
+
it('returns empty string for object with throwing toString()', () => {
|
|
150
|
+
const obj = {
|
|
151
|
+
toString: () => {
|
|
152
|
+
throw new Error('toString throws');
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
expect(STRING(obj)).toBe('');
|
|
156
|
+
});
|
|
157
|
+
it('converts frozen object', () => {
|
|
158
|
+
const frozen = Object.freeze({ a: 1 });
|
|
159
|
+
expect(STRING(frozen)).toBe('[object Object]');
|
|
160
|
+
});
|
|
161
|
+
it('converts sealed object', () => {
|
|
162
|
+
const sealed = Object.seal({ a: 1 });
|
|
163
|
+
expect(STRING(sealed)).toBe('[object Object]');
|
|
164
|
+
});
|
|
165
|
+
it('returns empty string for object with null prototype', () => {
|
|
166
|
+
const obj = Object.create(null);
|
|
167
|
+
obj.a = 1;
|
|
168
|
+
expect(STRING(obj)).toBe('');
|
|
169
|
+
});
|
|
170
|
+
it('converts TypedArray', () => {
|
|
171
|
+
const arr = new Uint8Array([1, 2, 3]);
|
|
172
|
+
expect(STRING(arr)).toBe('1,2,3');
|
|
173
|
+
});
|
|
174
|
+
it('converts ArrayBuffer', () => {
|
|
175
|
+
const buffer = new ArrayBuffer(10);
|
|
176
|
+
const result = STRING(buffer);
|
|
177
|
+
expect(typeof result).toBe('string');
|
|
178
|
+
expect(result).toContain('ArrayBuffer');
|
|
179
|
+
});
|
|
180
|
+
it('converts Promise', () => {
|
|
181
|
+
const promise = Promise.resolve(42);
|
|
182
|
+
const result = STRING(promise);
|
|
183
|
+
expect(typeof result).toBe('string');
|
|
184
|
+
expect(result).toContain('Promise');
|
|
185
|
+
});
|
|
186
|
+
it('handles circular reference in object', () => {
|
|
187
|
+
const obj = { a: 1 };
|
|
188
|
+
obj.self = obj;
|
|
189
|
+
// toString doesn't traverse, so this should be safe
|
|
190
|
+
expect(STRING(obj)).toBe('[object Object]');
|
|
191
|
+
});
|
|
192
|
+
it('handles very large string', () => {
|
|
193
|
+
const huge = 'a'.repeat(2000000); // 2MB
|
|
194
|
+
const result = STRING(huge);
|
|
195
|
+
expect(result.length).toBe(2000000);
|
|
196
|
+
});
|
|
197
|
+
it('handles nested objects with toString', () => {
|
|
198
|
+
const obj = {
|
|
199
|
+
toString: () => 'custom',
|
|
200
|
+
};
|
|
201
|
+
expect(STRING(obj)).toBe('custom');
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
//# sourceMappingURL=LeTypes.STRING.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeTypes.STRING.test.js","sourceRoot":"","sources":["../../tests/LeTypes.STRING.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeTypes.STRING_ANY.test.d.ts","sourceRoot":"","sources":["../../tests/LeTypes.STRING_ANY.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { STRING_ANY } from '../src/LeTypes';
|
|
3
|
+
describe('STRING_ANY() - Happy Path', () => {
|
|
4
|
+
it('returns first value as string', () => {
|
|
5
|
+
expect(STRING_ANY('first', 'second')).toBe('first');
|
|
6
|
+
});
|
|
7
|
+
it('skips null, returns first set value', () => {
|
|
8
|
+
expect(STRING_ANY(null, 'second')).toBe('second');
|
|
9
|
+
});
|
|
10
|
+
it('skips undefined, returns first set value', () => {
|
|
11
|
+
expect(STRING_ANY(undefined, 'second')).toBe('second');
|
|
12
|
+
});
|
|
13
|
+
it('skips multiple nullish, returns first set value', () => {
|
|
14
|
+
expect(STRING_ANY(null, undefined, null, 'third')).toBe('third');
|
|
15
|
+
});
|
|
16
|
+
it('converts first number to string', () => {
|
|
17
|
+
expect(STRING_ANY(123, 'second')).toBe('123');
|
|
18
|
+
});
|
|
19
|
+
it('uses first non-nullish even if empty string', () => {
|
|
20
|
+
// Legacy behavior: returns first non-nullish
|
|
21
|
+
expect(STRING_ANY(null, '', 'second')).toBe('');
|
|
22
|
+
});
|
|
23
|
+
it('uses first non-nullish even if zero', () => {
|
|
24
|
+
expect(STRING_ANY(null, 0, 'second')).toBe('0');
|
|
25
|
+
});
|
|
26
|
+
it('uses first non-nullish even if false', () => {
|
|
27
|
+
expect(STRING_ANY(null, false, 'second')).toBe('false');
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
describe('STRING_ANY() - Negative Inputs', () => {
|
|
31
|
+
it('returns empty string when all null', () => {
|
|
32
|
+
expect(STRING_ANY(null, null)).toBe('');
|
|
33
|
+
});
|
|
34
|
+
it('returns empty string when all undefined', () => {
|
|
35
|
+
expect(STRING_ANY(undefined, undefined)).toBe('');
|
|
36
|
+
});
|
|
37
|
+
it('returns empty string when no arguments', () => {
|
|
38
|
+
expect(STRING_ANY()).toBe('');
|
|
39
|
+
});
|
|
40
|
+
it('returns empty string for mixed null/undefined', () => {
|
|
41
|
+
expect(STRING_ANY(null, undefined)).toBe('');
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
describe('STRING_ANY() - Edge Cases', () => {
|
|
45
|
+
it('returns first value even if later values are "better"', () => {
|
|
46
|
+
expect(STRING_ANY('a', 'better string')).toBe('a');
|
|
47
|
+
});
|
|
48
|
+
it('handles many arguments', () => {
|
|
49
|
+
expect(STRING_ANY(null, null, null, null, null, 'finally')).toBe('finally');
|
|
50
|
+
});
|
|
51
|
+
it('converts object if first non-nullish', () => {
|
|
52
|
+
expect(STRING_ANY({ a: 1 })).toBe('[object Object]');
|
|
53
|
+
});
|
|
54
|
+
it('converts array if first non-nullish', () => {
|
|
55
|
+
expect(STRING_ANY([1, 2])).toBe('1,2');
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=LeTypes.STRING_ANY.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeTypes.STRING_ANY.test.js","sourceRoot":"","sources":["../../tests/LeTypes.STRING_ANY.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeUtils.clone.test.d.ts","sourceRoot":"","sources":["../../tests/LeUtils.clone.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { clone } from '../src/index';
|
|
3
|
+
/**
|
|
4
|
+
* clone() - Baseline Tests
|
|
5
|
+
* Uses clone-deep library - test actual behavior
|
|
6
|
+
*/
|
|
7
|
+
describe('clone() - Primitives', () => {
|
|
8
|
+
it('returns number unchanged', () => {
|
|
9
|
+
expect(clone(123)).toBe(123);
|
|
10
|
+
});
|
|
11
|
+
it('returns string unchanged', () => {
|
|
12
|
+
expect(clone('hello')).toBe('hello');
|
|
13
|
+
});
|
|
14
|
+
it('returns boolean unchanged', () => {
|
|
15
|
+
expect(clone(true)).toBe(true);
|
|
16
|
+
});
|
|
17
|
+
it('returns null unchanged', () => {
|
|
18
|
+
expect(clone(null)).toBe(null);
|
|
19
|
+
});
|
|
20
|
+
it('returns undefined unchanged', () => {
|
|
21
|
+
expect(clone(undefined)).toBe(undefined);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
describe('clone() - Objects', () => {
|
|
25
|
+
it('creates independent copy of object', () => {
|
|
26
|
+
const original = { a: 1, b: 2 };
|
|
27
|
+
const cloned = clone(original);
|
|
28
|
+
expect(cloned).toEqual(original);
|
|
29
|
+
expect(cloned).not.toBe(original); // Different reference
|
|
30
|
+
});
|
|
31
|
+
it('mutations to clone dont affect original', () => {
|
|
32
|
+
const original = { a: 1 };
|
|
33
|
+
const cloned = clone(original);
|
|
34
|
+
cloned.a = 999;
|
|
35
|
+
expect(original.a).toBe(1);
|
|
36
|
+
});
|
|
37
|
+
it('deeply clones nested objects', () => {
|
|
38
|
+
const original = { a: { b: { c: 1 } } };
|
|
39
|
+
const cloned = clone(original);
|
|
40
|
+
cloned.a.b.c = 999;
|
|
41
|
+
expect(original.a.b.c).toBe(1);
|
|
42
|
+
});
|
|
43
|
+
it('clones empty object', () => {
|
|
44
|
+
const cloned = clone({});
|
|
45
|
+
expect(cloned).toEqual({});
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe('clone() - Arrays', () => {
|
|
49
|
+
it('creates independent copy of array', () => {
|
|
50
|
+
const original = [1, 2, 3];
|
|
51
|
+
const cloned = clone(original);
|
|
52
|
+
expect(cloned).toEqual(original);
|
|
53
|
+
expect(cloned).not.toBe(original);
|
|
54
|
+
});
|
|
55
|
+
it('deeply clones nested arrays', () => {
|
|
56
|
+
const original = [[1, 2], [3, 4]];
|
|
57
|
+
const cloned = clone(original);
|
|
58
|
+
cloned[0][0] = 999;
|
|
59
|
+
expect(original[0][0]).toBe(1);
|
|
60
|
+
});
|
|
61
|
+
it('clones sparse arrays', () => {
|
|
62
|
+
const original = [1, , 3];
|
|
63
|
+
const cloned = clone(original);
|
|
64
|
+
expect(cloned).toEqual(original);
|
|
65
|
+
});
|
|
66
|
+
it('clones empty array', () => {
|
|
67
|
+
const cloned = clone([]);
|
|
68
|
+
expect(cloned).toEqual([]);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
describe('clone() - Special Objects', () => {
|
|
72
|
+
it('clones Date', () => {
|
|
73
|
+
const original = new Date('2024-01-01');
|
|
74
|
+
const cloned = clone(original);
|
|
75
|
+
expect(cloned.getTime()).toBe(original.getTime());
|
|
76
|
+
expect(cloned).not.toBe(original);
|
|
77
|
+
});
|
|
78
|
+
it('clones RegExp', () => {
|
|
79
|
+
const original = /abc/gi;
|
|
80
|
+
const cloned = clone(original);
|
|
81
|
+
expect(cloned.source).toBe(original.source);
|
|
82
|
+
expect(cloned.flags).toBe(original.flags);
|
|
83
|
+
expect(cloned).not.toBe(original);
|
|
84
|
+
});
|
|
85
|
+
it('clones Map', () => {
|
|
86
|
+
const original = new Map([['a', 1]]);
|
|
87
|
+
const cloned = clone(original);
|
|
88
|
+
expect(cloned.get('a')).toBe(1);
|
|
89
|
+
expect(cloned).not.toBe(original);
|
|
90
|
+
});
|
|
91
|
+
it('clones Set', () => {
|
|
92
|
+
const original = new Set([1, 2]);
|
|
93
|
+
const cloned = clone(original);
|
|
94
|
+
expect(cloned.has(1)).toBe(true);
|
|
95
|
+
expect(cloned).not.toBe(original);
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
describe('clone() - Edge Cases', () => {
|
|
99
|
+
it('handles circular references without throwing', () => {
|
|
100
|
+
const original = { a: 1 };
|
|
101
|
+
original.self = original;
|
|
102
|
+
const cloned = clone(original);
|
|
103
|
+
expect(cloned.a).toBe(1);
|
|
104
|
+
expect(cloned.self).toBe(cloned);
|
|
105
|
+
expect(cloned.self).not.toBe(original);
|
|
106
|
+
});
|
|
107
|
+
it('clones frozen object', () => {
|
|
108
|
+
const original = Object.freeze({ a: 1 });
|
|
109
|
+
const cloned = clone(original);
|
|
110
|
+
expect(cloned).toEqual({ a: 1 });
|
|
111
|
+
// Note: Clone might not be frozen
|
|
112
|
+
});
|
|
113
|
+
it('clones sealed object', () => {
|
|
114
|
+
const original = Object.seal({ a: 1 });
|
|
115
|
+
const cloned = clone(original);
|
|
116
|
+
expect(cloned).toEqual({ a: 1 });
|
|
117
|
+
});
|
|
118
|
+
it('clones object with null prototype', () => {
|
|
119
|
+
const original = Object.create(null);
|
|
120
|
+
original.a = 1;
|
|
121
|
+
const cloned = clone(original);
|
|
122
|
+
expect(cloned.a).toBe(1);
|
|
123
|
+
expect(Object.getPrototypeOf(cloned)).toBe(null);
|
|
124
|
+
});
|
|
125
|
+
it('handles very large object', () => {
|
|
126
|
+
const original = {};
|
|
127
|
+
for (let i = 0; i < 10000; i++) {
|
|
128
|
+
original[`key${i}`] = i;
|
|
129
|
+
}
|
|
130
|
+
const cloned = clone(original);
|
|
131
|
+
expect(cloned.key5000).toBe(5000);
|
|
132
|
+
});
|
|
133
|
+
it('handles deeply nested object', () => {
|
|
134
|
+
let original = { value: 1 };
|
|
135
|
+
for (let i = 0; i < 100; i++) {
|
|
136
|
+
original = { nested: original };
|
|
137
|
+
}
|
|
138
|
+
const cloned = clone(original);
|
|
139
|
+
expect(typeof cloned).toBe('object');
|
|
140
|
+
});
|
|
141
|
+
it('TypedArray clone does NOT share buffer (NEW BEHAVIOR)', () => {
|
|
142
|
+
const original = new Uint8Array([1, 2, 3]);
|
|
143
|
+
const cloned = clone(original);
|
|
144
|
+
cloned[0] = 123;
|
|
145
|
+
expect(original[0]).toBe(1);
|
|
146
|
+
expect(cloned[0]).toBe(123);
|
|
147
|
+
});
|
|
148
|
+
it('clones custom class instance', () => {
|
|
149
|
+
class Custom {
|
|
150
|
+
value = 42;
|
|
151
|
+
}
|
|
152
|
+
const original = new Custom();
|
|
153
|
+
const cloned = clone(original);
|
|
154
|
+
expect(cloned.value).toBe(42);
|
|
155
|
+
});
|
|
156
|
+
it('clones Map', () => {
|
|
157
|
+
const m = new Map([['a', 1]]);
|
|
158
|
+
const cloned = clone(m);
|
|
159
|
+
expect(cloned).not.toBe(m);
|
|
160
|
+
expect(cloned.get('a')).toBe(1);
|
|
161
|
+
cloned.set('a', 2);
|
|
162
|
+
expect(m.get('a')).toBe(1);
|
|
163
|
+
});
|
|
164
|
+
it('clones Set', () => {
|
|
165
|
+
const s = new Set([1]);
|
|
166
|
+
const cloned = clone(s);
|
|
167
|
+
expect(cloned).not.toBe(s);
|
|
168
|
+
expect(cloned.has(1)).toBe(true);
|
|
169
|
+
cloned.add(2);
|
|
170
|
+
expect(s.has(2)).toBe(false);
|
|
171
|
+
});
|
|
172
|
+
it('handles deep nesting', () => {
|
|
173
|
+
const deep = { a: { b: { c: { d: 1 } } } };
|
|
174
|
+
const cloned = clone(deep);
|
|
175
|
+
expect(cloned.a.b.c.d).toBe(1);
|
|
176
|
+
cloned.a.b.c.d = 2;
|
|
177
|
+
expect(deep.a.b.c.d).toBe(1);
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
//# sourceMappingURL=LeUtils.clone.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeUtils.clone.test.js","sourceRoot":"","sources":["../../tests/LeUtils.clone.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeUtils.collections.test.d.ts","sourceRoot":"","sources":["../../tests/LeUtils.collections.test.ts"],"names":[],"mappings":""}
|