@verdant-web/common 2.9.1 → 3.1.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/dist/esm/oids.js CHANGED
@@ -2,7 +2,7 @@ import { v4 } from 'uuid';
2
2
  import { isFileRef } from './files.js';
3
3
  import { isObjectRef } from './operation.js';
4
4
  import { isRef } from './refs.js';
5
- import { assert, isObject } from './utils.js';
5
+ import { assert, isObject, safeStringify } from './utils.js';
6
6
  const SEGMENT_SEPARATOR = '/';
7
7
  const RANDOM_SEPARATOR = ':';
8
8
  /**
@@ -12,7 +12,7 @@ const RANDOM_SEPARATOR = ':';
12
12
  const oidMap = new WeakMap();
13
13
  export function getOid(obj) {
14
14
  const oid = maybeGetOid(obj);
15
- assert(!!oid, `Object ${JSON.stringify(obj)} does not have an OID assigned to it`);
15
+ assert(!!oid, `Object ${safeStringify(obj)} does not have an OID assigned to it`);
16
16
  return oid;
17
17
  }
18
18
  export function maybeGetOid(obj) {
@@ -22,7 +22,7 @@ export function maybeGetOid(obj) {
22
22
  return oidMap.get(obj);
23
23
  }
24
24
  export function assignOid(obj, oid) {
25
- assert(isObject(obj), `Only objects can be assigned OIDs, received ${JSON.stringify(obj)}`);
25
+ assert(isObject(obj), `Only objects can be assigned OIDs, received ${safeStringify(obj)}`);
26
26
  if (hasOid(obj)) {
27
27
  removeOid(obj);
28
28
  }
@@ -129,7 +129,7 @@ export function decomposeOid(oid) {
129
129
  };
130
130
  }
131
131
  export function assertAllLevelsHaveOids(obj, root) {
132
- assert(getOid(obj), `Object ${JSON.stringify(obj)} must have an oid (child of ${JSON.stringify(root)})`);
132
+ assert(getOid(obj), `Object ${safeStringify(obj)} must have an oid (child of ${safeStringify(root)})`);
133
133
  if (Array.isArray(obj)) {
134
134
  for (const item of obj) {
135
135
  assertAllLevelsHaveOids(item, root || obj);
@@ -1 +1 @@
1
- {"version":3,"file":"oids.js","sourceRoot":"","sources":["../../src/oids.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oids.js","sourceRoot":"","sources":["../../src/oids.ts"],"names":[],"mappings":"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"}
@@ -85,9 +85,11 @@ export function groupBaselinesByRootOid(baselines) {
85
85
  }
86
86
  return grouped;
87
87
  }
88
- function listCheck(obj) {
88
+ function listCheck(obj, patch) {
89
89
  if (!Array.isArray(obj)) {
90
- console.error(`Cannot apply list patch; expected array, received ${JSON.stringify(obj)}. This suggests your data is changing from a list to an object over time. (OID: ${maybeGetOid(obj)})`);
90
+ if (obj === undefined) {
91
+ console.error(`Cannot apply list patch; expected array, received ${JSON.stringify(obj)}. This suggests your data is changing from a list to an object over time. (OID: ${maybeGetOid(obj)})\nPatch that was not applied: ${JSON.stringify(patch)}`);
92
+ }
91
93
  return false;
92
94
  }
93
95
  else {
@@ -134,30 +136,30 @@ deletedRefs) {
134
136
  delete baseAsAny[patch.name];
135
137
  break;
136
138
  case 'list-set':
137
- if (listCheck(base)) {
139
+ if (listCheck(base, patch)) {
138
140
  checkRef(base[patch.index]);
139
141
  base[patch.index] = patch.value;
140
142
  }
141
143
  break;
142
144
  case 'list-push':
143
- if (listCheck(base)) {
145
+ if (listCheck(base, patch)) {
144
146
  base.push(patch.value);
145
147
  }
146
148
  break;
147
149
  case 'list-delete':
148
- if (listCheck(base)) {
150
+ if (listCheck(base, patch)) {
149
151
  checkRef(base[patch.index]);
150
152
  base.splice(patch.index, patch.count);
151
153
  }
152
154
  break;
153
155
  case 'list-move-by-index':
154
- if (listCheck(base)) {
156
+ if (listCheck(base, patch)) {
155
157
  spliceResult = base.splice(patch.from, 1);
156
158
  base.splice(patch.to, 0, spliceResult[0]);
157
159
  }
158
160
  break;
159
161
  case 'list-remove':
160
- if (listCheck(base)) {
162
+ if (listCheck(base, patch)) {
161
163
  do {
162
164
  const valueToRemove = patch.value;
163
165
  if (patch.only === 'last') {
@@ -184,7 +186,7 @@ deletedRefs) {
184
186
  }
185
187
  break;
186
188
  case 'list-add':
187
- if (listCheck(base)) {
189
+ if (listCheck(base, patch)) {
188
190
  const alreadyHas = base.some((item) => {
189
191
  if (isObjectRef(item) && isObjectRef(patch.value)) {
190
192
  return item.id === patch.value.id;
@@ -199,14 +201,14 @@ deletedRefs) {
199
201
  }
200
202
  break;
201
203
  case 'list-move-by-ref':
202
- if (listCheck(base)) {
204
+ if (listCheck(base, patch)) {
203
205
  index = base.findIndex((v) => compareRefs(v, patch.value));
204
206
  spliceResult = base.splice(index, 1);
205
207
  base.splice(patch.index, 0, spliceResult[0]);
206
208
  }
207
209
  break;
208
210
  case 'list-insert':
209
- if (listCheck(base)) {
211
+ if (listCheck(base, patch)) {
210
212
  if (!patch.value && !patch.values) {
211
213
  throw new Error(`Cannot apply list insert patch; expected value or values, received ${JSON.stringify(patch)}`);
212
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/operation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,SAAS,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACN,SAAS,EACT,yBAAyB,EACzB,MAAM,EACN,UAAU,EACV,WAAW,EACX,SAAS,EAET,SAAS,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAexE,MAAM,UAAU,WAAW,CAAC,GAAQ;IACnC,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC;AAClE,CAAC;AA8HD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC/B,OAAY,EACZ,OAAyB,EACzB,MAAoB,EACpB,WAA0B,EAC1B,UAAuB,EAAE,EACzB,OAAsC;IAEtC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5B,yBAAyB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACtC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,EAAE,GAAc;YACrB,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,MAAM,EAAE;YACnB,IAAI,EAAE;gBACL,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;aACvB;SACD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACtC,OAAY,EACZ,OAAyB,EACzB,MAAoB,EACpB,UAAuB,EAAE,EACzB,OAAsC;IAEtC,MAAM,EAAE,GAAc;QACrB,GAAG,EAAE,OAAO;QACZ,SAAS,EAAE,MAAM,EAAE;QACnB,IAAI,EAAE;YACL,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,OAAO;SACd;KACD,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,CAAC,CAAC;IAC/C,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,wDAAwD;AACxD,4BAA4B;AAC5B,MAAM,UAAU,YAAY,CAAC,EAAa,EAAE,KAAwB;IACnE,IAAI,KAAK,EAAE,CAAC;QACX,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;IAClB,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAoB;IACrD,MAAM,OAAO,GAA0C,EAAE,CAAC;IAC1D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAoB;IACzD,MAAM,OAAO,GAA0C,EAAE,CAAC;IAC1D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,SAA6B;IACpE,MAAM,OAAO,GAAiD,EAAE,CAAC;IACjE,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAQD,SAAS,SAAS,CAAC,GAAQ,EAAE,KAAqB;IACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CACZ,qDAAqD,IAAI,CAAC,SAAS,CAClE,GAAG,CACH,mFAAmF,WAAW,CAC9F,GAAG,CACH,kCAAkC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC1D,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;SAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CACzB,IAAmB,EACnB,KAAqB;AACrB;;;GAGG;AACH,WAAqC;IAErC,+CAA+C;IAC/C,2CAA2C;IAC3C,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,KAAK,YAAY,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,2BAA2B;IAC3B,MAAM,SAAS,GAAG,IAAW,CAAC;IAC9B,IAAI,KAAK,CAAC;IACV,IAAI,YAAmB,CAAC;IAExB,2CAA2C;IAC3C,kDAAkD;IAClD,kBAAkB;IAClB,SAAS,QAAQ,CAAC,KAAU;QAC3B,+BAA+B;QAC/B,IAAI,CAAC,WAAW;YAAE,OAAO;QACzB,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAClB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACF,CAAC;IAED,QAAQ,KAAK,CAAC,EAAE,EAAE,CAAC;QAClB,KAAK,KAAK;YACT,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAChC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YACpC,MAAM;QACP,KAAK,QAAQ;YACZ,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAChC,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM;QACP,KAAK,UAAU;YACd,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YACjC,CAAC;YACD,MAAM;QACP,KAAK,WAAW;YACf,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,MAAM;QACP,KAAK,aAAa;YACjB,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;YACD,MAAM;QACP,KAAK,oBAAoB;YACxB,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC5B,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM;QACP,KAAK,aAAa;YACjB,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC;oBACH,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;oBAClC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC3B,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;4BAC1B,KAAK,GAAG,aAAa,CACpB,IAAI,EACJ,CAAC,IAAS,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAC9D,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACP,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;wBACzC,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;4BAC1B,KAAK,GAAG,IAAI,CAAC,SAAS,CACrB,CAAC,IAAS,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAC9D,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACP,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;wBACrC,CAAC;oBACF,CAAC;oBACD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;wBAClB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;wBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACvB,CAAC;gBACF,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACvC,CAAC;YACD,MAAM;QACP,KAAK,UAAU;YACd,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;oBAC1C,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBACnD,OAAO,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACP,OAAO,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC;oBAC7B,CAAC;gBACF,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;YACF,CAAC;YACD,MAAM;QACP,KAAK,kBAAkB;YACtB,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC5B,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3D,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,MAAM;QACP,KAAK,aAAa;YACjB,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CACd,sEAAsE,IAAI,CAAC,SAAS,CACnF,KAAK,CACL,EAAE,CACH,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,MAAO,CAAC,CAAC;gBAC/C,CAAC;YACF,CAAC;YACD,MAAM;QACP,KAAK,QAAQ;YACZ,oCAAoC;YACpC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,SAAS,CAAC;QAClB,KAAK,YAAY;YAChB,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,OAAO;YACX,QAAQ;YACR,OAAO,IAAI,CAAC;QACb;YACC,MAAM,IAAI,KAAK,CAAC,gCAAiC,KAAa,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAC9B,IAAmB,EACnB,UAAuB,EACvB,WAAqC;AACrC;;;GAGG;AACH,QAA6B;IAE7B,IAAI,GAAG,GAAG,IAAqB,CAAC;IAChC,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC7B,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5C,IAAI,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,YAAY,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YACzD,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;QAC3B,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACxC,IAAS,EACT,IAAgC,EAChC,OAA2B,EAAE;IAE7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACxC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvB,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC;QACF,CAAC;IACF,CAAC;SAAM,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,mCAAmC;IACpC,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,kEAAkE;QAClE,yCAAyC;QACzC,MAAM,CACL,WAAW,CAAC,IAAI,CAAC,EACjB,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CACjD,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAE/C,wDAAwD;YACxD,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACzB,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CACnB,KAAU,EACV,IAAgC,EAChC,IAAwB;IAExB,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,wCAAwC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED,MAAM,UAAU,mCAAmC,CAGlD,IAAU,EACV,aAAyC,IAAI,GAAG,EAAE;IAElD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,mEAAmE;YACnE,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,SAAS;YACV,CAAC;YACD,MAAM,CACL,CAAC,KAAK,CAAC,IAAI,CAAC,EACZ,4FAA4F,CAC5F,CAAC;YACF,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,CAAC,CAAC,CAAC,GAAG;oBACT,QAAQ,EAAE,KAAK;oBACf,EAAE,EAAE,GAAG;iBACP,CAAC;gBACF,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;IACF,CAAC;SAAM,CAAC;QACP,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,mEAAmE;YACnE,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,SAAS;YACV,CAAC;YACD,MAAM,CACL,CAAC,KAAK,CAAC,KAAK,CAAC,EACb,4FAA4F,CAC5F,CAAC;YACF,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,GAAG;oBACX,QAAQ,EAAE,KAAK;oBACf,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC;iBACjB,CAAC;gBAEF,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACxC,QAAa,EACb,UAAsC;IAEtC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO;IACR,CAAC;IACD,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,kBAAkB,GAAG,mCAAmC,CAAC,QAAQ,CAAC,CAAC;IACzE,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;QACvD,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzB,yBAAyB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC;AACF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAa;IAChD,qBAAqB;IACrB,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC3B,EAAa,EACb,YAAyC;IAEzC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACb,CAAC;SAAM,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAAoB;IAC1D,OAAO;QACN,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,KAAK,EAAE,SAAS,CAAC,KAAK;KACtB,CAAC;AACH,CAAC"}
@@ -3,8 +3,6 @@ import { Operation } from './operation.js';
3
3
  import { UserInfo, VerdantInternalPresence } from './presence.js';
4
4
  export type HeartbeatMessage = {
5
5
  type: 'heartbeat';
6
- timestamp: string;
7
- replicaId: string;
8
6
  };
9
7
  export type HeartbeatResponseMessage = {
10
8
  type: 'heartbeat-response';
@@ -112,6 +110,12 @@ export type PresenceUpdateMessage = {
112
110
  /** presence that is internal to verdant */
