hinted-tree-merger 5.0.4 → 6.0.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/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2019-2022 by arlac77
1
+ Copyright (c) 2019-2023 by arlac77
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  [![npm](https://img.shields.io/npm/v/hinted-tree-merger.svg)](https://www.npmjs.com/package/hinted-tree-merger)
2
2
  [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
3
- [![Open Bundle](https://bundlejs.com/badge-light.svg)](https://bundlejs.com/?q=hinted-tree-merger)
3
+ [![bundlejs](https://deno.bundlejs.com/?q=hinted-tree-merger\&badge=detailed)](https://bundlejs.com/?q=hinted-tree-merger)
4
4
  [![downloads](http://img.shields.io/npm/dm/hinted-tree-merger.svg?style=flat-square)](https://npmjs.org/package/hinted-tree-merger)
5
5
  [![GitHub Issues](https://img.shields.io/github/issues/arlac77/hinted-tree-merger.svg?style=flat-square)](https://github.com/arlac77/hinted-tree-merger/issues)
6
6
  [![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Farlac77%2Fhinted-tree-merger%2Fbadge\&style=flat)](https://actions-badge.atrox.dev/arlac77/hinted-tree-merger/goto)
@@ -68,7 +68,7 @@ const r = merge( undefined, [ { k:1, e:2}, { k:3 }]);
68
68
  * [Parameters](#parameters-8)
69
69
  * [sortObjectsByKeys](#sortobjectsbykeys)
70
70
  * [Parameters](#parameters-9)
71
- * [upper](#upper)
71
+ * [match](#match)
72
72
  * [compareVersion](#compareversion)
73
73
  * [Parameters](#parameters-10)
74
74
  * [unionVersion](#unionversion)
@@ -89,8 +89,8 @@ Construct hint for a given path.
89
89
 
90
90
  ### Parameters
91
91
 
92
- * `hints` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
93
- * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
92
+ * `hints` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** 
93
+ * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 
94
94
 
95
95
  ## mergeSkip
96
96
 
@@ -98,21 +98,21 @@ Skip merging use left side always.
98
98
 
99
99
  ### Parameters
100
100
 
101
- * `a`
102
- * `b`
103
- * `path`
104
- * `actions`
105
- * `hints`
101
+ * `a`  
102
+ * `b`  
103
+ * `path`  
104
+ * `actions`  
105
+ * `hints`  
106
106
 
107
107
  ## mergeArrays
108
108
 
109
109
  ### Parameters
110
110
 
111
- * `a` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)**
112
- * `b` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)**
113
- * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
111
+ * `a` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)** 
112
+ * `b` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)** 
113
+ * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 
114
114
  * `actions` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** (optional, default `nullAction`)
115
- * `hints` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
115
+ * `hints` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** 
116
116
 
117
117
  ## merge
118
118
 
@@ -120,11 +120,11 @@ Merge to values.
120
120
 
121
121
  ### Parameters
122
122
 
123
- * `a` **any**
124
- * `b` **any**
125
- * `path`
123
+ * `a` **any** 
124
+ * `b` **any** 
125
+ * `path`  
126
126
  * `actions` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)>** (optional, default `nullAction`)
127
- * `hints` **any**
127
+ * `hints` **any**&#x20;
128
128
 
129
129
  Returns **any** merged value
130
130
 
@@ -132,10 +132,10 @@ Returns **any** merged value
132
132
 
133
133
  ### Parameters
134
134
 
135
- * `value` **any**
136
- * `expected` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function))**
135
+ * `value` **any**&#x20;
136
+ * `expected` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function))**&#x20;
137
137
 
138
- Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean))**
138
+ Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean))**&#x20;
139
139
 
140
140
  ## isToBeRemoved
141
141
 
@@ -143,8 +143,8 @@ Should value be removed.
143
143
 
144
144
  ### Parameters
145
145
 
146
- * `value` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
147
- * `fromTemplate` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
146
+ * `value` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
147
+ * `fromTemplate` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
148
148
 
149
149
  Returns **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** true if fromTemplate tells is to delete value
150
150
 
@@ -154,7 +154,7 @@ Remove hint(s) form a value.
154
154
 
155
155
  ### Parameters
156
156
 
157
- * `value` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | any)**
157
+ * `value` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | any)**&#x20;
158
158
 
159
159
  Returns **any** value without hint
160
160
 
@@ -164,9 +164,9 @@ Find best insertion point for b\[i] in a.
164
164
 
165
165
  ### Parameters
166
166
 
167
- * `b` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<any>**
168
- * `i` **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)**
169
- * `a` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<any>**
167
+ * `b` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<any>**&#x20;
168
+ * `i` **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)**&#x20;
169
+ * `a` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<any>**&#x20;
170
170
 
171
171
  ## keyFor
172
172
 
@@ -174,10 +174,10 @@ Deliver key value to identify object.
174
174
 
175
175
  ### Parameters
176
176
 
177
- * `object` **any**
178
- * `hint` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
177
+ * `object` **any**&#x20;
178
+ * `hint` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**&#x20;
179
179
 
180
- Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
180
+ Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
181
181
 
182
182
  ## sortObjectsByKeys
183
183
 
@@ -185,12 +185,12 @@ Sort keys in source.
185
185
 
186
186
  ### Parameters
187
187
 
188
- * `source` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
189
- * `compare`
188
+ * `source` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**&#x20;
189
+ * `compare` &#x20;
190
190
 
191
191
  Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** source with keys orderd by compare function
192
192
 
193
- ## upper
193
+ ## match
194
194
 
195
195
  url means highest version
196
196
 
@@ -200,10 +200,10 @@ Compare two versions.
200
200
 
201
201
  ### Parameters
202
202
 
203
- * `a` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))**
204
- * `b` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))**
203
+ * `a` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))**&#x20;
204
+ * `b` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))**&#x20;
205
205
 
