@rimbu/deep 0.14.5 → 1.0.0-alpha.2

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.
Files changed (86) hide show
  1. package/{src/deep.ts → dist/bun/deep.mts} +7 -7
  2. package/{src/index.ts → dist/bun/index.mts} +5 -5
  3. package/dist/bun/internal.mts +8 -0
  4. package/{src/match.ts → dist/bun/match.mts} +6 -6
  5. package/{src/patch.ts → dist/bun/patch.mts} +9 -4
  6. package/{src/path.ts → dist/bun/path.mts} +2 -2
  7. package/{src/selector.ts → dist/bun/selector.mts} +1 -1
  8. package/dist/cjs/deep.cjs +590 -0
  9. package/dist/cjs/index.cjs +663 -0
  10. package/dist/cjs/internal.cjs +583 -0
  11. package/dist/cjs/match.cjs +376 -0
  12. package/dist/cjs/patch.cjs +105 -0
  13. package/dist/cjs/path.cjs +585 -0
  14. package/dist/cjs/protected.cjs +18 -0
  15. package/dist/cjs/selector.cjs +581 -0
  16. package/dist/cjs/tuple.cjs +73 -0
  17. package/dist/{module/deep.js → esm/deep.mjs} +6 -6
  18. package/dist/esm/deep.mjs.map +1 -0
  19. package/dist/{module/index.js → esm/index.mjs} +5 -5
  20. package/dist/esm/index.mjs.map +1 -0
  21. package/dist/esm/internal.mjs +5 -0
  22. package/dist/esm/internal.mjs.map +1 -0
  23. package/dist/{module/match.js → esm/match.mjs} +21 -21
  24. package/dist/esm/match.mjs.map +1 -0
  25. package/dist/{module/patch.js → esm/patch.mjs} +5 -5
  26. package/dist/esm/patch.mjs.map +1 -0
  27. package/dist/{module/path.js → esm/path.mjs} +2 -2
  28. package/dist/esm/path.mjs.map +1 -0
  29. package/dist/esm/protected.mjs +2 -0
  30. package/dist/esm/protected.mjs.map +1 -0
  31. package/dist/{module/selector.js → esm/selector.mjs} +2 -2
  32. package/dist/esm/selector.mjs.map +1 -0
  33. package/dist/{module/tuple.js → esm/tuple.mjs} +1 -1
  34. package/dist/esm/tuple.mjs.map +1 -0
  35. package/dist/types/{deep.d.ts → deep.d.mts} +6 -6
  36. package/dist/types/{index.d.ts → index.d.mts} +5 -5
  37. package/dist/types/internal.d.mts +7 -0
  38. package/dist/types/{match.d.ts → match.d.mts} +3 -3
  39. package/dist/types/{patch.d.ts → patch.d.mts} +3 -3
  40. package/dist/types/{path.d.ts → path.d.mts} +2 -2
  41. package/dist/types/{selector.d.ts → selector.d.mts} +1 -1
  42. package/package.json +29 -23
  43. package/src/deep.mts +364 -0
  44. package/src/index.mts +23 -0
  45. package/src/internal.mts +8 -0
  46. package/src/match.mts +700 -0
  47. package/src/patch.mts +262 -0
  48. package/src/path.mts +430 -0
  49. package/src/protected.mts +30 -0
  50. package/src/selector.mts +90 -0
  51. package/src/tuple.mts +197 -0
  52. package/dist/main/deep.js +0 -211
  53. package/dist/main/deep.js.map +0 -1
  54. package/dist/main/index.js +0 -19
  55. package/dist/main/index.js.map +0 -1
  56. package/dist/main/internal.js +0 -9
  57. package/dist/main/internal.js.map +0 -1
  58. package/dist/main/match.js +0 -284
  59. package/dist/main/match.js.map +0 -1
  60. package/dist/main/patch.js +0 -133
  61. package/dist/main/patch.js.map +0 -1
  62. package/dist/main/path.js +0 -126
  63. package/dist/main/path.js.map +0 -1
  64. package/dist/main/protected.js +0 -3
  65. package/dist/main/protected.js.map +0 -1
  66. package/dist/main/selector.js +0 -40
  67. package/dist/main/selector.js.map +0 -1
  68. package/dist/main/tuple.js +0 -164
  69. package/dist/main/tuple.js.map +0 -1
  70. package/dist/module/deep.js.map +0 -1
  71. package/dist/module/index.js.map +0 -1
  72. package/dist/module/internal.js +0 -4
  73. package/dist/module/internal.js.map +0 -1
  74. package/dist/module/match.js.map +0 -1
  75. package/dist/module/patch.js.map +0 -1
  76. package/dist/module/path.js.map +0 -1
  77. package/dist/module/protected.js +0 -2
  78. package/dist/module/protected.js.map +0 -1
  79. package/dist/module/selector.js.map +0 -1
  80. package/dist/module/tuple.js.map +0 -1
  81. package/dist/types/internal.d.ts +0 -7
  82. package/src/internal.ts +0 -8
  83. /package/{src/protected.ts → dist/bun/protected.mts} +0 -0
  84. /package/{src/tuple.ts → dist/bun/tuple.mts} +0 -0
  85. /package/dist/types/{protected.d.ts → protected.d.mts} +0 -0
  86. /package/dist/types/{tuple.d.ts → tuple.d.mts} +0 -0
