@verdant-web/common 2.1.1 → 2.3.0-next.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.
Files changed (194) hide show
  1. package/dist/esm/EventSubscriber.js.map +1 -1
  2. package/dist/esm/batching.js.map +1 -1
  3. package/dist/esm/error.js +8 -2
  4. package/dist/esm/error.js.map +1 -1
  5. package/dist/esm/indexes.js +2 -2
  6. package/dist/esm/indexes.js.map +1 -1
  7. package/dist/esm/memo.js.map +1 -1
  8. package/dist/esm/migration.js.map +1 -1
  9. package/dist/esm/oids.js.map +1 -1
  10. package/dist/esm/operation.js.map +1 -1
  11. package/dist/esm/patch.js.map +1 -1
  12. package/dist/esm/replica.js +1 -1
  13. package/dist/esm/replica.js.map +1 -1
  14. package/dist/esm/schema/children.js.map +1 -1
  15. package/dist/esm/schema/fieldHelpers.js.map +1 -1
  16. package/dist/esm/schema/fields.js +0 -14
  17. package/dist/esm/schema/fields.js.map +1 -1
  18. package/dist/esm/schema/index.js +1 -2
  19. package/dist/esm/schema/index.js.map +1 -1
  20. package/dist/esm/schema/validation.js.map +1 -1
  21. package/dist/esm/timestamp.js.map +1 -1
  22. package/dist/esm/timestamp.test.js.map +1 -1
  23. package/dist/esm/undo.js.map +1 -1
  24. package/dist/esm/utils.js.map +1 -1
  25. package/package.json +5 -8
  26. package/src/error.ts +7 -1
  27. package/src/indexes.ts +2 -2
  28. package/src/protocol.ts +1 -1
  29. package/src/schema/fieldHelpers.ts +5 -5
  30. package/src/schema/fields.ts +3 -13
  31. package/src/schema/index.ts +1 -2
  32. package/src/schema/types/compounds.ts +6 -6
  33. package/src/schema/types/fields.ts +8 -47
  34. package/src/schema/types/shapes.ts +2 -7
  35. package/src/schema/types/synthetics.ts +0 -1
  36. package/src/schema/validation.ts +2 -6
  37. package/dist/cjs/EventSubscriber.d.ts +0 -18
  38. package/dist/cjs/EventSubscriber.js +0 -70
  39. package/dist/cjs/EventSubscriber.js.map +0 -1
  40. package/dist/cjs/baseline.d.ts +0 -5
  41. package/dist/cjs/baseline.js +0 -3
  42. package/dist/cjs/baseline.js.map +0 -1
  43. package/dist/cjs/batching.d.ts +0 -43
  44. package/dist/cjs/batching.js +0 -98
  45. package/dist/cjs/batching.js.map +0 -1
  46. package/dist/cjs/error.d.ts +0 -16
  47. package/dist/cjs/error.js +0 -37
  48. package/dist/cjs/error.js.map +0 -1
  49. package/dist/cjs/files.d.ts +0 -19
  50. package/dist/cjs/files.js +0 -19
  51. package/dist/cjs/files.js.map +0 -1
  52. package/dist/cjs/index.d.ts +0 -21
  53. package/dist/cjs/index.js +0 -44
  54. package/dist/cjs/index.js.map +0 -1
  55. package/dist/cjs/indexes.d.ts +0 -17
  56. package/dist/cjs/indexes.js +0 -146
  57. package/dist/cjs/indexes.js.map +0 -1
  58. package/dist/cjs/indexes.test.d.ts +0 -1
  59. package/dist/cjs/indexes.test.js +0 -156
  60. package/dist/cjs/indexes.test.js.map +0 -1
  61. package/dist/cjs/memo.d.ts +0 -6
  62. package/dist/cjs/memo.js +0 -25
  63. package/dist/cjs/memo.js.map +0 -1
  64. package/dist/cjs/memo.test.d.ts +0 -1
  65. package/dist/cjs/memo.test.js +0 -29
  66. package/dist/cjs/memo.test.js.map +0 -1
  67. package/dist/cjs/migration.d.ts +0 -174
  68. package/dist/cjs/migration.js +0 -310
  69. package/dist/cjs/migration.js.map +0 -1
  70. package/dist/cjs/oids.d.ts +0 -101
  71. package/dist/cjs/oids.js +0 -466
  72. package/dist/cjs/oids.js.map +0 -1
  73. package/dist/cjs/oids.test.d.ts +0 -1
  74. package/dist/cjs/oids.test.js +0 -409
  75. package/dist/cjs/oids.test.js.map +0 -1
  76. package/dist/cjs/operation.d.ts +0 -142
  77. package/dist/cjs/operation.js +0 -549
  78. package/dist/cjs/operation.js.map +0 -1
  79. package/dist/cjs/operation.test.d.ts +0 -1
  80. package/dist/cjs/operation.test.js +0 -977
  81. package/dist/cjs/operation.test.js.map +0 -1
  82. package/dist/cjs/patch.d.ts +0 -28
  83. package/dist/cjs/patch.js +0 -230
  84. package/dist/cjs/patch.js.map +0 -1
  85. package/dist/cjs/presence.d.ts +0 -29
  86. package/dist/cjs/presence.js +0 -3
  87. package/dist/cjs/presence.js.map +0 -1
  88. package/dist/cjs/protocol.d.ts +0 -145
  89. package/dist/cjs/protocol.js +0 -4
  90. package/dist/cjs/protocol.js.map +0 -1
  91. package/dist/cjs/refs.d.ts +0 -7
  92. package/dist/cjs/refs.js +0 -30
  93. package/dist/cjs/refs.js.map +0 -1
  94. package/dist/cjs/replica.d.ts +0 -28
  95. package/dist/cjs/replica.js +0 -29
  96. package/dist/cjs/replica.js.map +0 -1
  97. package/dist/cjs/schema/children.d.ts +0 -2
  98. package/dist/cjs/schema/children.js +0 -24
  99. package/dist/cjs/schema/children.js.map +0 -1
  100. package/dist/cjs/schema/defaults.test.d.ts +0 -1
  101. package/dist/cjs/schema/defaults.test.js +0 -34
  102. package/dist/cjs/schema/defaults.test.js.map +0 -1
  103. package/dist/cjs/schema/fieldHelpers.d.ts +0 -35
  104. package/dist/cjs/schema/fieldHelpers.js +0 -38
  105. package/dist/cjs/schema/fieldHelpers.js.map +0 -1
  106. package/dist/cjs/schema/fields.d.ts +0 -12
  107. package/dist/cjs/schema/fields.js +0 -187
  108. package/dist/cjs/schema/fields.js.map +0 -1
  109. package/dist/cjs/schema/index.d.ts +0 -54
  110. package/dist/cjs/schema/index.js +0 -64
  111. package/dist/cjs/schema/index.js.map +0 -1
  112. package/dist/cjs/schema/indexFilters.d.ts +0 -6
  113. package/dist/cjs/schema/indexFilters.js +0 -31
  114. package/dist/cjs/schema/indexFilters.js.map +0 -1
  115. package/dist/cjs/schema/types/collection.d.ts +0 -23
  116. package/dist/cjs/schema/types/collection.js +0 -3
  117. package/dist/cjs/schema/types/collection.js.map +0 -1
  118. package/dist/cjs/schema/types/compounds.d.ts +0 -11
  119. package/dist/cjs/schema/types/compounds.js +0 -3
  120. package/dist/cjs/schema/types/compounds.js.map +0 -1
  121. package/dist/cjs/schema/types/fields.d.ts +0 -78
  122. package/dist/cjs/schema/types/fields.js +0 -3
  123. package/dist/cjs/schema/types/fields.js.map +0 -1
  124. package/dist/cjs/schema/types/filters.d.ts +0 -29
  125. package/dist/cjs/schema/types/filters.js +0 -3
  126. package/dist/cjs/schema/types/filters.js.map +0 -1
  127. package/dist/cjs/schema/types/shapes.d.ts +0 -24
  128. package/dist/cjs/schema/types/shapes.js +0 -3
  129. package/dist/cjs/schema/types/shapes.js.map +0 -1
  130. package/dist/cjs/schema/types/synthetics.d.ts +0 -37
  131. package/dist/cjs/schema/types/synthetics.js +0 -3
  132. package/dist/cjs/schema/types/synthetics.js.map +0 -1
  133. package/dist/cjs/schema/types.d.ts +0 -18
  134. package/dist/cjs/schema/types.js +0 -23
  135. package/dist/cjs/schema/types.js.map +0 -1
  136. package/dist/cjs/schema/validation.d.ts +0 -14
  137. package/dist/cjs/schema/validation.js +0 -158
  138. package/dist/cjs/schema/validation.js.map +0 -1
  139. package/dist/cjs/timestamp.d.ts +0 -51
  140. package/dist/cjs/timestamp.js +0 -254
  141. package/dist/cjs/timestamp.js.map +0 -1
  142. package/dist/cjs/timestamp.test.d.ts +0 -1
  143. package/dist/cjs/timestamp.test.js +0 -105
  144. package/dist/cjs/timestamp.test.js.map +0 -1
  145. package/dist/cjs/undo.d.ts +0 -3
  146. package/dist/cjs/undo.js +0 -201
  147. package/dist/cjs/undo.js.map +0 -1
  148. package/dist/cjs/utils.d.ts +0 -20
  149. package/dist/cjs/utils.js +0 -146
  150. package/dist/cjs/utils.js.map +0 -1
  151. package/dist/cjs/utils.test.d.ts +0 -1
  152. package/dist/cjs/utils.test.js +0 -37
  153. package/dist/cjs/utils.test.js.map +0 -1
  154. package/dist/esm/EventSubscriber.d.ts +0 -18
  155. package/dist/esm/baseline.d.ts +0 -5
  156. package/dist/esm/batching.d.ts +0 -43
  157. package/dist/esm/error.d.ts +0 -16
  158. package/dist/esm/files.d.ts +0 -19
  159. package/dist/esm/index.d.ts +0 -21
  160. package/dist/esm/indexes.d.ts +0 -17
  161. package/dist/esm/indexes.test.d.ts +0 -1
  162. package/dist/esm/memo.d.ts +0 -6
  163. package/dist/esm/memo.test.d.ts +0 -1
  164. package/dist/esm/migration.d.ts +0 -174
  165. package/dist/esm/oids.d.ts +0 -101
  166. package/dist/esm/oids.test.d.ts +0 -1
  167. package/dist/esm/operation.d.ts +0 -142
  168. package/dist/esm/operation.test.d.ts +0 -1
  169. package/dist/esm/patch.d.ts +0 -28
  170. package/dist/esm/presence.d.ts +0 -29
  171. package/dist/esm/protocol.d.ts +0 -145
  172. package/dist/esm/refs.d.ts +0 -7
  173. package/dist/esm/replica.d.ts +0 -28
  174. package/dist/esm/schema/children.d.ts +0 -2
  175. package/dist/esm/schema/defaults.test.d.ts +0 -1
  176. package/dist/esm/schema/fieldHelpers.d.ts +0 -35
  177. package/dist/esm/schema/fields.d.ts +0 -12
  178. package/dist/esm/schema/index.d.ts +0 -54
  179. package/dist/esm/schema/indexFilters.d.ts +0 -6
  180. package/dist/esm/schema/types/collection.d.ts +0 -23
  181. package/dist/esm/schema/types/compounds.d.ts +0 -11
  182. package/dist/esm/schema/types/fields.d.ts +0 -78
  183. package/dist/esm/schema/types/filters.d.ts +0 -29
  184. package/dist/esm/schema/types/shapes.d.ts +0 -24
  185. package/dist/esm/schema/types/synthetics.d.ts +0 -37
  186. package/dist/esm/schema/types.d.ts +0 -18
  187. package/dist/esm/schema/validation.d.ts +0 -14
  188. package/dist/esm/timestamp.d.ts +0 -51
  189. package/dist/esm/timestamp.test.d.ts +0 -1
  190. package/dist/esm/undo.d.ts +0 -3
  191. package/dist/esm/utils.d.ts +0 -20
  192. package/dist/esm/utils.test.d.ts +0 -1
  193. package/dist/tsconfig-cjs.tsbuildinfo +0 -1
  194. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -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,12 +1,12 @@
