@naturalcycles/db-lib 10.6.0 → 10.8.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 (94) hide show
  1. package/dist/adapter/cachedb/cache.db.d.ts +4 -3
  2. package/dist/adapter/cachedb/cache.db.js +2 -2
  3. package/dist/adapter/cachedb/cache.db.model.d.ts +3 -2
  4. package/dist/adapter/file/file.db.d.ts +4 -3
  5. package/dist/adapter/file/file.db.js +9 -4
  6. package/dist/adapter/file/file.db.model.d.ts +2 -1
  7. package/dist/adapter/file/inMemory.persistence.plugin.d.ts +1 -1
  8. package/dist/adapter/file/localFile.persistence.plugin.d.ts +1 -1
  9. package/dist/adapter/file/localFile.persistence.plugin.js +1 -1
  10. package/dist/adapter/file/noop.persistence.plugin.d.ts +1 -1
  11. package/dist/commondao/common.dao.d.ts +3 -1
  12. package/dist/commondao/common.dao.js +15 -9
  13. package/dist/commondao/common.dao.model.d.ts +14 -8
  14. package/dist/commondao/index.d.ts +2 -0
  15. package/dist/commondao/index.js +2 -0
  16. package/dist/{base.common.db.d.ts → commondb/base.common.db.d.ts} +4 -3
  17. package/dist/{base.common.db.js → commondb/base.common.db.js} +1 -1
  18. package/dist/{common.db.d.ts → commondb/common.db.d.ts} +4 -3
  19. package/dist/db.model.d.ts +2 -2
  20. package/dist/index.d.ts +2 -13
  21. package/dist/index.js +2 -13
  22. package/dist/{adapter/inmemory → inmemory}/inMemory.db.d.ts +7 -5
  23. package/dist/{adapter/inmemory → inmemory}/inMemory.db.js +8 -2
  24. package/dist/{adapter/inmemory → inmemory}/inMemoryKeyValueDB.d.ts +3 -3
  25. package/dist/{adapter/inmemory → inmemory}/inMemoryKeyValueDB.js +1 -1
  26. package/dist/inmemory/index.d.ts +3 -0
  27. package/dist/inmemory/index.js +3 -0
  28. package/dist/inmemory/queryInMemory.d.ts +3 -0
  29. package/dist/{adapter/inmemory → inmemory}/queryInMemory.js +1 -1
  30. package/dist/kv/commonKeyValueDB.d.ts +1 -1
  31. package/dist/kv/commonKeyValueDao.d.ts +2 -1
  32. package/dist/kv/commonKeyValueDao.js +2 -1
  33. package/dist/kv/commonKeyValueDaoMemoCache.d.ts +3 -2
  34. package/dist/kv/commonKeyValueDaoMemoCache.js +2 -1
  35. package/dist/kv/index.d.ts +3 -0
  36. package/dist/kv/index.js +3 -0
  37. package/dist/model.util.d.ts +1 -1
  38. package/dist/model.util.js +1 -1
  39. package/dist/pipeline/dbPipelineBackup.d.ts +3 -3
  40. package/dist/pipeline/dbPipelineBackup.js +4 -1
  41. package/dist/pipeline/dbPipelineCopy.d.ts +3 -3
  42. package/dist/pipeline/dbPipelineCopy.js +4 -1
  43. package/dist/pipeline/dbPipelineRestore.d.ts +3 -3
  44. package/dist/pipeline/dbPipelineRestore.js +6 -1
  45. package/dist/pipeline/index.d.ts +3 -0
  46. package/dist/pipeline/index.js +3 -0
  47. package/dist/query/dbQuery.d.ts +1 -1
  48. package/dist/query/dbQuery.js +2 -1
  49. package/dist/testing/commonDBTest.d.ts +1 -1
  50. package/dist/testing/commonDBTest.js +5 -2
  51. package/dist/testing/commonDaoTest.d.ts +1 -1
  52. package/dist/testing/commonDaoTest.js +3 -1
  53. package/dist/testing/test.model.d.ts +2 -1
  54. package/dist/testing/test.model.js +2 -1
  55. package/dist/timeseries/timeSeries.model.d.ts +1 -1
  56. package/dist/transaction/dbTransaction.util.d.ts +2 -2
  57. package/package.json +8 -4
  58. package/src/adapter/cachedb/cache.db.model.ts +3 -2
  59. package/src/adapter/cachedb/cache.db.ts +5 -9
  60. package/src/adapter/file/file.db.model.ts +2 -1
  61. package/src/adapter/file/file.db.ts +13 -15
  62. package/src/adapter/file/inMemory.persistence.plugin.ts +1 -1
  63. package/src/adapter/file/localFile.persistence.plugin.ts +2 -2
  64. package/src/adapter/file/noop.persistence.plugin.ts +1 -1
  65. package/src/commondao/common.dao.model.ts +15 -11
  66. package/src/commondao/common.dao.ts +22 -32
  67. package/src/commondao/index.ts +2 -0
  68. package/src/{base.common.db.ts → commondb/base.common.db.ts} +7 -11
  69. package/src/{common.db.ts → commondb/common.db.ts} +4 -8
  70. package/src/db.model.ts +2 -2
  71. package/src/index.ts +2 -13
  72. package/src/{adapter/inmemory → inmemory}/inMemory.db.ts +19 -22
  73. package/src/{adapter/inmemory → inmemory}/inMemoryKeyValueDB.ts +4 -8
  74. package/src/inmemory/index.ts +3 -0
  75. package/src/{adapter/inmemory → inmemory}/queryInMemory.ts +3 -3
  76. package/src/kv/commonKeyValueDB.ts +1 -1
  77. package/src/kv/commonKeyValueDao.ts +4 -2
  78. package/src/kv/commonKeyValueDaoMemoCache.ts +4 -2
  79. package/src/kv/index.ts +3 -0
  80. package/src/model.util.ts +2 -2
  81. package/src/pipeline/dbPipelineBackup.ts +6 -3
  82. package/src/pipeline/dbPipelineCopy.ts +6 -3
  83. package/src/pipeline/dbPipelineRestore.ts +9 -15
  84. package/src/pipeline/index.ts +3 -0
  85. package/src/query/dbQuery.ts +3 -2
  86. package/src/testing/commonDBTest.ts +6 -3
  87. package/src/testing/commonDaoTest.ts +4 -2
  88. package/src/testing/keyValueDBTest.ts +1 -1
  89. package/src/testing/test.model.ts +4 -2
  90. package/src/timeseries/commonTimeSeriesDao.ts +1 -1
  91. package/src/timeseries/timeSeries.model.ts +1 -1
  92. package/src/transaction/dbTransaction.util.ts +2 -2
  93. package/dist/adapter/inmemory/queryInMemory.d.ts +0 -3
  94. /package/dist/{common.db.js → commondb/common.db.js} +0 -0