113
111
  internal?: VerdantInternalPresence;
114
112
  };
113
+ /** Can't be relied on, but helpful to have */
114
+ export type DisconnectingMessage = {
115
+ type: 'disconnecting';
116
+ replicaId: string;
117
+ reason?: string;
118
+ };
115
119
  export type PresenceChangedMessage = {
116
120
  type: 'presence-changed';
117
121
  /** The client's replica ID */
@@ -143,5 +147,5 @@ export type ServerNeedSinceMessage = {
143
147
  type: 'need-since';
144
148
  since: string | null;
145
149
  };
146
- export type ClientMessage = HeartbeatMessage | SyncMessage | OperationMessage | AckMessage | SyncAckMessage | PresenceUpdateMessage;
150
+ export type ClientMessage = HeartbeatMessage | SyncMessage | OperationMessage | AckMessage | SyncAckMessage | PresenceUpdateMessage | DisconnectingMessage;
147
151
  export type ServerMessage = HeartbeatResponseMessage | SyncResponseMessage | OperationRebroadcastMessage | PresenceChangedMessage | PresenceOfflineMessage | GlobalAckMessage | ForbiddenMessage | ServerAckMessage | ServerNeedSinceMessage;
@@ -20,3 +20,4 @@ export declare function findLastIndex<T>(array: T[], predicate: (item: T) => boo
20
20
  export declare function debounce<T extends (...args: any[]) => any>(fn: T, wait: number): T;
21
21
  export declare function throttle<T extends (...args: any[]) => any>(fn: T, wait: number): T;
22
22
  export declare function noop(): void;
23
+ export declare function safeStringify(obj: any): string;
package/dist/esm/utils.js CHANGED
@@ -162,4 +162,13 @@ export function throttle(fn, wait) {
162
162
  };
163
163
  }
164
164
  export function noop() { }
165
+ // avoids recursion and other issues with JSON.stringify
166
+ export function safeStringify(obj) {
167
+ try {
168
+ return JSON.stringify(obj);
169
+ }
170
+ catch (e) {
171
+ return `[recursive/invalid:${String(obj)}]`;
172
+ }
173
+ }
165
174
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verdant-web/common",
3
- "version": "2.9.1",
3
+ "version": "3.1.0",
4
4
  "access": "public",
5
5
  "type": "module",
6
6
  "exports": {
package/src/oids.ts CHANGED
@@ -2,7 +2,7 @@ import { v4 } from 'uuid';
2
2
  import { isFileRef } from './files.js';
3
3
  import { isObjectRef, ObjectRef } from './operation.js';
4
4
  import { isRef } from './refs.js';
5
- import { assert, isObject } from './utils.js';
5
+ import { assert, isObject, safeStringify } from './utils.js';
6
6
 
7
7
  /**
8
8
  * OIDs
@@ -42,7 +42,7 @@ export function getOid(obj: any) {
42
42
  const oid = maybeGetOid(obj);
43
43
  assert(
44
44
  !!oid,
45
- `Object ${JSON.stringify(obj)} does not have an OID assigned to it`,
45
+ `Object ${safeStringify(obj)} does not have an OID assigned to it`,
46
46
  );
47
47
  return oid;
48
48
  }
@@ -57,7 +57,7 @@ export function maybeGetOid(obj: any): ObjectIdentifier | undefined {
57
57
  export function assignOid(obj: any, oid: ObjectIdentifier) {
58
58
  assert(
59
59
  isObject(obj),
60
- `Only objects can be assigned OIDs, received ${JSON.stringify(obj)}`,
60
+ `Only objects can be assigned OIDs, received ${safeStringify(obj)}`,
61
61
  );
62
62
  if (hasOid(obj)) {
63
63
  removeOid(obj);
@@ -197,7 +197,7 @@ export function decomposeOid(oid: ObjectIdentifier): {
197
197
  export function assertAllLevelsHaveOids(obj: any, root?: any) {
198
198
  assert(
199
199
  getOid(obj),
200
- `Object ${JSON.stringify(obj)} must have an oid (child of ${JSON.stringify(
200
+ `Object ${safeStringify(obj)} must have an oid (child of ${safeStringify(
201
201
  root,
202
202
  )})`,
203
203
  );
package/src/operation.ts CHANGED
@@ -257,15 +257,17 @@ export type NormalizedObject =
257
257
  }
258
258
  | Array<PropertyValue>;
259
259
 
260
- function listCheck(obj: any): obj is Array<unknown> {
260
+ function listCheck(obj: any, patch: OperationPatch): obj is Array<unknown> {
261
261
  if (!Array.isArray(obj)) {
262
- console.error(
263
- `Cannot apply list patch; expected array, received ${JSON.stringify(
264
- obj,
265
- )}. This suggests your data is changing from a list to an object over time. (OID: ${maybeGetOid(
266
- obj,
267
- )})`,
268
- );
262
+ if (obj === undefined) {
263
+ console.error(
264
+ `Cannot apply list patch; expected array, received ${JSON.stringify(
265
+ obj,
266
+ )}. This suggests your data is changing from a list to an object over time. (OID: ${maybeGetOid(
267
+ obj,
268
+ )})\nPatch that was not applied: ${JSON.stringify(patch)}`,
269
+ );
270
+ }
269
271
  return false;
270
272
  } else {
271
273
  return true;
@@ -316,30 +318,30 @@ export function applyPatch<T extends NormalizedObject>(
316
318
  delete baseAsAny[patch.name];
317
319
  break;
318
320
  case 'list-set':
319
- if (listCheck(base)) {
321
+ if (listCheck(base, patch)) {
320
322
  checkRef(base[patch.index]);
321
323
  base[patch.index] = patch.value;
322
324
  }
323
325
  break;
324
326
  case 'list-push':
325
- if (listCheck(base)) {
327
+ if (listCheck(base, patch)) {
326
328
  base.push(patch.value);
327
329
  }
328
330
  break;
329
331
  case 'list-delete':
330
- if (listCheck(base)) {
332
+ if (listCheck(base, patch)) {
331
333
  checkRef(base[patch.index]);
332
334
  base.splice(patch.index, patch.count);
333
335
  }
334
336
  break;
335
337
  case 'list-move-by-index':
336
- if (listCheck(base)) {
338
+ if (listCheck(base, patch)) {
337
339
  spliceResult = base.splice(patch.from, 1);
338
340
  base.splice(patch.to, 0, spliceResult[0]);
339
341
  }
340
342
  break;
341
343
  case 'list-remove':
342
- if (listCheck(base)) {
344
+ if (listCheck(base, patch)) {
343
345
  do {
344
346
  const valueToRemove = patch.value;
345
347
  if (patch.only === 'last') {
@@ -368,7 +370,7 @@ export function applyPatch<T extends NormalizedObject>(
368
370
  }
369
371
  break;
370
372
  case 'list-add':
371
- if (listCheck(base)) {
373
+ if (listCheck(base, patch)) {
372
374
  const alreadyHas = base.some((item: any) => {
373
375
  if (isObjectRef(item) && isObjectRef(patch.value)) {
374
376
  return item.id === patch.value.id;
@@ -382,14 +384,14 @@ export function applyPatch<T extends NormalizedObject>(
382
384
  }
383
385
  break;
384
386
  case 'list-move-by-ref':
385
- if (listCheck(base)) {
387
+ if (listCheck(base, patch)) {
386
388
  index = base.findIndex((v) => compareRefs(v, patch.value));
387
389
  spliceResult = base.splice(index, 1);
388
390
  base.splice(patch.index, 0, spliceResult[0]);
389
391
  }
390
392
  break;
391
393
  case 'list-insert':
392
- if (listCheck(base)) {
394
+ if (listCheck(base, patch)) {
393
395
  if (!patch.value && !patch.values) {
394
396
  throw new Error(
395
397
  `Cannot apply list insert patch; expected value or values, received ${JSON.stringify(
package/src/protocol.ts CHANGED
@@ -2,16 +2,10 @@
2
2
 
3
3
  import { DocumentBaseline } from './baseline.js';
4
4
  import { Operation } from './operation.js';
5
- import {
6
- UserInfo,
7
- UserInfoUpdate,
8
- VerdantInternalPresence,
9
- } from './presence.js';
5
+ import { UserInfo, VerdantInternalPresence } from './presence.js';
10
6
 
11
7
  export type HeartbeatMessage = {
12
8
  type: 'heartbeat';
13
- timestamp: string;
14
- replicaId: string;
15
9
  };
16
10
 
17
11
  export type HeartbeatResponseMessage = {
@@ -133,6 +127,13 @@ export type PresenceUpdateMessage = {
133
127
  internal?: VerdantInternalPresence;
134
128
  };
135
129
 
130
+ /** Can't be relied on, but helpful to have */
131
+ export type DisconnectingMessage = {
132
+ type: 'disconnecting';
133
+ replicaId: string;
134
+ reason?: string;
135
+ };
136
+
136
137
  export type PresenceChangedMessage = {
137
138
  type: 'presence-changed';
138
139
  /** The client's replica ID */
@@ -177,7 +178,8 @@ export type ClientMessage =
177
178
  | OperationMessage
178
179
  | AckMessage
179
180
  | SyncAckMessage
180
- | PresenceUpdateMessage;
181
+ | PresenceUpdateMessage
182
+ | DisconnectingMessage;
181
183
  export type ServerMessage =
182
184
  | HeartbeatResponseMessage
183
185
  | SyncResponseMessage
package/src/utils.ts CHANGED
@@ -197,3 +197,12 @@ export function throttle<T extends (...args: any[]) => any>(
197
197
  }
198
198
 
199
199
  export function noop() {}
200
+
201
+ // avoids recursion and other issues with JSON.stringify
202
+ export function safeStringify(obj: any) {
203
+ try {
204
+ return JSON.stringify(obj);
205
+ } catch (e) {
206
+ return `[recursive/invalid:${String(obj)}]`;
207
+ }
208
+ }