1
1
  {
2
2
  "name": "@verdant-web/common",
3
- "version": "2.1.1",
3
+ "version": "2.3.0-next.0",
4
4
  "access": "public",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {
8
8
  "import": "./dist/esm/index.js",
9
- "require": "./dist/cjs/index.js"
9
+ "types": "./dist/esm/index.d.ts"
10
10
  }
11
11
  },
12
12
  "publishConfig": {
@@ -24,18 +24,15 @@
24
24
  "devDependencies": {
25
25
  "@types/object-hash": "^3.0.4",
26
26
  "@types/uuid": "^8.3.4",
27
- "typescript": "^4.7.4",
27
+ "typescript": "^5.4.2",
28
28
  "vitest": "^1.1.0"
29
29
  },
30
30
  "scripts": {
31
31
  "test": "vitest",
32
32
  "ci:test:unit": "vitest run",
33
- "build": "tsc -p tsconfig.json && tsc -p tsconfig-cjs.json",
33
+ "build": "tsc -p tsconfig.json",
34
34
  "prepublish": "pnpm run build",
35
35
  "link": "pnpm link --global",
36
36
  "typecheck": "tsc --noEmit"
37
- },
38
- "types": "./dist/esm/index.d.ts",
39
- "main": "./dist/cjs/index.js",
40
- "module": "./dist/esm/index.js"
37
+ }
41
38
  }
