@brightchain/db 0.20.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 (56) hide show
  1. package/README.md +81 -0
  2. package/package.json +18 -0
  3. package/src/__tests__/helpers/mockBlockStore.d.ts +113 -0
  4. package/src/__tests__/helpers/mockBlockStore.js +380 -0
  5. package/src/__tests__/helpers/mockBlockStore.js.map +1 -0
  6. package/src/index.d.ts +31 -0
  7. package/src/index.js +78 -0
  8. package/src/index.js.map +1 -0
  9. package/src/lib/aggregation.d.ts +18 -0
  10. package/src/lib/aggregation.js +407 -0
  11. package/src/lib/aggregation.js.map +1 -0
  12. package/src/lib/cblIndex.d.ts +268 -0
  13. package/src/lib/cblIndex.js +856 -0
  14. package/src/lib/cblIndex.js.map +1 -0
  15. package/src/lib/collection.d.ts +305 -0
  16. package/src/lib/collection.js +991 -0
  17. package/src/lib/collection.js.map +1 -0
  18. package/src/lib/cursor.d.ts +8 -0
  19. package/src/lib/cursor.js +13 -0
  20. package/src/lib/cursor.js.map +1 -0
  21. package/src/lib/database.d.ts +158 -0
  22. package/src/lib/database.js +332 -0
  23. package/src/lib/database.js.map +1 -0
  24. package/src/lib/errors.d.ts +85 -0
  25. package/src/lib/errors.js +103 -0
  26. package/src/lib/errors.js.map +1 -0
  27. package/src/lib/expressMiddleware.d.ts +57 -0
  28. package/src/lib/expressMiddleware.js +488 -0
  29. package/src/lib/expressMiddleware.js.map +1 -0
  30. package/src/lib/headRegistry.d.ts +60 -0
  31. package/src/lib/headRegistry.js +216 -0
  32. package/src/lib/headRegistry.js.map +1 -0
  33. package/src/lib/indexing.d.ts +7 -0
  34. package/src/lib/indexing.js +14 -0
  35. package/src/lib/indexing.js.map +1 -0
  36. package/src/lib/model.d.ts +162 -0
  37. package/src/lib/model.js +260 -0
  38. package/src/lib/model.js.map +1 -0
  39. package/src/lib/pooledStoreAdapter.d.ts +44 -0
  40. package/src/lib/pooledStoreAdapter.js +109 -0
  41. package/src/lib/pooledStoreAdapter.js.map +1 -0
  42. package/src/lib/queryEngine.d.ts +48 -0
  43. package/src/lib/queryEngine.js +461 -0
  44. package/src/lib/queryEngine.js.map +1 -0
  45. package/src/lib/schemaValidation.d.ts +80 -0
  46. package/src/lib/schemaValidation.js +353 -0
  47. package/src/lib/schemaValidation.js.map +1 -0
  48. package/src/lib/transaction.d.ts +7 -0
  49. package/src/lib/transaction.js +12 -0
  50. package/src/lib/transaction.js.map +1 -0
  51. package/src/lib/types.d.ts +360 -0
  52. package/src/lib/types.js +6 -0
  53. package/src/lib/types.js.map +1 -0
  54. package/src/lib/updateEngine.d.ts +7 -0
  55. package/src/lib/updateEngine.js +13 -0
  56. package/src/lib/updateEngine.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryEngine.js","sourceRoot":"","sources":["../../../../brightchain-db/src/lib/queryEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Schema validation for brightchain-db collections.