206
- Returns **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** \-1 if a < b, 0 if a == b and 1 if a > b
206
+ Returns **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** -1 if a < b, 0 if a == b and 1 if a > b
207
207
 
208
208
  ## unionVersion
209
209
 
@@ -211,10 +211,10 @@ Forms union of two versions.
211
211
 
212
212
  ### Parameters
213
213
 
214
- * `a` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))**
215
- * `b` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))**
214
+ * `a` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))**&#x20;
215
+ * `b` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))**&#x20;
216
216
 
217
- Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))**
217
+ Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))**&#x20;
218
218
 
219
219
  ## VersionMapper
220
220
 
@@ -228,12 +228,12 @@ Merge and filter two sets of version (expressions).
228
228
 
229
229
  ### Parameters
230
230
 
231
- * `a` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>)**
232
- * `b` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>)**
231
+ * `a` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>)**&#x20;
232
+ * `b` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>)**&#x20;
233
233
  * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** location in the tree
234
234
  * `actions` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** cb to notify about the actual selection (optional, default `nullAction`)
235
- * `hints` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
236
- * `filter` **[VersionMapper](#versionmapper)**
235
+ * `hints` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**&#x20;
236
+ * `filter` **[VersionMapper](#versionmapper)**&#x20;
237
237
 
238
238
  Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>)** merged set of version expressions
239
239
 
@@ -243,11 +243,11 @@ merge two sets of version (expressions)
243
243
 
244
244
  ### Parameters
245
245
 
246
- * `a` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>)**
247
- * `b` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>)**
246
+ * `a` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>)**&#x20;
247
+ * `b` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>)**&#x20;
248
248
  * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** location in the tree
249
249
  * `actions` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** cb to notify about the actual selection
250
- * `hints` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
250
+ * `hints` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**&#x20;
251
251
 
252
252
  Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>)** merged set of version expressions
253
253
 
@@ -258,11 +258,11 @@ numbers if possible
258
258
 
259
259
  ### Parameters
260
260
 
261
- * `a` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>)**
262
- * `b` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>)**
261
+ * `a` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>)**&#x20;
262
+ * `b` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>)**&#x20;
263
263
  * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** location in the tree
264
264
  * `actions` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** cb to notify about the actual selection
265
- * `hints` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
265
+ * `hints` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**&#x20;
266
266
 
267
267
  Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>)** merged set of version expressions
268
268
 
@@ -272,7 +272,7 @@ Iterates over all members.
272
272
 
273
273
  ### Parameters