@@ -32,14 +32,14 @@ function matchEntry(source, parent, root, matcher, failureLog) {
32
32
  if (matcher === null || matcher === undefined) {
33
33
  // these matchers can only be direct matches, and previously it was determined that
34
34
  // they are not equal
35
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`value ${JSON.stringify(source)} did not match matcher ${matcher}`);
35
+ failureLog?.push(`value ${JSON.stringify(source)} did not match matcher ${matcher}`);
36
36
  return false;
37
37
  }
38
38
  if (typeof source === 'function') {
39
39
  // function source values can only be directly matched
40
40
  const result = Object.is(source, matcher);
41
41
  if (!result) {
42
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`both value and matcher are functions, but they do not have the same reference`);
42
+ failureLog?.push(`both value and matcher are functions, but they do not have the same reference`);
43
43
  }
44
44
  return result;
45
45
  }
@@ -49,7 +49,7 @@ function matchEntry(source, parent, root, matcher, failureLog) {
49
49
  if (typeof matcherResult === 'boolean') {
50
50
  // function resulted in a direct match result
51
51
  if (!matcherResult) {
52
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`function matcher returned false for value ${JSON.stringify(source)}`);
52
+ failureLog?.push(`function matcher returned false for value ${JSON.stringify(source)}`);
53
53
  }
54
54
  return matcherResult;
55
55
  }
@@ -65,7 +65,7 @@ function matchEntry(source, parent, root, matcher, failureLog) {
65
65
  return matchArr(source, parent, root, matcher, failureLog);
66
66
  }
67
67
  // already determined above that the source and matcher are not equal
68
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`value ${JSON.stringify(source)} does not match given matcher ${JSON.stringify(matcher)}`);
68
+ failureLog?.push(`value ${JSON.stringify(source)} does not match given matcher ${JSON.stringify(matcher)}`);
69
69
  return false;
70
70
  }