3
+ *
4
+ * Provides a lightweight JSON-Schema-like validator that can enforce
5
+ * document structure on insert and update operations.
6
+ *
7
+ * Supported types: 'string', 'number', 'boolean', 'object', 'array', 'null', 'date', 'any'
8
+ * Supported constraints:
9
+ * - required: array of required field names
10
+ * - properties: per-field type + constraints
11
+ * - minLength / maxLength: for strings and arrays
12
+ * - minimum / maximum: for numbers
13
+ * - pattern: regex pattern for strings
14
+ * - enum: allowed values
15
+ * - items: schema for array elements
16
+ * - additionalProperties: whether extra fields are allowed (default: true)
17
+ */
18
+ import { ValidationFieldError } from './errors';
19
+ import { BsonDocument } from './types';
20
+ export type SchemaType = 'string' | 'number' | 'boolean' | 'object' | 'array' | 'null' | 'date' | 'any' | 'branded-primitive' | 'branded-interface';
21
+ export interface FieldSchema {
22
+ /** Expected type */
23
+ type?: SchemaType | SchemaType[];
24
+ /** Whether this field is required (also settable at parent level via `required` array) */
25
+ required?: boolean;
26
+ /** Minimum value (number) or minimum length (string/array) */
27
+ minimum?: number;
28
+ /** Maximum value (number) or maximum length (string/array) */
29
+ maximum?: number;
30
+ /** Minimum string/array length */
31
+ minLength?: number;
32
+ /** Maximum string/array length */
33
+ maxLength?: number;
34
+ /** Regex pattern for string values */
35
+ pattern?: string;
36
+ /** Allowed values */
37
+ enum?: unknown[];
38
+ /** Schema for nested object properties */
39
+ properties?: Record<string, FieldSchema>;
40
+ /** Required fields in nested object */
41
+ requiredFields?: string[];
42
+ /** Schema for array items */
43
+ items?: FieldSchema;
44
+ /** Default value if field is missing */
45
+ default?: unknown;
46
+ /** Whether to allow extra properties (for objects) */
47
+ additionalProperties?: boolean;
48
+ /** Custom validation function */
49
+ validate?: (value: unknown) => boolean | string;
50
+ /** Reference name for branded-primitive or branded-interface types */
51
+ ref?: string;
52
+ }
53
+ export interface CollectionSchema {
54
+ /** Name of the schema (for error messages) */
55
+ name?: string;
56
+ /** Per-field definitions */
57
+ properties: Record<string, FieldSchema>;
58
+ /** Which fields are required */
59
+ required?: string[];
60
+ /** Allow fields not defined in properties (default: true) */
61
+ additionalProperties?: boolean;
62
+ /** When to validate: 'strict' = inserts and updates, 'moderate' = inserts only */
63
+ validationLevel?: 'strict' | 'moderate' | 'off';
64
+ /** What to do on failure: 'error' = throw, 'warn' = log and continue */
65
+ validationAction?: 'error' | 'warn';
66
+ }
67
+ /**
68
+ * Validate a document against a collection schema.
69
+ *
70
+ * @param doc - The document to validate
71
+ * @param schema - The collection schema
72
+ * @param collectionName - Collection name for error messages
73
+ * @throws ValidationError if validationAction is 'error'
74
+ * @returns Array of validation field errors (empty if valid)
75
+ */
76
+ export declare function validateDocument(doc: BsonDocument, schema: CollectionSchema, collectionName: string): ValidationFieldError[];
77
+ /**
78
+ * Apply default values from schema to a document (mutates a copy).
79
+ */
80
+ export declare function applyDefaults(doc: BsonDocument, schema: CollectionSchema): BsonDocument;
@@ -0,0 +1,353 @@
1
+ "use strict";
2
+ /**
3
+ * Schema validation for brightchain-db collections.
4
+ *
5
+ * Provides a lightweight JSON-Schema-like validator that can enforce
6
+ * document structure on insert and update operations.
7
+ *
8
+ * Supported types: 'string', 'number', 'boolean', 'object', 'array', 'null', 'date', 'any'
9
+ * Supported constraints:
10
+ * - required: array of required field names
11
+ * - properties: per-field type + constraints
12
+ * - minLength / maxLength: for strings and arrays
13
+ * - minimum / maximum: for numbers
14
+ * - pattern: regex pattern for strings
15
+ * - enum: allowed values
16
+ * - items: schema for array elements
17
+ * - additionalProperties: whether extra fields are allowed (default: true)
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.validateDocument = validateDocument;
21
+ exports.applyDefaults = applyDefaults;
22
+ const errors_1 = require("./errors");
23
+ // Lazy import for branded-interface registry to avoid hard dependency
24
+ let _getInterfaceById;
25
+ // ── Validator ──
26
+ /**
27
+ * Validate a document against a collection schema.
28
+ *
29
+ * @param doc - The document to validate
30
+ * @param schema - The collection schema
31
+ * @param collectionName - Collection name for error messages
32
+ * @throws ValidationError if validationAction is 'error'
33
+ * @returns Array of validation field errors (empty if valid)
34
+ */
35
+ function validateDocument(doc, schema, collectionName) {
36
+ if (schema.validationLevel === 'off')
37
+ return [];
38
+ const errors = [];
39
+ // Check required fields
40
+ if (schema.required) {
41
+ for (const field of schema.required) {
42
+ if (field === '_id')
43
+ continue; // _id is managed internally
44
+ if (!(field in doc) || doc[field] === undefined) {
45
+ errors.push({ field, message: `Required field "${field}" is missing` });
46
+ }
47
+ }
48
+ }
49
+ // Check defined properties
50
+ if (schema.properties) {
51
+ for (const [field, fieldSchema] of Object.entries(schema.properties)) {
52
+ if (field === '_id')
53
+ continue;
54
+ const value = doc[field];
55
+ if (value === undefined) {
56
+ // Already checked in required above
57
+ continue;
58
+ }
59
+ const fieldErrors = validateField(value, fieldSchema, field);
60
+ errors.push(...fieldErrors);
61
+ }
62
+ }
63
+ // Check additional properties
64
+ if (schema.additionalProperties === false && schema.properties) {
65
+ const allowed = new Set([...Object.keys(schema.properties), '_id']);
66
+ for (const key of Object.keys(doc)) {
67
+ if (!allowed.has(key)) {
68
+ errors.push({
69
+ field: key,
70
+ message: `Additional property "${key}" is not allowed`,
71
+ value: doc[key],
72
+ });
73
+ }
74
+ }
75
+ }
76
+ if (errors.length > 0 && schema.validationAction !== 'warn') {
77
+ throw new errors_1.ValidationError(collectionName, errors);
78
+ }
79
+ return errors;
80
+ }
81
+ /**
82
+ * Validate a single field value against a field schema.
83
+ */
84
+ function validateField(value, schema, fieldPath) {
85
+ const errors = [];
86
+ // Type check
87
+ if (schema.type) {
88
+ const types = Array.isArray(schema.type) ? schema.type : [schema.type];
89
+ if (!types.some((t) => matchesSchemaType(value, t))) {
90
+ errors.push({
91
+ field: fieldPath,
92
+ message: `Expected type ${types.join(' | ')}, got ${getValueType(value)}`,
93
+ value,
94
+ });
95
+ return errors; // Stop further checks if type is wrong
96
+ }
97
+ // Branded type validation via @digitaldefiance/branded-interface registry
98
+ const singleType = types.length === 1 ? types[0] : undefined;
99
+ if (singleType === 'branded-primitive' ||
100
+ singleType === 'branded-interface') {
101
+ const brandedErrors = validateBrandedField(value, schema, fieldPath, singleType);
102
+ if (brandedErrors.length > 0) {
103
+ errors.push(...brandedErrors);
104
+ return errors;
105
+ }
106
+ }
107
+ }
108
+ // Enum check
109
+ if (schema.enum) {
110
+ if (!schema.enum.some((e) => e === value)) {
111
+ errors.push({
112
+ field: fieldPath,
113
+ message: `Value must be one of: ${schema.enum.map(String).join(', ')}`,
114
+ value,
115
+ });
116
+ }
117
+ }
118
+ // String constraints
119
+ if (typeof value === 'string') {
120
+ if (schema.minLength !== undefined && value.length < schema.minLength) {
121
+ errors.push({
122
+ field: fieldPath,
123
+ message: `String length ${value.length} is less than minimum ${schema.minLength}`,
124
+ value,
125
+ });
126
+ }
127
+ if (schema.maxLength !== undefined && value.length > schema.maxLength) {
128
+ errors.push({
129
+ field: fieldPath,
130
+ message: `String length ${value.length} exceeds maximum ${schema.maxLength}`,
131
+ value,
132
+ });
133
+ }
134
+ if (schema.pattern) {
135
+ const re = new RegExp(schema.pattern);
136
+ if (!re.test(value)) {
137
+ errors.push({
138
+ field: fieldPath,
139
+ message: `String does not match pattern "${schema.pattern}"`,
140
+ value,
141
+ });
142
+ }
143
+ }
144
+ }
145
+ // Number constraints
146
+ if (typeof value === 'number') {
147
+ if (schema.minimum !== undefined && value < schema.minimum) {
148
+ errors.push({
149
+ field: fieldPath,
150
+ message: `Value ${value} is less than minimum ${schema.minimum}`,
151
+ value,
152
+ });
153
+ }
154
+ if (schema.maximum !== undefined && value > schema.maximum) {
155
+ errors.push({
156
+ field: fieldPath,
157
+ message: `Value ${value} exceeds maximum ${schema.maximum}`,
158
+ value,
159
+ });
160
+ }
161
+ }
162
+ // Array constraints
163
+ if (Array.isArray(value)) {
164
+ if (schema.minLength !== undefined && value.length < schema.minLength) {
165
+ errors.push({
166
+ field: fieldPath,
167
+ message: `Array length ${value.length} is less than minimum ${schema.minLength}`,
168
+ value,
169
+ });
170
+ }
171
+ if (schema.maxLength !== undefined && value.length > schema.maxLength) {
172
+ errors.push({
173
+ field: fieldPath,
174
+ message: `Array length ${value.length} exceeds maximum ${schema.maxLength}`,
175
+ value,
176
+ });
177
+ }
178
+ if (schema.items) {
179
+ for (let i = 0; i < value.length; i++) {
180
+ const itemErrors = validateField(value[i], schema.items, `${fieldPath}[${i}]`);
181
+ errors.push(...itemErrors);
182
+ }
183
+ }
184
+ }
185
+ // Nested object constraints
186
+ if (typeof value === 'object' &&
187
+ value !== null &&
188
+ !Array.isArray(value) &&
189
+ !(value instanceof Date)) {
190
+ const obj = value;
191
+ if (schema.requiredFields) {
192
+ for (const req of schema.requiredFields) {
193
+ if (!(req in obj)) {
194
+ errors.push({
195
+ field: `${fieldPath}.${req}`,
196
+ message: `Required field "${req}" is missing`,
197
+ });
198
+ }
199
+ }
200
+ }
201
+ if (schema.properties) {
202
+ for (const [key, propSchema] of Object.entries(schema.properties)) {
203
+ if (obj[key] !== undefined) {
204
+ const propErrors = validateField(obj[key], propSchema, `${fieldPath}.${key}`);
205
+ errors.push(...propErrors);
206
+ }
207
+ }
208
+ }
209
+ if (schema.additionalProperties === false && schema.properties) {
210
+ const allowed = new Set(Object.keys(schema.properties));
211
+ for (const key of Object.keys(obj)) {
212
+ if (!allowed.has(key)) {
213
+ errors.push({
214
+ field: `${fieldPath}.${key}`,
215
+ message: `Additional property "${key}" is not allowed`,
216
+ value: obj[key],
217
+ });
218
+ }
219
+ }
220
+ }
221
+ }
222
+ // Custom validation
223
+ if (schema.validate) {
224
+ const result = schema.validate(value);
225
+ if (result !== true) {
226
+ errors.push({
227
+ field: fieldPath,
228
+ message: typeof result === 'string' ? result : `Custom validation failed`,
229
+ value,
230
+ });
231
+ }
232
+ }
233
+ return errors;
234
+ }
235
+ /**
236
+ * Apply default values from schema to a document (mutates a copy).
237
+ */
238
+ function applyDefaults(doc, schema) {
239
+ if (!schema.properties)
240
+ return doc;
241
+ const result = { ...doc };
242
+ for (const [field, fieldSchema] of Object.entries(schema.properties)) {
243
+ if (field === '_id')
244
+ continue;
245
+ if (result[field] === undefined && fieldSchema.default !== undefined) {
246
+ result[field] =
247
+ typeof fieldSchema.default === 'function'
248
+ ? fieldSchema.default()
249
+ : fieldSchema.default;
250
+ }
251
+ }
252
+ return result;
253
+ }
254
+ // ── Helpers ──
255
+ /**
256
+ * Validate a branded-primitive or branded-interface field against the
257
+ * @digitaldefiance/branded-interface registry.
258
+ */
259
+ function validateBrandedField(value, schema, fieldPath, schemaType) {
260
+ const errors = [];
261
+ const ref = schema.ref;
262
+ if (!ref) {
263
+ errors.push({
264
+ field: fieldPath,
265
+ message: `Field type "${schemaType}" requires a "ref" pointing to a registered branded type`,
266
+ value,
267
+ });
268
+ return errors;
269
+ }
270
+ // Lazy-load the registry lookup to avoid hard dependency
271
+ if (!_getInterfaceById) {
272
+ try {
273
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
274
+ const mod = require('@digitaldefiance/branded-interface');
275
+ _getInterfaceById = mod.getInterfaceById;
276
+ }
277
+ catch {
278
+ // Library not available — skip branded validation
279
+ return errors;
280
+ }
281
+ }
282
+ const entry = _getInterfaceById(ref);
283
+ if (!entry) {
284
+ errors.push({
285
+ field: fieldPath,
286
+ message: `Branded type ref "${ref}" is not registered`,
287
+ value,
288
+ });
289
+ return errors;
290
+ }
291
+ // Kind mismatch check
292
+ const expectedKind = schemaType === 'branded-primitive' ? 'primitive' : 'interface';
293
+ if (entry.kind !== expectedKind) {
294
+ errors.push({
295
+ field: fieldPath,
296
+ message: `Branded type ref "${ref}" is kind "${entry.kind}" but field type is "${schemaType}" (expected kind "${expectedKind}")`,
297
+ value,
298
+ });
299
+ return errors;
300
+ }
301
+ // Delegate to the registered definition's validate function
302
+ if (entry.definition && typeof entry.definition.validate === 'function') {
303
+ if (!entry.definition.validate(value)) {
304
+ errors.push({
305
+ field: fieldPath,
306
+ message: `Value failed validation for branded type "${ref}"`,
307
+ value,
308
+ });
309
+ }
310
+ }
311
+ return errors;
312
+ }
313
+ function matchesSchemaType(value, type) {
314
+ switch (type) {
315
+ case 'string':
316
+ return typeof value === 'string';
317
+ case 'number':
318
+ return typeof value === 'number' && !isNaN(value);
319
+ case 'boolean':
320
+ return typeof value === 'boolean';
321
+ case 'null':
322
+ return value === null;
323
+ case 'date':
324
+ return value instanceof Date;
325
+ case 'array':
326
+ return Array.isArray(value);
327
+ case 'object':
328
+ return (typeof value === 'object' &&
329
+ value !== null &&
330
+ !Array.isArray(value) &&
331
+ !(value instanceof Date));
332
+ case 'any':
333
+ return true;
334
+ case 'branded-primitive':
335
+ return true; // Defer to branded validation for actual type checking
336
+ case 'branded-interface':
337
+ return true; // Defer to branded validation for actual type checking
338
+ default:
339
+ return false;
340
+ }
341
+ }
342
+ function getValueType(value) {
343
+ if (value === null)
344
+ return 'null';
345
+ if (value === undefined)
346
+ return 'undefined';
347
+ if (Array.isArray(value))
348
+ return 'array';
349
+ if (value instanceof Date)
350
+ return 'date';
351
+ return typeof value;
352
+ }
353
+ //# sourceMappingURL=schemaValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaValidation.js","sourceRoot":"","sources":["../../../../brightchain-db/src/lib/schemaValidation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Transaction engine – re-exports from @brightchain/brightchain-lib.
3
+ *
4
+ * The platform-agnostic transaction engine now lives in brightchain-lib.
5
+ * This file re-exports everything for backward compatibility.
6
+ */
7
+ export { DbSession, type CommitCallback, type JournalOp, type RollbackCallback, } from '@brightchain/brightchain-lib/lib/db/transaction';
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DbSession = void 0;
4
+ /**
5
+ * Transaction engine – re-exports from @brightchain/brightchain-lib.
6
+ *
7
+ * The platform-agnostic transaction engine now lives in brightchain-lib.
8
+ * This file re-exports everything for backward compatibility.
9
+ */
10
+ var transaction_1 = require("@brightchain/brightchain-lib/lib/db/transaction");
11
+ Object.defineProperty(exports, "DbSession", { enumerable: true, get: function () { return transaction_1.DbSession; } });
12
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../../brightchain-db/src/lib/transaction.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,+EAKyD;AAJvD,wGAAA,SAAS,OAAA"}