package/src/error.ts CHANGED
@@ -1,8 +1,14 @@
1
1
  export enum VerdantErrorCode {
2
- Unexpected = 5000,
2
+ InvalidRequest = 4000,
3
+ BodyRequired = 4001,
3
4
  NoToken = 4010,
4
5
  InvalidToken = 4011,
5
6
  TokenExpired = 4012,
7
+ Forbidden = 4030,
8
+ NotFound = 4040,
9
+ Unexpected = 5000,
10
+ ConfigurationError = 5010,
11
+ NoFileStorage = 5011,
6
12
  }
7
13
 
8
14
  export class VerdantError extends Error {
package/src/indexes.ts CHANGED
@@ -2,7 +2,6 @@ import {
2
2
  StorageCollectionSchema,
3
3
  StorageSyntheticIndexSchema,
4
4
  CollectionCompoundIndex,
5
- isIndexed,
6
5
  StorageDirectSyntheticSchema,
7
6
  } from './index.js';
8
7
 
@@ -139,7 +138,8 @@ export function computeCompoundIndices(
139
138
  function computeIndexedFields(schema: StorageCollectionSchema, doc: any) {
140
139
  return Object.entries(schema.fields).reduce<Record<string, any>>(
141
140
  (acc, [key, field]) => {
142
- if (isIndexed(field)) {
141
+ // TODO: remove once I'm comfortable dropping 'indexed' support
142
+ if ('indexed' in field) {
143
143
  acc[key] = sanitizeIndexValue(doc[key]);
144
144
  }
145
145
  return acc;
package/src/protocol.ts CHANGED
@@ -37,7 +37,7 @@ export type OperationMessage = {
37
37
  export type OperationRebroadcastMessage = {
38
38
  type: 'op-re';
39
39
  operations: Operation[];
40
- baselines: DocumentBaseline[];
40
+ baselines?: DocumentBaseline[];
41
41
  replicaId: string;
42
42
  globalAckTimestamp: string | undefined;
43
43
  ackThisNonce?: string;
@@ -1,10 +1,10 @@
1
1
  import {
2
- NestedStorageFieldSchema,
3
- NestedStorageFieldsSchema,
4
2
  ShapeFromFieldsWithDefaults,
5
3
  StorageAnyFieldSchema,
6
4
  StorageArrayFieldSchema,
7
5
  StorageBooleanFieldSchema,
6
+ StorageFieldSchema,
7
+ StorageFieldsSchema,
8
8
  StorageFileFieldSchema,
9
9
  StorageMapFieldSchema,
10
10
  StorageNumberFieldSchema,
@@ -12,7 +12,7 @@ import {
12
12
  StorageStringFieldSchema,
13
13
  } from './types.js';
14
14
 
15
- const objectField = <Props extends NestedStorageFieldsSchema>(args: {
15
+ const objectField = <Props extends StorageFieldsSchema>(args: {
16
16
  properties: Props;
17
17
  nullable?: boolean;
18
18
  default?:
@@ -25,7 +25,7 @@ const objectField = <Props extends NestedStorageFieldsSchema>(args: {
25
25
  };
26
26
  };
27
27
 
28
- const arrayField = <T extends NestedStorageFieldSchema>(args: {
28
+ const arrayField = <T extends StorageFieldSchema>(args: {
29
29
  items: T;
30
30
  nullable?: boolean;
31
31
  }): StorageArrayFieldSchema<T> => {
@@ -75,7 +75,7 @@ const anyField = <TShape>(args?: {
75
75
  };
76
76
  };
77
77
 
78
- const mapField = <T extends NestedStorageFieldSchema>(args: {
78
+ const mapField = <T extends StorageFieldSchema>(args: {
79
79
  values: T;
80
80
  }): StorageMapFieldSchema<T> => {
81
81
  return {
@@ -3,7 +3,7 @@ import { isObject } from '../utils.js';
3
3
  import type {
4
4
  StorageFieldSchema,
5
5
  StorageCollectionSchema,
6
- NestedStorageFieldsSchema,
6
+ StorageFieldsSchema,
7
7
  } from './types.js';
8
8
 
9
9
  export function isNullable(field: StorageFieldSchema) {
@@ -45,16 +45,6 @@ export function isPrunePoint(field: StorageFieldSchema) {
45
45
  return isNullable(field) || hasDefault(field);
46
46
  }
47
47
 
48
- /** @deprecated */
49
- export function isIndexed(field: StorageFieldSchema) {
50
- if (field.type === 'map') return false;
51
- if (field.type === 'object') return false;
52
- if (field.type === 'array') return false;
53
- if (field.type === 'file') return false;
54
- if (field.type === 'any') return false;
55
- return field.indexed;
56
- }
57
-
58
48
  export function addFieldDefaults(
59
49
  collection: StorageCollectionSchema,
60
50
  value: any,
@@ -83,7 +73,7 @@ export function traverseCollectionFieldsAndApplyDefaults(
83
73
  if (value === undefined || value === null) return value;
84
74
  if (field.type === 'object') {
85
75
  for (const [key, subField] of Object.entries(
86
- field.properties as NestedStorageFieldsSchema,
76
+ field.properties as StorageFieldsSchema,
87
77
  )) {
88
78
  if (value[key] === undefined) {
89
79
  const defaultValue = getFieldDefault(subField);
@@ -136,7 +126,7 @@ export function getFieldDefault(field: StorageFieldSchema) {
136
126
  ? field.default()
137
127
  : JSON.parse(JSON.stringify(field.default));
138
128
  for (const [key, property] of Object.entries(
139
- field.properties as NestedStorageFieldsSchema,
129
+ field.properties as StorageFieldsSchema,
140
130
  )) {
141
131
  if (defaultValue[key] === undefined) {
142
132
  defaultValue[key] = getFieldDefault(property);
@@ -1,4 +1,3 @@
1
- import { isIndexed } from './fields.js';
2
1
  import {
3
2
  CollectionCompoundIndices,
4
3
  StorageCollectionSchema,
@@ -28,7 +27,7 @@ export function collection<
28
27
  const finalIndexes = { ...synthetics, ...indexes };
29
28
  // add all indexed fields into the synthetic indices (back compat)
30
29
  for (const [key, field] of Object.entries(input.fields)) {
31
- if (isIndexed(field)) {
30
+ if ('indexed' in field) {
32
31
  finalIndexes[key] = {
33
32
  field: key,
34
33
  } as StorageDirectSyntheticSchema<Fields>;
@@ -1,9 +1,9 @@
1
1
  import {
2
- NestedStorageBooleanFieldSchema,
3
- NestedStorageNumberFieldSchema,
4
- NestedStorageStringFieldSchema,
5
2
  StorageArrayFieldSchema,
3
+ StorageBooleanFieldSchema,
6
4
  StorageFieldsSchema,
5
+ StorageNumberFieldSchema,
6
+ StorageStringFieldSchema,
7
7
  } from './fields.js';
8
8
  import {
9
9
  DirectIndexableFieldName,
@@ -14,9 +14,9 @@ import {
14
14
  type PrimitiveArrayFields<Fields extends StorageFieldsSchema> = {
15
15
  [K in keyof Fields as Fields[K] extends StorageArrayFieldSchema<infer U>
16
16
  ? U extends
17
- | NestedStorageStringFieldSchema
18
- | NestedStorageNumberFieldSchema
19
- | NestedStorageBooleanFieldSchema
17
+ | StorageStringFieldSchema
18
+ | StorageNumberFieldSchema
19
+ | StorageBooleanFieldSchema
20
20
  ? K
21
21
  : never
22
22
  : never]: Fields[K];
@@ -1,7 +1,5 @@
1
1
  export type StorageStringFieldSchema = {
2
2
  type: 'string';
3
- /** @deprecated - add an index to indexes with this field name. */
4
- indexed?: boolean;
5
3
  nullable?: boolean;
6
4
  default?: string | (() => string);
7
5
  /** Limit the values to a certain set of options */
@@ -9,8 +7,6 @@ export type StorageStringFieldSchema = {
9
7
  };
10
8
  export type StorageNumberFieldSchema = {
11
9
  type: 'number';
12
- /** @deprecated - add an index to indexes with this field name. */
13
- indexed?: boolean;
14
10
  nullable?: boolean;
15
11
  default?: number | (() => number);
16
12
  };
@@ -18,26 +14,23 @@ export type StorageBooleanFieldSchema = {
18
14
  type: 'boolean';
19
15
  nullable?: boolean;
20
16
  default?: boolean | (() => boolean);
21
- /** @deprecated - add an index to indexes with this field name. */
22
- indexed?: boolean;
23
17
  };
24
- export type StorageArrayFieldSchema<TItems extends NestedStorageFieldSchema> = {
18
+ export type StorageArrayFieldSchema<TItems extends StorageFieldSchema> = {
25
19
  type: 'array';
26
20
  items: TItems;
27
21
  nullable?: boolean;
28
22
  };
29
- export type StorageObjectFieldSchema<Props extends NestedStorageFieldsSchema> =
30
- {
31
- type: 'object';
32
- properties: Props;
33
- nullable?: boolean;
34
- default?: Record<string, any> | (() => Record<string, any>);
35
- };
23
+ export type StorageObjectFieldSchema<Props extends StorageFieldsSchema> = {
24
+ type: 'object';
25
+ properties: Props;
26
+ nullable?: boolean;
27
+ default?: Record<string, any> | (() => Record<string, any>);
28
+ };
36
29
  export type StorageAnyFieldSchema<TShape = any> = {
37
30
  type: 'any';
38
31
  default?: TShape;
39
32
  };
40
- export type StorageMapFieldSchema<V extends NestedStorageFieldSchema> = {
33
+ export type StorageMapFieldSchema<V extends StorageFieldSchema> = {
41
34
  type: 'map';
42
35
  values: V;
43
36
  };
@@ -62,42 +55,10 @@ export type StorageFieldSchema =
62
55
  | StorageMapFieldSchema<any>
63
56
  | StorageFileFieldSchema;
64
57
 
65
- // nested versions don't have index info
66
- export type NestedStorageStringFieldSchema = {
67
- type: 'string';
68
- nullable?: boolean;
69
- default?: string | (() => string);
70
- };
71
- export type NestedStorageNumberFieldSchema = {
72
- type: 'number';
73
- nullable?: boolean;
74
- default?: number | (() => number);
75
- };
76
- export type NestedStorageBooleanFieldSchema = {
77
- type: 'boolean';
78
- nullable?: boolean;
79
- default: boolean | (() => boolean);
80
- };
81
-
82
- export type NestedStorageFieldSchema =
83
- | NestedStorageStringFieldSchema
84
- | NestedStorageNumberFieldSchema
85
- | NestedStorageBooleanFieldSchema
86
- | StorageArrayFieldSchema<any>
87
- | StorageObjectFieldSchema<any>
88
- | StorageAnyFieldSchema
89
- | StorageMapFieldSchema<any>
90
- | StorageFileFieldSchema;
91
-
92
58
  export type StorageFieldsSchema = {
93
59
  [key: string]: StorageFieldSchema;
94
60
  };
95
61
 
96
- export type NestedStorageFieldsSchema = Record<
97
- string,
98
- NestedStorageFieldSchema
99
- >;
100
-
101
62
  // filters to only fields which can be indexed
102
63
  export type StorageIndexableFields<Fields extends StorageFieldsSchema> = {
103
64
  [K in keyof Fields]: Fields[K] extends { indexed: boolean } ? K : never;
@@ -1,6 +1,5 @@
1
1
  import { StorageCollectionSchema } from './collection.js';
2
2
  import {
3
- NestedStorageFieldsSchema,
4
3
  StorageArrayFieldSchema,
5
4
  StorageFieldSchema,
6
5
  StorageFieldsSchema,
@@ -42,9 +41,7 @@ export type ShapeFromProperty<T extends StorageFieldSchema> =
42
41
  ? BaseShapeFromProperty<T> | null
43
42
  : BaseShapeFromProperty<T>;
44
43
 
45
- export type ShapeFromFields<
46
- T extends StorageFieldsSchema | NestedStorageFieldsSchema,
47
- > = {
44
+ export type ShapeFromFields<T extends StorageFieldsSchema> = {
48
45
  [K in keyof T]: ShapeFromProperty<T[K]>;
49
46
  };
50
47
 
@@ -65,9 +62,7 @@ type StoragePropertyIsOptional<T extends StorageFieldSchema> =
65
62
  ? true
66
63
  : false;
67
64
 
68
- export type ShapeFromFieldsWithDefaults<
69
- T extends StorageFieldsSchema | NestedStorageFieldsSchema,
70
- > = {
65
+ export type ShapeFromFieldsWithDefaults<T extends StorageFieldsSchema> = {
71
66
  [K in keyof T as StoragePropertyIsOptional<T[K]> extends true
72
67
  ? K
73
68
  : never]?: ShapeFromProperty<T[K]>;
@@ -1,6 +1,5 @@
1
1
  import {
2
2
  StorageBooleanFieldSchema,
3
- StorageFieldSchema,
4
3
  StorageFieldsSchema,
5
4
  StorageNumberFieldSchema,
6
5
  StorageStringFieldSchema,
@@ -1,11 +1,7 @@
1
1
  import { OID_KEY } from '../oids.js';
2
2
  import { isObject } from '../utils.js';
3
3
  import { hasDefault, isNullable } from './fields.js';
4
- import {
5
- NestedStorageFieldsSchema,
6
- StorageFieldSchema,
7
- StorageFieldsSchema,
8
- } from './types.js';
4
+ import { StorageFieldSchema, StorageFieldsSchema } from './types.js';
9
5
 
10
6
  export function validateEntity(
11
7
  schema: StorageFieldsSchema,
@@ -81,7 +77,7 @@ export function validateEntityField({
81
77
  };
82
78
  }
83
79
  for (const [key, subField] of Object.entries(
84
- field.properties as NestedStorageFieldsSchema,
80
+ field.properties as StorageFieldsSchema,
85
81
  )) {
86
82
  // legacy -- old objects sometimes accidentally include this key
87
83
  if (key === OID_KEY) continue;
@@ -1,18 +0,0 @@
1
- export declare class EventSubscriber<Events extends {
2
- [key: string]: (...args: any[]) => void;
3
- }> {
4
- private _onAllUnsubscribed?;
5
- protected subscribers: Record<string, Record<string, (...args: any[]) => void>>;
6
- protected counts: Record<string, number>;
7
- private _disabled;
8
- protected disposed: boolean;
9
- constructor(_onAllUnsubscribed?: ((event: keyof Events) => void) | undefined);
10
- get disabled(): boolean;
11
- subscriberCount: (event: Extract<keyof Events, string>) => number;
12
- totalSubscriberCount: () => number;
13
- subscribe: <K extends Extract<keyof Events, string>>(event: K, callback: Events[K]) => () => void;
14
- emit: <K extends Extract<keyof Events, string>>(event: K, ...args: Parameters<Events[K]>) => void;
15
- dispose: () => void;
16
- disable: () => void;
17
- }
18
- export declare type EventsOf<T extends EventSubscriber<any>> = T extends EventSubscriber<infer E> ? keyof E : never;
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventSubscriber = void 0;
4
- const utils_js_1 = require("./utils.js");
5
- class EventSubscriber {
6
- constructor(_onAllUnsubscribed) {
7
- this._onAllUnsubscribed = _onAllUnsubscribed;
8
- this.subscribers = {};
9
- this.counts = {};
10
- this._disabled = false;
11
- this.disposed = false;
12
- this.subscriberCount = (event) => {
13
- var _a;
14
- return (_a = this.counts[event]) !== null && _a !== void 0 ? _a : 0;
15
- };
16
- this.totalSubscriberCount = () => {
17
- return Object.values(this.counts).reduce((acc, count) => acc + count, 0);
18
- };
19
- this.subscribe = (event, callback) => {
20
- const key = (0, utils_js_1.generateId)();
21
- let subscribers = this.subscribers[event];
22
- if (!subscribers) {
23
- subscribers = this.subscribers[event] = {};
24
- }
25
- subscribers[key] = callback;
26
- this.counts[event] = (this.counts[event] || 0) + 1;
27
- return () => {
28
- // already removed
29
- if (!this.subscribers[event])
30
- return;
31
- delete this.subscribers[event][key];
32
- this.counts[event]--;
33
- if (this.counts[event] === 0) {
34
- delete this.subscribers[event];
35
- delete this.counts[event];
36
- if (this._onAllUnsubscribed) {
37
- this._onAllUnsubscribed(event);
38
- }
39
- }
40
- };
41
- };
42
- this.emit = (event, ...args) => {
43
- if (this._disabled)
44
- return;
45
- if (this.subscribers[event]) {
46
- Object.values(this.subscribers[event]).forEach((c) => c(...args));
47
- }
48
- };
49
- this.dispose = () => {
50
- this._disabled = true;
51
- this.disposed = true;
52
- const events = Object.keys(this.subscribers);
53
- this.subscribers = {};
54
- this.counts = {};
55
- events.forEach((event) => {
56
- if (this._onAllUnsubscribed) {
57
- this._onAllUnsubscribed(event);
58
- }
59
- });
60
- };
61
- this.disable = () => {
62
- this._disabled = true;
63
- };
64
- }
65
- get disabled() {
66
- return this._disabled;
67
- }
68
- }
69
- exports.EventSubscriber = EventSubscriber;
70
- //# sourceMappingURL=EventSubscriber.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventSubscriber.js","sourceRoot":"","sources":["../../src/EventSubscriber.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export declare type DocumentBaseline<T extends any = any> = {
2
- oid: string;
3
- snapshot: T;
4
- timestamp: string;
5
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=baseline.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../src/baseline.ts"],"names":[],"mappings":""}
@@ -1,43 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- export declare class Batcher<T, UserData = any> {
3
- private flusher;
4
- private batches;
5
- constructor(flusher: (items: T[], batchKey: string, userData: UserData) => any);
6
- add({ key, userData, items, max, timeout, }: {
7
- key: string;
8
- userData?: UserData;
9
- items: T[];
10
- max?: number | null;
11
- timeout?: number | null;
12
- }): Batch<T, UserData>;
13
- flush: (key: string) => any;
14
- discard: (key: string) => void;
15
- flushAll: () => any[];
16
- getSize: (key: string) => number;
17
- }
18
- export declare class Batch<T, UserData = any> {
19
- items: Array<T>;
20
- max: number | null;
21
- startedAt: number;
22
- timeout: number | null;
23
- flushTimeout?: NodeJS.Timeout;
24
- userData?: any;
25
- flusher: (items: T[], batchKey: string, userData: UserData) => any;
26
- key: string;
27
- constructor({ max, startedAt, timeout, userData, flusher, key, }: {
28
- key: string;
29
- max: number | null;
30
- startedAt: number;
31
- timeout: number | null;
32
- userData?: UserData;
33
- flusher: (items: T[], batchKey: string, userData: UserData) => any;
34
- });
35
- update: ({ items, max, timeout, userData, }: {
36
- items: Array<T>;
37
- max?: number | null | undefined;
38
- timeout?: number | null | undefined;
39
- userData?: UserData | undefined;
40
- }) => void;
41
- flush: () => any;
42
- discard: () => void;
43
- }
@@ -1,98 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Batch = exports.Batcher = void 0;
4
- class Batcher {
5
- constructor(flusher) {
6
- this.flusher = flusher;
7
- this.batches = new Map();
8
- this.flush = (key) => {
9
- const batch = this.batches.get(key);
10
- if (!batch)
11
- return;
12
- return batch.flush();
13
- };
14
- this.discard = (key) => {
15
- const batch = this.batches.get(key);
16
- if (!batch)
17
- return;
18
- batch.discard();
19
- this.batches.delete(key);
20
- };
21
- this.flushAll = () => {
22
- return [...this.batches.values()].map((batch) => batch.flush());
23
- };
24
- this.getSize = (key) => {
25
- const batch = this.batches.get(key);
26
- if (!batch)
27
- return 0;
28
- return batch.items.length;
29
- };
30
- }
31
- add({ key, userData, items, max, timeout, }) {
32
- let batch = this.batches.get(key);
33
- if (!batch) {
34
- batch = new Batch({
35
- max: max || null,
36
- startedAt: Date.now(),
37
- userData,
38
- timeout: timeout || null,
39
- flusher: this.flusher,
40
- key,
41
- });
42
- this.batches.set(key, batch);
43
- }
44
- batch.update({
45
- items,
46
- max,
47
- timeout,
48
- userData,
49
- });
50
- return batch;
51
- }
52
- }
53
- exports.Batcher = Batcher;
54
- class Batch {
55
- constructor({ max, startedAt, timeout, userData, flusher, key, }) {
56
- this.items = [];
57
- this.update = ({ items, max, timeout, userData, }) => {
58
- this.items.push(...items);
59
- if (max !== undefined)
60
- this.max = max;
61
- if (timeout !== undefined)
62
- this.timeout = timeout;
63
- if (userData)
64
- this.userData = userData;
65
- // if the batch has items and a timeout but has not
66
- // scheduled yet, schedule it
67
- const needsSchedule = this.items.length !== 0 && this.timeout !== null && !this.flushTimeout;
68
- // if the batch has already reached its max, skip scheduling
69
- // and flush immediately
70
- if (this.max !== null && this.items.length >= this.max) {
71
- this.flush();
72
- }
73
- else if (needsSchedule && this.timeout !== null) {
74
- this.flushTimeout = setTimeout(this.flush, this.timeout);
75
- }
76
- };
77
- this.flush = () => {
78
- this.flushTimeout && clearTimeout(this.flushTimeout);
79
- this.flushTimeout = undefined;
80
- const items = this.items;
81
- this.items = [];
82
- return this.flusher(items, this.key, this.userData);
83
- };
84
- this.discard = () => {
85
- this.flushTimeout && clearTimeout(this.flushTimeout);
86
- this.flushTimeout = undefined;
87
- this.items = [];
88
- };
89
- this.max = max;
90
- this.startedAt = startedAt;
91
- this.timeout = timeout;
92
- this.userData = userData;
93
- this.flusher = flusher;
94
- this.key = key;
95
- }
96
- }
97
- exports.Batch = Batch;
98
- //# sourceMappingURL=batching.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"batching.js","sourceRoot":"","sources":["../../src/batching.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- export declare enum VerdantErrorCode {
2
- Unexpected = 5000,
3
- NoToken = 4010,
4
- InvalidToken = 4011,
5
- TokenExpired = 4012
6
- }
7
- export declare class VerdantError extends Error {
8
- code: VerdantErrorCode;
9
- static Code: typeof VerdantErrorCode;
10
- constructor(code: VerdantErrorCode, cause?: Error | undefined, message?: string);
11
- get httpStatus(): number;
12
- toResponse: () => string;
13
- }
14
- export declare function isVerdantErrorResponse(body: any): body is {
15
- code: number;
16
- };