274
274
 
275
- * `value` **any**
275
+ * `value` **any**&#x20;
276
276
  * `path` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<any>** (optional, default `[]`)
277
277
  * `parents` (optional, default `[]`)
278
278
 
package/package.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "name": "hinted-tree-merger",
3
- "version": "5.0.4",
3
+ "version": "6.0.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "sideEffects": false,
8
7
  "exports": {
9
8
  ".": "./src/index.mjs"
10
9
  },
@@ -24,25 +23,28 @@
24
23
  ],
25
24
  "license": "BSD-2-Clause",
26
25
  "scripts": {
27
- "test": "npm run test:ava",
28
- "test:ava": "ava --timeout 2m tests/*.mjs",
29
- "cover": "c8 -x 'tests/**/*' --temp-directory build/tmp ava --timeout 2m tests/*.mjs && c8 report -r lcov -o build/coverage --temp-directory build/tmp",
26
+ "prepare": "npx playwright install",
27
+ "test": "npm run test:browser-ava && npm run test:ava",
28
+ "test:ava": "ava --timeout 4m tests/*-ava.mjs tests/*-ava-node.mjs",
29
+ "test:browser-ava": "browser-ava --headless --no-keep-open tests/*-ava.mjs tests/*-ava-browser.mjs",
30
+ "cover": "c8 -x 'tests/**/*' --temp-directory build/tmp ava --timeout 4m tests/*-ava.mjs tests/*-ava-node.mjs && c8 report -r lcov -o build/coverage --temp-directory build/tmp",
30
31
  "docs": "documentation readme --section=API ./src/**/*.mjs",
31
32
  "lint": "npm run lint:docs",
32
33
  "lint:docs": "documentation lint ./src/**/*.mjs"
33
34
  },
34
35
  "devDependencies": {
35
- "ava": "^4.3.1",
36
- "c8": "^7.12.0",
37
- "documentation": "^13.2.5",
38
- "semantic-release": "^19.0.3"
36
+ "ava": "^5.3.1",
37
+ "browser-ava": "^2.1.3",
38
+ "c8": "^8.0.1",
39
+ "documentation": "^14.0.2",
40
+ "semantic-release": "^22.0.8"
39
41
  },
40
42
  "engines": {
41
- "node": ">=16.17.0"
43
+ "node": ">=18.18.2"
42
44
  },
43
45
  "repository": {
44
46
  "type": "git",
45
- "url": "https://github.com/arlac77/hinted-tree-merger.git"
47
+ "url": "https://github.com/arlac77/hinted-tree-merger"
46
48
  },