71
71
  /**
@@ -77,7 +77,7 @@ function matchArr(source, parent, root, matcher, failureLog) {
77
77
  const length = source.length;
78
78
  if (length !== matcher.length) {
79
79
  // if lengths not equal, arrays are not equal
80
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`array lengths are not equal: value length ${source.length} !== matcher length ${matcher.length}`);
80
+ failureLog?.push(`array lengths are not equal: value length ${source.length} !== matcher length ${matcher.length}`);
81
81
  return false;
82
82
  }
83
83
  // loop over arrays, matching every value
@@ -85,7 +85,7 @@ function matchArr(source, parent, root, matcher, failureLog) {
85
85
  while (++index < length) {
86
86
  if (!matchEntry(source[index], source, root, matcher[index], failureLog)) {
87
87
  // item did not match, return false
88
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`index ${index} does not match with value ${JSON.stringify(source[index])} and matcher ${matcher[index]}`);
88
+ failureLog?.push(`index ${index} does not match with value ${JSON.stringify(source[index])} and matcher ${matcher[index]}`);
89
89
  return false;
90
90
  }
91
91
  }
@@ -124,14 +124,14 @@ function matchArr(source, parent, root, matcher, failureLog) {
124
124
  const matcherAtIndex = matcher[index];
125
125
  if (!(index in source)) {
126
126
  // source does not have item at given index
127
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`index ${index} does not exist in source ${JSON.stringify(source)} but should match matcher ${JSON.stringify(matcherAtIndex)}`);
127
+ failureLog?.push(`index ${index} does not exist in source ${JSON.stringify(source)} but should match matcher ${JSON.stringify(matcherAtIndex)}`);
128
128
  return false;
129
129
  }
130
130
  // match the source item at the given index
131
131
  const result = matchEntry(source[index], source, root, matcherAtIndex, failureLog);
132
132
  if (!result) {
133
133
  // item did not match
134
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`index ${index} does not match with value ${JSON.stringify(source[index])} and matcher ${JSON.stringify(matcherAtIndex)}`);
134
+ failureLog?.push(`index ${index} does not match with value ${JSON.stringify(source[index])} and matcher ${JSON.stringify(matcherAtIndex)}`);
135
135
  return false;
136
136
  }
137
137
  }
@@ -150,13 +150,13 @@ function matchPlainObj(source, parent, root, matcher, failureLog) {
150
150
  for (const key in matcher) {
151
151
  if (!(key in source)) {
152
152
  // the source does not have the given key
153
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`key ${key} is specified in matcher but not present in value ${JSON.stringify(source)}`);
153
+ failureLog?.push(`key ${key} is specified in matcher but not present in value ${JSON.stringify(source)}`);
154
154
  return false;
155
155
  }
156
156
  // match the source value at the given key with the matcher at given key
157
157
  const result = matchEntry(source[key], source, root, matcher[key], failureLog);
158
158
  if (!result) {
159
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`key ${key} does not match in value ${JSON.stringify(source[key])} with matcher ${JSON.stringify(matcher[key])}`);
159
+ failureLog?.push(`key ${key} does not match in value ${JSON.stringify(source[key])} with matcher ${JSON.stringify(matcher[key])}`);
160
160
  return false;
161
161
  }
162
162
  }
@@ -178,7 +178,7 @@ function matchCompound(source, parent, root, compound, failureLog) {
178
178
  // if any item does not match, return false
179
179
  const result = matchEntry(source, parent, root, compound[index], failureLog);
180
180
  if (!result) {
181
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`in compound "every": match at index ${index} failed`);
181
+ failureLog?.push(`in compound "every": match at index ${index} failed`);
182
182
  return false;
183
183
  }
184
184
  }
@@ -189,7 +189,7 @@ function matchCompound(source, parent, root, compound, failureLog) {
189
189
  while (++index < length) {
190
190
  const result = matchEntry(source, parent, root, compound[index], failureLog);
191
191
  if (result) {
192
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`in compound "none": match at index ${index} succeeded`);
192
+ failureLog?.push(`in compound "none": match at index ${index} succeeded`);
193
193
  return false;
194
194
  }
195
195
  }
@@ -202,14 +202,14 @@ function matchCompound(source, parent, root, compound, failureLog) {
202
202
  const result = matchEntry(source, parent, root, compound[index], failureLog);
203
203
  if (result) {
204
204
  if (onePassed) {
205
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`in compound "single": multiple matches succeeded`);
205
+ failureLog?.push(`in compound "single": multiple matches succeeded`);
206
206
  return false;
207
207
  }
208
208
  onePassed = true;
209
209
  }
210
210
  }
211
211
  if (!onePassed) {
212
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`in compound "single": no matches succeeded`);
212
+ failureLog?.push(`in compound "single": no matches succeeded`);
213
213
  }
214
214
  return onePassed;
215
215
  }
@@ -221,7 +221,7 @@ function matchCompound(source, parent, root, compound, failureLog) {
221
221
  return true;
222
222
  }
223
223
  }
224
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`in compound "some": no matches succeeded`);
224
+ failureLog?.push(`in compound "some": no matches succeeded`);
225
225
  return false;
226
226
  }
227
227
  }
@@ -236,13 +236,13 @@ function matchTraversal(source, root, matchType, matcher, failureLog) {
236
236
  return true;
237
237
  }
238
238
  }
239
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`in array traversal "someItem": no items matched given matcher`);
239
+ failureLog?.push(`in array traversal "someItem": no items matched given matcher`);
240
240
  return false;
241
241
  }
242
242
  case 'everyItem': {
243
243
  while (++index < length) {
244
244
  if (!matchEntry(source[index], source, root, matcher, failureLog)) {
245
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`in array traversal "everyItem": at least one item did not match given matcher`);
245
+ failureLog?.push(`in array traversal "everyItem": at least one item did not match given matcher`);
246
246
  return false;
247
247
  }
248
248
  }
@@ -251,7 +251,7 @@ function matchTraversal(source, root, matchType, matcher, failureLog) {
251
251
  case 'noneItem': {
252
252
  while (++index < length) {
253
253
  if (matchEntry(source[index], source, root, matcher, failureLog)) {
254
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`in array traversal "noneItem": at least one item matched given matcher`);
254
+ failureLog?.push(`in array traversal "noneItem": at least one item matched given matcher`);
255
255
  return false;
256
256
  }
257
257
  }
@@ -262,18 +262,18 @@ function matchTraversal(source, root, matchType, matcher, failureLog) {
262
262
  while (++index < length) {
263
263
  if (matchEntry(source[index], source, root, matcher, failureLog)) {
264
264
  if (singleMatched) {
265
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`in array traversal "singleItem": more than one item matched given matcher`);
265
+ failureLog?.push(`in array traversal "singleItem": more than one item matched given matcher`);
266
266
  return false;
267
267
  }
268
268
  singleMatched = true;
269
269
  }
270
270
  }
271
271
  if (!singleMatched) {
272
- failureLog === null || failureLog === void 0 ? void 0 : failureLog.push(`in array traversal "singleItem": no item matched given matcher`);
272
+ failureLog?.push(`in array traversal "singleItem": no item matched given matcher`);
273
273
  return false;
274
274
  }
275
275
  return true;
276
276
  }
277
277
  }
278
278
  }
279
- //# sourceMappingURL=match.js.map
279
+ //# sourceMappingURL=match.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match.mjs","sourceRoot":"","sources":["../../src/match.mts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { isPlainObj } from '@rimbu/base';
1
+ import { isPlainObj, } from '@rimbu/base';
2
2
  /**
3
3
  * Returns an immutably updated version of the given `value` where the given `patchItems` have been
4
4
  * applied to the result.
@@ -56,14 +56,14 @@ function patchPlainObj(value, root, patchItem) {
56
56
  }
57
57
  // patch is an array of partial updates
58
58
  // copy the input value
59
- const result = Object.assign({}, value);
59
+ const result = { ...value };
60
60
  let anyChange = false;
61
61
  // loop over patches in array
62
62
  for (const entry of patchItem) {
63
63
  // update root if needed
64
- const currentRoot = value === root ? Object.assign({}, result) : root;
64
+ const currentRoot = value === root ? { ...result } : root;
65
65
  // keep current updated result as parent
66
- const parent = Object.assign({}, result);
66
+ const parent = { ...result };
67
67
  // loop over all the patch keys
68
68
  for (const key in entry) {
69
69
  // patch the value at the given key with the patch at that key
@@ -114,4 +114,4 @@ function patchArr(value, root, patchItem) {
114
114
  // nothing changed, return old value
115
115
  return value;
116
116
  }
117
- //# sourceMappingURL=patch.js.map
117
+ //# sourceMappingURL=patch.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.mjs","sourceRoot":"","sources":["../../src/patch.mts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Deep } from './internal';
1
+ import { Deep } from './internal.mjs';
2
2
  export var Path;
3
3
  (function (Path) {
4
4
  /**
@@ -105,4 +105,4 @@ export function patchAt(source, path, patchItem) {
105
105
  }
106
106
  return Deep.patch(source, createPatchPart(0, source));
107
107
  }
108
- //# sourceMappingURL=path.js.map
108
+ //# sourceMappingURL=path.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.mjs","sourceRoot":"","sources":["../../src/path.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAc,MAAM,gBAAgB,CAAC;AAGlD,MAAM,KAAW,IAAI,CAsTpB;AAtTD,WAAiB,IAAI;IAqSnB;;OAEG;IACU,qBAAgB,GAAG,gBAAgB,CAAC;IAOjD;;;OAGG;IACH,SAAgB,WAAW,CAAC,IAAY;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC;IAFe,gBAAW,cAE1B,CAAA;AACH,CAAC,EAtTgB,IAAI,KAAJ,IAAI,QAsTpB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,KAAK,CACnB,MAAS,EACT,IAAO;IAEP,IAAI,IAAI,KAAK,EAAE,EAAE;QACf,kDAAkD;QAClD,OAAO,MAAa,CAAC;KACtB;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAErC,sCAAsC;IACtC,IAAI,MAAM,GAAG,MAAa,CAAC;IAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,SAAS,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,EAAE;YACrD,0BAA0B;YAC1B,SAAS;SACV;QAED,IAAI,SAAS,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,EAAE;YAC3C,2FAA2F;YAC3F,OAAO,SAAgB,CAAC;SACzB;QAED,sCAAsC;QACtC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;KACvB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,OAAO,CACrB,MAAS,EACT,IAAO,EACP,SAA0D;IAE1D,IAAI,IAAI,KAAK,EAAE,EAAE;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAgB,CAAC,CAAC;KAC7C;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAErC,mDAAmD;IACnD,SAAS,eAAe,CAAC,KAAa,EAAE,MAAW;QACjD,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,EAAE;YAC1B,oDAAoD;YACpD,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAE1B,IAAI,SAAS,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;YACrC,6BAA6B;YAC7B,OAAO,eAAe,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;SAC3C;QAED,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,kDAAkD;YAClD,OAAO,eAAe,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;SAC3C;QAED,gGAAgG;QAChG,MAAM,MAAM,GAAG;YACb,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;SACjD,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,wEAAwE;YACxE,OAAO,MAAM,CAAC;SACf;QAED,mEAAmE;QACnE,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=protected.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protected.mjs","sourceRoot":"","sources":["../../src/protected.mts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { Deep } from './internal';
1
+ import { Deep, Path } from './internal.mjs';
2
2
  /**
3
3
  * Returns the result of applying the given `selector` shape to the given `source` value.
4
4
  * @typeparam T - the patch value type
@@ -33,4 +33,4 @@ export function select(source, selector) {
33
33
  }
34
34
  return result;
35
35
  }
36
- //# sourceMappingURL=selector.js.map
36
+ //# sourceMappingURL=selector.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selector.mjs","sourceRoot":"","sources":["../../src/selector.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAkB,MAAM,gBAAgB,CAAC;AAkD5D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,MAAM,CACpB,MAAS,EACT,QAA4B;IAE5B,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;QAClC,kDAAkD;QAClD,OAAQ,QAAgB,CAAC,MAAsB,CAAC,CAAC;KAClD;SAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QACvC,2DAA2D;QAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAuB,CAAQ,CAAC;KAC3D;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAClC,+CAA+C;QAC/C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAQ,CAAC;KACtD;IAED,qBAAqB;IAErB,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,KAAK,MAAM,GAAG,IAAI,QAAe,EAAE;QACjC,qDAAqD;QACrD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAG,QAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;KACtD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -149,4 +149,4 @@ export var Tuple;
149
149
  }
150
150
  Tuple.tail = tail;
151
151
  })(Tuple || (Tuple = {}));
152
- //# sourceMappingURL=tuple.js.map
152
+ //# sourceMappingURL=tuple.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuple.mjs","sourceRoot":"","sources":["../../src/tuple.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAQlC,MAAM,KAAW,KAAK,CA4LrB;AA5LD,WAAiB,KAAK;IAuBpB;;;;;;;;OAQG;IACH,SAAgB,EAAE,CAAiC,GAAG,MAAS;QAC7D,OAAO,MAAa,CAAC;IACvB,CAAC;IAFe,QAAE,KAEjB,CAAA;IAED;;;;;;;;;;OAUG;IACH,SAAgB,QAAQ,CACtB,KAAQ,EACR,KAAQ;QAER,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IALe,cAAQ,WAKvB,CAAA;IAED;;;;;;;;;OASG;IACH,SAAgB,KAAK,CAAyB,KAAQ;QACpD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAFe,WAAK,QAEpB,CAAA;IAED;;;;;;;;;OASG;IACH,SAAgB,MAAM,CAAyB,KAAQ;QACrD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAFe,YAAM,SAErB,CAAA;IAED;;;;;;;;;OASG;IACH,SAAgB,IAAI,CAClB,KAAyB;QAEzB,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAQ,CAAC;IACxC,CAAC;IAJe,UAAI,OAInB,CAAA;IAED;;;;;;;;;;;;OAYG;IACH,SAAgB,QAAQ,CACtB,KAAQ,EACR,KAAQ,EACR,OAAqB;QAErB,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,KAAe,EAAE,OAAO,CAAM,CAAC;IAC1D,CAAC;IANe,cAAQ,WAMvB,CAAA;IAED;;;;;;;;;;OAUG;IACH,SAAgB,MAAM,CAGpB,KAAQ,EAAE,GAAG,MAAS;QACtB,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC;IAC/B,CAAC;IALe,YAAM,SAKrB,CAAA;IAED;;;;;;;;;;;;OAYG;IACH,SAAgB,MAAM,CACpB,MAAU,EACV,MAAU;QAEV,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAQ,CAAC;IACtC,CAAC;IALe,YAAM,SAKrB,CAAA;IAED;;;;;;;;;OASG;IACH,SAAgB,IAAI,CAClB,KAA+B;QAE/B,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAQ,CAAC;IAChC,CAAC;IAJe,UAAI,OAInB,CAAA;IAED;;;;;;;;;OASG;IACH,SAAgB,IAAI,CAClB,KAA+B;QAE/B,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAQ,CAAC;IAChC,CAAC;IAJe,UAAI,OAInB,CAAA;AACH,CAAC,EA5LgB,KAAK,KAAL,KAAK,QA4LrB"}
@@ -1,9 +1,9 @@
1
- import type { Match, Patch, Path, Protected, Selector } from './internal';
2
- export { match, type Match } from './match';
3
- export { patch, type Patch } from './patch';
4
- export { getAt, patchAt, type Path } from './path';
5
- export { select, type Selector } from './selector';
6
- export type { Protected } from './protected';
1
+ import type { Match, Patch, Path, Protected, Selector } from './internal.mjs';
2
+ export { match, type Match } from './match.mjs';
3
+ export { patch, type Patch } from './patch.mjs';
4
+ export { getAt, patchAt, type Path } from './path.mjs';
5
+ export type { Protected } from './protected.mjs';
6
+ export { select, type Selector } from './selector.mjs';
7
7
  /**
8
8
  * Returns the same value wrapped in the `Protected` type.
9
9
  * @typeparam T - the source value type
@@ -5,11 +5,11 @@
5
5
  * <br/>
6
6
  * See the [Rimbu docs Deep overview page](/docs/deep/overview) for more information.
7
7
  */
