@sequencemedia/dupe 1.0.4 → 1.0.5
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/package.json +1 -4
- package/src/index.mjs +29 -29
- package/src/node/index.mjs +34 -34
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sequencemedia/dupe",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"dupe",
|
|
6
6
|
"duplicate",
|
|
@@ -28,8 +28,6 @@
|
|
|
28
28
|
"debug": "^4.4.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@babel/core": "^7.26.9",
|
|
32
|
-
"@babel/preset-env": "^7.26.9",
|
|
33
31
|
"@sequencemedia/eslint-config-standard": "^0.2.35",
|
|
34
32
|
"@sequencemedia/eslint-config-typescript": "^0.1.50",
|
|
35
33
|
"@types/chai": "^5.0.1",
|
|
@@ -37,7 +35,6 @@
|
|
|
37
35
|
"@types/mocha": "^10.0.10",
|
|
38
36
|
"@types/node": "^22.13.8",
|
|
39
37
|
"chai": "^5.2.0",
|
|
40
|
-
"core-js": "^3.40.0",
|
|
41
38
|
"cross-env": "^7.0.3",
|
|
42
39
|
"eslint": "^9.21.0",
|
|
43
40
|
"globals": "^16.0.0",
|
package/src/index.mjs
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* @typedef {DupeTypes.ArrayLiteralType} ArrayLiteralType
|
|
3
|
+
* @typedef {DupeTypes.ObjectLiteralType} ObjectLiteralType
|
|
4
|
+
* @typedef {DupeTypes.ValueType} ValueType
|
|
5
|
+
* @typedef {DupeTypes.WeakMapType} WeakMapType
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* @param {ValueType | ValueType[]} v
|
|
10
|
+
* @returns {boolean}
|
|
11
11
|
*/
|
|
12
12
|
function isArray (v) {
|
|
13
13
|
return Array.isArray(v)
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
17
|
+
* @param {ValueType | ValueType[]} v
|
|
18
|
+
* @returns {boolean}
|
|
19
19
|
*/
|
|
20
20
|
function isObject (v) {
|
|
21
21
|
return (v || false) instanceof Object && !Array.isArray(v)
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
25
|
+
* @param {ValueType | ValueType[]} v
|
|
26
|
+
* @returns {boolean}
|
|
27
27
|
*/
|
|
28
28
|
function isFunction (v) {
|
|
29
29
|
return v instanceof Function
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
33
|
+
* @param {ValueType | ValueType[]} v
|
|
34
|
+
* @returns {boolean}
|
|
35
35
|
*/
|
|
36
36
|
function isPrimitive (v) {
|
|
37
37
|
return !(
|
|
@@ -42,9 +42,9 @@ function isPrimitive (v) {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
45
|
+
* @param {ArrayLiteralType} v
|
|
46
|
+
* @param {WeakMapType} weakMap
|
|
47
|
+
* @returns {ArrayLiteralType}
|
|
48
48
|
*/
|
|
49
49
|
function getArray (v, weakMap) {
|
|
50
50
|
const a = []
|
|
@@ -54,9 +54,9 @@ function getArray (v, weakMap) {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
57
|
+
* @param {ObjectLiteralType} v
|
|
58
|
+
* @param {WeakMapType} weakMap
|
|
59
|
+
* @returns {ObjectLiteralType}
|
|
60
60
|
*/
|
|
61
61
|
function getObject (v, weakMap) {
|
|
62
62
|
const o = {}
|
|
@@ -66,14 +66,14 @@ function getObject (v, weakMap) {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
69
|
+
* @param {WeakMapType} weakMap
|
|
70
|
+
* @returns {(a: ArrayLiteralType, v: ValueType | ValueType[]) => ArrayLiteralType}
|
|
71
71
|
*/
|
|
72
72
|
function getReduceArray (weakMap) {
|
|
73
73
|
/**
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
74
|
+
* @param {ArrayLiteralType} a
|
|
75
|
+
* @param {ValueType | ValueType[]} v
|
|
76
|
+
* @returns {ArrayLiteralType}
|
|
77
77
|
*/
|
|
78
78
|
return function reduceArray (a, v) {
|
|
79
79
|
if (isPrimitive(v) || isFunction(v)) {
|
|
@@ -99,13 +99,13 @@ function getReduceArray (weakMap) {
|
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
/**
|
|
102
|
-
*
|
|
103
|
-
*
|
|
102
|
+
* @param {WeakMapType} weakMap
|
|
103
|
+
* @returns {(entry: [PropertyKey, ValueType | ValueType[]]) => [PropertyKey, ValueType | ValueType[]]}
|
|
104
104
|
*/
|
|
105
105
|
function getMapEntries (weakMap) {
|
|
106
106
|
/**
|
|
107
|
-
*
|
|
108
|
-
*
|
|
107
|
+
* @param {[PropertyKey, ValueType | ValueType[]]} entry
|
|
108
|
+
* @returns {[PropertyKey, ValueType | ValueType[]]}
|
|
109
109
|
*/
|
|
110
110
|
return function mapEntries ([k, v]) {
|
|
111
111
|
if (isPrimitive(v) || isFunction(v)) return [k, v]
|
|
@@ -127,8 +127,8 @@ function getMapEntries (weakMap) {
|
|
|
127
127
|
/**
|
|
128
128
|
* Duplicate a value
|
|
129
129
|
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
130
|
+
* @param {ValueType | ValueType[]} v
|
|
131
|
+
* @returns {ValueType | ValueType[]}
|
|
132
132
|
*/
|
|
133
133
|
export default function toDuplicate (v) {
|
|
134
134
|
if (isPrimitive(v) || isFunction(v)) return v
|
package/src/node/index.mjs
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* @typedef {DupeTypes.ArrayLiteralType} ArrayLiteralType
|
|
3
|
+
* @typedef {DupeTypes.ObjectLiteralType} ObjectLiteralType
|
|
4
|
+
* @typedef {DupeTypes.ValueType} ValueType
|
|
5
|
+
* @typedef {DupeTypes.WeakMapType} WeakMapType
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* @param {ValueType | ValueType[]} v
|
|
10
|
+
* @returns {boolean}
|
|
11
11
|
*/
|
|
12
12
|
function isArray (v) {
|
|
13
13
|
return Array.isArray(v)
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
17
|
+
* @param {ValueType | ValueType[]} v
|
|
18
|
+
* @returns {boolean}
|
|
19
19
|
*/
|
|
20
20
|
function isObject (v) {
|
|
21
21
|
return (v || false) instanceof Object && !Array.isArray(v) && !Buffer.isBuffer(v)
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
25
|
+
* @param {ValueType | ValueType[]} v
|
|
26
|
+
* @returns {boolean}
|
|
27
27
|
*/
|
|
28
28
|
function isFunction (v) {
|
|
29
29
|
return v instanceof Function
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
33
|
+
* @param {ValueType | ValueType[]} v
|
|
34
|
+
* @returns {boolean}
|
|
35
35
|
*/
|
|
36
36
|
function isBuffer (v) {
|
|
37
37
|
return Buffer.isBuffer(v)
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
41
|
+
* @param {ValueType | ValueType[]} v
|
|
42
|
+
* @returns {boolean}
|
|
43
43
|
*/
|
|
44
44
|
function isPrimitive (v) {
|
|
45
45
|
return !(
|
|
@@ -57,9 +57,9 @@ function isPrimitive (v) {
|
|
|
57
57
|
*/
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
60
|
+
* @param {ArrayLiteralType} v
|
|
61
|
+
* @param {WeakMapType} weakMap
|
|
62
|
+
* @returns {ArrayLiteralType}
|
|
63
63
|
*/
|
|
64
64
|
function getArray (v, weakMap) {
|
|
65
65
|
const a = []
|
|
@@ -69,9 +69,9 @@ function getArray (v, weakMap) {
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
72
|
+
* @param {ObjectLiteralType} v
|
|
73
|
+
* @param {WeakMapType} weakMap
|
|
74
|
+
* @returns {ObjectLiteralType}
|
|
75
75
|
*/
|
|
76
76
|
function getObject (v, weakMap) {
|
|
77
77
|
const o = {}
|
|
@@ -81,9 +81,9 @@ function getObject (v, weakMap) {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
/**
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
84
|
+
* @param {Buffer} v
|
|
85
|
+
* @param {WeakMapType} weakMap
|
|
86
|
+
* @returns {Buffer}
|
|
87
87
|
*/
|
|
88
88
|
function getBuffer (v, weakMap) {
|
|
89
89
|
const b = Buffer.from(v)
|
|
@@ -93,14 +93,14 @@ function getBuffer (v, weakMap) {
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
/**
|
|
96
|
-
*
|
|
97
|
-
*
|
|
96
|
+
* @param {WeakMapType} weakMap
|
|
97
|
+
* @returns {(a: ArrayLiteralType, v: ValueType | ValueType[]) => ArrayLiteralType}
|
|
98
98
|
*/
|
|
99
99
|
function getReduceArray (weakMap) {
|
|
100
100
|
/**
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
101
|
+
* @param {ArrayLiteralType} a
|
|
102
|
+
* @param {ValueType | ValueType[]} v
|
|
103
|
+
* @returns {ArrayLiteralType}
|
|
104
104
|
*/
|
|
105
105
|
return function reduceArray (a, v) {
|
|
106
106
|
if (isPrimitive(v) || isFunction(v)) {
|
|
@@ -131,13 +131,13 @@ function getReduceArray (weakMap) {
|
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
/**
|
|
134
|
-
*
|
|
135
|
-
*
|
|
134
|
+
* @param {WeakMapType} weakMap
|
|
135
|
+
* @returns {(entry: [PropertyKey, ValueType | ValueType[]]) => [PropertyKey, ValueType | ValueType[]]}
|
|
136
136
|
*/
|
|
137
137
|
function getMapEntries (weakMap) {
|
|
138
138
|
/**
|
|
139
|
-
*
|
|
140
|
-
*
|
|
139
|
+
* @param {[PropertyKey, ValueType | ValueType[]]} entry
|
|
140
|
+
* @returns {[PropertyKey, ValueType | ValueType[]]}
|
|
141
141
|
*/
|
|
142
142
|
return function mapEntries ([k, v]) {
|
|
143
143
|
if (isPrimitive(v) || isFunction(v)) return [k, v]
|
|
@@ -163,8 +163,8 @@ function getMapEntries (weakMap) {
|
|
|
163
163
|
/**
|
|
164
164
|
* Duplicate a value
|
|
165
165
|
*
|
|
166
|
-
*
|
|
167
|
-
*
|
|
166
|
+
* @param {ValueType | ValueType[]} v
|
|
167
|
+
* @returns {ValueType | ValueType[]}
|
|
168
168
|
*/
|
|
169
169
|
export default function toDuplicate (v) {
|
|
170
170
|
if (isPrimitive(v) || isFunction(v)) return v
|