@dxos/util 0.6.14-staging.e15392e → 0.7.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.
@@ -34,35 +34,6 @@ var distinctBy = (array, selector) => {
34
34
  });
35
35
  };
36
36
 
37
- // packages/common/util/src/assign.ts
38
- import { invariant } from "@dxos/invariant";
39
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/common/util/src/assign.ts";
40
- var setDeep = (obj, path, value) => {
41
- invariant(path.length > 0, void 0, {
42
- F: __dxlog_file,
43
- L: 12,
44
- S: void 0,
45
- A: [
46
- "path.length > 0",
47
- ""
48
- ]
49
- });
50
- let parent = obj;
51
- for (const key of path.slice(0, -1)) {
52
- parent[key] ??= {};
53
- parent = parent[key];
54
- }
55
- parent[path.at(-1)] = value;
56
- return parent[path.at(-1)];
57
- };
58
- var getDeep = (obj, path) => {
59
- let parent = obj;
60
- for (const key of path) {
61
- parent = parent?.[key];
62
- }
63
- return parent;
64
- };
65
-
66
37
  // packages/common/util/src/binder.ts
67
38
  import util from "@dxos/node-std/util";
68
39
  var createBinder = (obj) => ({
@@ -71,8 +42,8 @@ var createBinder = (obj) => ({
71
42
  });
72
43
 
73
44
  // packages/common/util/src/bitfield.ts
74
- import { invariant as invariant2 } from "@dxos/invariant";
75
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/common/util/src/bitfield.ts";
45
+ import { invariant } from "@dxos/invariant";
46
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/common/util/src/bitfield.ts";
76
47
  var BitField = class _BitField {
77
48
  static get(data, idx) {
78
49
  const bit = data[idx >> 3] >> 7 - idx % 8 & 1;
@@ -104,8 +75,8 @@ var BitField = class _BitField {
104
75
  return result;
105
76
  }
106
77
  static and(first, second) {
107
- invariant2(first.length === second.length, "Bitfields must be of the same length", {
108
- F: __dxlog_file2,
78
+ invariant(first.length === second.length, "Bitfields must be of the same length", {
79
+ F: __dxlog_file,
109
80
  L: 52,
110
81
  S: this,
111
82
  A: [
@@ -141,12 +112,12 @@ var BitField = class _BitField {
141
112
  };
142
113
 
143
114
  // packages/common/util/src/callback.ts
144
- import { invariant as invariant3 } from "@dxos/invariant";
145
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/common/util/src/callback.ts";
115
+ import { invariant as invariant2 } from "@dxos/invariant";
116
+ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/common/util/src/callback.ts";
146
117
  var Callback = class {
147
118
  call(...args) {
148
- invariant3(this._callback, "Callback not set", {
149
- F: __dxlog_file3,
119
+ invariant2(this._callback, "Callback not set", {
120
+ F: __dxlog_file2,
150
121
  L: 20,
151
122
  S: this,
152
123
  A: [
@@ -160,8 +131,8 @@ var Callback = class {
160
131
  return this._callback?.(...args);
161
132
  }
162
133
  set(callback) {
163
- invariant3(!this._callback, "Callback already set", {
164
- F: __dxlog_file3,
134
+ invariant2(!this._callback, "Callback already set", {
135
+ F: __dxlog_file2,
165
136
  L: 29,
166
137
  S: this,
167
138
  A: [
@@ -259,14 +230,14 @@ var chunkArray = (array, size) => {
259
230
  };
260
231
 
261
232
  // packages/common/util/src/circular-buffer.ts
262
- import { invariant as invariant4 } from "@dxos/invariant";
263
- var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/common/util/src/circular-buffer.ts";
233
+ import { invariant as invariant3 } from "@dxos/invariant";
234
+ var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/common/util/src/circular-buffer.ts";
264
235
  var CircularBuffer = class {
265
236
  constructor(size) {
266
237
  this._nextIndex = 0;
267
238
  this._elementCount = 0;
268
- invariant4(size >= 1, void 0, {
269
- F: __dxlog_file4,
239
+ invariant3(size >= 1, void 0, {
240
+ F: __dxlog_file3,
270
241
  L: 13,
271
242
  S: this,
272
243
  A: [
@@ -539,6 +510,35 @@ var DeferAsyncGuard = class {
539
510
  // packages/common/util/src/defer-function.ts
540
511
  var deferFunction = (fnProvider) => (...args) => fnProvider()(...args);
541
512
 
513
+ // packages/common/util/src/deep.ts
514
+ import { invariant as invariant4 } from "@dxos/invariant";
515
+ var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/common/util/src/deep.ts";
516
+ var setDeep = (obj, path, value) => {
517
+ invariant4(path.length > 0, void 0, {
518
+ F: __dxlog_file4,
519
+ L: 12,
520
+ S: void 0,
521
+ A: [
522
+ "path.length > 0",
523
+ ""
524
+ ]
525
+ });
526
+ let parent = obj;
527
+ for (const key of path.slice(0, -1)) {
528
+ parent[key] ??= {};
529
+ parent = parent[key];
530
+ }
531
+ parent[path.at(-1)] = value;
532
+ return parent[path.at(-1)];
533
+ };
534
+ var getDeep = (obj, path) => {
535
+ let parent = obj;
536
+ for (const key of path) {
537
+ parent = parent?.[key];
538
+ }
539
+ return parent;
540
+ };
541
+
542
542
  // packages/common/util/src/entry.ts
543
543
  var entry = (map, key) => new MapEntry(map, key);
544
544
  var MapEntry = class {
@@ -1107,14 +1107,14 @@ var DeepMapper = class {
1107
1107
  const res = new Array(value.length);
1108
1108
  this._cyclic.set(value, res);
1109
1109
  for (let i = 0; i < value.length; i++) {
1110
- res[i] = this.map(value[i]);
1110
+ res[i] = this._map(value[i], i);
1111
1111
  }
1112
1112
  return res;
1113
1113
  } else if (value !== null && typeof value === "object") {
1114
1114
  const res = {};
1115
1115
  this._cyclic.set(value, res);
1116
1116
  for (const key in value) {
1117
- res[key] = this.map(value[key]);
1117
+ res[key] = this._map(value[key], key);
1118
1118
  }
1119
1119
  return res;
1120
1120
  } else {
@@ -1123,10 +1123,13 @@ var DeepMapper = class {
1123
1123
  };
1124
1124
  }
1125
1125
  map(value) {
1126
+ return this._map(value, void 0);
1127
+ }
1128
+ _map(value, key) {
1126
1129
  if (this._cyclic.has(value)) {
1127
1130
  return this._cyclic.get(value);
1128
1131
  }
1129
- return this._fn(value, this._recurse);
1132
+ return this._fn(value, this._recurse, key);
1130
1133
  }
1131
1134
  };
1132
1135
  var deepMapValuesAsync = (value, fn) => {
@@ -1144,14 +1147,14 @@ var DeepMapperAsync = class {
1144
1147
  const res = new Array(value.length);
1145
1148
  this._cyclic.set(value, res);
1146
1149
  for (let i = 0; i < value.length; i++) {
1147
- res[i] = await this.map(value[i]);
1150
+ res[i] = await this._map(value[i], i);
1148
1151
  }
1149
1152
  return res;
1150
1153
  } else if (value !== null && typeof value === "object") {
1151
1154
  const res = {};
1152
1155
  this._cyclic.set(value, res);
1153
1156
  for (const key in value) {
1154
- res[key] = await this.map(value[key]);
1157
+ res[key] = await this._map(value[key], key);
1155
1158
  }
1156
1159
  return res;
1157
1160
  } else {
@@ -1160,10 +1163,13 @@ var DeepMapperAsync = class {
1160
1163
  };
1161
1164
  }
1162
1165
  map(value) {
1166
+ return this._map(value, void 0);
1167
+ }
1168
+ _map(value, key) {
1163
1169
  if (this._cyclic.has(value)) {
1164
1170
  return this._cyclic.get(value);
1165
1171
  }
1166
- return this._fn(value, this._recurse);
1172
+ return this._fn(value, this._recurse, key);
1167
1173
  }
1168
1174
  };
1169
1175
 
@@ -1195,20 +1201,31 @@ var inferRecordOrder = (objectMap, order = []) => {
1195
1201
  };
1196
1202
 
1197
1203
  // packages/common/util/src/pick.ts
1198
- var pick = (object, keys) => keys.reduce((obj, key) => {
1199
- if (object && key in object) {
1200
- obj[key] = object[key];
1201
- }
1202
- return obj;
1203
- }, {});
1204
- var pickBy = (object, predicate) => {
1205
- const obj = {};
1206
- for (const key in object) {
1207
- if (predicate(object[key])) {
1208
- obj[key] = object[key];
1204
+ var pick = (obj, keys) => {
1205
+ return keys.reduce((result, key) => {
1206
+ if (obj && key in obj) {
1207
+ result[key] = obj[key];
1208
+ }
1209
+ return result;
1210
+ }, {});
1211
+ };
1212
+ var pickBy = (obj, predicate) => {
1213
+ const result = {};
1214
+ for (const key in obj) {
1215
+ if (predicate(obj[key])) {
1216
+ result[key] = obj[key];
1209
1217
  }
1210
1218
  }
1211
- return obj;
1219
+ return result;
1220
+ };
1221
+ var omit = (obj, keys) => {
1222
+ const result = {
1223
+ ...obj
1224
+ };
1225
+ keys.forEach((key) => {
1226
+ delete result[key];
1227
+ });
1228
+ return result;
1212
1229
  };
1213
1230
 
1214
1231
  // packages/common/util/src/platform.ts
@@ -1874,6 +1891,19 @@ var arrayToHex = (buf) => {
1874
1891
  }
1875
1892
  return hexOctets.join("");
1876
1893
  };
1894
+
1895
+ // packages/common/util/src/remove-undefined-keys.ts
1896
+ var removeUndefinedProperties = (object) => {
1897
+ for (const prop of [
1898
+ ...Object.getOwnPropertyNames(object),
1899
+ ...Object.getOwnPropertySymbols(object)
1900
+ ]) {
1901
+ if (object[prop] === void 0) {
1902
+ delete object[prop];
1903
+ }
1904
+ }
1905
+ return object;
1906
+ };
1877
1907
  export {
1878
1908
  BitField,
1879
1909
  Callback,
@@ -1952,6 +1982,7 @@ export {
1952
1982
  mobileAndTabletCheck,
1953
1983
  nonNullable,
1954
1984
  numericalValues,
1985
+ omit,
1955
1986
  pick,
1956
1987
  pickBy,
1957
1988
  randomInt,
@@ -1960,6 +1991,7 @@ export {
1960
1991
  reduceGroupBy,
1961
1992
  reduceSeries,
1962
1993
  reduceSet,
1994
+ removeUndefinedProperties,
1963
1995
  safariCheck,
1964
1996
  safeAwaitAll,
1965
1997
  safeInstanceof,