@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.
- package/dist/esm/EventSubscriber.js.map +1 -1
- package/dist/esm/batching.js.map +1 -1
- package/dist/esm/error.js +8 -2
- package/dist/esm/error.js.map +1 -1
- package/dist/esm/indexes.js +2 -2
- package/dist/esm/indexes.js.map +1 -1
- package/dist/esm/memo.js.map +1 -1
- package/dist/esm/migration.js.map +1 -1
- package/dist/esm/oids.js.map +1 -1
- package/dist/esm/operation.js.map +1 -1
- package/dist/esm/patch.js.map +1 -1
- package/dist/esm/replica.js +1 -1
- package/dist/esm/replica.js.map +1 -1
- package/dist/esm/schema/children.js.map +1 -1
- package/dist/esm/schema/fieldHelpers.js.map +1 -1
- package/dist/esm/schema/fields.js +0 -14
- package/dist/esm/schema/fields.js.map +1 -1
- package/dist/esm/schema/index.js +1 -2
- package/dist/esm/schema/index.js.map +1 -1
- package/dist/esm/schema/validation.js.map +1 -1
- package/dist/esm/timestamp.js.map +1 -1
- package/dist/esm/timestamp.test.js.map +1 -1
- package/dist/esm/undo.js.map +1 -1
- package/dist/esm/utils.js.map +1 -1
- package/package.json +5 -8
- package/src/error.ts +7 -1
- package/src/indexes.ts +2 -2
- package/src/protocol.ts +1 -1
- package/src/schema/fieldHelpers.ts +5 -5
- package/src/schema/fields.ts +3 -13
- package/src/schema/index.ts +1 -2
- package/src/schema/types/compounds.ts +6 -6
- package/src/schema/types/fields.ts +8 -47
- package/src/schema/types/shapes.ts +2 -7
- package/src/schema/types/synthetics.ts +0 -1
- package/src/schema/validation.ts +2 -6
- package/dist/cjs/EventSubscriber.d.ts +0 -18
- package/dist/cjs/EventSubscriber.js +0 -70
- package/dist/cjs/EventSubscriber.js.map +0 -1
- package/dist/cjs/baseline.d.ts +0 -5
- package/dist/cjs/baseline.js +0 -3
- package/dist/cjs/baseline.js.map +0 -1
- package/dist/cjs/batching.d.ts +0 -43
- package/dist/cjs/batching.js +0 -98
- package/dist/cjs/batching.js.map +0 -1
- package/dist/cjs/error.d.ts +0 -16
- package/dist/cjs/error.js +0 -37
- package/dist/cjs/error.js.map +0 -1
- package/dist/cjs/files.d.ts +0 -19
- package/dist/cjs/files.js +0 -19
- package/dist/cjs/files.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -21
- package/dist/cjs/index.js +0 -44
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/indexes.d.ts +0 -17
- package/dist/cjs/indexes.js +0 -146
- package/dist/cjs/indexes.js.map +0 -1
- package/dist/cjs/indexes.test.d.ts +0 -1
- package/dist/cjs/indexes.test.js +0 -156
- package/dist/cjs/indexes.test.js.map +0 -1
- package/dist/cjs/memo.d.ts +0 -6
- package/dist/cjs/memo.js +0 -25
- package/dist/cjs/memo.js.map +0 -1
- package/dist/cjs/memo.test.d.ts +0 -1
- package/dist/cjs/memo.test.js +0 -29
- package/dist/cjs/memo.test.js.map +0 -1
- package/dist/cjs/migration.d.ts +0 -174
- package/dist/cjs/migration.js +0 -310
- package/dist/cjs/migration.js.map +0 -1
- package/dist/cjs/oids.d.ts +0 -101
- package/dist/cjs/oids.js +0 -466
- package/dist/cjs/oids.js.map +0 -1
- package/dist/cjs/oids.test.d.ts +0 -1
- package/dist/cjs/oids.test.js +0 -409
- package/dist/cjs/oids.test.js.map +0 -1
- package/dist/cjs/operation.d.ts +0 -142
- package/dist/cjs/operation.js +0 -549
- package/dist/cjs/operation.js.map +0 -1
- package/dist/cjs/operation.test.d.ts +0 -1
- package/dist/cjs/operation.test.js +0 -977
- package/dist/cjs/operation.test.js.map +0 -1
- package/dist/cjs/patch.d.ts +0 -28
- package/dist/cjs/patch.js +0 -230
- package/dist/cjs/patch.js.map +0 -1
- package/dist/cjs/presence.d.ts +0 -29
- package/dist/cjs/presence.js +0 -3
- package/dist/cjs/presence.js.map +0 -1
- package/dist/cjs/protocol.d.ts +0 -145
- package/dist/cjs/protocol.js +0 -4
- package/dist/cjs/protocol.js.map +0 -1
- package/dist/cjs/refs.d.ts +0 -7
- package/dist/cjs/refs.js +0 -30
- package/dist/cjs/refs.js.map +0 -1
- package/dist/cjs/replica.d.ts +0 -28
- package/dist/cjs/replica.js +0 -29
- package/dist/cjs/replica.js.map +0 -1
- package/dist/cjs/schema/children.d.ts +0 -2
- package/dist/cjs/schema/children.js +0 -24
- package/dist/cjs/schema/children.js.map +0 -1
- package/dist/cjs/schema/defaults.test.d.ts +0 -1
- package/dist/cjs/schema/defaults.test.js +0 -34
- package/dist/cjs/schema/defaults.test.js.map +0 -1
- package/dist/cjs/schema/fieldHelpers.d.ts +0 -35
- package/dist/cjs/schema/fieldHelpers.js +0 -38
- package/dist/cjs/schema/fieldHelpers.js.map +0 -1
- package/dist/cjs/schema/fields.d.ts +0 -12
- package/dist/cjs/schema/fields.js +0 -187
- package/dist/cjs/schema/fields.js.map +0 -1
- package/dist/cjs/schema/index.d.ts +0 -54
- package/dist/cjs/schema/index.js +0 -64
- package/dist/cjs/schema/index.js.map +0 -1
- package/dist/cjs/schema/indexFilters.d.ts +0 -6
- package/dist/cjs/schema/indexFilters.js +0 -31
- package/dist/cjs/schema/indexFilters.js.map +0 -1
- package/dist/cjs/schema/types/collection.d.ts +0 -23
- package/dist/cjs/schema/types/collection.js +0 -3
- package/dist/cjs/schema/types/collection.js.map +0 -1
- package/dist/cjs/schema/types/compounds.d.ts +0 -11
- package/dist/cjs/schema/types/compounds.js +0 -3
- package/dist/cjs/schema/types/compounds.js.map +0 -1
- package/dist/cjs/schema/types/fields.d.ts +0 -78
- package/dist/cjs/schema/types/fields.js +0 -3
- package/dist/cjs/schema/types/fields.js.map +0 -1
- package/dist/cjs/schema/types/filters.d.ts +0 -29
- package/dist/cjs/schema/types/filters.js +0 -3
- package/dist/cjs/schema/types/filters.js.map +0 -1
- package/dist/cjs/schema/types/shapes.d.ts +0 -24
- package/dist/cjs/schema/types/shapes.js +0 -3
- package/dist/cjs/schema/types/shapes.js.map +0 -1
- package/dist/cjs/schema/types/synthetics.d.ts +0 -37
- package/dist/cjs/schema/types/synthetics.js +0 -3
- package/dist/cjs/schema/types/synthetics.js.map +0 -1
- package/dist/cjs/schema/types.d.ts +0 -18
- package/dist/cjs/schema/types.js +0 -23
- package/dist/cjs/schema/types.js.map +0 -1
- package/dist/cjs/schema/validation.d.ts +0 -14
- package/dist/cjs/schema/validation.js +0 -158
- package/dist/cjs/schema/validation.js.map +0 -1
- package/dist/cjs/timestamp.d.ts +0 -51
- package/dist/cjs/timestamp.js +0 -254
- package/dist/cjs/timestamp.js.map +0 -1
- package/dist/cjs/timestamp.test.d.ts +0 -1
- package/dist/cjs/timestamp.test.js +0 -105
- package/dist/cjs/timestamp.test.js.map +0 -1
- package/dist/cjs/undo.d.ts +0 -3
- package/dist/cjs/undo.js +0 -201
- package/dist/cjs/undo.js.map +0 -1
- package/dist/cjs/utils.d.ts +0 -20
- package/dist/cjs/utils.js +0 -146
- package/dist/cjs/utils.js.map +0 -1
- package/dist/cjs/utils.test.d.ts +0 -1
- package/dist/cjs/utils.test.js +0 -37
- package/dist/cjs/utils.test.js.map +0 -1
- package/dist/esm/EventSubscriber.d.ts +0 -18
- package/dist/esm/baseline.d.ts +0 -5
- package/dist/esm/batching.d.ts +0 -43
- package/dist/esm/error.d.ts +0 -16
- package/dist/esm/files.d.ts +0 -19
- package/dist/esm/index.d.ts +0 -21
- package/dist/esm/indexes.d.ts +0 -17
- package/dist/esm/indexes.test.d.ts +0 -1
- package/dist/esm/memo.d.ts +0 -6
- package/dist/esm/memo.test.d.ts +0 -1
- package/dist/esm/migration.d.ts +0 -174
- package/dist/esm/oids.d.ts +0 -101
- package/dist/esm/oids.test.d.ts +0 -1
- package/dist/esm/operation.d.ts +0 -142
- package/dist/esm/operation.test.d.ts +0 -1
- package/dist/esm/patch.d.ts +0 -28
- package/dist/esm/presence.d.ts +0 -29
- package/dist/esm/protocol.d.ts +0 -145
- package/dist/esm/refs.d.ts +0 -7
- package/dist/esm/replica.d.ts +0 -28
- package/dist/esm/schema/children.d.ts +0 -2
- package/dist/esm/schema/defaults.test.d.ts +0 -1
- package/dist/esm/schema/fieldHelpers.d.ts +0 -35
- package/dist/esm/schema/fields.d.ts +0 -12
- package/dist/esm/schema/index.d.ts +0 -54
- package/dist/esm/schema/indexFilters.d.ts +0 -6
- package/dist/esm/schema/types/collection.d.ts +0 -23
- package/dist/esm/schema/types/compounds.d.ts +0 -11
- package/dist/esm/schema/types/fields.d.ts +0 -78
- package/dist/esm/schema/types/filters.d.ts +0 -29
- package/dist/esm/schema/types/shapes.d.ts +0 -24
- package/dist/esm/schema/types/synthetics.d.ts +0 -37
- package/dist/esm/schema/types.d.ts +0 -18
- package/dist/esm/schema/validation.d.ts +0 -14
- package/dist/esm/timestamp.d.ts +0 -51
- package/dist/esm/timestamp.test.d.ts +0 -1
- package/dist/esm/undo.d.ts +0 -3
- package/dist/esm/utils.d.ts +0 -20
- package/dist/esm/utils.test.d.ts +0 -1
- package/dist/tsconfig-cjs.tsbuildinfo +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,IAAI,MAAM,aAAa,CAAC;AAE/B,MAAM,UAAU,IAAI,CACnB,GAAM,EACN,IAAY;IAEZ,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;
|
|
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.
|
|
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
|
-
"
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
78
|
+
const mapField = <T extends StorageFieldSchema>(args: {
|
|
79
79
|
values: T;
|
|
80
80
|
}): StorageMapFieldSchema<T> => {
|
|
81
81
|
return {
|
package/src/schema/fields.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { isObject } from '../utils.js';
|
|
|
3
3
|
import type {
|
|
4
4
|
StorageFieldSchema,
|
|
5
5
|
StorageCollectionSchema,
|
|
6
|
-
|
|
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
|
|
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
|
|
129
|
+
field.properties as StorageFieldsSchema,
|
|
140
130
|
)) {
|
|
141
131
|
if (defaultValue[key] === undefined) {
|
|
142
132
|
defaultValue[key] = getFieldDefault(property);
|
package/src/schema/index.ts
CHANGED
|
@@ -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 (
|
|
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
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
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
|
|
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
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
|
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]>;
|
package/src/schema/validation.ts
CHANGED
|
@@ -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
|
|
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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"}
|
package/dist/cjs/baseline.d.ts
DELETED
package/dist/cjs/baseline.js
DELETED
package/dist/cjs/baseline.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../src/baseline.ts"],"names":[],"mappings":""}
|
package/dist/cjs/batching.d.ts
DELETED
|
@@ -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
|
-
}
|
package/dist/cjs/batching.js
DELETED
|
@@ -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
|
package/dist/cjs/batching.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"batching.js","sourceRoot":"","sources":["../../src/batching.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/error.d.ts
DELETED
|
@@ -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
|
-
};
|