@verdant-web/common 2.8.0 → 2.9.1

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 (47) hide show
  1. package/dist/esm/authz.js.map +1 -1
  2. package/dist/esm/baseline.d.ts +2 -1
  3. package/dist/esm/diffing.d.ts +3 -2
  4. package/dist/esm/diffing.js +79 -19
  5. package/dist/esm/diffing.js.map +1 -1
  6. package/dist/esm/diffing.test.js +967 -183
  7. package/dist/esm/diffing.test.js.map +1 -1
  8. package/dist/esm/oids.d.ts +5 -0
  9. package/dist/esm/oids.js +23 -1
  10. package/dist/esm/oids.js.map +1 -1
  11. package/dist/esm/operation.d.ts +5 -4
  12. package/dist/esm/operation.js +4 -4
  13. package/dist/esm/operation.js.map +1 -1
  14. package/dist/esm/patch.d.ts +17 -13
  15. package/dist/esm/patch.js +42 -6
  16. package/dist/esm/patch.js.map +1 -1
  17. package/dist/esm/schema/fields.d.ts +1 -0
  18. package/dist/esm/schema/fields.js +5 -0
  19. package/dist/esm/schema/fields.js.map +1 -1
  20. package/dist/esm/schema/validation.d.ts +8 -1
  21. package/dist/esm/schema/validation.js +133 -63
  22. package/dist/esm/schema/validation.js.map +1 -1
  23. package/dist/esm/schema/validation.test.d.ts +1 -0
  24. package/dist/esm/schema/validation.test.js +60 -0
  25. package/dist/esm/schema/validation.test.js.map +1 -0
  26. package/dist/esm/timestamp.d.ts +8 -0
  27. package/dist/esm/timestamp.js +15 -0
  28. package/dist/esm/timestamp.js.map +1 -1
  29. package/dist/esm/undo.d.ts +2 -1
  30. package/dist/esm/undo.js +52 -158
  31. package/dist/esm/undo.js.map +1 -1
  32. package/dist/esm/undo.test.js +68 -7
  33. package/dist/esm/undo.test.js.map +1 -1
  34. package/package.json +1 -1
  35. package/src/authz.ts +2 -0
  36. package/src/baseline.ts +3 -1
  37. package/src/diffing.test.ts +1089 -225
  38. package/src/diffing.ts +99 -22
  39. package/src/oids.ts +23 -1
  40. package/src/operation.ts +9 -8
  41. package/src/patch.ts +92 -17
  42. package/src/schema/fields.ts +8 -0
  43. package/src/schema/validation.test.ts +66 -0
  44. package/src/schema/validation.ts +156 -73
  45. package/src/timestamp.ts +14 -0
  46. package/src/undo.test.ts +87 -8
  47. package/src/undo.ts +83 -157
@@ -1,5 +1,6 @@
1
- import { isFile, isFileData } from '../files.js';
1
+ import { isFile, isFileData, isFileRef } from '../files.js';
2
2
  import { OID_KEY } from '../oidsLegacy.js';
3
+ import { isObjectRef } from '../operation.js';
3
4
  import { isObject } from '../utils.js';
4
5
  import { hasDefault, isNullable } from './fields.js';
5
6
  export function validateEntity(schema, entity) {
@@ -26,12 +27,15 @@ export function validateEntity(schema, entity) {
26
27
  }
27
28
  return;
28
29
  }