8
- export { Tuple } from './tuple';
9
- export type { Protected, Patch } from './internal';
10
- export { Path, type Selector, type Match } from './internal';
11
- export * from './deep';
12
- import * as Deep from './deep';
8
+ export { Tuple } from './tuple.mjs';
9
+ export type { Protected, Patch } from './internal.mjs';
10
+ export { Path, type Selector, type Match } from './internal.mjs';
11
+ export * from './deep.mjs';
12
+ import * as Deep from './deep.mjs';
13
13
  export {
14
14
  /**
15
15
  * Convenience namespace offering access to most common functions used in the `@rimbu/deep` package.
@@ -0,0 +1,7 @@
1
+ export type { Protected } from './protected.mjs';
2
+ export { Path } from './path.mjs';
3
+ export { type Match } from './match.mjs';
4
+ export type { Patch } from './patch.mjs';
5
+ export type { Selector } from './selector.mjs';
6
+ import * as Deep from './deep.mjs';
7
+ export { Deep };
@@ -1,6 +1,6 @@
1
- import { IsAnyFunc, IsArray, IsPlainObj, NotIterable } from '@rimbu/base';
2
- import type { Protected } from './internal';
3
- import type { Tuple } from './tuple';
1
+ import { type IsAnyFunc, type IsArray, type IsPlainObj, type NotIterable } from '@rimbu/base';
2
+ import type { Protected } from './internal.mjs';
3
+ import type { Tuple } from './tuple.mjs';
4
4
  /**
5
5
  * The type to determine the allowed input values for the `match` function.
6
6
  * @typeparam T - the type of value to match
@@ -1,6 +1,6 @@
1
- import { IsAnyFunc, IsArray, IsPlainObj } from '@rimbu/base';
2
- import type { Protected } from './internal';
3
- import type { Tuple } from './tuple';
1
+ import { type IsAnyFunc, type IsArray, type IsPlainObj } from '@rimbu/base';
2
+ import type { Protected } from './internal.mjs';
3
+ import type { Tuple } from './tuple.mjs';
4
4
  /**
5
5
  * A type to determine the allowed input type for the `patch` function.
6
6
  * @typeparam T - the input type to be patched
@@ -1,6 +1,6 @@
1
1
  import type { IsAnyFunc, IsArray, IsPlainObj } from '@rimbu/base';
2
- import { Patch } from './internal';
3
- import type { Tuple } from './tuple';
2
+ import { type Patch } from './internal.mjs';
3
+ import type { Tuple } from './tuple.mjs';
4
4
  export declare namespace Path {
5
5
  /**
6
6
  * A string representing a path into an (nested) object of type T.
@@ -1,5 +1,5 @@
1
1
  import type { IsAnyFunc, IsArray } from '@rimbu/base';
2
- import { Path, type Protected } from './internal';
2
+ import { Path, type Protected } from './internal.mjs';
3
3
  /**
4
4
  * Type defining the allowed selectors on an object of type `T`.
5
5
  * Selectors can be:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rimbu/deep",
3
- "version": "0.14.5",
3
+ "version": "1.0.0-alpha.2",
4
4
  "description": "Tools to use handle plain JS objects as immutable objects",
5
5
  "keywords": [
6
6
  "immutable",
@@ -30,17 +30,17 @@
30
30
  "url": "https://github.com/rimbu-org/rimbu.git",
31
31
  "directory": "packages/deep"
32
32
  },
33
- "source": "./src/index.ts",
34
- "main": "./dist/main/index.js",
35
- "module": "./dist/module/index.js",
36
- "types": "./dist/types/index.d.ts",
33
+ "type": "module",
34
+ "main": "./dist/cjs/index.cjs",
35
+ "module": "./dist/esm/index.mjs",
36
+ "types": "./dist/types/index.d.mts",
37
37
  "exports": {
38
38
  ".": {
39
- "types": "./dist/types/index.d.ts",
40
- "bun": "./src/index.ts",
41
- "import": "./dist/module/index.js",
42
- "require": "./dist/main/index.js",
43
- "default": "./dist/module/index.js"
39
+ "types": "./dist/types/index.d.mts",
40
+ "bun": "./dist/bun/index.mts",
41
+ "import": "./dist/esm/index.mjs",
42
+ "require": "./dist/cjs/index.cjs",
43
+ "default": "./dist/esm/index.mjs"
44
44
  }
45
45
  },
46
46
  "files": [
@@ -49,29 +49,35 @@
49
49
  ],
50
50
  "scripts": {
51
51
  "build": "yarn clean && yarn bundle",
52
- "build:deno": "rimraf deno_dist ../../deno_dist/deep && denoify && mv deno_dist ../../deno_dist/deep",
53
- "bundle": "yarn bundle:main && yarn bundle:module && yarn bundle:types",
54
- "bundle:main": "tsc --p tsconfig.main.json",
55
- "bundle:module": "tsc --p tsconfig.module.json",
52
+ "build:deno": "yarn bundle:deno-prepare && yarn bundle:deno-convert && yarn bundle:deno-move && yarn bundle:deno-clean",
53
+ "bundle": "yarn bundle:cjs && yarn bundle:esm && yarn bundle:types && yarn bundle:bun",
54
+ "bundle:bun": "node ../../config/bunnify.mjs",
55
+ "bundle:cjs": "tsup src --format cjs --clean -d dist/cjs --loader '.mts=ts'",
56
+ "bundle:deno-prepare": "node ../../config/prepare-denoify.mjs",
57
+ "bundle:deno-convert": "denoify --src _deno_prepare/src",
58
+ "bundle:deno-move": "rimraf ../../deno_dist/deep && mv deno_dist ../../deno_dist/deep",
59
+ "bundle:deno-clean": "rimraf _deno_prepare",
60
+ "bundle:esm": "tsc --p tsconfig.esm.json",
56
61
  "bundle:types": "tsc --p tsconfig.types.json",
57
62
  "clean": "rimraf dist",
58
- "extract-api": "api-extractor run --local --verbose --config config/api-extractor.main.json",
63
+ "extract-api": "ts-node ../../config/api-extractor.ts config/api-extractor.main.json",
59
64
  "format": "yarn format:base --write",
60
- "format:base": "prettier \"{!CHANGELOG.md}|**/**/*.{ts,tsx,js,json,md}\"",
65
+ "format:base": "prettier \"{!CHANGELOG.md}|**/**/*.{ts,tsx,js,mts,mjs,json,md}\"",
61
66
  "format:check": "yarn format:base --check",
62
67
  "lint": "eslint src",
63
- "test": "jest",
64
- "test:types": "tsd",
68
+ "test": "vitest run",
69
+ "test:cov": "vitest run --coverage",
70
+ "test:watch": "vitest",
71
+ "test:types": "tsd --files test-d",
65
72
  "typecheck": "tsc"
66
73
  },
67
- "sideEffects": false,
68
74
  "dependencies": {
69
- "@rimbu/base": "^0.11.4",
70
- "@rimbu/common": "*",
71
- "tslib": "^2.5.0"
75
+ "@rimbu/base": "^1.0.0-alpha.2",
76
+ "@rimbu/common": "^1.0.0-alpha.2",
77
+ "tslib": "^2.5.3"
72
78
  },
73
79
  "publishConfig": {
74
80
  "access": "public"
75
81
  },
76
- "gitHead": "5400f8471bdfc7a227f7defc4a3942bdf3ff1423"
82
+ "gitHead": "5f9e27c3b41028a7ec98c47a94daebce9461d3fb"
77
83
  }