47
49
  "bugs": {
48
50
  "url": "https://github.com/arlac77/hinted-tree-merger/issues"
@@ -51,6 +53,7 @@
51
53
  "template": {
52
54
  "inheritFrom": [
53
55
  "arlac77/template-arlac77-github",
56
+ "arlac77/template-browser-ava",
54
57
  "arlac77/template-esm-only"
55
58
  ]
56
59
  }
package/src/util.mjs CHANGED
@@ -1,6 +1,10 @@
1
- import { DELETE_HINT_REGEX, SHORT_DELETE_HINT_REGEX, OVERWRITE_HINT_REGEX } from "./hint.mjs";
1
+ import {
2
+ DELETE_HINT_REGEX,
3
+ SHORT_DELETE_HINT_REGEX,
4
+ OVERWRITE_HINT_REGEX
5
+ } from "./hint.mjs";
2
6
 
3
- export function nullAction() { }
7
+ export function nullAction() {}
4
8
 
5
9
  export function asArray(a) {
6
10
  return Array.isArray(a) ? a : a === undefined ? [] : [a];
@@ -45,7 +49,6 @@ export function hasDeleteHint(value, expected) {
45
49
  return false;
46
50
  }
47
51
 
48
-
49
52
  /**
50
53
  * Should value be removed.
51
54
  * @param {string} value
@@ -75,7 +78,11 @@ export function isToBeRemoved(value, fromTemplate) {
75
78
  */
76
79
  export function hintFreeValue(value) {
77
80
  if (typeof value === "string") {
78
- for (const r of [SHORT_DELETE_HINT_REGEX, DELETE_HINT_REGEX, OVERWRITE_HINT_REGEX]) {
81
+ for (const r of [
82
+ SHORT_DELETE_HINT_REGEX,
83
+ DELETE_HINT_REGEX,
84
+ OVERWRITE_HINT_REGEX
85
+ ]) {
79
86
  const m = value.match(r);
80
87
  if (m) {
81
88
  return m[1];
@@ -97,7 +104,7 @@ export function removeHintedValues(object, removeEmpty = false) {
97
104
  if (Array.isArray(object)) {
98
105
  return object.filter(o =>
99
106
  typeof o === "string" &&
100
- (o.match(DELETE_HINT_REGEX) || o.match(SHORT_DELETE_HINT_REGEX))
107
+ (o.match(DELETE_HINT_REGEX) || o.match(SHORT_DELETE_HINT_REGEX))
101
108
  ? false
102
109
  : true
103
110
  );
@@ -144,8 +151,11 @@ export function deepCopy(object) {
144
151
 
145
152
  return result;
146
153
  }
154
+ if (object instanceof Set) {
155
+ return new Set(...object);
156
+ }
147
157
 
148
- if (object instanceof Set || object instanceof Date) {
158
+ if (object instanceof Date) {
149
159
  return object;
150
160
  }
151
161
 
@@ -159,18 +169,17 @@ export function deepCopy(object) {
159
169
  }
160
170
 
161
171
  export function isEmpty(a) {
162
- if (a === undefined || a === null || a === "") {
163
- return true;
172
+ if (isScalar(a)) {
173
+ if (a === undefined || a === null || a === "") {
174
+ return true;
175
+ }
176
+ return false;
164
177
  }
165
178
 
166
179
  if (Array.isArray(a) && a.length === 0) {
167
180
  return true;
168
181
  }
169
182
 
170
- if (isScalar(a)) {
171
- return false;
172
- }
173
-
174
183
  if (a instanceof Map || a instanceof Set) {
175
184
  return a.size === 0;
176
185
  }
@@ -283,7 +292,7 @@ export function indexFor(b, i, a) {
283
292
 
284
293
  function normalizeValue(value, hint) {
285
294
  if (value !== undefined && hint.normalizeValue) {
286
- return value.replace(new RegExp(hint.normalizeValue), '');
295
+ return value.replace(new RegExp(hint.normalizeValue), "");
287
296
  }
288
297
  return value;
289
298
  }
@@ -295,7 +304,7 @@ function normalizeValue(value, hint) {
295
304
  * @return {string}
296
305
  */
297
306
  export function keyFor(object, hint) {
298
- if (hint && hint.key) {
307
+ if (hint?.key) {
299
308
  const andKeys = Array.isArray(hint.key) ? hint.key : hint.key.split(/\&/);
300
309
 
301
310
  if (andKeys.length > 1) {
@@ -306,7 +315,9 @@ export function keyFor(object, hint) {
306
315
  }
307
316
 
308
317
  const orKeys = Array.isArray(hint.key) ? hint.key : hint.key.split(/\|/);
309
- return orKeys.map(k => normalizeValue(object[k], hint)).find(v => v !== undefined);
318
+ return orKeys
319
+ .map(k => normalizeValue(object[k], hint))
320
+ .find(v => v !== undefined);
310
321
  }
311
322
 
312
323
  return undefined;
@@ -332,7 +343,7 @@ export function compareWithDefinedOrder(a, b, definedOrder) {
332
343
  function matchingIndex(value) {
333
344
  for (const i in definedOrder) {
334
345
  const o = definedOrder[i];
335
- if (o instanceof RegExp && value.match(o) || o === value) {
346
+ if ((o instanceof RegExp && value.match(o)) || o === value) {
336
347
  return i;
337
348
  }
338
349
  }
package/src/versions.mjs CHANGED
@@ -181,7 +181,7 @@ function toSet(a) {
181
181
  if (isScalar(a)) {
182
182
  return a === undefined ? new Set() : new Set([a]);
183
183
  }
184
- return new Set([...a.map(s => String(s))]);
184
+ return new Set(a.map(s => String(s)));
185
185
  }
186
186
 
187
187
  /**