29
- export function validateEntityField({ field, value, fieldPath = [], depth, requireDefaults, }) {
30
+ export function validateEntityField({ field, value, fieldPath = [], depth, requireDefaults, expectRefs, hasPassedFirstLevel, }) {
31
+ // we only _actually_ start expecting refs after the first validation level.
32
+ // TODO: something more... elegant?
33
+ const actuallyExpectRefs = expectRefs && hasPassedFirstLevel;
30
34
  if (depth !== undefined && depth <= 0)
31
35
  return;
32
- if (isNullable(field) && value === null)
36
+ if (isNullable(field) && (value === null || value === undefined))
33
37
  return;
34
- if (value === null) {
38
+ if (value === null || value === undefined) {
35
39
  if (requireDefaults || !hasDefault(field)) {
36
40
  return {
37
41
  type: 'no-default',
@@ -41,71 +45,117 @@ export function validateEntityField({ field, value, fieldPath = [], depth, requi
41
45
  }
42
46
  }
43
47
  if (field.type === 'object') {
44
- if (!isObject(value)) {
45
- return {
46
- type: 'invalid-type',
47
- fieldPath,
48
- message: `Expected object ${field.nullable ? 'or null ' : ''}for field ${formatField(fieldPath)}, got ${value}`,
49
- };
48
+ if (actuallyExpectRefs) {
49
+ if (!isObjectRef(value)) {
50
+ return {
51
+ type: 'invalid-type',
52
+ fieldPath,
53
+ message: `Expected ref for field ${formatField(fieldPath)}, got ${safeStringify(value)}`,
54
+ };
55
+ }
50
56
  }
51
- for (const [key, subField] of Object.entries(field.properties)) {
52
- // legacy -- old objects sometimes accidentally include this key
53
- if (key === OID_KEY)
54
- continue;
55
- if (value[key]) {
56
- validateEntityField({
57
+ else {
58
+ if (!isObject(value)) {
59
+ return {
60
+ type: 'invalid-type',
61
+ fieldPath,
62
+ message: `Expected object ${field.nullable ? 'or null ' : ''}for field ${formatField(fieldPath)}, got ${safeStringify(value)}`,
63
+ };
64
+ }
65
+ for (const [key, subField] of Object.entries(field.properties)) {
66
+ // legacy -- old objects sometimes accidentally include this key
67
+ if (key === OID_KEY)
68
+ continue;
69
+ const error = validateEntityField({
57
70
  field: subField,
58
71
  value: value[key],
59
72
  fieldPath: [...fieldPath, key],
60
73
  depth: depth !== undefined ? depth - 1 : undefined,
74
+ expectRefs,
75
+ hasPassedFirstLevel: true,
61
76
  });
77
+ if (error) {
78
+ return error;
79
+ }
62
80
  }
63
- }
64
- // check for unexpected keys
65
- for (const key of Object.keys(value)) {
66
- if (!field.properties[key]) {
67
- return {
68
- type: 'invalid-key',
69
- fieldPath: [...fieldPath, key],
70
- message: `Invalid unexpected field "${key}" on value ${formatField(fieldPath)}`,
71
- };
81
+ // check for unexpected keys
82
+ for (const key of Object.keys(value)) {
83
+ if (!field.properties[key]) {
84
+ return {
85
+ type: 'invalid-key',
86
+ fieldPath: [...fieldPath, key],
87
+ message: `Invalid unexpected field "${key}" on value ${formatField(fieldPath)}`,
88
+ };
89
+ }
72
90
  }
73
91
  }
74
92
  }
75
93
  else if (field.type === 'array') {
76
- if (!Array.isArray(value)) {
77
- if (value === null && field.nullable)
78
- return;
79
- return {
80
- type: 'invalid-value',
81
- fieldPath,
82
- message: `Expected array ${field.nullable ? 'or null ' : ''}for field ${formatField(fieldPath)}, got ${value}`,
83
- };
94
+ if (actuallyExpectRefs) {
95
+ if (!isObjectRef(value)) {
96
+ return {
97
+ type: 'invalid-type',
98
+ fieldPath,
99
+ message: `Expected ref for field ${formatField(fieldPath)}, got ${safeStringify(value)}`,
100
+ };
101
+ }
84
102
  }
85
- for (const item of value) {
86
- validateEntityField({
87
- field: field.items,
88
- value: item,
89
- fieldPath: [...fieldPath, '[]'],
90
- depth: depth !== undefined ? depth - 1 : undefined,
91
- });
103
+ else {
104
+ if (!Array.isArray(value)) {
105
+ if (value === null && field.nullable)
106
+ return;
107
+ return {
108
+ type: 'invalid-value',
109
+ fieldPath,
110
+ message: `Expected array ${field.nullable ? 'or null ' : ''}for field ${formatField(fieldPath)}, got ${safeStringify(value)}`,
111
+ };
112
+ }
113
+ for (const item of value) {
114
+ const error = validateEntityField({
115
+ field: field.items,
116
+ value: item,
117
+ fieldPath: [...fieldPath, '[]'],
118
+ depth: depth !== undefined ? depth - 1 : undefined,
119
+ expectRefs,
120
+ hasPassedFirstLevel: true,
121
+ });
122
+ if (error) {
123
+ return error;
124
+ }
125
+ }
92
126
  }
93
127
  }
94
128
  else if (field.type === 'map') {
95
- if (!isObject(value)) {
96
- return {
97
- type: 'invalid-type',
98
- fieldPath,
99
- message: `Expected map for field ${formatField(fieldPath)}, got ${value}`,
100
- };
129
+ if (actuallyExpectRefs) {
130
+ if (!isObjectRef(value)) {
131
+ return {
132
+ type: 'invalid-type',
133
+ fieldPath,
134
+ message: `Expected ref for field ${formatField(fieldPath)}, got ${safeStringify(value)}`,
135
+ };
136
+ }
101
137
  }
102
- for (const [key, item] of Object.entries(value)) {
103
- validateEntityField({
104
- field: field.values,
105
- value: item,
106
- fieldPath: [...fieldPath, key],
107
- depth: depth !== undefined ? depth - 1 : undefined,
108
- });
138
+ else {
139
+ if (!isObject(value)) {
140
+ return {
141
+ type: 'invalid-type',
142
+ fieldPath,
143
+ message: `Expected map for field ${formatField(fieldPath)}, got ${safeStringify(value)}`,
144
+ };
145
+ }
146
+ for (const [key, item] of Object.entries(value)) {
147
+ const error = validateEntityField({
148
+ field: field.values,
149
+ value: item,
150
+ fieldPath: [...fieldPath, key],
151
+ depth: depth !== undefined ? depth - 1 : undefined,
152
+ expectRefs,
153
+ hasPassedFirstLevel: true,
154
+ });
155
+ if (error) {
156
+ return error;
157
+ }
158
+ }
109
159
  }
110
160
  }
111
161
  else if (field.type === 'string') {
@@ -113,14 +163,14 @@ export function validateEntityField({ field, value, fieldPath = [], depth, requi
113
163
  return {
114
164
  type: 'invalid-type',
115
165
  fieldPath,
116
- message: `Expected string ${field.nullable ? 'or null ' : ''}for field ${formatField(fieldPath)}, got ${value}`,
166
+ message: `Expected string ${field.nullable ? 'or null ' : ''}for field ${formatField(fieldPath)}, got ${safeStringify(value)}`,
117
167
  };
118
168
  }
119
169
  if (field.options && !field.options.includes(value)) {
120
170
  return {
121
171
  type: 'invalid-value',
122
172
  fieldPath,
123
- message: `Expected one of ${field.options.join(', ')} for field ${formatField(fieldPath)}, got ${value}`,
173
+ message: `Expected one of ${field.options.join(', ')} for field ${formatField(fieldPath)}, got ${safeStringify(value)}`,
124
174
  };
125
175
  }
126
176
  }
@@ -129,7 +179,7 @@ export function validateEntityField({ field, value, fieldPath = [], depth, requi
129
179
  return {
130
180
  type: 'invalid-type',
131
181
  fieldPath,
132
- message: `Expected boolean ${field.nullable ? 'or null ' : ''}for field ${formatField(fieldPath)}, got ${value}`,
182
+ message: `Expected boolean ${field.nullable ? 'or null ' : ''}for field ${formatField(fieldPath)}, got ${safeStringify(value)}`,
133
183
  };
134
184
  }
135
185
  }
@@ -138,20 +188,40 @@ export function validateEntityField({ field, value, fieldPath = [], depth, requi
138
188
  return {
139
189
  type: 'invalid-type',
140
190
  fieldPath,
141
- message: `Expected number ${field.nullable ? 'or null ' : ''}for field ${formatField(fieldPath)}, got ${value}`,
191
+ message: `Expected number ${field.nullable ? 'or null ' : ''}for field ${formatField(fieldPath)}, got ${safeStringify(value)}`,
142
192
  };
143
193
  }
144
194
  }
145
195
  else if (field.type === 'file') {
146
- if (!isFile(value) && !isFileData(value)) {
147
- return {
148
- type: 'invalid-type',
149
- fieldPath,
150
- message: `Expected file ${field.nullable ? 'or null ' : ''}for field ${formatField(fieldPath)}, got ${value}`,
151
- };
196
+ if (actuallyExpectRefs) {
197
+ if (!isFileRef(value)) {
198
+ return {
199
+ type: 'invalid-type',
200
+ fieldPath,
201
+ message: `Expected file ref for field ${formatField(fieldPath)}, got ${safeStringify(value)}`,
202
+ };
203
+ }
204
+ }
205
+ else {
206
+ if (!isFile(value) && !isFileData(value)) {
207
+ return {
208
+ type: 'invalid-type',
209
+ fieldPath,
210
+ message: `Expected file ${field.nullable ? 'or null ' : ''}for field ${formatField(fieldPath)}, got ${safeStringify(value)}`,
211
+ };
212
+ }
152
213
  }
153
214
  }
154
215
  }
216
+ function safeStringify(value) {
217
+ try {
218
+ return JSON.stringify(value);
219
+ }
220
+ catch (err) {
221
+ // for example, recursive objects can't be stringified
222
+ return String(value);
223
+ }
224
+ }
155
225
  function formatField(fieldPath) {
156
226
  if (fieldPath.length === 0)
157
227
  return 'root';
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/schema/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/schema/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGrD,MAAM,UAAU,cAAc,CAC7B,MAA2B,EAC3B,MAAW;IAEX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,gEAAgE;QAChE,IAAI,GAAG,KAAK,OAAO;YAAE,SAAS;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO;gBACN,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,CAAC,GAAG,CAAC;gBAChB,OAAO,EAAE,kBAAkB,GAAG,GAAG;aACjC,CAAC;QACH,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,mBAAmB,CAAC;gBAC/B,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;gBAClB,KAAK;gBACL,SAAS,EAAE,CAAC,GAAG,CAAC;aAChB,CAAC,CAAC;YACH,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;QACrB,CAAC;IACF,CAAC;IACD,OAAO;AACR,CAAC;AAaD,MAAM,UAAU,mBAAmB,CAAC,EACnC,KAAK,EACL,KAAK,EACL,SAAS,GAAG,EAAE,EACd,KAAK,EACL,eAAe,EACf,UAAU,EACV,mBAAmB,GAcnB;IACA,4EAA4E;IAC5E,mCAAmC;IACnC,MAAM,kBAAkB,GAAG,UAAU,IAAI,mBAAmB,CAAC;IAC7D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO;IAE9C,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;QAAE,OAAO;IACzE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC3C,IAAI,eAAe,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO;gBACN,IAAI,EAAE,YAAY;gBAClB,SAAS;gBACT,OAAO,EAAE,gCAAgC,WAAW,CAAC,SAAS,CAAC,EAAE;aACjE,CAAC;QACH,CAAC;IACF,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,kBAAkB,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACN,IAAI,EAAE,cAAc;oBACpB,SAAS;oBACT,OAAO,EAAE,0BAA0B,WAAW,CAC7C,SAAS,CACT,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE;iBAChC,CAAC;YACH,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO;oBACN,IAAI,EAAE,cAAc;oBACpB,SAAS;oBACT,OAAO,EAAE,mBACR,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAC/B,aAAa,WAAW,CAAC,SAAS,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE;iBAClE,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAC3C,KAAK,CAAC,UAAiC,CACvC,EAAE,CAAC;gBACH,gEAAgE;gBAChE,IAAI,GAAG,KAAK,OAAO;oBAAE,SAAS;gBAC9B,MAAM,KAAK,GAAG,mBAAmB,CAAC;oBACjC,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;oBACjB,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC;oBAC9B,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;oBAClD,UAAU;oBACV,mBAAmB,EAAE,IAAI;iBACzB,CAAC,CAAC;gBACH,IAAI,KAAK,EAAE,CAAC;oBACX,OAAO,KAAK,CAAC;gBACd,CAAC;YACF,CAAC;YACD,4BAA4B;YAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,OAAO;wBACN,IAAI,EAAE,aAAa;wBACnB,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC;wBAC9B,OAAO,EAAE,6BAA6B,GAAG,cAAc,WAAW,CACjE,SAAS,CACT,EAAE;qBACH,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACnC,IAAI,kBAAkB,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACN,IAAI,EAAE,cAAc;oBACpB,SAAS;oBACT,OAAO,EAAE,0BAA0B,WAAW,CAC7C,SAAS,CACT,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE;iBAChC,CAAC;YACH,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ;oBAAE,OAAO;gBAC7C,OAAO;oBACN,IAAI,EAAE,eAAe;oBACrB,SAAS;oBACT,OAAO,EAAE,kBACR,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAC/B,aAAa,WAAW,CAAC,SAAS,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE;iBAClE,CAAC;YACH,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,mBAAmB,CAAC;oBACjC,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,KAAK,EAAE,IAAI;oBACX,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC;oBAC/B,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;oBAClD,UAAU;oBACV,mBAAmB,EAAE,IAAI;iBACzB,CAAC,CAAC;gBACH,IAAI,KAAK,EAAE,CAAC;oBACX,OAAO,KAAK,CAAC;gBACd,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACjC,IAAI,kBAAkB,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACN,IAAI,EAAE,cAAc;oBACpB,SAAS;oBACT,OAAO,EAAE,0BAA0B,WAAW,CAC7C,SAAS,CACT,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE;iBAChC,CAAC;YACH,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO;oBACN,IAAI,EAAE,cAAc;oBACpB,SAAS;oBACT,OAAO,EAAE,0BAA0B,WAAW,CAC7C,SAAS,CACT,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE;iBAChC,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,MAAM,KAAK,GAAG,mBAAmB,CAAC;oBACjC,KAAK,EAAE,KAAK,CAAC,MAAM;oBACnB,KAAK,EAAE,IAAI;oBACX,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC;oBAC9B,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;oBAClD,UAAU;oBACV,mBAAmB,EAAE,IAAI;iBACzB,CAAC,CAAC;gBACH,IAAI,KAAK,EAAE,CAAC;oBACX,OAAO,KAAK,CAAC;gBACd,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO;gBACN,IAAI,EAAE,cAAc;gBACpB,SAAS;gBACT,OAAO,EAAE,mBACR,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAC/B,aAAa,WAAW,CAAC,SAAS,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE;aAClE,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO;gBACN,IAAI,EAAE,eAAe;gBACrB,SAAS;gBACT,OAAO,EAAE,mBAAmB,KAAK,CAAC,OAAO,CAAC,IAAI,CAC7C,IAAI,CACJ,cAAc,WAAW,CAAC,SAAS,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE;aACpE,CAAC;QACH,CAAC;IACF,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO;gBACN,IAAI,EAAE,cAAc;gBACpB,SAAS;gBACT,OAAO,EAAE,oBACR,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAC/B,aAAa,WAAW,CAAC,SAAS,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE;aAClE,CAAC;QACH,CAAC;IACF,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO;gBACN,IAAI,EAAE,cAAc;gBACpB,SAAS;gBACT,OAAO,EAAE,mBACR,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAC/B,aAAa,WAAW,CAAC,SAAS,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE;aAClE,CAAC;QACH,CAAC;IACF,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClC,IAAI,kBAAkB,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO;oBACN,IAAI,EAAE,cAAc;oBACpB,SAAS;oBACT,OAAO,EAAE,+BAA+B,WAAW,CAClD,SAAS,CACT,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE;iBAChC,CAAC;YACH,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,OAAO;oBACN,IAAI,EAAE,cAAc;oBACpB,SAAS;oBACT,OAAO,EAAE,iBACR,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAC/B,aAAa,WAAW,CAAC,SAAS,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE;iBAClE,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,aAAa,CAAC,KAAU;IAChC,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,sDAAsD;QACtD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CAAC,SAA8B;IAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1C,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAA2B,EAAE,MAAW;IACvE,MAAM,WAAW,GAAQ,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,SAAS;QAC3B,WAAW,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC;YACvC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;YAClB,KAAK;YACL,SAAS,EAAE,CAAC,GAAG,CAAC;SAChB,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EACpC,KAAK,EACL,KAAK,EACL,SAAS,GAAG,EAAE,EACd,KAAK,GAML;IACA,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;QAC7C,KAAK;QACL,KAAK;QACL,SAAS;QACT,KAAK;QACL,eAAe,EAAE,IAAI;KACrB,CAAC,CAAC;IAEH,IAAI,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnC,MAAM,WAAW,GAAQ,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAC3C,KAAK,CAAC,UAAiC,CACvC,EAAE,CAAC;YACH,WAAW,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC;gBACvC,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;gBACjB,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC;gBAC9B,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;aAClD,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC;IACpB,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzB,oBAAoB,CAAC;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC;YAC/B,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC,CACF,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnC,MAAM,WAAW,GAAQ,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,WAAW,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC;gBACvC,KAAK,EAAE,KAAK,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC;gBAC9B,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;aAClD,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC;IACpB,CAAC;SAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,60 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { createFileRef } from '../files.js';
3
+ import { createRef } from '../oids.js';
4
+ import { schema, validateEntityField } from './index.js';
5
+ describe('validation', () => {
6
+ it('validates shallowly with refs', () => {
7
+ const fieldSchema = schema.fields.object({
8
+ fields: {
9
+ obj: schema.fields.object({
10
+ fields: {},
11
+ }),
12
+ file: schema.fields.file(),
13
+ },
14
+ });
15
+ expect(validateEntityField({
16
+ field: fieldSchema,
17
+ value: {
18
+ obj: createRef('some/id:1'),
19
+ file: createFileRef('somefile'),
20
+ },
21
+ fieldPath: [],
22
+ expectRefs: true,
23
+ })).toBeUndefined();
24
+ expect(validateEntityField({
25
+ field: fieldSchema,
26
+ value: {
27
+ obj: createRef('some/id:1'),
28
+ file: createRef('some/object:1'),
29
+ },
30
+ fieldPath: [],
31
+ expectRefs: true,
32
+ })).toMatchInlineSnapshot(`
33
+ {
34
+ "fieldPath": [
35
+ "file",
36
+ ],
37
+ "message": "Expected file ref for field file, got {"@@type":"ref","id":"some/object:1"}",
38
+ "type": "invalid-type",
39
+ }
40
+ `);
41
+ expect(validateEntityField({
42
+ field: fieldSchema,
43
+ value: {
44
+ obj: 'foo',
45
+ file: createFileRef('somefile'),
46
+ },
47
+ fieldPath: [],
48
+ expectRefs: true,
49
+ })).toMatchInlineSnapshot(`
50
+ {
51
+ "fieldPath": [
52
+ "obj",
53
+ ],
54
+ "message": "Expected ref for field obj, got "foo"",
55
+ "type": "invalid-type",
56
+ }
57
+ `);
58
+ });
59
+ });
60
+ //# sourceMappingURL=validation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.test.js","sourceRoot":"","sources":["../../../src/schema/validation.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEzD,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACxC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YACxC,MAAM,EAAE;gBACP,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBACzB,MAAM,EAAE,EAAE;iBACV,CAAC;gBACF,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;aAC1B;SACD,CAAC,CAAC;QACH,MAAM,CACL,mBAAmB,CAAC;YACnB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE;gBACN,GAAG,EAAE,SAAS,CAAC,WAAW,CAAC;gBAC3B,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC;aAC/B;YACD,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,IAAI;SAChB,CAAC,CACF,CAAC,aAAa,EAAE,CAAC;QAClB,MAAM,CACL,mBAAmB,CAAC;YACnB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE;gBACN,GAAG,EAAE,SAAS,CAAC,WAAW,CAAC;gBAC3B,IAAI,EAAE,SAAS,CAAC,eAAe,CAAC;aAChC;YACD,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,IAAI;SAChB,CAAC,CACF,CAAC,qBAAqB,CAAC;;;;;;;;GAQvB,CAAC,CAAC;QACH,MAAM,CACL,mBAAmB,CAAC;YACnB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE;gBACN,GAAG,EAAE,KAAK;gBACV,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC;aAC/B;YACD,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,IAAI;SAChB,CAAC,CACF,CAAC,qBAAqB,CAAC;;;;;;;;GAQvB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -14,6 +14,14 @@ export declare class NaiveTimestampProvider implements TimestampProvider {
14
14
  getWallClockTime: (timestamp: string) => number;
15
15
  reset(): void;
16
16
  }
17
+ export declare class FixedTimestampProvider implements TimestampProvider {
18
+ time: string;
19
+ counter: number;
20
+ now: (version: number | string) => string;
21
+ update: () => void;
22
+ zero: (version: number | string) => string;
23
+ getWallClockTime: () => number;
24
+ }
17
25
  export declare class HybridLogicalClockTimestampProvider implements TimestampProvider {
18
26
  private latest;
19
27
  private zeroCounter;
@@ -29,6 +29,21 @@ export class NaiveTimestampProvider {
29
29
  this.counter = 0;
30
30
  }
31
31
  }
32
+ // good for tests that require determinism.
33
+ export class FixedTimestampProvider {
34
+ constructor() {
35
+ this.time = new Date(2025, 2, 19).getTime().toString();
36
+ this.counter = 0;
37
+ this.now = (version) => {
38
+ return encodeVersion(version) + this.time + '-' + this.counter++;
39
+ };
40
+ this.update = () => { };
41
+ this.zero = (version) => {
42
+ return encodeVersion(version) + '0' + '-' + this.counter++;
43
+ };
44
+ this.getWallClockTime = () => 0;
45
+ }
46
+ }
32
47
  export class HybridLogicalClockTimestampProvider {
33
48
  constructor() {
34
49
  this.latest = {
@@ -1 +1 @@
1
- {"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../src/timestamp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../src/timestamp.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { AuthorizationKey } from './authz.js';
1
2
  import { ObjectIdentifier } from './oids.js';
2
3
  import { Operation } from './operation.js';
3
- export declare function getUndoOperations(oid: ObjectIdentifier, initial: any, operations: Operation[], getNow: () => string): Operation[];
4
+ export declare function getUndoOperations(oid: ObjectIdentifier, initial: any, operations: Operation[], getNow: () => string, getSubId?: () => string, authz?: AuthorizationKey): Operation[];