@@ -1,4 +1,4 @@
1
- import type { CommonDB } from '../common.db.js';
1
+ import type { CommonDB } from '../commondb/common.db.js';
2
2
  export interface CommonTimeSeriesDaoCfg {
3
3
  db: CommonDB;
4
4
  }
@@ -1,5 +1,5 @@
1
- import type { ObjectWithId } from '@naturalcycles/js-lib';
2
- import type { CommonDB } from '../common.db.js';
1
+ import type { ObjectWithId } from '@naturalcycles/js-lib/types';
2
+ import type { CommonDB } from '../commondb/common.db.js';
3
3
  import type { CommonDBOptions, CommonDBSaveOptions, DBTransaction } from '../db.model.js';
4
4
  /**
5
5
  * Optimizes the Transaction (list of DBOperations) to do less operations.
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@naturalcycles/db-lib",
3
3
  "type": "module",
4
- "version": "10.6.0",
4
+ "version": "10.8.0",
5
5
  "dependencies": {
6
6
  "@naturalcycles/js-lib": "^15",
7
7
  "@naturalcycles/nodejs-lib": "^15"
8
8
  },
9
9
  "devDependencies": {
10
- "@naturalcycles/dev-lib": "19.6.0"
10
+ "@naturalcycles/dev-lib": "18.4.2"
11
11
  },
12
12
  "files": [
13
13
  "dist",
@@ -23,8 +23,12 @@
23
23
  ".": "./dist/index.js",
24
24
  "./testing": "./dist/testing/index.js",
25
25
  "./validation": "./dist/validation/index.js",
26
- "./adapter/cachedb": "./dist/adapter/cachedb/index.js",
27
- "./adapter/file": "./dist/adapter/file/index.js"
26
+ "./pipeline": "./dist/pipeline/index.js",
27
+ "./kv": "./dist/kv/index.js",
28
+ "./dao": "./dist/commondao/index.js",
29
+ "./cachedb": "./dist/adapter/cachedb/index.js",
30
+ "./file": "./dist/adapter/file/index.js",
31
+ "./inmemory": "./dist/inmemory/index.js"
28
32
  },
29
33
  "publishConfig": {
30
34
  "access": "public"
@@ -1,5 +1,6 @@
1
- import type { CommonLogger, ObjectWithId } from '@naturalcycles/js-lib'
2
- import type { CommonDB } from '../../common.db.js'
1
+ import type { CommonLogger } from '@naturalcycles/js-lib/log'
2
+ import type { ObjectWithId } from '@naturalcycles/js-lib/types'
3
+ import type { CommonDB } from '../../commondb/common.db.js'
3
4
  import type {
4
5
  CommonDBCreateOptions,
5
6
  CommonDBOptions,
@@ -1,15 +1,11 @@
1
1
  import { Readable } from 'node:stream'
2
- import type {
3
- JsonSchemaObject,
4
- JsonSchemaRootObject,
5
- ObjectWithId,
6
- StringMap,
7
- } from '@naturalcycles/js-lib'
8
2
  import { _isTruthy } from '@naturalcycles/js-lib'
3
+ import type { JsonSchemaObject, JsonSchemaRootObject } from '@naturalcycles/js-lib/json-schema'
4
+ import type { ObjectWithId, StringMap } from '@naturalcycles/js-lib/types'
9
5
  import type { ReadableTyped } from '@naturalcycles/nodejs-lib/stream'
10
- import { BaseCommonDB } from '../../base.common.db.js'
11
- import type { CommonDB, CommonDBSupport } from '../../common.db.js'
12
- import { commonDBFullSupport } from '../../common.db.js'
6
+ import { BaseCommonDB } from '../../commondb/base.common.db.js'
7
+ import type { CommonDB, CommonDBSupport } from '../../commondb/common.db.js'
8
+ import { commonDBFullSupport } from '../../commondb/common.db.js'
13
9
  import type { RunQueryResult } from '../../db.model.js'
14
10
  import type { DBQuery } from '../../query/dbQuery.js'
15
11
  import type {
@@ -1,4 +1,5 @@
1
- import type { CommonLogger, ObjectWithId } from '@naturalcycles/js-lib'
1
+ import type { CommonLogger } from '@naturalcycles/js-lib/log'
2
+ import type { ObjectWithId } from '@naturalcycles/js-lib/types'
2
3
  import type { DBSaveBatchOperation } from '../../db.model.js'
3
4
  import type { DBQueryOrder } from '../../query/dbQuery.js'
4
5
 
@@ -1,22 +1,20 @@
1
- import type { JsonSchemaRootObject, ObjectWithId, UnixTimestampMillis } from '@naturalcycles/js-lib'
1
+ import { _by, _sortBy } from '@naturalcycles/js-lib'
2
+ import { _since, localTime } from '@naturalcycles/js-lib/datetime'
3
+ import { _assert } from '@naturalcycles/js-lib/error'
4
+ import type { JsonSchemaRootObject } from '@naturalcycles/js-lib/json-schema'
5
+ import { generateJsonSchemaFromData } from '@naturalcycles/js-lib/json-schema'
6
+ import { _deepEquals, _filterUndefinedValues, _sortObjectDeep } from '@naturalcycles/js-lib/object'
2
7
  import {
3
- _assert,
4
- _by,
5
- _deepEquals,
6
- _filterUndefinedValues,
7
- _since,
8
- _sortBy,
9
- _sortObjectDeep,
10
8
  _stringMapValues,
11
- generateJsonSchemaFromData,
12
- localTime,
13
- } from '@naturalcycles/js-lib'
9
+ type ObjectWithId,
10
+ type UnixTimestampMillis,
11
+ } from '@naturalcycles/js-lib/types'
14
12
  import { dimGrey } from '@naturalcycles/nodejs-lib/colors'
15
13
  import type { ReadableTyped } from '@naturalcycles/nodejs-lib/stream'
16
14
  import { readableCreate } from '@naturalcycles/nodejs-lib/stream'
17
- import { BaseCommonDB } from '../../base.common.db.js'
18
- import type { CommonDB, CommonDBSupport } from '../../common.db.js'
19
- import { commonDBFullSupport } from '../../common.db.js'
15
+ import { BaseCommonDB } from '../../commondb/base.common.db.js'
16
+ import type { CommonDB, CommonDBSupport } from '../../commondb/common.db.js'
17
+ import { commonDBFullSupport } from '../../commondb/common.db.js'
20
18
  import type {
21
19
  CommonDBOptions,
22
20
  CommonDBSaveOptions,
@@ -24,8 +22,8 @@ import type {
24
22
  DBSaveBatchOperation,
25
23
  RunQueryResult,
26
24
  } from '../../db.model.js'
25
+ import { queryInMemory } from '../../inmemory/queryInMemory.js'
27
26
  import type { DBQuery } from '../../query/dbQuery.js'
28
- import { queryInMemory } from '../inmemory/queryInMemory.js'
29
27
  import type { FileDBCfg } from './file.db.model.js'
30
28
 
31
29
  /**
@@ -1,5 +1,5 @@
1
- import type { ObjectWithId, StringMap } from '@naturalcycles/js-lib'
2
1
  import { _by } from '@naturalcycles/js-lib'
2
+ import type { ObjectWithId, StringMap } from '@naturalcycles/js-lib/types'
3
3
  import type { DBSaveBatchOperation } from '../../db.model.js'
4
4
  import type { FileDBPersistencePlugin } from './file.db.model.js'
5
5
 
@@ -1,6 +1,6 @@
1
1
  import { Readable } from 'node:stream'
2
- import type { ObjectWithId } from '@naturalcycles/js-lib'
3
- import { pMap } from '@naturalcycles/js-lib'
2
+ import { pMap } from '@naturalcycles/js-lib/promise'
3
+ import type { ObjectWithId } from '@naturalcycles/js-lib/types'
4
4
  import { fs2 } from '@naturalcycles/nodejs-lib/fs2'
5
5
  import {
6
6
  _pipeline,
@@ -1,4 +1,4 @@
1
- import type { ObjectWithId } from '@naturalcycles/js-lib'
1
+ import type { ObjectWithId } from '@naturalcycles/js-lib/types'
2
2
  import type { DBSaveBatchOperation } from '../../db.model.js'
3
3
  import type { FileDBPersistencePlugin } from './file.db.model.js'
4
4
 
@@ -1,11 +1,12 @@
1
+ import type { ValidationFunction } from '@naturalcycles/js-lib'
2
+ import type { ErrorMode } from '@naturalcycles/js-lib/error'
3
+ import type { CommonLogger } from '@naturalcycles/js-lib/log'
1
4
  import type {
2
5
  BaseDBEntity,
3
- CommonLogger,
4
- ErrorMode,
5
6
  NumberOfMilliseconds,
6
7
  Promisable,
7
8
  UnixTimestamp,
8
- } from '@naturalcycles/js-lib'
9
+ } from '@naturalcycles/js-lib/types'
9
10
  import type { ZodType, ZodValidationError } from '@naturalcycles/js-lib/zod'
10
11
  import type { AjvSchema, AjvValidationError } from '@naturalcycles/nodejs-lib/ajv'
11
12
  import type { JoiValidationError, ObjectSchema } from '@naturalcycles/nodejs-lib/joi'
@@ -13,7 +14,7 @@ import type {
13
14
  TransformLogProgressOptions,
14
15
  TransformMapOptions,
15
16
  } from '@naturalcycles/nodejs-lib/stream'
16
- import type { CommonDB } from '../common.db.js'
17
+ import type { CommonDB } from '../commondb/common.db.js'
17
18
  import type { CommonDBCreateOptions, CommonDBOptions, CommonDBSaveOptions } from '../db.model.js'
18
19
 
19
20
  export interface CommonDaoHooks<BM extends BaseDBEntity, DBM extends BaseDBEntity, ID = BM['id']> {
@@ -132,6 +133,16 @@ export interface CommonDaoCfg<
132
133
  */
