document-drive 6.0.0-dev.104 → 6.0.0-dev.106
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/chunk-CX61OkwL.mjs +16 -0
- package/dist/index-HOJm2mt2.d.mts +205 -0
- package/dist/index-HOJm2mt2.d.mts.map +1 -0
- package/dist/index.d.ts +1944 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5170 -1
- package/dist/index.js.map +1 -1
- package/dist/storage/filesystem.d.mts +49 -0
- package/dist/storage/filesystem.d.mts.map +1 -0
- package/dist/storage/filesystem.mjs +371 -0
- package/dist/storage/filesystem.mjs.map +1 -0
- package/dist/storage/prisma.d.mts +11508 -0
- package/dist/storage/prisma.d.mts.map +1 -0
- package/dist/storage/prisma.mjs +7582 -0
- package/dist/storage/prisma.mjs.map +1 -0
- package/dist/utils-BI7cwVSp.mjs +74 -0
- package/dist/utils-BI7cwVSp.mjs.map +1 -0
- package/package.json +21 -38
- package/dist/prisma/schema.prisma +0 -93
- package/dist/src/cache/index.d.ts +0 -4
- package/dist/src/cache/index.d.ts.map +0 -1
- package/dist/src/cache/index.js +0 -4
- package/dist/src/cache/index.js.map +0 -1
- package/dist/src/cache/lru.d.ts +0 -22
- package/dist/src/cache/lru.d.ts.map +0 -1
- package/dist/src/cache/lru.js +0 -40
- package/dist/src/cache/lru.js.map +0 -1
- package/dist/src/cache/memory.d.ts +0 -27
- package/dist/src/cache/memory.d.ts.map +0 -1
- package/dist/src/cache/memory.js +0 -104
- package/dist/src/cache/memory.js.map +0 -1
- package/dist/src/cache/redis.d.ts +0 -22
- package/dist/src/cache/redis.d.ts.map +0 -1
- package/dist/src/cache/redis.js +0 -91
- package/dist/src/cache/redis.js.map +0 -1
- package/dist/src/cache/types.d.ts +0 -37
- package/dist/src/cache/types.d.ts.map +0 -1
- package/dist/src/cache/types.js +0 -2
- package/dist/src/cache/types.js.map +0 -1
- package/dist/src/cache/util.d.ts +0 -3
- package/dist/src/cache/util.d.ts.map +0 -1
- package/dist/src/cache/util.js +0 -16
- package/dist/src/cache/util.js.map +0 -1
- package/dist/src/drive-document-model/constants.d.ts +0 -2
- package/dist/src/drive-document-model/constants.d.ts.map +0 -1
- package/dist/src/drive-document-model/constants.js +0 -2
- package/dist/src/drive-document-model/constants.js.map +0 -1
- package/dist/src/drive-document-model/gen/creators.d.ts +0 -3
- package/dist/src/drive-document-model/gen/creators.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/creators.js +0 -3
- package/dist/src/drive-document-model/gen/creators.js.map +0 -1
- package/dist/src/drive-document-model/gen/document-model.d.ts +0 -3
- package/dist/src/drive-document-model/gen/document-model.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/document-model.js +0 -210
- package/dist/src/drive-document-model/gen/document-model.js.map +0 -1
- package/dist/src/drive-document-model/gen/document-schema.d.ts +0 -68
- package/dist/src/drive-document-model/gen/document-schema.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/document-schema.js +0 -35
- package/dist/src/drive-document-model/gen/document-schema.js.map +0 -1
- package/dist/src/drive-document-model/gen/document-type.d.ts +0 -2
- package/dist/src/drive-document-model/gen/document-type.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/document-type.js +0 -2
- package/dist/src/drive-document-model/gen/document-type.js.map +0 -1
- package/dist/src/drive-document-model/gen/drive/actions.d.ts +0 -46
- package/dist/src/drive-document-model/gen/drive/actions.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/drive/actions.js +0 -2
- package/dist/src/drive-document-model/gen/drive/actions.js.map +0 -1
- package/dist/src/drive-document-model/gen/drive/creators.d.ts +0 -10
- package/dist/src/drive-document-model/gen/drive/creators.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/drive/creators.js +0 -11
- package/dist/src/drive-document-model/gen/drive/creators.js.map +0 -1
- package/dist/src/drive-document-model/gen/drive/error.d.ts +0 -2
- package/dist/src/drive-document-model/gen/drive/error.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/drive/error.js +0 -2
- package/dist/src/drive-document-model/gen/drive/error.js.map +0 -1
- package/dist/src/drive-document-model/gen/drive/index.d.ts +0 -2
- package/dist/src/drive-document-model/gen/drive/index.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/drive/index.js +0 -2
- package/dist/src/drive-document-model/gen/drive/index.js.map +0 -1
- package/dist/src/drive-document-model/gen/drive/types.d.ts +0 -2
- package/dist/src/drive-document-model/gen/drive/types.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/drive/types.js +0 -2
- package/dist/src/drive-document-model/gen/drive/types.js.map +0 -1
- package/dist/src/drive-document-model/gen/index.d.ts +0 -10
- package/dist/src/drive-document-model/gen/index.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/index.js +0 -10
- package/dist/src/drive-document-model/gen/index.js.map +0 -1
- package/dist/src/drive-document-model/gen/node/actions.d.ts +0 -41
- package/dist/src/drive-document-model/gen/node/actions.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/node/actions.js +0 -2
- package/dist/src/drive-document-model/gen/node/actions.js.map +0 -1
- package/dist/src/drive-document-model/gen/node/creators.d.ts +0 -13
- package/dist/src/drive-document-model/gen/node/creators.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/node/creators.js +0 -17
- package/dist/src/drive-document-model/gen/node/creators.js.map +0 -1
- package/dist/src/drive-document-model/gen/node/error.d.ts +0 -2
- package/dist/src/drive-document-model/gen/node/error.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/node/error.js +0 -2
- package/dist/src/drive-document-model/gen/node/error.js.map +0 -1
- package/dist/src/drive-document-model/gen/node/index.d.ts +0 -2
- package/dist/src/drive-document-model/gen/node/index.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/node/index.js +0 -2
- package/dist/src/drive-document-model/gen/node/index.js.map +0 -1
- package/dist/src/drive-document-model/gen/node/types.d.ts +0 -2
- package/dist/src/drive-document-model/gen/node/types.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/node/types.js +0 -2
- package/dist/src/drive-document-model/gen/node/types.js.map +0 -1
- package/dist/src/drive-document-model/gen/ph-factories.d.ts +0 -12
- package/dist/src/drive-document-model/gen/ph-factories.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/ph-factories.js +0 -46
- package/dist/src/drive-document-model/gen/ph-factories.js.map +0 -1
- package/dist/src/drive-document-model/gen/reducer.d.ts +0 -4
- package/dist/src/drive-document-model/gen/reducer.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/reducer.js +0 -76
- package/dist/src/drive-document-model/gen/reducer.js.map +0 -1
- package/dist/src/drive-document-model/gen/schema/index.d.ts +0 -2
- package/dist/src/drive-document-model/gen/schema/index.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/schema/index.js +0 -2
- package/dist/src/drive-document-model/gen/schema/index.js.map +0 -1
- package/dist/src/drive-document-model/gen/schema/types.d.ts +0 -283
- package/dist/src/drive-document-model/gen/schema/types.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/schema/types.js +0 -2
- package/dist/src/drive-document-model/gen/schema/types.js.map +0 -1
- package/dist/src/drive-document-model/gen/schema/zod.d.ts +0 -67
- package/dist/src/drive-document-model/gen/schema/zod.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/schema/zod.js +0 -229
- package/dist/src/drive-document-model/gen/schema/zod.js.map +0 -1
- package/dist/src/drive-document-model/gen/types.d.ts +0 -21
- package/dist/src/drive-document-model/gen/types.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/types.js +0 -4
- package/dist/src/drive-document-model/gen/types.js.map +0 -1
- package/dist/src/drive-document-model/gen/utils.d.ts +0 -13
- package/dist/src/drive-document-model/gen/utils.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/utils.js +0 -48
- package/dist/src/drive-document-model/gen/utils.js.map +0 -1
- package/dist/src/drive-document-model/index.d.ts +0 -5
- package/dist/src/drive-document-model/index.d.ts.map +0 -1
- package/dist/src/drive-document-model/index.js +0 -5
- package/dist/src/drive-document-model/index.js.map +0 -1
- package/dist/src/drive-document-model/module.d.ts +0 -3
- package/dist/src/drive-document-model/module.d.ts.map +0 -1
- package/dist/src/drive-document-model/module.js +0 -24
- package/dist/src/drive-document-model/module.js.map +0 -1
- package/dist/src/drive-document-model/src/index.d.ts +0 -3
- package/dist/src/drive-document-model/src/index.d.ts.map +0 -1
- package/dist/src/drive-document-model/src/index.js +0 -3
- package/dist/src/drive-document-model/src/index.js.map +0 -1
- package/dist/src/drive-document-model/src/reducers/drive.d.ts +0 -8
- package/dist/src/drive-document-model/src/reducers/drive.d.ts.map +0 -1
- package/dist/src/drive-document-model/src/reducers/drive.js +0 -66
- package/dist/src/drive-document-model/src/reducers/drive.js.map +0 -1
- package/dist/src/drive-document-model/src/reducers/index.d.ts +0 -3
- package/dist/src/drive-document-model/src/reducers/index.d.ts.map +0 -1
- package/dist/src/drive-document-model/src/reducers/index.js +0 -3
- package/dist/src/drive-document-model/src/reducers/index.js.map +0 -1
- package/dist/src/drive-document-model/src/reducers/node.d.ts +0 -8
- package/dist/src/drive-document-model/src/reducers/node.d.ts.map +0 -1
- package/dist/src/drive-document-model/src/reducers/node.js +0 -187
- package/dist/src/drive-document-model/src/reducers/node.js.map +0 -1
- package/dist/src/drive-document-model/src/tests/actions.test.d.ts +0 -2
- package/dist/src/drive-document-model/src/tests/actions.test.d.ts.map +0 -1
- package/dist/src/drive-document-model/src/tests/actions.test.js +0 -197
- package/dist/src/drive-document-model/src/tests/actions.test.js.map +0 -1
- package/dist/src/drive-document-model/src/tests/base.test.d.ts +0 -2
- package/dist/src/drive-document-model/src/tests/base.test.d.ts.map +0 -1
- package/dist/src/drive-document-model/src/tests/base.test.js +0 -44
- package/dist/src/drive-document-model/src/tests/base.test.js.map +0 -1
- package/dist/src/drive-document-model/src/tests/document-model.test.d.ts +0 -6
- package/dist/src/drive-document-model/src/tests/document-model.test.d.ts.map +0 -1
- package/dist/src/drive-document-model/src/tests/document-model.test.js +0 -19
- package/dist/src/drive-document-model/src/tests/document-model.test.js.map +0 -1
- package/dist/src/drive-document-model/src/tests/drive.test.d.ts +0 -6
- package/dist/src/drive-document-model/src/tests/drive.test.d.ts.map +0 -1
- package/dist/src/drive-document-model/src/tests/drive.test.js +0 -38
- package/dist/src/drive-document-model/src/tests/drive.test.js.map +0 -1
- package/dist/src/drive-document-model/src/tests/generate-mock.d.ts +0 -3
- package/dist/src/drive-document-model/src/tests/generate-mock.d.ts.map +0 -1
- package/dist/src/drive-document-model/src/tests/generate-mock.js +0 -5
- package/dist/src/drive-document-model/src/tests/generate-mock.js.map +0 -1
- package/dist/src/drive-document-model/src/tests/node.test.d.ts +0 -6
- package/dist/src/drive-document-model/src/tests/node.test.d.ts.map +0 -1
- package/dist/src/drive-document-model/src/tests/node.test.js +0 -343
- package/dist/src/drive-document-model/src/tests/node.test.js.map +0 -1
- package/dist/src/drive-document-model/src/tests/test-factories.d.ts +0 -9
- package/dist/src/drive-document-model/src/tests/test-factories.d.ts.map +0 -1
- package/dist/src/drive-document-model/src/tests/test-factories.js +0 -17
- package/dist/src/drive-document-model/src/tests/test-factories.js.map +0 -1
- package/dist/src/drive-document-model/src/tests/utils.test.d.ts +0 -2
- package/dist/src/drive-document-model/src/tests/utils.test.d.ts.map +0 -1
- package/dist/src/drive-document-model/src/tests/utils.test.js +0 -232
- package/dist/src/drive-document-model/src/tests/utils.test.js.map +0 -1
- package/dist/src/drive-document-model/src/types.d.ts +0 -8
- package/dist/src/drive-document-model/src/types.d.ts.map +0 -1
- package/dist/src/drive-document-model/src/types.js +0 -2
- package/dist/src/drive-document-model/src/types.js.map +0 -1
- package/dist/src/drive-document-model/src/utils.d.ts +0 -23
- package/dist/src/drive-document-model/src/utils.d.ts.map +0 -1
- package/dist/src/drive-document-model/src/utils.js +0 -102
- package/dist/src/drive-document-model/src/utils.js.map +0 -1
- package/dist/src/drive-document-model/types.d.ts +0 -10
- package/dist/src/drive-document-model/types.d.ts.map +0 -1
- package/dist/src/drive-document-model/types.js +0 -3
- package/dist/src/drive-document-model/types.js.map +0 -1
- package/dist/src/index.d.ts +0 -17
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -17
- package/dist/src/index.js.map +0 -1
- package/dist/src/processors/index.d.ts +0 -4
- package/dist/src/processors/index.d.ts.map +0 -1
- package/dist/src/processors/index.js +0 -4
- package/dist/src/processors/index.js.map +0 -1
- package/dist/src/processors/processor-manager.d.ts +0 -21
- package/dist/src/processors/processor-manager.d.ts.map +0 -1
- package/dist/src/processors/processor-manager.js +0 -104
- package/dist/src/processors/processor-manager.js.map +0 -1
- package/dist/src/processors/relational.d.ts +0 -49
- package/dist/src/processors/relational.d.ts.map +0 -1
- package/dist/src/processors/relational.js +0 -57
- package/dist/src/processors/relational.js.map +0 -1
- package/dist/src/processors/types.d.ts +0 -94
- package/dist/src/processors/types.d.ts.map +0 -1
- package/dist/src/processors/types.js +0 -2
- package/dist/src/processors/types.js.map +0 -1
- package/dist/src/processors/utils.d.ts +0 -29
- package/dist/src/processors/utils.d.ts.map +0 -1
- package/dist/src/processors/utils.js +0 -72
- package/dist/src/processors/utils.js.map +0 -1
- package/dist/src/queue/base.d.ts +0 -22
- package/dist/src/queue/base.d.ts.map +0 -1
- package/dist/src/queue/base.js +0 -54
- package/dist/src/queue/base.js.map +0 -1
- package/dist/src/queue/event.d.ts +0 -40
- package/dist/src/queue/event.d.ts.map +0 -1
- package/dist/src/queue/event.js +0 -226
- package/dist/src/queue/event.js.map +0 -1
- package/dist/src/queue/index.d.ts +0 -5
- package/dist/src/queue/index.d.ts.map +0 -1
- package/dist/src/queue/index.js +0 -5
- package/dist/src/queue/index.js.map +0 -1
- package/dist/src/queue/redis.d.ts +0 -2
- package/dist/src/queue/redis.d.ts.map +0 -1
- package/dist/src/queue/redis.js +0 -123
- package/dist/src/queue/redis.js.map +0 -1
- package/dist/src/queue/types.d.ts +0 -59
- package/dist/src/queue/types.d.ts.map +0 -1
- package/dist/src/queue/types.js +0 -2
- package/dist/src/queue/types.js.map +0 -1
- package/dist/src/queue/utils.d.ts +0 -5
- package/dist/src/queue/utils.d.ts.map +0 -1
- package/dist/src/queue/utils.js +0 -10
- package/dist/src/queue/utils.js.map +0 -1
- package/dist/src/read-mode/errors.d.ts +0 -12
- package/dist/src/read-mode/errors.d.ts.map +0 -1
- package/dist/src/read-mode/errors.js +0 -18
- package/dist/src/read-mode/errors.js.map +0 -1
- package/dist/src/read-mode/index.d.ts +0 -4
- package/dist/src/read-mode/index.d.ts.map +0 -1
- package/dist/src/read-mode/index.js +0 -4
- package/dist/src/read-mode/index.js.map +0 -1
- package/dist/src/read-mode/server.d.ts +0 -3
- package/dist/src/read-mode/server.d.ts.map +0 -1
- package/dist/src/read-mode/server.js +0 -78
- package/dist/src/read-mode/server.js.map +0 -1
- package/dist/src/read-mode/service.d.ts +0 -17
- package/dist/src/read-mode/service.d.ts.map +0 -1
- package/dist/src/read-mode/service.js +0 -119
- package/dist/src/read-mode/service.js.map +0 -1
- package/dist/src/read-mode/types.d.ts +0 -31
- package/dist/src/read-mode/types.d.ts.map +0 -1
- package/dist/src/read-mode/types.js +0 -2
- package/dist/src/read-mode/types.js.map +0 -1
- package/dist/src/server/base-server.d.ts +0 -177
- package/dist/src/server/base-server.d.ts.map +0 -1
- package/dist/src/server/base-server.js +0 -2000
- package/dist/src/server/base-server.js.map +0 -1
- package/dist/src/server/builder.d.ts +0 -27
- package/dist/src/server/builder.d.ts.map +0 -1
- package/dist/src/server/builder.js +0 -97
- package/dist/src/server/builder.js.map +0 -1
- package/dist/src/server/error.d.ts +0 -34
- package/dist/src/server/error.d.ts.map +0 -1
- package/dist/src/server/error.js +0 -56
- package/dist/src/server/error.js.map +0 -1
- package/dist/src/server/event-emitter.d.ts +0 -8
- package/dist/src/server/event-emitter.d.ts.map +0 -1
- package/dist/src/server/event-emitter.js +0 -11
- package/dist/src/server/event-emitter.js.map +0 -1
- package/dist/src/server/index.d.ts +0 -10
- package/dist/src/server/index.d.ts.map +0 -1
- package/dist/src/server/index.js +0 -10
- package/dist/src/server/index.js.map +0 -1
- package/dist/src/server/listener/constants.d.ts +0 -4
- package/dist/src/server/listener/constants.d.ts.map +0 -1
- package/dist/src/server/listener/constants.js +0 -4
- package/dist/src/server/listener/constants.js.map +0 -1
- package/dist/src/server/listener/index.d.ts +0 -4
- package/dist/src/server/listener/index.d.ts.map +0 -1
- package/dist/src/server/listener/index.js +0 -4
- package/dist/src/server/listener/index.js.map +0 -1
- package/dist/src/server/listener/listener-manager.d.ts +0 -28
- package/dist/src/server/listener/listener-manager.d.ts.map +0 -1
- package/dist/src/server/listener/listener-manager.js +0 -415
- package/dist/src/server/listener/listener-manager.js.map +0 -1
- package/dist/src/server/listener/util.d.ts +0 -2
- package/dist/src/server/listener/util.d.ts.map +0 -1
- package/dist/src/server/listener/util.js +0 -23
- package/dist/src/server/listener/util.js.map +0 -1
- package/dist/src/server/sync-manager.d.ts +0 -28
- package/dist/src/server/sync-manager.d.ts.map +0 -1
- package/dist/src/server/sync-manager.js +0 -222
- package/dist/src/server/sync-manager.js.map +0 -1
- package/dist/src/server/sync-unit-map.d.ts +0 -116
- package/dist/src/server/sync-unit-map.d.ts.map +0 -1
- package/dist/src/server/sync-unit-map.js +0 -233
- package/dist/src/server/sync-unit-map.js.map +0 -1
- package/dist/src/server/transmitter/constants.d.ts +0 -2
- package/dist/src/server/transmitter/constants.d.ts.map +0 -1
- package/dist/src/server/transmitter/constants.js +0 -2
- package/dist/src/server/transmitter/constants.js.map +0 -1
- package/dist/src/server/transmitter/factory.d.ts +0 -7
- package/dist/src/server/transmitter/factory.d.ts.map +0 -1
- package/dist/src/server/transmitter/factory.js +0 -25
- package/dist/src/server/transmitter/factory.js.map +0 -1
- package/dist/src/server/transmitter/index.d.ts +0 -6
- package/dist/src/server/transmitter/index.d.ts.map +0 -1
- package/dist/src/server/transmitter/index.js +0 -5
- package/dist/src/server/transmitter/index.js.map +0 -1
- package/dist/src/server/transmitter/internal.d.ts +0 -12
- package/dist/src/server/transmitter/internal.d.ts.map +0 -1
- package/dist/src/server/transmitter/internal.js +0 -113
- package/dist/src/server/transmitter/internal.js.map +0 -1
- package/dist/src/server/transmitter/pull-responder.d.ts +0 -30
- package/dist/src/server/transmitter/pull-responder.d.ts.map +0 -1
- package/dist/src/server/transmitter/pull-responder.js +0 -543
- package/dist/src/server/transmitter/pull-responder.js.map +0 -1
- package/dist/src/server/transmitter/switchboard-push.d.ts +0 -11
- package/dist/src/server/transmitter/switchboard-push.d.ts.map +0 -1
- package/dist/src/server/transmitter/switchboard-push.js +0 -130
- package/dist/src/server/transmitter/switchboard-push.js.map +0 -1
- package/dist/src/server/transmitter/types.d.ts +0 -53
- package/dist/src/server/transmitter/types.d.ts.map +0 -1
- package/dist/src/server/transmitter/types.js +0 -2
- package/dist/src/server/transmitter/types.js.map +0 -1
- package/dist/src/server/types.d.ts +0 -419
- package/dist/src/server/types.d.ts.map +0 -1
- package/dist/src/server/types.js +0 -10
- package/dist/src/server/types.js.map +0 -1
- package/dist/src/server/utils.d.ts +0 -19
- package/dist/src/server/utils.d.ts.map +0 -1
- package/dist/src/server/utils.js +0 -110
- package/dist/src/server/utils.js.map +0 -1
- package/dist/src/storage/browser.d.ts +0 -52
- package/dist/src/storage/browser.d.ts.map +0 -1
- package/dist/src/storage/browser.js +0 -430
- package/dist/src/storage/browser.js.map +0 -1
- package/dist/src/storage/filesystem.d.ts +0 -45
- package/dist/src/storage/filesystem.d.ts.map +0 -1
- package/dist/src/storage/filesystem.js +0 -457
- package/dist/src/storage/filesystem.js.map +0 -1
- package/dist/src/storage/index.d.ts +0 -5
- package/dist/src/storage/index.d.ts.map +0 -1
- package/dist/src/storage/index.js +0 -5
- package/dist/src/storage/index.js.map +0 -1
- package/dist/src/storage/ipfs.d.ts +0 -2
- package/dist/src/storage/ipfs.d.ts.map +0 -1
- package/dist/src/storage/ipfs.js +0 -491
- package/dist/src/storage/ipfs.js.map +0 -1
- package/dist/src/storage/memory.d.ts +0 -42
- package/dist/src/storage/memory.d.ts.map +0 -1
- package/dist/src/storage/memory.js +0 -355
- package/dist/src/storage/memory.js.map +0 -1
- package/dist/src/storage/path-encoding.d.ts +0 -21
- package/dist/src/storage/path-encoding.d.ts.map +0 -1
- package/dist/src/storage/path-encoding.js +0 -53
- package/dist/src/storage/path-encoding.js.map +0 -1
- package/dist/src/storage/prisma/client/default.d.ts +0 -1
- package/dist/src/storage/prisma/client/default.js +0 -1
- package/dist/src/storage/prisma/client/edge.d.ts +0 -1
- package/dist/src/storage/prisma/client/edge.js +0 -263
- package/dist/src/storage/prisma/client/index-browser.js +0 -246
- package/dist/src/storage/prisma/client/index.d.ts +0 -10318
- package/dist/src/storage/prisma/client/index.js +0 -292
- package/dist/src/storage/prisma/client/libquery_engine-darwin-arm64.dylib.node +0 -0
- package/dist/src/storage/prisma/client/libquery_engine-debian-openssl-3.0.x.so.node +0 -0
- package/dist/src/storage/prisma/client/libquery_engine-linux-musl.so.node +0 -0
- package/dist/src/storage/prisma/client/package.json +0 -84
- package/dist/src/storage/prisma/client/runtime/edge-esm.js +0 -31
- package/dist/src/storage/prisma/client/runtime/edge.js +0 -31
- package/dist/src/storage/prisma/client/runtime/index-browser.d.ts +0 -365
- package/dist/src/storage/prisma/client/runtime/index-browser.js +0 -13
- package/dist/src/storage/prisma/client/runtime/library.d.ts +0 -3273
- package/dist/src/storage/prisma/client/runtime/library.js +0 -143
- package/dist/src/storage/prisma/client/runtime/react-native.js +0 -80
- package/dist/src/storage/prisma/client/runtime/wasm.js +0 -32
- package/dist/src/storage/prisma/client/schema.prisma +0 -93
- package/dist/src/storage/prisma/client/wasm.d.ts +0 -1
- package/dist/src/storage/prisma/client/wasm.js +0 -246
- package/dist/src/storage/prisma/factory.d.ts +0 -10
- package/dist/src/storage/prisma/factory.d.ts.map +0 -1
- package/dist/src/storage/prisma/factory.js +0 -23
- package/dist/src/storage/prisma/factory.js.map +0 -1
- package/dist/src/storage/prisma/index.d.ts +0 -3
- package/dist/src/storage/prisma/index.d.ts.map +0 -1
- package/dist/src/storage/prisma/index.js +0 -3
- package/dist/src/storage/prisma/index.js.map +0 -1
- package/dist/src/storage/prisma/prisma.d.ts +0 -73
- package/dist/src/storage/prisma/prisma.d.ts.map +0 -1
- package/dist/src/storage/prisma/prisma.js +0 -760
- package/dist/src/storage/prisma/prisma.js.map +0 -1
- package/dist/src/storage/types.d.ts +0 -187
- package/dist/src/storage/types.d.ts.map +0 -1
- package/dist/src/storage/types.js +0 -2
- package/dist/src/storage/types.js.map +0 -1
- package/dist/src/storage/utils.d.ts +0 -6
- package/dist/src/storage/utils.d.ts.map +0 -1
- package/dist/src/storage/utils.js +0 -33
- package/dist/src/storage/utils.js.map +0 -1
- package/dist/src/utils/default-drives-manager.d.ts +0 -18
- package/dist/src/utils/default-drives-manager.d.ts.map +0 -1
- package/dist/src/utils/default-drives-manager.js +0 -208
- package/dist/src/utils/default-drives-manager.js.map +0 -1
- package/dist/src/utils/errors.d.ts +0 -5
- package/dist/src/utils/errors.d.ts.map +0 -1
- package/dist/src/utils/errors.js +0 -10
- package/dist/src/utils/errors.js.map +0 -1
- package/dist/src/utils/gql-transformations.d.ts +0 -32
- package/dist/src/utils/gql-transformations.d.ts.map +0 -1
- package/dist/src/utils/gql-transformations.js +0 -39
- package/dist/src/utils/gql-transformations.js.map +0 -1
- package/dist/src/utils/graphql.d.ts +0 -13
- package/dist/src/utils/graphql.d.ts.map +0 -1
- package/dist/src/utils/graphql.js +0 -196
- package/dist/src/utils/graphql.js.map +0 -1
- package/dist/src/utils/index.d.ts +0 -9
- package/dist/src/utils/index.d.ts.map +0 -1
- package/dist/src/utils/index.js +0 -9
- package/dist/src/utils/index.js.map +0 -1
- package/dist/src/utils/logger.d.ts +0 -3
- package/dist/src/utils/logger.d.ts.map +0 -1
- package/dist/src/utils/logger.js +0 -2
- package/dist/src/utils/logger.js.map +0 -1
- package/dist/src/utils/migrations.d.ts +0 -4
- package/dist/src/utils/migrations.d.ts.map +0 -1
- package/dist/src/utils/migrations.js +0 -112
- package/dist/src/utils/migrations.js.map +0 -1
- package/dist/src/utils/misc.d.ts +0 -21
- package/dist/src/utils/misc.d.ts.map +0 -1
- package/dist/src/utils/misc.js +0 -55
- package/dist/src/utils/misc.js.map +0 -1
- package/dist/src/utils/run-asap.d.ts +0 -8
- package/dist/src/utils/run-asap.d.ts.map +0 -1
- package/dist/src/utils/run-asap.js +0 -120
- package/dist/src/utils/run-asap.js.map +0 -1
- package/dist/src/utils/test.d.ts +0 -63
- package/dist/src/utils/test.d.ts.map +0 -1
- package/dist/src/utils/test.js +0 -161
- package/dist/src/utils/test.js.map +0 -1
- package/dist/src/utils/types.d.ts +0 -44
- package/dist/src/utils/types.d.ts.map +0 -1
- package/dist/src/utils/types.js +0 -2
- package/dist/src/utils/types.js.map +0 -1
- package/dist/test/benchmarks/getDrive.json +0 -10
- package/dist/test/benchmarks/processOperations.bench.d.ts +0 -2
- package/dist/test/benchmarks/processOperations.bench.d.ts.map +0 -1
- package/dist/test/benchmarks/processOperations.bench.js +0 -148
- package/dist/test/benchmarks/processOperations.bench.js.map +0 -1
- package/dist/test/benchmarks/queue.bench.d.ts +0 -2
- package/dist/test/benchmarks/queue.bench.d.ts.map +0 -1
- package/dist/test/benchmarks/queue.bench.js +0 -55
- package/dist/test/benchmarks/queue.bench.js.map +0 -1
- package/dist/test/benchmarks/strands.small.json +0 -37085
- package/dist/test/cache.test.d.ts +0 -2
- package/dist/test/cache.test.d.ts.map +0 -1
- package/dist/test/cache.test.js +0 -276
- package/dist/test/cache.test.js.map +0 -1
- package/dist/test/default-remote-drives.test.d.ts +0 -2
- package/dist/test/default-remote-drives.test.d.ts.map +0 -1
- package/dist/test/default-remote-drives.test.js +0 -445
- package/dist/test/default-remote-drives.test.js.map +0 -1
- package/dist/test/drive-operations.test.d.ts +0 -2
- package/dist/test/drive-operations.test.d.ts.map +0 -1
- package/dist/test/drive-operations.test.js +0 -134
- package/dist/test/drive-operations.test.js.map +0 -1
- package/dist/test/dual-action-create.test.d.ts +0 -2
- package/dist/test/dual-action-create.test.d.ts.map +0 -1
- package/dist/test/dual-action-create.test.js +0 -187
- package/dist/test/dual-action-create.test.js.map +0 -1
- package/dist/test/dual-action-migration.test.d.ts +0 -2
- package/dist/test/dual-action-migration.test.d.ts.map +0 -1
- package/dist/test/dual-action-migration.test.js +0 -348
- package/dist/test/dual-action-migration.test.js.map +0 -1
- package/dist/test/graphql.test.d.ts +0 -2
- package/dist/test/graphql.test.d.ts.map +0 -1
- package/dist/test/graphql.test.js +0 -9
- package/dist/test/graphql.test.js.map +0 -1
- package/dist/test/internal-listener.test.d.ts +0 -2
- package/dist/test/internal-listener.test.d.ts.map +0 -1
- package/dist/test/internal-listener.test.js +0 -262
- package/dist/test/internal-listener.test.js.map +0 -1
- package/dist/test/path-encoding.test.d.ts +0 -2
- package/dist/test/path-encoding.test.d.ts.map +0 -1
- package/dist/test/path-encoding.test.js +0 -116
- package/dist/test/path-encoding.test.js.map +0 -1
- package/dist/test/queue.test.d.ts +0 -2
- package/dist/test/queue.test.d.ts.map +0 -1
- package/dist/test/queue.test.js +0 -325
- package/dist/test/queue.test.js.map +0 -1
- package/dist/test/reactor.test.d.ts +0 -2
- package/dist/test/reactor.test.d.ts.map +0 -1
- package/dist/test/reactor.test.js +0 -32
- package/dist/test/reactor.test.js.map +0 -1
- package/dist/test/read-mode.test.d.ts +0 -2
- package/dist/test/read-mode.test.d.ts.map +0 -1
- package/dist/test/read-mode.test.js +0 -569
- package/dist/test/read-mode.test.js.map +0 -1
- package/dist/test/server/driveOperationsConflictResolution.test.d.ts +0 -2
- package/dist/test/server/driveOperationsConflictResolution.test.d.ts.map +0 -1
- package/dist/test/server/driveOperationsConflictResolution.test.js +0 -486
- package/dist/test/server/driveOperationsConflictResolution.test.js.map +0 -1
- package/dist/test/server/mergeOperations.test.d.ts +0 -2
- package/dist/test/server/mergeOperations.test.d.ts.map +0 -1
- package/dist/test/server/mergeOperations.test.js +0 -131
- package/dist/test/server/mergeOperations.test.js.map +0 -1
- package/dist/test/server/processOperations.test.d.ts +0 -2
- package/dist/test/server/processOperations.test.d.ts.map +0 -1
- package/dist/test/server/processOperations.test.js +0 -392
- package/dist/test/server/processOperations.test.js.map +0 -1
- package/dist/test/server.test.d.ts +0 -2
- package/dist/test/server.test.d.ts.map +0 -1
- package/dist/test/server.test.js +0 -957
- package/dist/test/server.test.js.map +0 -1
- package/dist/test/signature-migration.test.d.ts +0 -2
- package/dist/test/signature-migration.test.d.ts.map +0 -1
- package/dist/test/signature-migration.test.js +0 -241
- package/dist/test/signature-migration.test.js.map +0 -1
- package/dist/test/storage.test.d.ts +0 -2
- package/dist/test/storage.test.d.ts.map +0 -1
- package/dist/test/storage.test.js +0 -457
- package/dist/test/storage.test.js.map +0 -1
- package/dist/test/switchboard-push-listener.test.d.ts +0 -2
- package/dist/test/switchboard-push-listener.test.d.ts.map +0 -1
- package/dist/test/switchboard-push-listener.test.js +0 -133
- package/dist/test/switchboard-push-listener.test.js.map +0 -1
- package/dist/test/sync-manager.test.d.ts +0 -2
- package/dist/test/sync-manager.test.d.ts.map +0 -1
- package/dist/test/sync-manager.test.js +0 -354
- package/dist/test/sync-manager.test.js.map +0 -1
- package/dist/test/undo-redo-clipboard.test.d.ts +0 -2
- package/dist/test/undo-redo-clipboard.test.d.ts.map +0 -1
- package/dist/test/undo-redo-clipboard.test.js +0 -108
- package/dist/test/undo-redo-clipboard.test.js.map +0 -1
- package/dist/test/utils.test.d.ts +0 -2
- package/dist/test/utils.test.d.ts.map +0 -1
- package/dist/test/utils.test.js +0 -86
- package/dist/test/utils.test.js.map +0 -1
- package/dist/test/vitest-setup.d.ts +0 -2
- package/dist/test/vitest-setup.d.ts.map +0 -1
- package/dist/test/vitest-setup.js +0 -5
- package/dist/test/vitest-setup.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -28
- package/dist/vitest.config.js.map +0 -1
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
//#region src/utils/errors.ts
|
|
2
|
+
var AbortError = class extends Error {
|
|
3
|
+
constructor(message) {
|
|
4
|
+
super(message || "Aborted");
|
|
5
|
+
this.name = "AbortError";
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/server/error.ts
|
|
10
|
+
var OperationError = class extends Error {
|
|
11
|
+
status;
|
|
12
|
+
operation;
|
|
13
|
+
constructor(status, operation, message, cause) {
|
|
14
|
+
super(message, { cause: cause ?? operation });
|
|
15
|
+
this.status = status;
|
|
16
|
+
this.operation = operation;
|
|
17
|
+
if (cause instanceof Error) this.stack = cause.stack;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
var ConflictOperationError = class extends OperationError {
|
|
21
|
+
constructor(existingOperation, newOperation) {
|
|
22
|
+
super("CONFLICT", newOperation, `Conflicting operation on index ${newOperation.index}`, {
|
|
23
|
+
existingOperation,
|
|
24
|
+
newOperation
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
let DocumentAlreadyExistsReason = /* @__PURE__ */ function(DocumentAlreadyExistsReason) {
|
|
29
|
+
DocumentAlreadyExistsReason["ID"] = "id";
|
|
30
|
+
DocumentAlreadyExistsReason["SLUG"] = "slug";
|
|
31
|
+
return DocumentAlreadyExistsReason;
|
|
32
|
+
}({});
|
|
33
|
+
var DocumentAlreadyExistsError = class extends Error {
|
|
34
|
+
documentId;
|
|
35
|
+
constructor(documentId, reason = DocumentAlreadyExistsReason.ID) {
|
|
36
|
+
super(`Document (${documentId}) uses ${reason} that already exists`);
|
|
37
|
+
this.documentId = documentId;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var DocumentNotFoundError = class extends Error {
|
|
41
|
+
documentId;
|
|
42
|
+
constructor(documentId) {
|
|
43
|
+
super(`Document with id ${documentId} not found`);
|
|
44
|
+
this.documentId = documentId;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
//#endregion
|
|
48
|
+
//#region src/storage/utils.ts
|
|
49
|
+
const resolveStorageUnitsFilterComponent = (component) => {
|
|
50
|
+
return component && component.length > 0 && !component.includes("*") ? new Set(component) : null;
|
|
51
|
+
};
|
|
52
|
+
const resolveStorageUnitsFilter = (filter) => {
|
|
53
|
+
return {
|
|
54
|
+
parentId: resolveStorageUnitsFilterComponent(filter.parentId),
|
|
55
|
+
documentId: resolveStorageUnitsFilterComponent(filter.documentId),
|
|
56
|
+
documentModelType: resolveStorageUnitsFilterComponent(filter.documentModelType),
|
|
57
|
+
scope: resolveStorageUnitsFilterComponent(filter.scope),
|
|
58
|
+
branch: resolveStorageUnitsFilterComponent(filter.branch)
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
const setUnion = (base, ...iterables) => {
|
|
62
|
+
const result = new Set(base);
|
|
63
|
+
for (const iterable of iterables) for (const value of iterable) result.add(value);
|
|
64
|
+
return result;
|
|
65
|
+
};
|
|
66
|
+
const setIntersection = (left, right) => {
|
|
67
|
+
const result = /* @__PURE__ */ new Set();
|
|
68
|
+
for (const value of left) if (right.has(value)) result.add(value);
|
|
69
|
+
return result;
|
|
70
|
+
};
|
|
71
|
+
//#endregion
|
|
72
|
+
export { DocumentAlreadyExistsError as a, OperationError as c, ConflictOperationError as i, AbortError as l, setIntersection as n, DocumentAlreadyExistsReason as o, setUnion as r, DocumentNotFoundError as s, resolveStorageUnitsFilter as t };
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=utils-BI7cwVSp.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-BI7cwVSp.mjs","names":[],"sources":["../src/utils/errors.ts","../src/server/error.ts","../src/storage/utils.ts"],"sourcesContent":["export class AbortError extends Error {\n constructor(message?: string) {\n super(message || \"Aborted\");\n\n this.name = \"AbortError\";\n }\n}\n\nexport const isAbortError = (error: unknown): boolean => {\n return error instanceof AbortError;\n};\n","import type { ErrorStatus, SynchronizationUnitId } from \"document-drive\";\nimport type { Operation } from \"@powerhousedao/shared/document-model\";\n\nexport class DocumentModelNotFoundError extends Error {\n constructor(\n public id: string,\n cause?: unknown,\n ) {\n super(`Document model \"${id}\" not found`, { cause });\n }\n}\nexport class OperationError extends Error {\n status: ErrorStatus;\n operation: Operation | undefined;\n\n constructor(\n status: ErrorStatus,\n operation?: Operation,\n message?: string,\n cause?: unknown,\n ) {\n super(message, { cause: cause ?? operation });\n this.status = status;\n this.operation = operation;\n if (cause instanceof Error) {\n this.stack = cause.stack;\n }\n }\n}\n\nexport class ConflictOperationError extends OperationError {\n constructor(existingOperation: Operation, newOperation: Operation) {\n super(\n \"CONFLICT\",\n newOperation,\n `Conflicting operation on index ${newOperation.index}`,\n { existingOperation, newOperation },\n );\n }\n}\n\nexport class MissingOperationError extends OperationError {\n constructor(index: number, operation: Operation) {\n super(\"MISSING\", operation, `Missing operation on index ${index}`);\n }\n}\n\nexport enum DocumentAlreadyExistsReason {\n ID = \"id\",\n SLUG = \"slug\",\n}\n\nexport class DocumentAlreadyExistsError extends Error {\n documentId: string;\n\n constructor(\n documentId: string,\n reason: DocumentAlreadyExistsReason = DocumentAlreadyExistsReason.ID,\n ) {\n super(`Document (${documentId}) uses ${reason} that already exists`);\n\n this.documentId = documentId;\n }\n}\n\nexport class DocumentNotFoundError extends Error {\n documentId: string;\n\n constructor(documentId: string) {\n super(`Document with id ${documentId} not found`);\n\n this.documentId = documentId;\n }\n}\n\nexport class SynchronizationUnitNotFoundError extends Error {\n syncUnitId: SynchronizationUnitId;\n\n constructor(syncUnitId: SynchronizationUnitId) {\n super(`Sync unit ${JSON.stringify(syncUnitId)} not found`);\n this.syncUnitId = syncUnitId;\n }\n}\n","import type {\n IStorageUnitFilter,\n ResolvedStorageUnitFilter,\n} from \"document-drive\";\n\nexport const resolveStorageUnitsFilterComponent = (\n component: string[] | undefined,\n) => {\n return component && component.length > 0 && !component.includes(\"*\")\n ? new Set(component)\n : null;\n};\n\nexport const resolveStorageUnitsFilter = (\n filter: IStorageUnitFilter,\n): ResolvedStorageUnitFilter => {\n return {\n parentId: resolveStorageUnitsFilterComponent(filter.parentId),\n documentId: resolveStorageUnitsFilterComponent(filter.documentId),\n documentModelType: resolveStorageUnitsFilterComponent(\n filter.documentModelType,\n ),\n scope: resolveStorageUnitsFilterComponent(filter.scope),\n branch: resolveStorageUnitsFilterComponent(filter.branch),\n };\n};\n\nexport const setUnion = <T>(\n base: Set<T>,\n ...iterables: Iterable<T>[]\n): Set<T> => {\n const result = new Set(base);\n for (const iterable of iterables) {\n for (const value of iterable) {\n result.add(value);\n }\n }\n return result;\n};\n\nexport const setIntersection = <T>(left: Set<T>, right: Set<T>): Set<T> => {\n const result = new Set<T>();\n for (const value of left) {\n if (right.has(value)) {\n result.add(value);\n }\n }\n return result;\n};\n"],"mappings":";AAAA,IAAa,aAAb,cAAgC,MAAM;CACpC,YAAY,SAAkB;AAC5B,QAAM,WAAW,UAAU;AAE3B,OAAK,OAAO;;;;;ACOhB,IAAa,iBAAb,cAAoC,MAAM;CACxC;CACA;CAEA,YACE,QACA,WACA,SACA,OACA;AACA,QAAM,SAAS,EAAE,OAAO,SAAS,WAAW,CAAC;AAC7C,OAAK,SAAS;AACd,OAAK,YAAY;AACjB,MAAI,iBAAiB,MACnB,MAAK,QAAQ,MAAM;;;AAKzB,IAAa,yBAAb,cAA4C,eAAe;CACzD,YAAY,mBAA8B,cAAyB;AACjE,QACE,YACA,cACA,kCAAkC,aAAa,SAC/C;GAAE;GAAmB;GAAc,CACpC;;;AAUL,IAAY,8BAAL,yBAAA,6BAAA;AACL,6BAAA,QAAA;AACA,6BAAA,UAAA;;KACD;AAED,IAAa,6BAAb,cAAgD,MAAM;CACpD;CAEA,YACE,YACA,SAAsC,4BAA4B,IAClE;AACA,QAAM,aAAa,WAAW,SAAS,OAAO,sBAAsB;AAEpE,OAAK,aAAa;;;AAItB,IAAa,wBAAb,cAA2C,MAAM;CAC/C;CAEA,YAAY,YAAoB;AAC9B,QAAM,oBAAoB,WAAW,YAAY;AAEjD,OAAK,aAAa;;;;;AClEtB,MAAa,sCACX,cACG;AACH,QAAO,aAAa,UAAU,SAAS,KAAK,CAAC,UAAU,SAAS,IAAI,GAChE,IAAI,IAAI,UAAU,GAClB;;AAGN,MAAa,6BACX,WAC8B;AAC9B,QAAO;EACL,UAAU,mCAAmC,OAAO,SAAS;EAC7D,YAAY,mCAAmC,OAAO,WAAW;EACjE,mBAAmB,mCACjB,OAAO,kBACR;EACD,OAAO,mCAAmC,OAAO,MAAM;EACvD,QAAQ,mCAAmC,OAAO,OAAO;EAC1D;;AAGH,MAAa,YACX,MACA,GAAG,cACQ;CACX,MAAM,SAAS,IAAI,IAAI,KAAK;AAC5B,MAAK,MAAM,YAAY,UACrB,MAAK,MAAM,SAAS,SAClB,QAAO,IAAI,MAAM;AAGrB,QAAO;;AAGT,MAAa,mBAAsB,MAAc,UAA0B;CACzE,MAAM,yBAAS,IAAI,KAAQ;AAC3B,MAAK,MAAM,SAAS,KAClB,KAAI,MAAM,IAAI,MAAM,CAClB,QAAO,IAAI,MAAM;AAGrB,QAAO"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "document-drive",
|
|
3
|
-
"version": "6.0.0-dev.
|
|
3
|
+
"version": "6.0.0-dev.106",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -13,49 +13,29 @@
|
|
|
13
13
|
"import": "./dist/index.js",
|
|
14
14
|
"types": "./dist/index.d.ts"
|
|
15
15
|
},
|
|
16
|
-
"./*": {
|
|
17
|
-
"import": "./dist/src/*.js",
|
|
18
|
-
"types": "./dist/src/*.d.ts"
|
|
19
|
-
},
|
|
20
|
-
"./drive-document-model": {
|
|
21
|
-
"import": "./dist/src/drive-document-model/index.js",
|
|
22
|
-
"types": "./dist/src/drive-document-model/index.d.ts"
|
|
23
|
-
},
|
|
24
16
|
"./storage/filesystem": {
|
|
25
|
-
"import": "./dist/
|
|
26
|
-
"types": "./dist/
|
|
27
|
-
},
|
|
28
|
-
"./storage/ipfs": {
|
|
29
|
-
"import": "./dist/src/storage/ipfs.js",
|
|
30
|
-
"types": "./dist/src/storage/ipfs.d.ts"
|
|
17
|
+
"import": "./dist/storage/filesystem.mjs",
|
|
18
|
+
"types": "./dist/storage/filesystem.d.mts"
|
|
31
19
|
},
|
|
32
20
|
"./storage/prisma": {
|
|
33
|
-
"import": "./dist/
|
|
34
|
-
"types": "./dist/
|
|
21
|
+
"import": "./dist/storage/prisma.mjs",
|
|
22
|
+
"types": "./dist/storage/prisma.d.mts"
|
|
35
23
|
},
|
|
36
24
|
"./storage/prisma/client": {
|
|
37
25
|
"import": "./src/storage/prisma/client/default.js",
|
|
38
26
|
"types": "./src/storage/prisma/client/default.d.ts"
|
|
39
|
-
},
|
|
40
|
-
"./run-asap": {
|
|
41
|
-
"import": "./dist/src/utils/run-asap.js",
|
|
42
|
-
"types": "./dist/src/utils/run-asap.d.ts"
|
|
43
27
|
}
|
|
44
28
|
},
|
|
45
29
|
"files": [
|
|
46
30
|
"./dist",
|
|
47
|
-
"./
|
|
48
|
-
"./prisma/
|
|
31
|
+
"./prisma/schema.prisma",
|
|
32
|
+
"./src/storage/prisma/client"
|
|
49
33
|
],
|
|
50
34
|
"sideEffects": false,
|
|
51
|
-
"
|
|
52
|
-
"@prisma/client": "5.17.0",
|
|
53
|
-
"localforage": "^1.10.0",
|
|
35
|
+
"dependencies": {
|
|
54
36
|
"redis": "^4.6.15",
|
|
55
37
|
"sequelize": "^6.37.3",
|
|
56
|
-
"sqlite3": "^5.1.7"
|
|
57
|
-
},
|
|
58
|
-
"dependencies": {
|
|
38
|
+
"sqlite3": "^5.1.7",
|
|
59
39
|
"@prisma/client": "5.17.0",
|
|
60
40
|
"@sindresorhus/fnv1a": "3.1.0",
|
|
61
41
|
"change-case": "5.4.4",
|
|
@@ -69,26 +49,29 @@
|
|
|
69
49
|
"nanoevents": "^9.0.0",
|
|
70
50
|
"object-sizeof": "^2.6.5",
|
|
71
51
|
"prisma": "5.17.0",
|
|
72
|
-
"zod": "4.3.6",
|
|
73
52
|
"zocker": "3.0.0",
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
53
|
+
"zod": "4.3.6",
|
|
54
|
+
"vite": "7.3.1",
|
|
55
|
+
"vitest": "3.2.4",
|
|
56
|
+
"vitest-fetch-mock": "^0.4.5",
|
|
57
|
+
"fake-indexeddb": "^5.0.2",
|
|
58
|
+
"msw": "^2.3.1",
|
|
59
|
+
"document-model": "6.0.0-dev.106",
|
|
60
|
+
"@powerhousedao/analytics-engine-core": "6.0.0-dev.106",
|
|
61
|
+
"@powerhousedao/shared": "6.0.0-dev.106"
|
|
77
62
|
},
|
|
78
63
|
"devDependencies": {
|
|
79
64
|
"@types/node": "25.2.3",
|
|
80
65
|
"@vitest/coverage-v8": "^3.2.4",
|
|
81
66
|
"copyfiles": "2.4.1",
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"vite": "7.3.1",
|
|
85
|
-
"vitest": "3.2.4",
|
|
86
|
-
"vitest-fetch-mock": "^0.4.5"
|
|
67
|
+
"tsdown": "0.21.0",
|
|
68
|
+
"tsx": "4.21.0"
|
|
87
69
|
},
|
|
88
70
|
"scripts": {
|
|
89
71
|
"tsc": "tsc",
|
|
90
72
|
"lint": "eslint",
|
|
91
73
|
"build:misc": "pnpm run copy-prisma",
|
|
74
|
+
"build:bundle": "tsx ./bundle.ts",
|
|
92
75
|
"release": "semantic-release",
|
|
93
76
|
"test:legacy": "vitest run --coverage --exclude \"test/flaky/**\"",
|
|
94
77
|
"test:flaky": "vitest run --coverage test/flaky",
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
// This is your Prisma schema file,
|
|
2
|
-
// learn more about it in the docs: https://pris.ly/d/prisma-schema
|
|
3
|
-
|
|
4
|
-
generator client {
|
|
5
|
-
provider = "prisma-client-js"
|
|
6
|
-
binaryTargets = ["native", "linux-musl", "debian-openssl-3.0.x"]
|
|
7
|
-
output = "../src/storage/prisma/client"
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
datasource db {
|
|
11
|
-
provider = "postgresql"
|
|
12
|
-
url = env("DATABASE_URL")
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
model Drive {
|
|
16
|
-
id String @id
|
|
17
|
-
driveDocuments DriveDocument[]
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
model Document {
|
|
21
|
-
id String @id
|
|
22
|
-
// ordinal used only for paging
|
|
23
|
-
ordinal Int @default(autoincrement()) @unique
|
|
24
|
-
created DateTime @default(now())
|
|
25
|
-
lastModified DateTime @default(now())
|
|
26
|
-
slug String? @unique
|
|
27
|
-
revision String
|
|
28
|
-
name String?
|
|
29
|
-
operations Operation[]
|
|
30
|
-
initialState String // json object with the scope as keys of the root object
|
|
31
|
-
documentType String
|
|
32
|
-
meta String?
|
|
33
|
-
synchronizationUnits SynchronizationUnit[]
|
|
34
|
-
scopes String[]
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// Model to map the many-to-many relationship between drives and documents
|
|
38
|
-
model DriveDocument {
|
|
39
|
-
driveId String
|
|
40
|
-
documentId String
|
|
41
|
-
drive Drive @relation(fields: [driveId], references: [id], onDelete: Cascade)
|
|
42
|
-
|
|
43
|
-
@@id([driveId, documentId])
|
|
44
|
-
@@index([driveId])
|
|
45
|
-
@@index([documentId])
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
model Operation {
|
|
49
|
-
id String @id @default(uuid())
|
|
50
|
-
opId String?
|
|
51
|
-
Document Document? @relation(fields: [documentId], references: [id], onDelete: Cascade)
|
|
52
|
-
documentId String
|
|
53
|
-
scope String
|
|
54
|
-
branch String
|
|
55
|
-
index Int
|
|
56
|
-
skip Int
|
|
57
|
-
hash String
|
|
58
|
-
timestamp DateTime
|
|
59
|
-
actionId String
|
|
60
|
-
input String
|
|
61
|
-
type String
|
|
62
|
-
attachments Attachment[]
|
|
63
|
-
syncId String?
|
|
64
|
-
clipboard Boolean? @default(false)
|
|
65
|
-
context Json?
|
|
66
|
-
resultingState Bytes?
|
|
67
|
-
|
|
68
|
-
SynchronizationUnit SynchronizationUnit? @relation(fields: [syncId], references: [id], onDelete: Cascade)
|
|
69
|
-
|
|
70
|
-
@@unique([documentId, scope, branch, index(sort: Asc)], name: "unique_operation")
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
model SynchronizationUnit {
|
|
74
|
-
id String @id
|
|
75
|
-
documentId String
|
|
76
|
-
|
|
77
|
-
Document Document @relation(fields: [documentId], references: [id], onDelete: Cascade)
|
|
78
|
-
scope String
|
|
79
|
-
branch String
|
|
80
|
-
operations Operation[]
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
model Attachment {
|
|
84
|
-
id String @id @default(uuid())
|
|
85
|
-
operationId String
|
|
86
|
-
Operation Operation @relation(fields: [operationId], references: [id], onDelete: Cascade)
|
|
87
|
-
|
|
88
|
-
mimeType String
|
|
89
|
-
data String
|
|
90
|
-
filename String?
|
|
91
|
-
extension String?
|
|
92
|
-
hash String
|
|
93
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
package/dist/src/cache/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
package/dist/src/cache/lru.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { ICacheStorage, LRUCacheStorageOptions } from "document-drive";
|
|
2
|
-
/**
|
|
3
|
-
* An implementation of a Least Recently Used (LRU) cache storage that evicts items
|
|
4
|
-
* based on their total size in bytes. This cache storage is designed to work with
|
|
5
|
-
* the InMemoryCache class to provide size-limited caching of documents and drives.
|
|
6
|
-
*
|
|
7
|
-
* When the cache reaches its maximum size limit, it automatically removes the least
|
|
8
|
-
* recently accessed items to make space for new ones. The size of each cached item
|
|
9
|
-
* is calculated using the provided sizeCalculation function (defaults to object-sizeof).
|
|
10
|
-
*
|
|
11
|
-
* @template Value - The type of values stored in the cache.
|
|
12
|
-
*/
|
|
13
|
-
export declare class LRUCacheStorage<Value extends {}> implements ICacheStorage {
|
|
14
|
-
private cache;
|
|
15
|
-
private logger;
|
|
16
|
-
constructor(options: LRUCacheStorageOptions);
|
|
17
|
-
get(key: string): Value | undefined;
|
|
18
|
-
set(key: string, value: Value): this;
|
|
19
|
-
delete(key: string): boolean;
|
|
20
|
-
clear(): void;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=lru.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lru.d.ts","sourceRoot":"","sources":["../../../src/cache/lru.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAM5E;;;;;;;;;;GAUG;AAEH,qBAAa,eAAe,CAAC,KAAK,SAAS,EAAE,CAAE,YAAW,aAAa;IACrE,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,MAAM,CAAsC;gBAExC,OAAO,EAAE,sBAAsB;IAS3C,GAAG,CAAC,GAAG,EAAE,MAAM;IAGf,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAI7B,MAAM,CAAC,GAAG,EAAE,MAAM;IAGlB,KAAK,IAAI,IAAI;CAGd"}
|
package/dist/src/cache/lru.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { childLogger } from "document-drive/utils/logger";
|
|
2
|
-
import { LRUCache as BaseLRUCache } from "lru-cache";
|
|
3
|
-
import sizeof from "object-sizeof";
|
|
4
|
-
/**
|
|
5
|
-
* An implementation of a Least Recently Used (LRU) cache storage that evicts items
|
|
6
|
-
* based on their total size in bytes. This cache storage is designed to work with
|
|
7
|
-
* the InMemoryCache class to provide size-limited caching of documents and drives.
|
|
8
|
-
*
|
|
9
|
-
* When the cache reaches its maximum size limit, it automatically removes the least
|
|
10
|
-
* recently accessed items to make space for new ones. The size of each cached item
|
|
11
|
-
* is calculated using the provided sizeCalculation function (defaults to object-sizeof).
|
|
12
|
-
*
|
|
13
|
-
* @template Value - The type of values stored in the cache.
|
|
14
|
-
*/
|
|
15
|
-
export class LRUCacheStorage {
|
|
16
|
-
cache;
|
|
17
|
-
logger = childLogger(["cache", "LRUCache"]);
|
|
18
|
-
constructor(options) {
|
|
19
|
-
const { maxSize, sizeCalculation = sizeof } = options;
|
|
20
|
-
this.cache = new BaseLRUCache({
|
|
21
|
-
maxSize,
|
|
22
|
-
sizeCalculation,
|
|
23
|
-
});
|
|
24
|
-
this.logger.info("Created LRUCache with maxSize: @maxSize bytes", maxSize);
|
|
25
|
-
}
|
|
26
|
-
get(key) {
|
|
27
|
-
return this.cache.get(key);
|
|
28
|
-
}
|
|
29
|
-
set(key, value) {
|
|
30
|
-
this.cache.set(key, value);
|
|
31
|
-
return this;
|
|
32
|
-
}
|
|
33
|
-
delete(key) {
|
|
34
|
-
return this.cache.delete(key);
|
|
35
|
-
}
|
|
36
|
-
clear() {
|
|
37
|
-
return this.cache.clear();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=lru.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lru.js","sourceRoot":"","sources":["../../../src/cache/lru.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,MAAM,MAAM,eAAe,CAAC;AAEnC;;;;;;;;;;GAUG;AAEH,MAAM,OAAO,eAAe;IAClB,KAAK,CAA0B;IAC/B,MAAM,GAAG,WAAW,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAEpD,YAAY,OAA+B;QACzC,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAgB;YAC3C,OAAO;YACP,eAAe;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,GAAG,CAAC,GAAW,EAAE,KAAY;QAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { DocumentDriveDocument, ICache, ICacheStorage, ICacheStorageManager } from "document-drive";
|
|
2
|
-
import type { PHDocument } from "document-model";
|
|
3
|
-
export declare class CacheStorageManager implements ICacheStorageManager {
|
|
4
|
-
private index;
|
|
5
|
-
private cache;
|
|
6
|
-
constructor(cache: ICacheStorage);
|
|
7
|
-
createStorage<Value>(): ICacheStorage<Value>;
|
|
8
|
-
}
|
|
9
|
-
export declare class InMemoryCache implements ICache {
|
|
10
|
-
private cache;
|
|
11
|
-
private cacheStorageManager;
|
|
12
|
-
private idToDocument;
|
|
13
|
-
private idToDrive;
|
|
14
|
-
private slugToDriveId;
|
|
15
|
-
constructor(cache?: ICacheStorage);
|
|
16
|
-
clear(): void;
|
|
17
|
-
setDocument(documentId: string, document: PHDocument): Promise<void>;
|
|
18
|
-
getDocument<TDocument extends PHDocument>(documentId: string): Promise<TDocument | undefined>;
|
|
19
|
-
deleteDocument(documentId: string): Promise<boolean>;
|
|
20
|
-
setDrive(driveId: string, drive: DocumentDriveDocument): Promise<void>;
|
|
21
|
-
getDrive(driveId: string): Promise<DocumentDriveDocument | undefined>;
|
|
22
|
-
deleteDrive(driveId: string): Promise<boolean>;
|
|
23
|
-
setDriveBySlug(slug: string, drive: DocumentDriveDocument): Promise<void>;
|
|
24
|
-
getDriveBySlug(slug: string): Promise<DocumentDriveDocument | undefined>;
|
|
25
|
-
deleteDriveBySlug(slug: string): Promise<boolean>;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/cache/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,MAAM,EACN,aAAa,EACb,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,qBAAa,mBAAoB,YAAW,oBAAoB;IAC9D,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAgB;gBAEjB,KAAK,EAAE,aAAa;IAGhC,aAAa,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAC;CAyB7C;AAED,qBAAa,aAAc,YAAW,MAAM;IAM9B,OAAO,CAAC,KAAK;IALzB,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,aAAa,CAAwB;gBAEzB,KAAK,GAAE,aAA0C;IAQrE,KAAK;IAUC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IAKpD,WAAW,CAAC,SAAS,SAAS,UAAU,EAC5C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAI3B,cAAc,CAAC,UAAU,EAAE,MAAM;IAIjC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IAKtD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAIrE,WAAW,CAAC,OAAO,EAAE,MAAM;IAe3B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IAMzD,cAAc,CAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAQvC,iBAAiB,CAAC,IAAI,EAAE,MAAM;CASrC"}
|
package/dist/src/cache/memory.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { trimResultingState } from "./util.js";
|
|
2
|
-
export class CacheStorageManager {
|
|
3
|
-
index = 0;
|
|
4
|
-
cache;
|
|
5
|
-
constructor(cache) {
|
|
6
|
-
this.cache = cache;
|
|
7
|
-
}
|
|
8
|
-
createStorage() {
|
|
9
|
-
const index = this.index;
|
|
10
|
-
this.index += 1;
|
|
11
|
-
function buildKey(key) {
|
|
12
|
-
return `${index}-${key}`;
|
|
13
|
-
}
|
|
14
|
-
const storage = {
|
|
15
|
-
get: (key) => {
|
|
16
|
-
return this.cache.get(buildKey(key));
|
|
17
|
-
},
|
|
18
|
-
set: (key, value) => {
|
|
19
|
-
this.cache.set(buildKey(key), value);
|
|
20
|
-
return storage;
|
|
21
|
-
},
|
|
22
|
-
delete: (key) => {
|
|
23
|
-
return this.cache.delete(buildKey(key));
|
|
24
|
-
},
|
|
25
|
-
clear: () => {
|
|
26
|
-
this.cache.clear();
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
return storage;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
export class InMemoryCache {
|
|
33
|
-
cache;
|
|
34
|
-
cacheStorageManager;
|
|
35
|
-
idToDocument;
|
|
36
|
-
idToDrive;
|
|
37
|
-
slugToDriveId;
|
|
38
|
-
constructor(cache = new Map()) {
|
|
39
|
-
this.cache = cache;
|
|
40
|
-
this.cacheStorageManager = new CacheStorageManager(cache);
|
|
41
|
-
this.idToDocument = this.cacheStorageManager.createStorage();
|
|
42
|
-
this.idToDrive =
|
|
43
|
-
this.cacheStorageManager.createStorage();
|
|
44
|
-
this.slugToDriveId = this.cacheStorageManager.createStorage();
|
|
45
|
-
}
|
|
46
|
-
clear() {
|
|
47
|
-
this.idToDocument.clear();
|
|
48
|
-
this.idToDrive.clear();
|
|
49
|
-
this.slugToDriveId.clear();
|
|
50
|
-
}
|
|
51
|
-
/////////////////////////////////////////////////////////////////////////////
|
|
52
|
-
// ICache
|
|
53
|
-
/////////////////////////////////////////////////////////////////////////////
|
|
54
|
-
async setDocument(documentId, document) {
|
|
55
|
-
const doc = trimResultingState(document);
|
|
56
|
-
this.idToDocument.set(documentId, doc);
|
|
57
|
-
}
|
|
58
|
-
async getDocument(documentId) {
|
|
59
|
-
return this.idToDocument.get(documentId);
|
|
60
|
-
}
|
|
61
|
-
async deleteDocument(documentId) {
|
|
62
|
-
return this.idToDocument.delete(documentId);
|
|
63
|
-
}
|
|
64
|
-
async setDrive(driveId, drive) {
|
|
65
|
-
const doc = trimResultingState(drive);
|
|
66
|
-
this.idToDrive.set(driveId, doc);
|
|
67
|
-
}
|
|
68
|
-
async getDrive(driveId) {
|
|
69
|
-
return this.idToDrive.get(driveId);
|
|
70
|
-
}
|
|
71
|
-
async deleteDrive(driveId) {
|
|
72
|
-
// look up the slug
|
|
73
|
-
const drive = this.idToDrive.get(driveId);
|
|
74
|
-
if (!drive) {
|
|
75
|
-
return false;
|
|
76
|
-
}
|
|
77
|
-
const slug = drive.header.slug.length > 0 ? drive.header.slug : driveId;
|
|
78
|
-
if (slug) {
|
|
79
|
-
this.slugToDriveId.delete(slug);
|
|
80
|
-
}
|
|
81
|
-
return this.idToDrive.delete(driveId);
|
|
82
|
-
}
|
|
83
|
-
async setDriveBySlug(slug, drive) {
|
|
84
|
-
const driveId = drive.header.id;
|
|
85
|
-
this.slugToDriveId.set(slug, driveId);
|
|
86
|
-
this.setDrive(driveId, drive);
|
|
87
|
-
}
|
|
88
|
-
async getDriveBySlug(slug) {
|
|
89
|
-
const driveId = this.slugToDriveId.get(slug);
|
|
90
|
-
if (!driveId) {
|
|
91
|
-
return undefined;
|
|
92
|
-
}
|
|
93
|
-
return this.getDrive(driveId);
|
|
94
|
-
}
|
|
95
|
-
async deleteDriveBySlug(slug) {
|
|
96
|
-
const driveId = this.slugToDriveId.get(slug);
|
|
97
|
-
if (!driveId) {
|
|
98
|
-
return false;
|
|
99
|
-
}
|
|
100
|
-
this.slugToDriveId.delete(slug);
|
|
101
|
-
return this.deleteDrive(driveId);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=memory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/cache/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { DocumentDriveDocument, ICache } from "document-drive";
|
|
2
|
-
import type { PHDocument } from "document-model";
|
|
3
|
-
import type { RedisClientType } from "redis";
|
|
4
|
-
export declare class RedisCache implements ICache {
|
|
5
|
-
private logger;
|
|
6
|
-
private redis;
|
|
7
|
-
private timeoutInSeconds;
|
|
8
|
-
constructor(redis: RedisClientType, timeoutInSeconds?: number | undefined);
|
|
9
|
-
private static _getDocumentKey;
|
|
10
|
-
private static _getDriveKey;
|
|
11
|
-
private static _getDriveBySlugKey;
|
|
12
|
-
setDocument(documentId: string, document: PHDocument): Promise<void>;
|
|
13
|
-
getDocument<TDocument extends PHDocument>(documentId: string): Promise<TDocument | undefined>;
|
|
14
|
-
deleteDocument(documentId: string): Promise<boolean>;
|
|
15
|
-
setDrive(driveId: string, drive: DocumentDriveDocument): Promise<void>;
|
|
16
|
-
getDrive(driveId: string): Promise<DocumentDriveDocument | undefined>;
|
|
17
|
-
deleteDrive(driveId: string): Promise<boolean>;
|
|
18
|
-
setDriveBySlug(slug: string, drive: DocumentDriveDocument): Promise<void>;
|
|
19
|
-
getDriveBySlug(slug: string): Promise<DocumentDriveDocument | undefined>;
|
|
20
|
-
deleteDriveBySlug(slug: string): Promise<boolean>;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=redis.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../../src/cache/redis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAG7C,qBAAa,UAAW,YAAW,MAAM;IACvC,OAAO,CAAC,MAAM,CAA+B;IAE7C,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,gBAAgB,CAAS;gBAG/B,KAAK,EAAE,eAAe,EACtB,gBAAgB,GAAE,MAAM,GAAG,SAAkB;IAM/C,OAAO,CAAC,MAAM,CAAC,eAAe;IAI9B,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAQ3B,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IAcpD,WAAW,CAAC,SAAS,SAAS,UAAU,EAC5C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAO3B,cAAc,CAAC,UAAU,EAAE,MAAM;IAKjC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IActD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAMrE,WAAW,CAAC,OAAO,EAAE,MAAM;IAgB3B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IAgBzD,cAAc,CAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAMvC,iBAAiB,CAAC,IAAI,EAAE,MAAM;CAIrC"}
|
package/dist/src/cache/redis.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { childLogger } from "document-drive/utils/logger";
|
|
2
|
-
import { trimResultingState } from "./util.js";
|
|
3
|
-
export class RedisCache {
|
|
4
|
-
logger = childLogger(["RedisCache"]);
|
|
5
|
-
redis;
|
|
6
|
-
timeoutInSeconds;
|
|
7
|
-
constructor(redis, timeoutInSeconds = 5 * 60) {
|
|
8
|
-
this.redis = redis;
|
|
9
|
-
this.timeoutInSeconds = timeoutInSeconds;
|
|
10
|
-
}
|
|
11
|
-
static _getDocumentKey(documentId) {
|
|
12
|
-
return `cache:document:${documentId}`;
|
|
13
|
-
}
|
|
14
|
-
static _getDriveKey(driveId) {
|
|
15
|
-
return `cache:drive:${driveId}`;
|
|
16
|
-
}
|
|
17
|
-
static _getDriveBySlugKey(slug) {
|
|
18
|
-
return `cache:drive:slug:${slug}`;
|
|
19
|
-
}
|
|
20
|
-
/////////////////////////////////////////////////////////////////////////////
|
|
21
|
-
// ICache
|
|
22
|
-
/////////////////////////////////////////////////////////////////////////////
|
|
23
|
-
async setDocument(documentId, document) {
|
|
24
|
-
const doc = trimResultingState(document);
|
|
25
|
-
const redisId = RedisCache._getDocumentKey(documentId);
|
|
26
|
-
const result = await this.redis.set(redisId, JSON.stringify(doc), {
|
|
27
|
-
EX: this.timeoutInSeconds ? this.timeoutInSeconds : undefined,
|
|
28
|
-
});
|
|
29
|
-
if (result !== "OK") {
|
|
30
|
-
throw new Error(`Failed to set document ${documentId} in redis. Got '${result}'`);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
async getDocument(documentId) {
|
|
34
|
-
const redisId = RedisCache._getDocumentKey(documentId);
|
|
35
|
-
const doc = await this.redis.get(redisId);
|
|
36
|
-
return doc ? JSON.parse(doc) : undefined;
|
|
37
|
-
}
|
|
38
|
-
async deleteDocument(documentId) {
|
|
39
|
-
const redisId = RedisCache._getDocumentKey(documentId);
|
|
40
|
-
return (await this.redis.del(redisId)) > 0;
|
|
41
|
-
}
|
|
42
|
-
async setDrive(driveId, drive) {
|
|
43
|
-
const doc = trimResultingState(drive);
|
|
44
|
-
const redisId = RedisCache._getDriveKey(driveId);
|
|
45
|
-
const result = await this.redis.set(redisId, JSON.stringify(doc), {
|
|
46
|
-
EX: this.timeoutInSeconds ? this.timeoutInSeconds : undefined,
|
|
47
|
-
});
|
|
48
|
-
if (result !== "OK") {
|
|
49
|
-
throw new Error(`Failed to set drive ${driveId} in redis. Got '${result}'`);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
async getDrive(driveId) {
|
|
53
|
-
const redisId = RedisCache._getDriveKey(driveId);
|
|
54
|
-
const doc = await this.redis.get(redisId);
|
|
55
|
-
return doc ? JSON.parse(doc) : undefined;
|
|
56
|
-
}
|
|
57
|
-
async deleteDrive(driveId) {
|
|
58
|
-
const redisId = RedisCache._getDriveKey(driveId);
|
|
59
|
-
const drive = await this.getDrive(driveId);
|
|
60
|
-
if (!drive) {
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
if (drive.header.slug.length > 0) {
|
|
64
|
-
const slugRedisId = RedisCache._getDriveBySlugKey(drive.header.slug);
|
|
65
|
-
await this.redis.del(slugRedisId);
|
|
66
|
-
}
|
|
67
|
-
return (await this.redis.del(redisId)) > 0;
|
|
68
|
-
}
|
|
69
|
-
// We store two pices: slug -> driveId, and driveId -> drive
|
|
70
|
-
async setDriveBySlug(slug, drive) {
|
|
71
|
-
const driveId = drive.header.id;
|
|
72
|
-
const redisId = RedisCache._getDriveBySlugKey(slug);
|
|
73
|
-
const result = await this.redis.set(redisId, driveId, {
|
|
74
|
-
EX: this.timeoutInSeconds ? this.timeoutInSeconds : undefined,
|
|
75
|
-
});
|
|
76
|
-
if (result !== "OK") {
|
|
77
|
-
throw new Error(`Failed to set drive slug mapping for ${slug} -> ${driveId} in redis. Got '${result}'`);
|
|
78
|
-
}
|
|
79
|
-
await this.setDrive(driveId, drive);
|
|
80
|
-
}
|
|
81
|
-
async getDriveBySlug(slug) {
|
|
82
|
-
const redisId = RedisCache._getDriveBySlugKey(slug);
|
|
83
|
-
const driveId = await this.redis.get(redisId);
|
|
84
|
-
return driveId ? await this.getDrive(driveId) : undefined;
|
|
85
|
-
}
|
|
86
|
-
async deleteDriveBySlug(slug) {
|
|
87
|
-
const redisId = RedisCache._getDriveBySlugKey(slug);
|
|
88
|
-
return (await this.redis.del(redisId)) > 0;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=redis.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../src/cache/redis.ts"],"names":[],"mappings":"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"}
|