133
134
  bmSchema?: ObjectSchema<BM> | AjvSchema<BM> | ZodType<BM>
134
135
 
136
+ /**
137
+ * Experimental alternative to bmSchema.
138
+ * "Bring your own validation function".
139
+ * It removes the knowledge from CommonDao about the validation library used
140
+ * and abstracts it away.
141
+ *
142
+ * @experimental
143
+ */
144
+ validateBM?: ValidationFunction<BM, any>
145
+
135
146
  excludeFromIndexes?: (keyof DBM)[]
136
147
 
137
148
  /**
@@ -146,13 +157,6 @@ export interface CommonDaoCfg<
146
157
  */
147
158
  validateOnSave?: boolean
148
159
 
149
- /**
150
- * The hook allows to get a callback, to instrument "validation time".
151
- *
152
- * @experimental
153
- */
154
- onValidationTime?: (data: OnValidationTimeData) => void
155
-
156
160
  /**
157
161
  * Defaults to false.
158
162
  * Setting it to true will set saveMethod to `insert` for save/saveBatch, which will
@@ -1,33 +1,26 @@
1
1
  import type { Transform } from 'node:stream'
2
+ import { _isTruthy, _uniqBy } from '@naturalcycles/js-lib'
3
+ import { _since, localTime } from '@naturalcycles/js-lib/datetime'
4
+ import { _assert, AppError, ErrorMode } from '@naturalcycles/js-lib/error'
5
+ import type { JsonSchemaObject, JsonSchemaRootObject } from '@naturalcycles/js-lib/json-schema'
6
+ import type { CommonLogger } from '@naturalcycles/js-lib/log'
7
+ import {
8
+ _deepCopy,
9
+ _deepJsonEquals,
10
+ _filterUndefinedValues,
11
+ _objectAssignExact,
12
+ } from '@naturalcycles/js-lib/object'
13
+ import { pMap } from '@naturalcycles/js-lib/promise'
14
+ import { _truncate } from '@naturalcycles/js-lib/string'
2
15
  import type {
3
16
  AsyncIndexedMapper,
4
17
  BaseDBEntity,
5
- CommonLogger,
6
- JsonSchemaObject,
7
- JsonSchemaRootObject,
8
18
  ObjectWithId,
9
19
  StringMap,
10
20
  UnixTimestampMillis,
11
21
  Unsaved,
12
- } from '@naturalcycles/js-lib'
13
- import {
14
- _assert,
15
- _deepCopy,
16
- _deepJsonEquals,
17
- _filterUndefinedValues,
18
- _isTruthy,
19
- _objectAssignExact,
20
- _passthroughPredicate,
21
- _since,
22
- _truncate,
23
- _typeCast,
24
- _uniqBy,
25
- AppError,
26
- ErrorMode,
27
- localTime,
28
- pMap,
29
- SKIP,
30
- } from '@naturalcycles/js-lib'
22
+ } from '@naturalcycles/js-lib/types'
23
+ import { _passthroughPredicate, _typeCast, SKIP } from '@naturalcycles/js-lib/types'
31
24
  import type { ZodValidationError } from '@naturalcycles/js-lib/zod'
32
25
  import { ZodType, zSafeValidate } from '@naturalcycles/js-lib/zod'
33
26
  import { stringId } from '@naturalcycles/nodejs-lib'
@@ -1247,7 +1240,13 @@ export class CommonDao<BM extends BaseDBEntity, DBM extends BaseDBEntity = BM, I
1247
1240
  let error: JoiValidationError | AjvValidationError | ZodValidationError | undefined
1248
1241
  let convertedValue: any
1249
1242
 
1250
- if (schema instanceof ZodType) {
1243
+ if (this.cfg.validateBM) {
1244
+ const [err, value] = this.cfg.validateBM(obj as any as BM, {
1245
+ itemName: table,
1246
+ })
1247
+ error = err
1248
+ convertedValue = value
1249
+ } else if (schema instanceof ZodType) {
1251
1250
  // Zod schema
1252
1251
  const vr = zSafeValidate(obj as T, schema)
1253
1252
  error = vr.error
@@ -1261,16 +1260,7 @@ export class CommonDao<BM extends BaseDBEntity, DBM extends BaseDBEntity = BM, I
1261
1260
  })
1262
1261
  } else {
1263
1262
  // Joi
1264
- const start = localTime.nowUnixMillis()
1265
1263
  const vr = getValidationResult(obj, schema, objectName)
1266
- const tookMillis = localTime.nowUnixMillis() - start
1267
-
1268
- this.cfg.onValidationTime?.({
1269
- tookMillis,
1270
- table,
1271
- obj,
1272
- })
1273
-
1274
1264
  error = vr.error
1275
1265
  convertedValue = vr.value
1276
1266
  }
@@ -0,0 +1,2 @@
1
+ export * from './common.dao.js'
2
+ export * from './common.dao.model.js'
@@ -1,12 +1,6 @@
1
- import type {
2
- JsonSchemaObject,
3
- JsonSchemaRootObject,
4
- ObjectWithId,
5
- StringMap,
6
- } from '@naturalcycles/js-lib'
1
+ import type { JsonSchemaObject, JsonSchemaRootObject } from '@naturalcycles/js-lib/json-schema'
2
+ import type { ObjectWithId, StringMap } from '@naturalcycles/js-lib/types'
7
3
  import type { ReadableTyped } from '@naturalcycles/nodejs-lib/stream'
8
- import type { CommonDB, CommonDBSupport } from './common.db.js'
9
- import { CommonDBType } from './common.db.js'
10
4
  import type {
11
5
  CommonDBOptions,
12
6
  CommonDBSaveOptions,
@@ -14,9 +8,11 @@ import type {
14
8
  DBTransaction,
15
9
  DBTransactionFn,
16
10
  RunQueryResult,
17
- } from './db.model.js'
18
- import type { DBQuery } from './query/dbQuery.js'
19
- import { FakeDBTransaction } from './transaction/dbTransaction.util.js'
11
+ } from '../db.model.js'
12
+ import type { DBQuery } from '../query/dbQuery.js'
13
+ import { FakeDBTransaction } from '../transaction/dbTransaction.util.js'
14
+ import type { CommonDB, CommonDBSupport } from './common.db.js'
15
+ import { CommonDBType } from './common.db.js'
20
16
 
21
17
  /**
22
18
  * No-op implementation of CommonDB interface.
@@ -1,9 +1,5 @@
1
- import type {
2
- JsonSchemaObject,
3
- JsonSchemaRootObject,
4
- ObjectWithId,
5
- StringMap,
6
- } from '@naturalcycles/js-lib'
1
+ import type { JsonSchemaObject, JsonSchemaRootObject } from '@naturalcycles/js-lib/json-schema'
2
+ import type { ObjectWithId, StringMap } from '@naturalcycles/js-lib/types'
7
3
  import type { ReadableTyped } from '@naturalcycles/nodejs-lib/stream'
8
4
  import type {
9
5
  CommonDBCreateOptions,
@@ -15,8 +11,8 @@ import type {
15
11
  DBTransaction,
16
12
  DBTransactionFn,
17
13
  RunQueryResult,
18
- } from './db.model.js'
19
- import type { DBQuery } from './query/dbQuery.js'
14
+ } from '../db.model.js'
15
+ import type { DBQuery } from '../query/dbQuery.js'
20
16
 
21
17
  export enum CommonDBType {
22
18
  'document' = 'document',
package/src/db.model.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { ObjectWithId, UnixTimestamp } from '@naturalcycles/js-lib'
2
- import type { CommonDB } from './common.db.js'
1
+ import type { ObjectWithId, UnixTimestamp } from '@naturalcycles/js-lib/types'
2
+ import type { CommonDB } from './commondb/common.db.js'
3
3
 
4
4
  /**
5
5
  * Similar to SQL INSERT, UPDATE.
package/src/index.ts CHANGED
@@ -1,17 +1,6 @@
1
- export * from './adapter/inmemory/inMemory.db.js'
2
- export * from './adapter/inmemory/inMemoryKeyValueDB.js'
3
- export * from './adapter/inmemory/queryInMemory.js'
4
- export * from './base.common.db.js'
5
- export * from './common.db.js'
6
- export * from './commondao/common.dao.js'
7
- export * from './commondao/common.dao.model.js'
1
+ export * from './commondb/base.common.db.js'
2
+ export * from './commondb/common.db.js'
8
3
  export * from './db.model.js'
9
- export * from './kv/commonKeyValueDao.js'
10
- export * from './kv/commonKeyValueDaoMemoCache.js'
11
- export * from './kv/commonKeyValueDB.js'
12
4
  export * from './model.util.js'
13
- export * from './pipeline/dbPipelineBackup.js'
14
- export * from './pipeline/dbPipelineCopy.js'
15
- export * from './pipeline/dbPipelineRestore.js'
16
5
  export * from './query/dbQuery.js'
17
6
  export * from './transaction/dbTransaction.util.js'
@@ -1,25 +1,22 @@
1
1
  import { Readable } from 'node:stream'
2
- import type {
3
- AnyObjectWithId,
4
- CommonLogger,
5
- JsonSchemaObject,
6
- JsonSchemaRootObject,
7
- ObjectWithId,
8
- StringMap,
9
- } from '@naturalcycles/js-lib'
2
+ import { _by, _isEmptyObject } from '@naturalcycles/js-lib'
3
+ import { _since, localTime } from '@naturalcycles/js-lib/datetime'
4
+ import { _assert } from '@naturalcycles/js-lib/error'
5
+ import {
6
+ generateJsonSchemaFromData,
7
+ type JsonSchemaObject,
8
+ type JsonSchemaRootObject,
9
+ } from '@naturalcycles/js-lib/json-schema'
10
+ import type { CommonLogger } from '@naturalcycles/js-lib/log'
11
+ import { _deepCopy, _sortObjectDeep } from '@naturalcycles/js-lib/object'
12
+ import { pMap } from '@naturalcycles/js-lib/promise'
10
13
  import {
11
- _assert,
12
- _by,
13
- _deepCopy,
14
- _isEmptyObject,
15
- _since,
16
- _sortObjectDeep,
17
14
  _stringMapEntries,
18
15
  _stringMapValues,
19
- generateJsonSchemaFromData,
20
- localTime,
21
- pMap,
22
- } from '@naturalcycles/js-lib'
16
+ type AnyObjectWithId,
17
+ type ObjectWithId,
18
+ type StringMap,
19
+ } from '@naturalcycles/js-lib/types'
23
20
  import { dimGrey, yellow } from '@naturalcycles/nodejs-lib/colors'
24
21
  import { fs2 } from '@naturalcycles/nodejs-lib/fs2'
25
22
  import {
@@ -29,8 +26,8 @@ import {
29
26
  createWriteStreamAsNDJSON,
30
27
  type ReadableTyped,
31
28
  } from '@naturalcycles/nodejs-lib/stream'
32
- import type { CommonDB, CommonDBSupport } from '../../common.db.js'
33
- import { commonDBFullSupport, CommonDBType } from '../../common.db.js'
29
+ import type { CommonDB, CommonDBSupport } from '../commondb/common.db.js'
30
+ import { commonDBFullSupport, CommonDBType } from '../commondb/common.db.js'
34
31
  import type {
35
32
  CommonDBCreateOptions,
36
33
  CommonDBOptions,
@@ -40,8 +37,8 @@ import type {
40
37
  DBTransaction,
41
38
  DBTransactionFn,
42
39
  RunQueryResult,
43
- } from '../../db.model.js'
44
- import type { DBQuery } from '../../query/dbQuery.js'
40
+ } from '../db.model.js'
41
+ import type { DBQuery } from '../query/dbQuery.js'
45
42
  import { queryInMemory } from './queryInMemory.js'
46
43
 
47
44
  export interface InMemoryDBCfg {
@@ -1,13 +1,9 @@
1
1
  import { Readable } from 'node:stream'
2
- import type { StringMap } from '@naturalcycles/js-lib'
2
+ import type { StringMap } from '@naturalcycles/js-lib/types'
3
3
  import type { ReadableTyped } from '@naturalcycles/nodejs-lib/stream'
4
- import type { CommonDBCreateOptions } from '../../db.model.js'
5
- import type {
6
- CommonKeyValueDB,
7
- IncrementTuple,
8
- KeyValueDBTuple,
9
- } from '../../kv/commonKeyValueDB.js'
10
- import { commonKeyValueDBFullSupport } from '../../kv/commonKeyValueDB.js'
4
+ import type { CommonDBCreateOptions } from '../db.model.js'
5
+ import type { CommonKeyValueDB, IncrementTuple, KeyValueDBTuple } from '../kv/commonKeyValueDB.js'
6
+ import { commonKeyValueDBFullSupport } from '../kv/commonKeyValueDB.js'
11
7
 
12
8
  export interface InMemoryKeyValueDBCfg {}
13
9
 
@@ -0,0 +1,3 @@
1
+ export * from './inMemory.db.js'
2
+ export * from './inMemoryKeyValueDB.js'
3
+ export * from './queryInMemory.js'
@@ -1,6 +1,6 @@
1
- import type { ObjectWithId } from '@naturalcycles/js-lib'
2
- import { _get, _pick } from '@naturalcycles/js-lib'
3
- import type { DBQuery, DBQueryFilterOperator } from '../../query/dbQuery.js'
1
+ import { _get, _pick } from '@naturalcycles/js-lib/object'
2
+ import type { ObjectWithId } from '@naturalcycles/js-lib/types'
3
+ import type { DBQuery, DBQueryFilterOperator } from '../query/dbQuery.js'
4
4
 
5
5
  type FilterFn = (v: any, val: any) => boolean
6
6
  const FILTER_FNS: Record<DBQueryFilterOperator, FilterFn> = {
@@ -1,4 +1,4 @@
1
- import type { Integer, UnixTimestamp } from '@naturalcycles/js-lib'
1
+ import type { Integer, UnixTimestamp } from '@naturalcycles/js-lib/types'
2
2
  import type { ReadableTyped } from '@naturalcycles/nodejs-lib/stream'
3
3
  import type { CommonDBCreateOptions } from '../db.model.js'
4
4
 
@@ -1,5 +1,7 @@
1
- import type { CommonLogger, KeyValueTuple } from '@naturalcycles/js-lib'
2
- import { AppError, pMap } from '@naturalcycles/js-lib'
1
+ import { AppError } from '@naturalcycles/js-lib/error'
2
+ import type { CommonLogger } from '@naturalcycles/js-lib/log'
3
+ import { pMap } from '@naturalcycles/js-lib/promise'
4
+ import type { KeyValueTuple } from '@naturalcycles/js-lib/types'
3
5
  import type { ReadableTyped } from '@naturalcycles/nodejs-lib/stream'
4
6
  import { deflateString, inflateToString } from '@naturalcycles/nodejs-lib/zip'
5
7
  import type { CommonDaoLogLevel } from '../commondao/common.dao.model.js'
@@ -1,5 +1,7 @@
1
- import type { AsyncMemoCache, NumberOfSeconds, UnixTimestamp } from '@naturalcycles/js-lib'
2
- import { localTime, MISS } from '@naturalcycles/js-lib'
1
+ import { localTime } from '@naturalcycles/js-lib/datetime'
2
+ import type { AsyncMemoCache } from '@naturalcycles/js-lib/decorators'
3
+ import type { NumberOfSeconds, UnixTimestamp } from '@naturalcycles/js-lib/types'
4
+ import { MISS } from '@naturalcycles/js-lib/types'
3
5
  import type { CommonKeyValueDao } from './commonKeyValueDao.js'
4
6
 
5
7
  export interface CommonKeyValueDaoMemoCacheCfg<VALUE> {
@@ -0,0 +1,3 @@
1
+ export * from './commonKeyValueDao.js'
2
+ export * from './commonKeyValueDaoMemoCache.js'
3
+ export * from './commonKeyValueDB.js'
package/src/model.util.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { CreatedUpdated, CreatedUpdatedId } from '@naturalcycles/js-lib'
2
- import { localTime } from '@naturalcycles/js-lib'
1
+ import { localTime } from '@naturalcycles/js-lib/datetime'
2
+ import type { CreatedUpdated, CreatedUpdatedId } from '@naturalcycles/js-lib/types'
3
3
  import { stringId } from '@naturalcycles/nodejs-lib'
4
4
 
5
5
  export function createdUpdatedFields(
@@ -1,5 +1,8 @@
1
- import type { AsyncMapper, StringMap, UnixTimestamp } from '@naturalcycles/js-lib'
2
- import { _passthroughMapper, AppError, ErrorMode, localTime, pMap } from '@naturalcycles/js-lib'
1
+ import { localTime } from '@naturalcycles/js-lib/datetime'
2
+ import { AppError, ErrorMode } from '@naturalcycles/js-lib/error'
3
+ import { pMap } from '@naturalcycles/js-lib/promise'
4
+ import type { AsyncMapper, StringMap, UnixTimestamp } from '@naturalcycles/js-lib/types'
5
+ import { _passthroughMapper } from '@naturalcycles/js-lib/types'
3
6
  import { boldWhite, dimWhite, grey, yellow } from '@naturalcycles/nodejs-lib/colors'
4
7
  import { fs2 } from '@naturalcycles/nodejs-lib/fs2'
5
8
  import {
@@ -14,7 +17,7 @@ import {
14
17
  transformMap,
15
18
  transformTap,
16
19
  } from '@naturalcycles/nodejs-lib/stream'
17
- import type { CommonDB } from '../common.db.js'
20
+ import type { CommonDB } from '../commondb/common.db.js'
18
21
  import { DBQuery } from '../query/dbQuery.js'
19
22
 
20
23
  export interface DBPipelineBackupOptions extends TransformLogProgressOptions {
@@ -1,5 +1,8 @@
1
- import type { AsyncMapper, BaseDBEntity, UnixTimestamp } from '@naturalcycles/js-lib'
2
- import { _passthroughMapper, ErrorMode, localTime, pMap } from '@naturalcycles/js-lib'
1
+ import { localTime } from '@naturalcycles/js-lib/datetime'
2
+ import { ErrorMode } from '@naturalcycles/js-lib/error'
3
+ import { pMap } from '@naturalcycles/js-lib/promise'
4
+ import type { AsyncMapper, BaseDBEntity, UnixTimestamp } from '@naturalcycles/js-lib/types'
5
+ import { _passthroughMapper } from '@naturalcycles/js-lib/types'
3
6
  import { boldWhite, dimWhite, grey, yellow } from '@naturalcycles/nodejs-lib/colors'
4
7
  import type {
5
8
  TransformLogProgressOptions,
@@ -14,7 +17,7 @@ import {
14
17
  transformTap,
15
18
  writableForEach,
16
19
  } from '@naturalcycles/nodejs-lib/stream'
17
- import type { CommonDB } from '../common.db.js'
20
+ import type { CommonDB } from '../commondb/common.db.js'
18
21
  import type { CommonDBSaveOptions } from '../db.model.js'
19
22
  import { DBQuery } from '../query/dbQuery.js'
20
23
 
@@ -1,17 +1,11 @@
1
- import type {
2
- AsyncMapper,
3
- BaseDBEntity,
4
- JsonSchemaObject,
5
- UnixTimestamp,
6
- } from '@naturalcycles/js-lib'
7
- import {
8
- _hb,
9
- _mapValues,
10
- _passthroughMapper,
11
- ErrorMode,
12
- localTime,
13
- pMap,
14
- } from '@naturalcycles/js-lib'
1
+ import { _hb } from '@naturalcycles/js-lib'
2
+ import { localTime } from '@naturalcycles/js-lib/datetime'
3
+ import { ErrorMode } from '@naturalcycles/js-lib/error'
4
+ import type { JsonSchemaObject } from '@naturalcycles/js-lib/json-schema'
5
+ import { _mapValues } from '@naturalcycles/js-lib/object'
6
+ import { pMap } from '@naturalcycles/js-lib/promise'
7
+ import type { AsyncMapper, BaseDBEntity, UnixTimestamp } from '@naturalcycles/js-lib/types'
8
+ import { _passthroughMapper } from '@naturalcycles/js-lib/types'
15
9
  import { boldWhite, dimWhite, grey, yellow } from '@naturalcycles/nodejs-lib/colors'
16
10
  import { fs2 } from '@naturalcycles/nodejs-lib/fs2'
17
11
  import {
@@ -29,7 +23,7 @@ import {
29
23
  transformTap,
30
24
  writableForEach,
31
25
  } from '@naturalcycles/nodejs-lib/stream'
32
- import type { CommonDB } from '../common.db.js'
26
+ import type { CommonDB } from '../commondb/common.db.js'
33
27
  import type { CommonDBSaveOptions } from '../db.model.js'
34
28
 
35
29
  export interface DBPipelineRestoreOptions extends TransformLogProgressOptions {
@@ -0,0 +1,3 @@
1
+ export * from './dbPipelineBackup.js'
2
+ export * from './dbPipelineCopy.js'
3
+ export * from './dbPipelineRestore.js'
@@ -1,5 +1,6 @@
1
- import type { AsyncIndexedMapper, BaseDBEntity, ObjectWithId } from '@naturalcycles/js-lib'
2
- import { _objectAssign, _truncate } from '@naturalcycles/js-lib'
1
+ import { _truncate } from '@naturalcycles/js-lib/string'
2
+ import type { AsyncIndexedMapper, BaseDBEntity, ObjectWithId } from '@naturalcycles/js-lib/types'
3
+ import { _objectAssign } from '@naturalcycles/js-lib/types'
3
4
  import type { ReadableTyped } from '@naturalcycles/nodejs-lib/stream'
4
5
  import type { CommonDao } from '../commondao/common.dao.js'
5
6
  import type {
@@ -1,6 +1,9 @@
1
- import { _deepFreeze, _filterObject, _pick, _sortBy, localTime, pMap } from '@naturalcycles/js-lib'
2
- import type { CommonDB } from '../common.db.js'
3
- import { CommonDBType } from '../common.db.js'
1
+ import { _sortBy } from '@naturalcycles/js-lib'
2
+ import { localTime } from '@naturalcycles/js-lib/datetime'
3
+ import { _deepFreeze, _filterObject, _pick } from '@naturalcycles/js-lib/object'
4
+ import { pMap } from '@naturalcycles/js-lib/promise'
5
+ import type { CommonDB } from '../commondb/common.db.js'
6
+ import { CommonDBType } from '../commondb/common.db.js'
4
7
  import { DBQuery } from '../query/dbQuery.js'
5
8
  import type { TestItemDBM } from './test.model.js'
6
9
  import {