document-model 2.20.0 → 2.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/{browser/src → src}/document/actions/creators.d.ts +2 -2
- package/dist/src/document/actions/creators.d.ts.map +1 -0
- package/dist/{node/src/document/actions/creators.d.ts → src/document/actions/creators.js} +8 -9
- package/dist/src/document/actions/operations.d.ts +23 -0
- package/dist/src/document/actions/operations.d.ts.map +1 -0
- package/dist/src/document/actions/operations.js +130 -0
- package/dist/src/document/actions/types.d.ts +16 -0
- package/dist/src/document/actions/types.d.ts.map +1 -0
- package/dist/src/document/actions/types.js +6 -0
- package/dist/{browser/src → src}/document/object.d.ts +16 -14
- package/dist/src/document/object.d.ts.map +1 -0
- package/dist/{node/src/document/object.d.ts → src/document/object.js} +92 -30
- package/dist/src/document/reducer.d.ts +49 -0
- package/dist/src/document/reducer.d.ts.map +1 -0
- package/dist/src/document/reducer.js +341 -0
- package/dist/{browser/src → src}/document/schema/types.d.ts +1 -1
- package/dist/src/document/schema/types.d.ts.map +1 -0
- package/dist/src/document/schema/types.js +1 -0
- package/dist/{browser/src → src}/document/schema/zod.d.ts +20 -20
- package/dist/src/document/schema/zod.d.ts.map +1 -0
- package/dist/src/document/schema/zod.js +112 -0
- package/dist/{node/src → src}/document/signal.d.ts +9 -9
- package/dist/src/document/signal.d.ts.map +1 -0
- package/dist/src/document/signal.js +1 -0
- package/dist/src/document/types.d.ts +301 -0
- package/dist/src/document/types.d.ts.map +1 -0
- package/dist/src/document/types.js +1 -0
- package/dist/src/document/utils/base.d.ts +84 -0
- package/dist/src/document/utils/base.d.ts.map +1 -0
- package/dist/src/document/utils/base.js +328 -0
- package/dist/{browser/src → src}/document/utils/browser.d.ts +1 -1
- package/dist/src/document/utils/browser.d.ts.map +1 -0
- package/dist/src/document/utils/browser.js +46 -0
- package/dist/src/document/utils/crypto.d.ts +11 -0
- package/dist/src/document/utils/crypto.d.ts.map +1 -0
- package/dist/src/document/utils/crypto.js +79 -0
- package/dist/src/document/utils/document-helpers.d.ts +78 -0
- package/dist/src/document/utils/document-helpers.d.ts.map +1 -0
- package/dist/src/document/utils/document-helpers.js +410 -0
- package/dist/{browser/src → src}/document/utils/errors.d.ts +1 -1
- package/dist/src/document/utils/errors.d.ts.map +1 -0
- package/dist/src/document/utils/errors.js +18 -0
- package/dist/{browser/src → src}/document/utils/file.d.ts +9 -8
- package/dist/src/document/utils/file.d.ts.map +1 -0
- package/dist/src/document/utils/file.js +155 -0
- package/dist/{browser/src → src}/document/utils/node.d.ts +2 -2
- package/dist/src/document/utils/node.d.ts.map +1 -0
- package/dist/src/document/utils/node.js +54 -0
- package/dist/src/document/utils/validation.d.ts +3 -0
- package/dist/src/document/utils/validation.d.ts.map +1 -0
- package/dist/src/document/utils/validation.js +22 -0
- package/dist/src/document-model/custom/reducers/header.d.ts +3 -0
- package/dist/src/document-model/custom/reducers/header.d.ts.map +1 -0
- package/dist/src/document-model/custom/reducers/header.js +22 -0
- package/dist/src/document-model/custom/reducers/module.d.ts +3 -0
- package/dist/src/document-model/custom/reducers/module.d.ts.map +1 -0
- package/dist/src/document-model/custom/reducers/module.js +40 -0
- package/dist/src/document-model/custom/reducers/operation-error.d.ts +3 -0
- package/dist/src/document-model/custom/reducers/operation-error.d.ts.map +1 -0
- package/dist/src/document-model/custom/reducers/operation-error.js +93 -0
- package/dist/src/document-model/custom/reducers/operation-example.d.ts +3 -0
- package/dist/src/document-model/custom/reducers/operation-example.d.ts.map +1 -0
- package/dist/src/document-model/custom/reducers/operation-example.js +52 -0
- package/dist/src/document-model/custom/reducers/operation.d.ts +3 -0
- package/dist/src/document-model/custom/reducers/operation.d.ts.map +1 -0
- package/dist/src/document-model/custom/reducers/operation.js +124 -0
- package/dist/src/document-model/custom/reducers/state.d.ts +3 -0
- package/dist/src/document-model/custom/reducers/state.d.ts.map +1 -0
- package/dist/src/document-model/custom/reducers/state.js +70 -0
- package/dist/src/document-model/custom/reducers/versioning.d.ts +8 -0
- package/dist/src/document-model/custom/reducers/versioning.d.ts.map +1 -0
- package/dist/src/document-model/custom/reducers/versioning.js +22 -0
- package/dist/{browser/src → src}/document-model/custom/utils.d.ts +3 -3
- package/dist/src/document-model/custom/utils.d.ts.map +1 -0
- package/dist/src/document-model/custom/utils.js +104 -0
- package/dist/src/document-model/gen/actions.d.ts +16 -0
- package/dist/src/document-model/gen/actions.d.ts.map +1 -0
- package/dist/src/document-model/gen/actions.js +7 -0
- package/dist/src/document-model/gen/constants.d.ts +7 -0
- package/dist/src/document-model/gen/constants.d.ts.map +1 -0
- package/dist/src/document-model/gen/constants.js +33 -0
- package/dist/src/document-model/gen/creators.d.ts +8 -0
- package/dist/src/document-model/gen/creators.d.ts.map +1 -0
- package/dist/src/document-model/gen/creators.js +7 -0
- package/dist/src/document-model/gen/document-model.d.ts +3 -0
- package/dist/src/document-model/gen/document-model.d.ts.map +1 -0
- package/dist/src/document-model/gen/document-model.js +541 -0
- package/dist/src/document-model/gen/header/actions.d.ts +10 -0
- package/dist/src/document-model/gen/header/actions.d.ts.map +1 -0
- package/dist/src/document-model/gen/header/actions.js +1 -0
- package/dist/{browser/src → src}/document-model/gen/header/creators.d.ts +2 -2
- package/dist/src/document-model/gen/header/creators.d.ts.map +1 -0
- package/dist/src/document-model/gen/header/creators.js +9 -0
- package/dist/src/document-model/gen/header/object.d.ts +13 -0
- package/dist/src/document-model/gen/header/object.d.ts.map +1 -0
- package/dist/src/document-model/gen/header/object.js +22 -0
- package/dist/{node/src → src}/document-model/gen/header/operations.d.ts +2 -2
- package/dist/src/document-model/gen/header/operations.d.ts.map +1 -0
- package/dist/src/document-model/gen/header/operations.js +1 -0
- package/dist/src/document-model/gen/module/actions.d.ts +9 -0
- package/dist/src/document-model/gen/module/actions.d.ts.map +1 -0
- package/dist/src/document-model/gen/module/actions.js +1 -0
- package/dist/{node/src → src}/document-model/gen/module/creators.d.ts +2 -2
- package/dist/src/document-model/gen/module/creators.d.ts.map +1 -0
- package/dist/src/document-model/gen/module/creators.js +8 -0
- package/dist/src/document-model/gen/module/object.d.ts +12 -0
- package/dist/src/document-model/gen/module/object.d.ts.map +1 -0
- package/dist/src/document-model/gen/module/object.js +19 -0
- package/dist/{browser/src → src}/document-model/gen/module/operations.d.ts +2 -2
- package/dist/src/document-model/gen/module/operations.d.ts.map +1 -0
- package/dist/src/document-model/gen/module/operations.js +1 -0
- package/dist/src/document-model/gen/object.d.ts +30 -0
- package/dist/src/document-model/gen/object.d.ts.map +1 -0
- package/dist/src/document-model/gen/object.js +46 -0
- package/dist/src/document-model/gen/operation/actions.d.ts +14 -0
- package/dist/src/document-model/gen/operation/actions.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation/actions.js +1 -0
- package/dist/{browser/src → src}/document-model/gen/operation/creators.d.ts +2 -2
- package/dist/src/document-model/gen/operation/creators.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation/creators.js +19 -0
- package/dist/{node/src → src}/document-model/gen/operation/object.d.ts +6 -5
- package/dist/src/document-model/gen/operation/object.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation/object.js +34 -0
- package/dist/{browser/src → src}/document-model/gen/operation/operations.d.ts +2 -2
- package/dist/src/document-model/gen/operation/operations.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation/operations.js +1 -0
- package/dist/src/document-model/gen/operation-error/actions.d.ts +11 -0
- package/dist/src/document-model/gen/operation-error/actions.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation-error/actions.js +1 -0
- package/dist/{node/src → src}/document-model/gen/operation-error/creators.d.ts +2 -2
- package/dist/src/document-model/gen/operation-error/creators.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation-error/creators.js +16 -0
- package/dist/{node/src → src}/document-model/gen/operation-error/object.d.ts +6 -5
- package/dist/src/document-model/gen/operation-error/object.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation-error/object.js +25 -0
- package/dist/{browser/src → src}/document-model/gen/operation-error/operations.d.ts +2 -2
- package/dist/src/document-model/gen/operation-error/operations.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation-error/operations.js +1 -0
- package/dist/src/document-model/gen/operation-example/actions.d.ts +8 -0
- package/dist/src/document-model/gen/operation-example/actions.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation-example/actions.js +1 -0
- package/dist/{browser/src → src}/document-model/gen/operation-example/creators.d.ts +2 -2
- package/dist/src/document-model/gen/operation-example/creators.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation-example/creators.js +13 -0
- package/dist/src/document-model/gen/operation-example/object.d.ts +12 -0
- package/dist/src/document-model/gen/operation-example/object.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation-example/object.js +16 -0
- package/dist/{browser/src → src}/document-model/gen/operation-example/operations.d.ts +2 -2
- package/dist/src/document-model/gen/operation-example/operations.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation-example/operations.js +1 -0
- package/dist/src/document-model/gen/reducer.d.ts +5 -0
- package/dist/src/document-model/gen/reducer.d.ts.map +1 -0
- package/dist/src/document-model/gen/reducer.js +192 -0
- package/dist/{node/src → src}/document-model/gen/schema/types.d.ts +5 -1
- package/dist/src/document-model/gen/schema/types.d.ts.map +1 -0
- package/dist/src/document-model/gen/schema/types.js +1 -0
- package/dist/{browser/src → src}/document-model/gen/schema/zod.d.ts +198 -198
- package/dist/src/document-model/gen/schema/zod.d.ts.map +1 -0
- package/dist/src/document-model/gen/schema/zod.js +393 -0
- package/dist/src/document-model/gen/state/actions.d.ts +10 -0
- package/dist/src/document-model/gen/state/actions.d.ts.map +1 -0
- package/dist/src/document-model/gen/state/actions.js +1 -0
- package/dist/{browser/src → src}/document-model/gen/state/creators.d.ts +2 -2
- package/dist/src/document-model/gen/state/creators.d.ts.map +1 -0
- package/dist/src/document-model/gen/state/creators.js +9 -0
- package/dist/src/document-model/gen/state/object.d.ts +13 -0
- package/dist/src/document-model/gen/state/object.d.ts.map +1 -0
- package/dist/src/document-model/gen/state/object.js +22 -0
- package/dist/{browser/src → src}/document-model/gen/state/operations.d.ts +2 -2
- package/dist/src/document-model/gen/state/operations.d.ts.map +1 -0
- package/dist/src/document-model/gen/state/operations.js +1 -0
- package/dist/src/document-model/gen/types.d.ts +7 -0
- package/dist/src/document-model/gen/types.d.ts.map +1 -0
- package/dist/src/document-model/gen/types.js +1 -0
- package/dist/src/document-model/gen/utils.d.ts +10 -0
- package/dist/src/document-model/gen/utils.d.ts.map +1 -0
- package/dist/src/document-model/gen/utils.js +28 -0
- package/dist/src/document-model/gen/versioning/actions.d.ts +9 -0
- package/dist/src/document-model/gen/versioning/actions.d.ts.map +1 -0
- package/dist/src/document-model/gen/versioning/actions.js +1 -0
- package/dist/{browser/src → src}/document-model/gen/versioning/creators.d.ts +2 -2
- package/dist/src/document-model/gen/versioning/creators.d.ts.map +1 -0
- package/dist/src/document-model/gen/versioning/creators.js +12 -0
- package/dist/src/document-model/gen/versioning/object.d.ts +13 -0
- package/dist/src/document-model/gen/versioning/object.d.ts.map +1 -0
- package/dist/src/document-model/gen/versioning/object.js +19 -0
- package/dist/{browser/src → src}/document-model/gen/versioning/operations.d.ts +2 -2
- package/dist/src/document-model/gen/versioning/operations.d.ts.map +1 -0
- package/dist/src/document-model/gen/versioning/operations.js +1 -0
- package/dist/src/document-model/module.d.ts +3 -0
- package/dist/src/document-model/module.d.ts.map +1 -0
- package/dist/src/document-model/module.js +12 -0
- package/dist/src/document-model/types.d.ts +4 -0
- package/dist/src/document-model/types.d.ts.map +1 -0
- package/dist/src/document-model/types.js +1 -0
- package/dist/test/document/crypto.test.d.ts.map +1 -0
- package/dist/test/document/crypto.test.js +180 -0
- package/dist/test/document/event-vs-command.test.d.ts.map +1 -0
- package/dist/test/document/event-vs-command.test.js +168 -0
- package/dist/test/document/local.test.d.ts.map +1 -0
- package/dist/test/document/local.test.js +247 -0
- package/dist/test/document/object.test.d.ts.map +1 -0
- package/dist/test/document/object.test.js +12 -0
- package/dist/test/document/operation-id.test.d.ts.map +1 -0
- package/dist/test/document/operation-id.test.js +158 -0
- package/dist/test/document/prune.test.d.ts.map +1 -0
- package/dist/test/document/prune.test.js +176 -0
- package/dist/test/document/reducer.test.d.ts.map +1 -0
- package/dist/test/document/reducer.test.js +268 -0
- package/dist/test/document/skip-operations.test.d.ts.map +1 -0
- package/dist/test/document/skip-operations.test.js +441 -0
- package/dist/test/document/undo-redo.test.d.ts.map +1 -0
- package/dist/test/document/undo-redo.test.js +376 -0
- package/dist/test/document/utils.test.d.ts.map +1 -0
- package/dist/test/document/utils.test.js +151 -0
- package/dist/test/document-helpers/addUndo.test.d.ts.map +1 -0
- package/dist/test/document-helpers/addUndo.test.js +119 -0
- package/dist/test/document-helpers/attachBranch.test.d.ts.map +1 -0
- package/dist/test/document-helpers/attachBranch.test.js +363 -0
- package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts.map +1 -0
- package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js +251 -0
- package/dist/test/document-helpers/conflictResolution.test.d.ts.map +1 -0
- package/dist/test/document-helpers/conflictResolution.test.js +108 -0
- package/dist/test/document-helpers/filterDuplicatedOperations.test.d.ts.map +1 -0
- package/dist/test/document-helpers/filterDuplicatedOperations.test.js +125 -0
- package/dist/test/document-helpers/garbageCollect.test.d.ts.map +1 -0
- package/dist/test/document-helpers/garbageCollect.test.js +135 -0
- package/dist/test/document-helpers/groupOperationsByScope.test.d.ts.map +1 -0
- package/dist/test/document-helpers/groupOperationsByScope.test.js +97 -0
- package/dist/test/document-helpers/merge.test.d.ts.map +1 -0
- package/dist/test/document-helpers/merge.test.js +905 -0
- package/dist/test/document-helpers/nextSkipNumber.test.d.ts.map +1 -0
- package/dist/test/document-helpers/nextSkipNumber.test.js +134 -0
- package/dist/test/document-helpers/prepareOperations.test.d.ts.map +1 -0
- package/dist/test/document-helpers/prepareOperations.test.js +303 -0
- package/dist/test/document-helpers/removeExistingOperations.test.d.ts.map +1 -0
- package/dist/test/document-helpers/removeExistingOperations.test.js +149 -0
- package/dist/test/document-helpers/reshuffleByTimestamp.test.d.ts.map +1 -0
- package/dist/test/document-helpers/reshuffleByTimestamp.test.js +147 -0
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts.map +1 -0
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +199 -0
- package/dist/test/document-helpers/skipHeaderOperations.test.d.ts.map +1 -0
- package/dist/test/document-helpers/skipHeaderOperations.test.js +73 -0
- package/dist/test/document-helpers/sortOperations.test.d.ts.map +1 -0
- package/dist/test/document-helpers/sortOperations.test.js +100 -0
- package/dist/test/document-helpers/split.test.d.ts.map +1 -0
- package/dist/test/document-helpers/split.test.js +120 -0
- package/dist/{browser/test → test}/document-helpers/utils.d.ts +1 -1
- package/dist/test/document-helpers/utils.d.ts.map +1 -0
- package/dist/test/document-helpers/utils.js +21 -0
- package/dist/test/document-model/object.test.d.ts.map +1 -0
- package/dist/test/document-model/object.test.js +242 -0
- package/dist/test/document-model/replay.test.d.ts.map +1 -0
- package/dist/test/document-model/replay.test.js +137 -0
- package/dist/test/document-model/skip-operations.test.d.ts.map +1 -0
- package/dist/test/document-model/skip-operations.test.js +216 -0
- package/dist/test/document-model/validation.test.d.ts.map +1 -0
- package/dist/test/document-model/validation.test.js +257 -0
- package/dist/test/document-model/zip.test.d.ts.map +1 -0
- package/dist/test/document-model/zip.test.js +80 -0
- package/dist/test/helpers.d.ts +32 -0
- package/dist/test/helpers.d.ts.map +1 -0
- package/dist/test/helpers.js +69 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +6 -0
- package/package.json +15 -52
- package/dist/browser/cjs/document-model.js +0 -21
- package/dist/browser/cjs/document-model.js.map +0 -1
- package/dist/browser/cjs/document.js +0 -16
- package/dist/browser/cjs/document.js.map +0 -1
- package/dist/browser/cjs/index.js +0 -14
- package/dist/browser/cjs/index.js.map +0 -1
- package/dist/browser/cjs/internal/creators-DJg3Kd1P.js +0 -2901
- package/dist/browser/cjs/internal/creators-DJg3Kd1P.js.map +0 -1
- package/dist/browser/cjs/internal/index-CGExio27.js +0 -2216
- package/dist/browser/cjs/internal/index-CGExio27.js.map +0 -1
- package/dist/browser/cjs/internal/index-CQg4iLBq.js +0 -19
- package/dist/browser/cjs/internal/index-CQg4iLBq.js.map +0 -1
- package/dist/browser/cjs/internal/index-DcdJY5J3.js +0 -47
- package/dist/browser/cjs/internal/index-DcdJY5J3.js.map +0 -1
- package/dist/browser/cjs/internal/object-C3OfcOUa.js +0 -183
- package/dist/browser/cjs/internal/object-C3OfcOUa.js.map +0 -1
- package/dist/browser/cjs/package.json +0 -1
- package/dist/browser/cjs/utils.js +0 -44
- package/dist/browser/cjs/utils.js.map +0 -1
- package/dist/browser/document-model.d.ts +0 -2
- package/dist/browser/document.d.ts +0 -2
- package/dist/browser/es/document-model.js +0 -21
- package/dist/browser/es/document-model.js.map +0 -1
- package/dist/browser/es/document.js +0 -16
- package/dist/browser/es/document.js.map +0 -1
- package/dist/browser/es/index.js +0 -14
- package/dist/browser/es/index.js.map +0 -1
- package/dist/browser/es/internal/creators-Dir4K_-h.js +0 -2902
- package/dist/browser/es/internal/creators-Dir4K_-h.js.map +0 -1
- package/dist/browser/es/internal/index-BxCiP58y.js +0 -48
- package/dist/browser/es/internal/index-BxCiP58y.js.map +0 -1
- package/dist/browser/es/internal/index-HlkIVQZ6.js +0 -2217
- package/dist/browser/es/internal/index-HlkIVQZ6.js.map +0 -1
- package/dist/browser/es/internal/index-qYp7hG3r.js +0 -20
- package/dist/browser/es/internal/index-qYp7hG3r.js.map +0 -1
- package/dist/browser/es/internal/object-CzFSgK3q.js +0 -184
- package/dist/browser/es/internal/object-CzFSgK3q.js.map +0 -1
- package/dist/browser/es/package.json +0 -1
- package/dist/browser/es/utils.js +0 -44
- package/dist/browser/es/utils.js.map +0 -1
- package/dist/browser/index.d.ts +0 -6
- package/dist/browser/src/document/actions/creators.d.ts.map +0 -1
- package/dist/browser/src/document/actions/index.d.ts +0 -15
- package/dist/browser/src/document/actions/index.d.ts.map +0 -1
- package/dist/browser/src/document/actions/types.d.ts +0 -16
- package/dist/browser/src/document/actions/types.d.ts.map +0 -1
- package/dist/browser/src/document/index.d.ts +0 -7
- package/dist/browser/src/document/index.d.ts.map +0 -1
- package/dist/browser/src/document/object.d.ts.map +0 -1
- package/dist/browser/src/document/reducer.d.ts +0 -66
- package/dist/browser/src/document/reducer.d.ts.map +0 -1
- package/dist/browser/src/document/schema/index.d.ts +0 -3
- package/dist/browser/src/document/schema/index.d.ts.map +0 -1
- package/dist/browser/src/document/schema/types.d.ts.map +0 -1
- package/dist/browser/src/document/schema/zod.d.ts.map +0 -1
- package/dist/browser/src/document/signal.d.ts +0 -30
- package/dist/browser/src/document/signal.d.ts.map +0 -1
- package/dist/browser/src/document/types.d.ts +0 -292
- package/dist/browser/src/document/types.d.ts.map +0 -1
- package/dist/browser/src/document/utils/base.d.ts +0 -89
- package/dist/browser/src/document/utils/base.d.ts.map +0 -1
- package/dist/browser/src/document/utils/browser.d.ts.map +0 -1
- package/dist/browser/src/document/utils/crypto.d.ts +0 -11
- package/dist/browser/src/document/utils/crypto.d.ts.map +0 -1
- package/dist/browser/src/document/utils/document-helpers.d.ts +0 -74
- package/dist/browser/src/document/utils/document-helpers.d.ts.map +0 -1
- package/dist/browser/src/document/utils/errors.d.ts.map +0 -1
- package/dist/browser/src/document/utils/file.d.ts.map +0 -1
- package/dist/browser/src/document/utils/index.d.ts +0 -8
- package/dist/browser/src/document/utils/index.d.ts.map +0 -1
- package/dist/browser/src/document/utils/node.d.ts.map +0 -1
- package/dist/browser/src/document/utils/validation.d.ts +0 -3
- package/dist/browser/src/document/utils/validation.d.ts.map +0 -1
- package/dist/browser/src/document-model/custom/reducers/header.d.ts +0 -3
- package/dist/browser/src/document-model/custom/reducers/header.d.ts.map +0 -1
- package/dist/browser/src/document-model/custom/reducers/module.d.ts +0 -3
- package/dist/browser/src/document-model/custom/reducers/module.d.ts.map +0 -1
- package/dist/browser/src/document-model/custom/reducers/operation-error.d.ts +0 -3
- package/dist/browser/src/document-model/custom/reducers/operation-error.d.ts.map +0 -1
- package/dist/browser/src/document-model/custom/reducers/operation-example.d.ts +0 -3
- package/dist/browser/src/document-model/custom/reducers/operation-example.d.ts.map +0 -1
- package/dist/browser/src/document-model/custom/reducers/operation.d.ts +0 -3
- package/dist/browser/src/document-model/custom/reducers/operation.d.ts.map +0 -1
- package/dist/browser/src/document-model/custom/reducers/state.d.ts +0 -3
- package/dist/browser/src/document-model/custom/reducers/state.d.ts.map +0 -1
- package/dist/browser/src/document-model/custom/reducers/versioning.d.ts +0 -3
- package/dist/browser/src/document-model/custom/reducers/versioning.d.ts.map +0 -1
- package/dist/browser/src/document-model/custom/utils.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/actions.d.ts +0 -16
- package/dist/browser/src/document-model/gen/actions.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/creators.d.ts +0 -8
- package/dist/browser/src/document-model/gen/creators.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/document-model.d.ts +0 -3
- package/dist/browser/src/document-model/gen/document-model.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/header/actions.d.ts +0 -10
- package/dist/browser/src/document-model/gen/header/actions.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/header/creators.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/header/object.d.ts +0 -13
- package/dist/browser/src/document-model/gen/header/object.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/header/operations.d.ts +0 -11
- package/dist/browser/src/document-model/gen/header/operations.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/index.d.ts +0 -6
- package/dist/browser/src/document-model/gen/index.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/module/actions.d.ts +0 -9
- package/dist/browser/src/document-model/gen/module/actions.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/module/creators.d.ts +0 -8
- package/dist/browser/src/document-model/gen/module/creators.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/module/object.d.ts +0 -12
- package/dist/browser/src/document-model/gen/module/object.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/module/operations.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/object.d.ts +0 -29
- package/dist/browser/src/document-model/gen/object.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/operation/actions.d.ts +0 -14
- package/dist/browser/src/document-model/gen/operation/actions.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/operation/creators.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/operation/object.d.ts +0 -17
- package/dist/browser/src/document-model/gen/operation/object.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/operation/operations.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/operation-error/actions.d.ts +0 -11
- package/dist/browser/src/document-model/gen/operation-error/actions.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/operation-error/creators.d.ts +0 -10
- package/dist/browser/src/document-model/gen/operation-error/creators.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/operation-error/object.d.ts +0 -14
- package/dist/browser/src/document-model/gen/operation-error/object.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/operation-error/operations.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/operation-example/actions.d.ts +0 -8
- package/dist/browser/src/document-model/gen/operation-example/actions.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/operation-example/creators.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/operation-example/object.d.ts +0 -11
- package/dist/browser/src/document-model/gen/operation-example/object.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/operation-example/operations.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/reducer.d.ts +0 -6
- package/dist/browser/src/document-model/gen/reducer.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/schema/index.d.ts +0 -3
- package/dist/browser/src/document-model/gen/schema/index.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/schema/types.d.ts +0 -454
- package/dist/browser/src/document-model/gen/schema/types.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/schema/zod.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/state/actions.d.ts +0 -10
- package/dist/browser/src/document-model/gen/state/actions.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/state/creators.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/state/object.d.ts +0 -13
- package/dist/browser/src/document-model/gen/state/object.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/state/operations.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/types.d.ts +0 -9
- package/dist/browser/src/document-model/gen/types.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/utils.d.ts +0 -7
- package/dist/browser/src/document-model/gen/utils.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/versioning/actions.d.ts +0 -9
- package/dist/browser/src/document-model/gen/versioning/actions.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/versioning/creators.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/versioning/object.d.ts +0 -12
- package/dist/browser/src/document-model/gen/versioning/object.d.ts.map +0 -1
- package/dist/browser/src/document-model/gen/versioning/operations.d.ts.map +0 -1
- package/dist/browser/src/document-model/index.d.ts +0 -77
- package/dist/browser/src/document-model/index.d.ts.map +0 -1
- package/dist/browser/src/index.d.ts +0 -25
- package/dist/browser/src/index.d.ts.map +0 -1
- package/dist/browser/test/document/crypto.test.d.ts.map +0 -1
- package/dist/browser/test/document/event-vs-command.test.d.ts.map +0 -1
- package/dist/browser/test/document/local.test.d.ts.map +0 -1
- package/dist/browser/test/document/object.test.d.ts.map +0 -1
- package/dist/browser/test/document/operation-id.test.d.ts.map +0 -1
- package/dist/browser/test/document/prune.test.d.ts.map +0 -1
- package/dist/browser/test/document/reducer.test.d.ts.map +0 -1
- package/dist/browser/test/document/skip-operations.test.d.ts.map +0 -1
- package/dist/browser/test/document/undo-redo.test.d.ts.map +0 -1
- package/dist/browser/test/document/utils.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/addUndo.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/attachBranch.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/conflictResolution.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/filterDuplicatedOperations.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/garbageCollect.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/groupOperationsByScope.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/merge.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/nextSkipNumber.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/prepareOperations.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/removeExistingOperations.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/reshuffleByTimestamp.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/skipHeaderOperations.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/sortOperations.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/split.test.d.ts.map +0 -1
- package/dist/browser/test/document-helpers/utils.d.ts.map +0 -1
- package/dist/browser/test/document-model/object.test.d.ts.map +0 -1
- package/dist/browser/test/document-model/replay.test.d.ts.map +0 -1
- package/dist/browser/test/document-model/skip-operations.test.d.ts.map +0 -1
- package/dist/browser/test/document-model/validation.test.d.ts.map +0 -1
- package/dist/browser/test/document-model/zip.test.d.ts.map +0 -1
- package/dist/browser/test/helpers.d.ts +0 -40
- package/dist/browser/test/helpers.d.ts.map +0 -1
- package/dist/browser/utils.d.ts +0 -2
- package/dist/browser/vite.config.d.ts +0 -3
- package/dist/browser/vite.config.d.ts.map +0 -1
- package/dist/browser/vitest.config.d.ts +0 -3
- package/dist/browser/vitest.config.d.ts.map +0 -1
- package/dist/node/cjs/document-model.js +0 -25
- package/dist/node/cjs/document-model.js.map +0 -1
- package/dist/node/cjs/document.js +0 -16
- package/dist/node/cjs/document.js.map +0 -1
- package/dist/node/cjs/index.js +0 -14
- package/dist/node/cjs/index.js.map +0 -1
- package/dist/node/cjs/internal/creators-ZpkFlacS.js +0 -2684
- package/dist/node/cjs/internal/creators-ZpkFlacS.js.map +0 -1
- package/dist/node/cjs/internal/index-B9N2GsMZ.js +0 -47
- package/dist/node/cjs/internal/index-B9N2GsMZ.js.map +0 -1
- package/dist/node/cjs/internal/index-ClITlWIV.js +0 -19
- package/dist/node/cjs/internal/index-ClITlWIV.js.map +0 -1
- package/dist/node/cjs/internal/index-DVgdtYs7.js +0 -2220
- package/dist/node/cjs/internal/index-DVgdtYs7.js.map +0 -1
- package/dist/node/cjs/internal/object-DVKEoARn.js +0 -183
- package/dist/node/cjs/internal/object-DVKEoARn.js.map +0 -1
- package/dist/node/cjs/package.json +0 -1
- package/dist/node/cjs/utils.js +0 -44
- package/dist/node/cjs/utils.js.map +0 -1
- package/dist/node/document-model.d.ts +0 -2
- package/dist/node/document.d.ts +0 -2
- package/dist/node/es/document-model.js +0 -25
- package/dist/node/es/document-model.js.map +0 -1
- package/dist/node/es/document.js +0 -16
- package/dist/node/es/document.js.map +0 -1
- package/dist/node/es/index.js +0 -14
- package/dist/node/es/index.js.map +0 -1
- package/dist/node/es/internal/creators-0lHfLHX0.js +0 -2685
- package/dist/node/es/internal/creators-0lHfLHX0.js.map +0 -1
- package/dist/node/es/internal/index-BOhJLvSm.js +0 -48
- package/dist/node/es/internal/index-BOhJLvSm.js.map +0 -1
- package/dist/node/es/internal/index-CxWihLAA.js +0 -2221
- package/dist/node/es/internal/index-CxWihLAA.js.map +0 -1
- package/dist/node/es/internal/index-bxdb71Hw.js +0 -20
- package/dist/node/es/internal/index-bxdb71Hw.js.map +0 -1
- package/dist/node/es/internal/object-Bl-LmXHF.js +0 -184
- package/dist/node/es/internal/object-Bl-LmXHF.js.map +0 -1
- package/dist/node/es/package.json +0 -1
- package/dist/node/es/utils.js +0 -44
- package/dist/node/es/utils.js.map +0 -1
- package/dist/node/index.d.ts +0 -6
- package/dist/node/src/document/actions/creators.d.ts.map +0 -1
- package/dist/node/src/document/actions/index.d.ts +0 -15
- package/dist/node/src/document/actions/index.d.ts.map +0 -1
- package/dist/node/src/document/actions/types.d.ts +0 -16
- package/dist/node/src/document/actions/types.d.ts.map +0 -1
- package/dist/node/src/document/index.d.ts +0 -7
- package/dist/node/src/document/index.d.ts.map +0 -1
- package/dist/node/src/document/object.d.ts.map +0 -1
- package/dist/node/src/document/reducer.d.ts +0 -66
- package/dist/node/src/document/reducer.d.ts.map +0 -1
- package/dist/node/src/document/schema/index.d.ts +0 -3
- package/dist/node/src/document/schema/index.d.ts.map +0 -1
- package/dist/node/src/document/schema/types.d.ts +0 -177
- package/dist/node/src/document/schema/types.d.ts.map +0 -1
- package/dist/node/src/document/schema/zod.d.ts +0 -99
- package/dist/node/src/document/schema/zod.d.ts.map +0 -1
- package/dist/node/src/document/signal.d.ts.map +0 -1
- package/dist/node/src/document/types.d.ts +0 -292
- package/dist/node/src/document/types.d.ts.map +0 -1
- package/dist/node/src/document/utils/base.d.ts +0 -89
- package/dist/node/src/document/utils/base.d.ts.map +0 -1
- package/dist/node/src/document/utils/browser.d.ts +0 -11
- package/dist/node/src/document/utils/browser.d.ts.map +0 -1
- package/dist/node/src/document/utils/crypto.d.ts +0 -11
- package/dist/node/src/document/utils/crypto.d.ts.map +0 -1
- package/dist/node/src/document/utils/document-helpers.d.ts +0 -74
- package/dist/node/src/document/utils/document-helpers.d.ts.map +0 -1
- package/dist/node/src/document/utils/errors.d.ts +0 -10
- package/dist/node/src/document/utils/errors.d.ts.map +0 -1
- package/dist/node/src/document/utils/file.d.ts +0 -49
- package/dist/node/src/document/utils/file.d.ts.map +0 -1
- package/dist/node/src/document/utils/index.d.ts +0 -8
- package/dist/node/src/document/utils/index.d.ts.map +0 -1
- package/dist/node/src/document/utils/node.d.ts +0 -11
- package/dist/node/src/document/utils/node.d.ts.map +0 -1
- package/dist/node/src/document/utils/validation.d.ts +0 -3
- package/dist/node/src/document/utils/validation.d.ts.map +0 -1
- package/dist/node/src/document-model/custom/reducers/header.d.ts +0 -3
- package/dist/node/src/document-model/custom/reducers/header.d.ts.map +0 -1
- package/dist/node/src/document-model/custom/reducers/module.d.ts +0 -3
- package/dist/node/src/document-model/custom/reducers/module.d.ts.map +0 -1
- package/dist/node/src/document-model/custom/reducers/operation-error.d.ts +0 -3
- package/dist/node/src/document-model/custom/reducers/operation-error.d.ts.map +0 -1
- package/dist/node/src/document-model/custom/reducers/operation-example.d.ts +0 -3
- package/dist/node/src/document-model/custom/reducers/operation-example.d.ts.map +0 -1
- package/dist/node/src/document-model/custom/reducers/operation.d.ts +0 -3
- package/dist/node/src/document-model/custom/reducers/operation.d.ts.map +0 -1
- package/dist/node/src/document-model/custom/reducers/state.d.ts +0 -3
- package/dist/node/src/document-model/custom/reducers/state.d.ts.map +0 -1
- package/dist/node/src/document-model/custom/reducers/versioning.d.ts +0 -3
- package/dist/node/src/document-model/custom/reducers/versioning.d.ts.map +0 -1
- package/dist/node/src/document-model/custom/utils.d.ts +0 -8
- package/dist/node/src/document-model/custom/utils.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/actions.d.ts +0 -16
- package/dist/node/src/document-model/gen/actions.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/creators.d.ts +0 -8
- package/dist/node/src/document-model/gen/creators.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/document-model.d.ts +0 -3
- package/dist/node/src/document-model/gen/document-model.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/header/actions.d.ts +0 -10
- package/dist/node/src/document-model/gen/header/actions.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/header/creators.d.ts +0 -9
- package/dist/node/src/document-model/gen/header/creators.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/header/object.d.ts +0 -13
- package/dist/node/src/document-model/gen/header/object.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/header/operations.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/index.d.ts +0 -6
- package/dist/node/src/document-model/gen/index.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/module/actions.d.ts +0 -9
- package/dist/node/src/document-model/gen/module/actions.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/module/creators.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/module/object.d.ts +0 -12
- package/dist/node/src/document-model/gen/module/object.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/module/operations.d.ts +0 -10
- package/dist/node/src/document-model/gen/module/operations.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/object.d.ts +0 -29
- package/dist/node/src/document-model/gen/object.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/operation/actions.d.ts +0 -14
- package/dist/node/src/document-model/gen/operation/actions.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/operation/creators.d.ts +0 -13
- package/dist/node/src/document-model/gen/operation/creators.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/operation/object.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/operation/operations.d.ts +0 -15
- package/dist/node/src/document-model/gen/operation/operations.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/operation-error/actions.d.ts +0 -11
- package/dist/node/src/document-model/gen/operation-error/actions.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/operation-error/creators.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/operation-error/object.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/operation-error/operations.d.ts +0 -12
- package/dist/node/src/document-model/gen/operation-error/operations.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/operation-example/actions.d.ts +0 -8
- package/dist/node/src/document-model/gen/operation-example/actions.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/operation-example/creators.d.ts +0 -7
- package/dist/node/src/document-model/gen/operation-example/creators.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/operation-example/object.d.ts +0 -11
- package/dist/node/src/document-model/gen/operation-example/object.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/operation-example/operations.d.ts +0 -9
- package/dist/node/src/document-model/gen/operation-example/operations.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/reducer.d.ts +0 -6
- package/dist/node/src/document-model/gen/reducer.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/schema/index.d.ts +0 -3
- package/dist/node/src/document-model/gen/schema/index.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/schema/types.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/schema/zod.d.ts +0 -454
- package/dist/node/src/document-model/gen/schema/zod.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/state/actions.d.ts +0 -10
- package/dist/node/src/document-model/gen/state/actions.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/state/creators.d.ts +0 -9
- package/dist/node/src/document-model/gen/state/creators.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/state/object.d.ts +0 -13
- package/dist/node/src/document-model/gen/state/object.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/state/operations.d.ts +0 -11
- package/dist/node/src/document-model/gen/state/operations.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/types.d.ts +0 -9
- package/dist/node/src/document-model/gen/types.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/utils.d.ts +0 -7
- package/dist/node/src/document-model/gen/utils.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/versioning/actions.d.ts +0 -9
- package/dist/node/src/document-model/gen/versioning/actions.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/versioning/creators.d.ts +0 -8
- package/dist/node/src/document-model/gen/versioning/creators.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/versioning/object.d.ts +0 -12
- package/dist/node/src/document-model/gen/versioning/object.d.ts.map +0 -1
- package/dist/node/src/document-model/gen/versioning/operations.d.ts +0 -10
- package/dist/node/src/document-model/gen/versioning/operations.d.ts.map +0 -1
- package/dist/node/src/document-model/index.d.ts +0 -77
- package/dist/node/src/document-model/index.d.ts.map +0 -1
- package/dist/node/src/index.d.ts +0 -25
- package/dist/node/src/index.d.ts.map +0 -1
- package/dist/node/test/document/crypto.test.d.ts +0 -2
- package/dist/node/test/document/crypto.test.d.ts.map +0 -1
- package/dist/node/test/document/event-vs-command.test.d.ts +0 -2
- package/dist/node/test/document/event-vs-command.test.d.ts.map +0 -1
- package/dist/node/test/document/local.test.d.ts +0 -2
- package/dist/node/test/document/local.test.d.ts.map +0 -1
- package/dist/node/test/document/object.test.d.ts +0 -2
- package/dist/node/test/document/object.test.d.ts.map +0 -1
- package/dist/node/test/document/operation-id.test.d.ts +0 -2
- package/dist/node/test/document/operation-id.test.d.ts.map +0 -1
- package/dist/node/test/document/prune.test.d.ts +0 -2
- package/dist/node/test/document/prune.test.d.ts.map +0 -1
- package/dist/node/test/document/reducer.test.d.ts +0 -2
- package/dist/node/test/document/reducer.test.d.ts.map +0 -1
- package/dist/node/test/document/skip-operations.test.d.ts +0 -2
- package/dist/node/test/document/skip-operations.test.d.ts.map +0 -1
- package/dist/node/test/document/undo-redo.test.d.ts +0 -2
- package/dist/node/test/document/undo-redo.test.d.ts.map +0 -1
- package/dist/node/test/document/utils.test.d.ts +0 -2
- package/dist/node/test/document/utils.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/addUndo.test.d.ts +0 -2
- package/dist/node/test/document-helpers/addUndo.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/attachBranch.test.d.ts +0 -2
- package/dist/node/test/document-helpers/attachBranch.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts +0 -2
- package/dist/node/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/conflictResolution.test.d.ts +0 -2
- package/dist/node/test/document-helpers/conflictResolution.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/filterDuplicatedOperations.test.d.ts +0 -2
- package/dist/node/test/document-helpers/filterDuplicatedOperations.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/garbageCollect.test.d.ts +0 -2
- package/dist/node/test/document-helpers/garbageCollect.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/groupOperationsByScope.test.d.ts +0 -2
- package/dist/node/test/document-helpers/groupOperationsByScope.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/merge.test.d.ts +0 -2
- package/dist/node/test/document-helpers/merge.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/nextSkipNumber.test.d.ts +0 -2
- package/dist/node/test/document-helpers/nextSkipNumber.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/prepareOperations.test.d.ts +0 -2
- package/dist/node/test/document-helpers/prepareOperations.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/removeExistingOperations.test.d.ts +0 -2
- package/dist/node/test/document-helpers/removeExistingOperations.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/reshuffleByTimestamp.test.d.ts +0 -2
- package/dist/node/test/document-helpers/reshuffleByTimestamp.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts +0 -2
- package/dist/node/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/skipHeaderOperations.test.d.ts +0 -2
- package/dist/node/test/document-helpers/skipHeaderOperations.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/sortOperations.test.d.ts +0 -2
- package/dist/node/test/document-helpers/sortOperations.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/split.test.d.ts +0 -2
- package/dist/node/test/document-helpers/split.test.d.ts.map +0 -1
- package/dist/node/test/document-helpers/utils.d.ts +0 -8
- package/dist/node/test/document-helpers/utils.d.ts.map +0 -1
- package/dist/node/test/document-model/object.test.d.ts +0 -2
- package/dist/node/test/document-model/object.test.d.ts.map +0 -1
- package/dist/node/test/document-model/replay.test.d.ts +0 -2
- package/dist/node/test/document-model/replay.test.d.ts.map +0 -1
- package/dist/node/test/document-model/skip-operations.test.d.ts +0 -2
- package/dist/node/test/document-model/skip-operations.test.d.ts.map +0 -1
- package/dist/node/test/document-model/validation.test.d.ts +0 -2
- package/dist/node/test/document-model/validation.test.d.ts.map +0 -1
- package/dist/node/test/document-model/zip.test.d.ts +0 -2
- package/dist/node/test/document-model/zip.test.d.ts.map +0 -1
- package/dist/node/test/helpers.d.ts +0 -40
- package/dist/node/test/helpers.d.ts.map +0 -1
- package/dist/node/utils.d.ts +0 -2
- package/dist/node/vite.config.d.ts +0 -3
- package/dist/node/vite.config.d.ts.map +0 -1
- package/dist/node/vitest.config.d.ts +0 -3
- package/dist/node/vitest.config.d.ts.map +0 -1
- /package/dist/{browser/test → test}/document/crypto.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document/event-vs-command.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document/local.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document/object.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document/operation-id.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document/prune.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document/reducer.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document/skip-operations.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document/undo-redo.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document/utils.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/addUndo.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/attachBranch.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/checkCleanedOperationsIntegrity.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/conflictResolution.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/filterDuplicatedOperations.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/garbageCollect.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/groupOperationsByScope.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/merge.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/nextSkipNumber.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/prepareOperations.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/removeExistingOperations.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/reshuffleByTimestamp.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/reshuffleByTimestampAndIndex.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/skipHeaderOperations.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/sortOperations.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-helpers/split.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-model/object.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-model/replay.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-model/skip-operations.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-model/validation.test.d.ts +0 -0
- /package/dist/{browser/test → test}/document-model/zip.test.d.ts +0 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { addModule, addOperation, addOperationError, deleteModule, deleteOperation, deleteOperationError, setAuthorName, setAuthorWebsite, setInitialState, setModelDescription, setModelExtension, setModelId, setModelName, setModuleName, setOperationDescription, setOperationErrorName, setOperationName, setOperationSchema, setStateSchema, } from "#document-model/gen/creators.js";
|
|
2
|
+
export { reducer as documentModelReducer } from "#document-model/gen/reducer.js";
|
|
3
|
+
export type { Author, DocumentModelInput, Operation as DocumentModelOperation, Module, Scalars, ScopeState, } from "#document-model/gen/schema/types.js";
|
|
4
|
+
export type { DocumentModelAction, DocumentModelDocument, DocumentModelLocalState, DocumentModelState, } from "#document-model/gen/types.js";
|
|
5
|
+
export { createExtendedState as documentModelCreateExtendedState, loadFromFile as documentModelLoadFromFile, } from "#document-model/gen/utils.js";
|
|
6
|
+
export { applyMixins, BaseDocumentClass } from "#document/object.js";
|
|
7
|
+
export type { Action, ActionFromDocument, GlobalStateFromDocument, LocalStateFromDocument, OperationFromDocument, OperationsFromDocument, BaseStateFromDocument, ExtendedStateFromDocument, ActionContext, ActionErrorCallback, ActionSigner, AttachmentInput, BaseAction, BaseActionWithAttachment, BaseDocument, BaseState, CreateChildDocumentInput, CreateDocument, CreateExtendedState, CreateState, CustomAction, DocumentAction, DocumentHeader, DocumentModelLib, DocumentModelModule, DocumentModelUtils, DocumentOperations, EditorModule, EditorProps, EditorDispatch, ExtendedState, FileRegistry, InputMaybe, LoadFromFile, LoadFromInput, Manifest, Maybe, NOOPAction, Operation, OperationScope, OperationSignatureContext, PartialState, PHDocument, Reducer, PHReducer, ReducerOptions, SaveToFile, SaveToFileHandle, Signal, SignalDispatch, Signature, StateReducer, SynchronizationUnitInput, User, ValidationError, App, } from "#document/types.js";
|
|
8
|
+
export { baseCreateDocument, baseCreateExtendedState, createAction, createReducer, hashDocumentStateForScope, hashKey, isDocumentAction, replayDocument, } from "#document/utils/base.js";
|
|
9
|
+
export { buildOperationSignature, buildOperationSignatureMessage, buildSignedOperation, generateId, } from "#document/utils/crypto.js";
|
|
10
|
+
export { baseLoadFromFile, baseLoadFromInput, baseSaveToFile, baseSaveToFileHandle, createZip, } from "#document/utils/file.js";
|
|
11
|
+
export { validateInitialState, validateModule, validateModuleOperation, validateModules, validateStateSchemaName, } from "#document-model/custom/utils.js";
|
|
12
|
+
export type { OperationError as DocumentModelOperationError } from "#document-model/gen/schema/types.js";
|
|
13
|
+
export { documentModelDocumentModelModule } from "#document-model/module.js";
|
|
14
|
+
export { redo, undo } from "#document/actions/creators.js";
|
|
15
|
+
export type { EditorContext } from "#document/types.js";
|
|
16
|
+
export { attachBranch, garbageCollect, garbageCollectDocumentOperations, groupOperationsByScope, merge, precedes, removeExistingOperations, reshuffleByTimestamp, skipHeaderOperations, sortOperations, } from "#document/utils/document-helpers.js";
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACjF,YAAY,EACV,MAAM,EACN,kBAAkB,EAClB,SAAS,IAAI,sBAAsB,EACnC,MAAM,EACN,OAAO,EACP,UAAU,GACX,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,mBAAmB,IAAI,gCAAgC,EACvD,YAAY,IAAI,yBAAyB,GAC1C,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACrE,YAAY,EACV,MAAM,EACN,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,wBAAwB,EACxB,YAAY,EACZ,SAAS,EACT,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACb,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAAS,EACT,cAAc,EACd,yBAAyB,EACzB,YAAY,EACZ,UAAU,EACV,OAAO,EACP,SAAS,EACT,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,cAAc,EACd,SAAS,EACT,YAAY,EACZ,wBAAwB,EACxB,IAAI,EACJ,eAAe,EACf,GAAG,GACJ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,OAAO,EACP,gBAAgB,EAChB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,oBAAoB,EACpB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,SAAS,GACV,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,uBAAuB,GACxB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,cAAc,IAAI,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AACzG,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gCAAgC,EAChC,sBAAsB,EACtB,KAAK,EACL,QAAQ,EACR,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,GACf,MAAM,qCAAqC,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { addModule, addOperation, addOperationError, deleteModule, deleteOperation, deleteOperationError, setAuthorName, setAuthorWebsite, setInitialState, setModelDescription, setModelExtension, setModelId, setModelName, setModuleName, setOperationDescription, setOperationErrorName, setOperationName, setOperationSchema, setStateSchema, } from "#document-model/gen/creators.js";
|
|
2
|
+
export { reducer as documentModelReducer } from "#document-model/gen/reducer.js";
|
|
3
|
+
export { createExtendedState as documentModelCreateExtendedState, loadFromFile as documentModelLoadFromFile, } from "#document-model/gen/utils.js";
|
|
4
|
+
export { applyMixins, BaseDocumentClass } from "#document/object.js";
|
|
5
|
+
export { baseCreateDocument, baseCreateExtendedState, createAction, createReducer, hashDocumentStateForScope, hashKey, isDocumentAction, replayDocument, } from "#document/utils/base.js";
|
|
6
|
+
export { buildOperationSignature, buildOperationSignatureMessage, buildSignedOperation, generateId, } from "#document/utils/crypto.js";
|
|
7
|
+
export { baseLoadFromFile, baseLoadFromInput, baseSaveToFile, baseSaveToFileHandle, createZip, } from "#document/utils/file.js";
|
|
8
|
+
export { validateInitialState, validateModule, validateModuleOperation, validateModules, validateStateSchemaName, } from "#document-model/custom/utils.js";
|
|
9
|
+
export { documentModelDocumentModelModule } from "#document-model/module.js";
|
|
10
|
+
export { redo, undo } from "#document/actions/creators.js";
|
|
11
|
+
export { attachBranch, garbageCollect, garbageCollectDocumentOperations, groupOperationsByScope, merge, precedes, removeExistingOperations, reshuffleByTimestamp, skipHeaderOperations, sortOperations, } from "#document/utils/document-helpers.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ExtendedState, OperationScope } from
|
|
2
|
-
import { LoadStateAction, PruneAction, RedoAction, SetNameAction, UndoAction, NOOPAction } from
|
|
1
|
+
import { ExtendedState, OperationScope } from "../types.js";
|
|
2
|
+
import { LoadStateAction, PruneAction, RedoAction, SetNameAction, UndoAction, NOOPAction } from "./types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Changes the name of the document.
|
|
5
5
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creators.d.ts","sourceRoot":"","sources":["../../../../src/document/actions/creators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,EACL,eAAe,EACf,WAAW,EACX,UAAU,EACV,aAAa,EACb,UAAU,EACV,UAAU,EACX,MAAM,YAAY,CAAC;AASpB;;;;;GAKG;AACH,eAAO,MAAM,OAAO,SAAU,MAAM,kBAOjC,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,IAAI,0BAAqB,cAAc,eAOjD,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,IAAI,2BAAsB,cAAc,eAOlD,CAAC;AAEJ;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,WACR,MAAM,GAAG,SAAS,QACpB,MAAM,GAAG,SAAS,UACjB,cAAc,gBAQpB,CAAC;AAEJ;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,SACrB,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,cACtC,MAAM,oBAOjB,CAAC;AAEJ,eAAO,MAAM,IAAI,WAAW,cAAc,eACgC,CAAC"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { createAction } from "../utils/base.js";
|
|
2
|
+
import { LoadStateActionInputSchema, PruneActionInputSchema, RedoActionInputSchema, SetNameActionInputSchema, UndoActionInputSchema, } from "../schema/zod.js";
|
|
3
3
|
/**
|
|
4
4
|
* Changes the name of the document.
|
|
5
5
|
*
|
|
6
6
|
* @param name - The name to be set in the document.
|
|
7
7
|
* @category Actions
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
9
|
+
export const setName = (name) => createAction("SET_NAME", name, undefined, SetNameActionInputSchema, undefined);
|
|
10
10
|
/**
|
|
11
11
|
* Cancels the last `count` operations.
|
|
12
12
|
*
|
|
13
13
|
* @param count - Number of operations to cancel
|
|
14
14
|
* @category Actions
|
|
15
15
|
*/
|
|
16
|
-
export
|
|
16
|
+
export const undo = (skip = 1, scope = "global") => createAction("UNDO", skip, undefined, UndoActionInputSchema, scope);
|
|
17
17
|
/**
|
|
18
18
|
* Cancels the last `count` {@link undo | UNDO} operations.
|
|
19
19
|
*
|
|
20
20
|
* @param count - Number of UNDO operations to cancel
|
|
21
21
|
* @category Actions
|
|
22
22
|
*/
|
|
23
|
-
export
|
|
23
|
+
export const redo = (count = 1, scope = "global") => createAction("REDO", count, undefined, RedoActionInputSchema, scope);
|
|
24
24
|
/**
|
|
25
25
|
* Joins multiple operations into a single {@link loadState | LOAD_STATE} operation.
|
|
26
26
|
*
|
|
@@ -32,7 +32,7 @@ export declare const redo: (count?: number, scope?: OperationScope) => RedoActio
|
|
|
32
32
|
* @param end - Index of the last operation to prune
|
|
33
33
|
* @category Actions
|
|
34
34
|
*/
|
|
35
|
-
export
|
|
35
|
+
export const prune = (start, end, scope = "global") => createAction("PRUNE", { start, end }, undefined, PruneActionInputSchema, scope);
|
|
36
36
|
/**
|
|
37
37
|
* Replaces the state of the document.
|
|
38
38
|
*
|
|
@@ -43,6 +43,5 @@ export declare const prune: (start?: number | undefined, end?: number | undefine
|
|
|
43
43
|
* @param operations - Number of operations that were removed from the previous state.
|
|
44
44
|
* @category Actions
|
|
45
45
|
*/
|
|
46
|
-
export
|
|
47
|
-
export
|
|
48
|
-
//# sourceMappingURL=creators.d.ts.map
|
|
46
|
+
export const loadState = (state, operations) => createAction("LOAD_STATE", { state, operations }, undefined, LoadStateActionInputSchema);
|
|
47
|
+
export const noop = (scope = "global") => createAction("NOOP", undefined, undefined, undefined, scope);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PruneActionInput } from "../schema/types.js";
|
|
2
|
+
import { ActionFromDocument, BaseState, OperationFromDocument, PHDocument, StateReducer } from "../types.js";
|
|
3
|
+
export declare function setNameOperation<TDocument extends PHDocument>(document: TDocument, name: string): TDocument & {
|
|
4
|
+
name: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function undoOperation<TDocument extends PHDocument>(document: TDocument, action: ActionFromDocument<TDocument> | OperationFromDocument<TDocument>, skip: number): {
|
|
7
|
+
document: TDocument;
|
|
8
|
+
action: ActionFromDocument<TDocument> | OperationFromDocument<TDocument>;
|
|
9
|
+
skip: number;
|
|
10
|
+
reuseLastOperationIndex: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare function redoOperation<TDocument extends PHDocument>(document: TDocument, action: ActionFromDocument<TDocument> | OperationFromDocument<TDocument>, skip: number): {
|
|
13
|
+
document: TDocument;
|
|
14
|
+
action: ActionFromDocument<TDocument> | OperationFromDocument<TDocument>;
|
|
15
|
+
skip: number;
|
|
16
|
+
reuseLastOperationIndex: boolean;
|
|
17
|
+
};
|
|
18
|
+
export declare function pruneOperation<TDocument extends PHDocument>(document: TDocument, input: PruneActionInput, wrappedReducer: StateReducer<TDocument>): TDocument;
|
|
19
|
+
export declare function loadStateOperation<TDocument extends PHDocument>(oldDocument: TDocument, newDocument: {
|
|
20
|
+
name: string;
|
|
21
|
+
state?: BaseState<unknown, unknown>;
|
|
22
|
+
}): TDocument;
|
|
23
|
+
//# sourceMappingURL=operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/document/actions/operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,qBAAqB,EACrB,UAAU,EACV,YAAY,EACb,MAAM,aAAa,CAAC;AAMrB,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,UAAU,EAC3D,QAAQ,EAAE,SAAS,EACnB,IAAI,EAAE,MAAM;;EAGb;AAED,wBAAgB,aAAa,CAAC,SAAS,SAAS,UAAU,EACxD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC,SAAS,CAAC,EACxE,IAAI,EAAE,MAAM,GACX;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,OAAO,CAAC;CAClC,CAgDA;AAED,wBAAgB,aAAa,CAAC,SAAS,SAAS,UAAU,EACxD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC,SAAS,CAAC,EACxE,IAAI,EAAE,MAAM,GACX;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,OAAO,CAAC;CAClC,CA8CA;AAED,wBAAgB,cAAc,CAAC,SAAS,SAAS,UAAU,EACzD,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,gBAAgB,EACvB,cAAc,EAAE,YAAY,CAAC,SAAS,CAAC,GACtC,SAAS,CA2DX;AAED,wBAAgB,kBAAkB,CAAC,SAAS,SAAS,UAAU,EAC7D,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;CAAE,GACjE,SAAS,CAQX"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { castDraft, create } from "mutative";
|
|
2
|
+
import { hashDocumentStateForScope, replayOperations } from "../utils/base.js";
|
|
3
|
+
import { nextSkipNumber, sortOperations } from "../utils/document-helpers.js";
|
|
4
|
+
import { loadState, noop } from "./creators.js";
|
|
5
|
+
// updates the name of the document
|
|
6
|
+
export function setNameOperation(document, name) {
|
|
7
|
+
return { ...document, name };
|
|
8
|
+
}
|
|
9
|
+
export function undoOperation(document, action, skip) {
|
|
10
|
+
// const scope = action.scope;
|
|
11
|
+
const { scope } = action;
|
|
12
|
+
const defaultResult = {
|
|
13
|
+
document,
|
|
14
|
+
action,
|
|
15
|
+
skip,
|
|
16
|
+
reuseLastOperationIndex: false,
|
|
17
|
+
};
|
|
18
|
+
return create(defaultResult, (draft) => {
|
|
19
|
+
const operations = [...document.operations[scope]];
|
|
20
|
+
const sortedOperations = sortOperations(operations);
|
|
21
|
+
draft.action = noop(scope);
|
|
22
|
+
const lastOperation = sortedOperations.at(-1);
|
|
23
|
+
let nextIndex = lastOperation?.index ?? -1;
|
|
24
|
+
const isNewNoop = lastOperation?.type !== "NOOP";
|
|
25
|
+
if (isNewNoop) {
|
|
26
|
+
nextIndex = nextIndex + 1;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
draft.reuseLastOperationIndex = true;
|
|
30
|
+
}
|
|
31
|
+
const nextOperationHistory = isNewNoop
|
|
32
|
+
? [...sortedOperations, { index: nextIndex, skip: 0 }]
|
|
33
|
+
: sortedOperations;
|
|
34
|
+
draft.skip = nextSkipNumber(nextOperationHistory);
|
|
35
|
+
if (lastOperation && draft.skip > lastOperation.skip + 1) {
|
|
36
|
+
// there's an overlap with a previous skip operation
|
|
37
|
+
// (add 1 to the skip value because we are adding a new operation to the history)
|
|
38
|
+
draft.skip = draft.skip + 1;
|
|
39
|
+
}
|
|
40
|
+
if (draft.skip < 0) {
|
|
41
|
+
throw new Error(`Cannot undo: you can't undo more operations than the ones in the scope history`);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
export function redoOperation(document, action, skip) {
|
|
46
|
+
const { scope, input } = action;
|
|
47
|
+
const defaultResult = {
|
|
48
|
+
document,
|
|
49
|
+
action,
|
|
50
|
+
skip,
|
|
51
|
+
reuseLastOperationIndex: false,
|
|
52
|
+
};
|
|
53
|
+
return create(defaultResult, (draft) => {
|
|
54
|
+
if (draft.skip > 0) {
|
|
55
|
+
throw new Error(`Cannot redo: skip value from reducer cannot be used with REDO action`);
|
|
56
|
+
}
|
|
57
|
+
if (typeof input !== "number" || input > 1) {
|
|
58
|
+
throw new Error(`Cannot redo: you can only redo one operation at a time`);
|
|
59
|
+
}
|
|
60
|
+
if (typeof input !== "number" || input < 1) {
|
|
61
|
+
throw new Error(`Invalid REDO action: invalid redo input value`);
|
|
62
|
+
}
|
|
63
|
+
if (draft.document.clipboard.length < 1) {
|
|
64
|
+
throw new Error(`Cannot redo: no operations in the clipboard`);
|
|
65
|
+
}
|
|
66
|
+
const operationIndex = draft.document.clipboard.findLastIndex((op) => op.scope === scope);
|
|
67
|
+
if (operationIndex < 0) {
|
|
68
|
+
throw new Error(`Cannot redo: no operations in clipboard for scope "${scope}"`);
|
|
69
|
+
}
|
|
70
|
+
const operation = draft.document.clipboard.splice(operationIndex, 1)[0];
|
|
71
|
+
draft.action = castDraft({
|
|
72
|
+
type: operation.type,
|
|
73
|
+
scope: operation.scope,
|
|
74
|
+
input: operation.input,
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
export function pruneOperation(document, input, wrappedReducer) {
|
|
79
|
+
const operations = document.operations.global;
|
|
80
|
+
let { start, end } = input;
|
|
81
|
+
start = start || 0;
|
|
82
|
+
end = end || operations.length;
|
|
83
|
+
const actionsToPrune = operations.slice(start, end);
|
|
84
|
+
const actionsToKeepStart = operations.slice(0, start);
|
|
85
|
+
const actionsToKeepEnd = operations.slice(end);
|
|
86
|
+
// runs all operations from the initial state to
|
|
87
|
+
// the end of prune to get name and data
|
|
88
|
+
const newDocument = replayOperations(document.initialState, {
|
|
89
|
+
...document.operations,
|
|
90
|
+
global: actionsToKeepStart.concat(actionsToPrune),
|
|
91
|
+
}, wrappedReducer);
|
|
92
|
+
const { name, state: newState } = newDocument;
|
|
93
|
+
// the new operation has the index of the first pruned operation
|
|
94
|
+
const loadStateIndex = actionsToKeepStart.length;
|
|
95
|
+
// if and operation is pruned then reuses the timestamp of the last operation
|
|
96
|
+
// if not then assigns the timestamp of the following unpruned operation
|
|
97
|
+
const loadStateTimestamp = actionsToKeepStart.length
|
|
98
|
+
? actionsToKeepStart[actionsToKeepStart.length - 1].timestamp
|
|
99
|
+
: actionsToKeepEnd.length
|
|
100
|
+
? actionsToKeepEnd[0].timestamp
|
|
101
|
+
: new Date().toISOString();
|
|
102
|
+
// replaces pruned operations with LOAD_STATE
|
|
103
|
+
return replayOperations(document.initialState, {
|
|
104
|
+
...document.operations,
|
|
105
|
+
global: [
|
|
106
|
+
...actionsToKeepStart,
|
|
107
|
+
{
|
|
108
|
+
skip: 0,
|
|
109
|
+
...loadState({ name, state: newState }, actionsToPrune.length),
|
|
110
|
+
timestamp: loadStateTimestamp,
|
|
111
|
+
index: loadStateIndex,
|
|
112
|
+
hash: hashDocumentStateForScope({ state: newState }, "global"),
|
|
113
|
+
},
|
|
114
|
+
...actionsToKeepEnd
|
|
115
|
+
// updates the index for all the following operations
|
|
116
|
+
.map((action, index) => ({
|
|
117
|
+
...action,
|
|
118
|
+
index: loadStateIndex + index + 1,
|
|
119
|
+
})),
|
|
120
|
+
],
|
|
121
|
+
}, wrappedReducer);
|
|
122
|
+
}
|
|
123
|
+
export function loadStateOperation(oldDocument, newDocument) {
|
|
124
|
+
return {
|
|
125
|
+
...oldDocument,
|
|
126
|
+
name: newDocument.name,
|
|
127
|
+
state: newDocument.state ??
|
|
128
|
+
{ global: {}, local: {} },
|
|
129
|
+
};
|
|
130
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { LoadStateActionInput, PruneActionInput, RedoAction as _RedoAction, SetNameAction as _SetNameAction, UndoAction as _UndoAction, NOOPAction as _NOOPAction } from "../schema/types.js";
|
|
2
|
+
import type { BaseAction } from "../types.js";
|
|
3
|
+
export declare const SET_NAME = "SET_NAME";
|
|
4
|
+
export declare const UNDO = "UNDO";
|
|
5
|
+
export declare const REDO = "REDO";
|
|
6
|
+
export declare const PRUNE = "PRUNE";
|
|
7
|
+
export declare const LOAD_STATE = "LOAD_STATE";
|
|
8
|
+
export declare const NOOP = "NOOP";
|
|
9
|
+
export type LoadStateAction = BaseAction<"LOAD_STATE", LoadStateActionInput>;
|
|
10
|
+
export type PruneAction = BaseAction<"PRUNE", PruneActionInput>;
|
|
11
|
+
export type RedoAction = BaseAction<"REDO", _RedoAction["input"]>;
|
|
12
|
+
export type SetNameAction = BaseAction<"SET_NAME", _SetNameAction["input"]>;
|
|
13
|
+
export type UndoAction = BaseAction<"UNDO", _UndoAction["input"]>;
|
|
14
|
+
export type NOOPAction = BaseAction<"NOOP", _NOOPAction["input"]>;
|
|
15
|
+
export type DocumentAction = LoadStateAction | PruneAction | RedoAction | SetNameAction | UndoAction | NOOPAction;
|
|
16
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/document/actions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,IAAI,WAAW,EACzB,aAAa,IAAI,cAAc,EAC/B,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,KAAK,UAAU,CAAC;AAC7B,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,IAAI,SAAS,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;AAC7E,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5E,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAClE,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAElE,MAAM,MAAM,cAAc,GACtB,eAAe,GACf,WAAW,GACX,UAAU,GACV,aAAa,GACb,UAAU,GACV,UAAU,CAAC"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { Action, AttachmentRef, Document, ExtendedState, OperationScope, Reducer, ReducerOptions } from './types';
|
|
1
|
+
import { SignalDispatch } from "./signal.js";
|
|
2
|
+
import { Action, AttachmentRef, BaseDocument, BaseState, DefaultAction, Operation, OperationScope, Reducer, ReducerOptions } from "./types.js";
|
|
4
3
|
/**
|
|
5
4
|
* This is an abstract class representing a document and provides methods
|
|
6
5
|
* for creating and manipulating documents.
|
|
7
6
|
* @typeparam T - The type of data stored in the document.
|
|
8
7
|
* @typeparam A - The type of action the document can take.
|
|
9
8
|
*/
|
|
10
|
-
export declare abstract class
|
|
11
|
-
protected _document:
|
|
9
|
+
export declare abstract class BaseDocumentClass<TGlobalState, TLocalState, TCustomAction extends Action> {
|
|
10
|
+
protected _document: BaseDocument<TGlobalState, TLocalState, TCustomAction>;
|
|
12
11
|
private _reducer;
|
|
13
12
|
private _signalDispatch?;
|
|
14
13
|
/**
|
|
@@ -16,13 +15,13 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
|
|
|
16
15
|
* @param reducer - The reducer function that updates the state.
|
|
17
16
|
* @param document - The initial state of the document.
|
|
18
17
|
*/
|
|
19
|
-
constructor(reducer: Reducer<
|
|
18
|
+
constructor(reducer: Reducer<BaseDocument<TGlobalState, TLocalState, TCustomAction>>, document: BaseDocument<TGlobalState, TLocalState, TCustomAction>, signalDispatch?: SignalDispatch);
|
|
20
19
|
/**
|
|
21
20
|
* Dispatches an action to update the state of the document.
|
|
22
21
|
* @param action - The action to dispatch.
|
|
23
22
|
* @returns The Document instance.
|
|
24
23
|
*/
|
|
25
|
-
protected dispatch(action:
|
|
24
|
+
protected dispatch(action: TCustomAction | DefaultAction | Operation, options?: ReducerOptions): this;
|
|
26
25
|
/**
|
|
27
26
|
* Saves the state of the document to a file.
|
|
28
27
|
* @param path - The file path where the state should be saved.
|
|
@@ -41,15 +40,15 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
|
|
|
41
40
|
* @param reducer - The reducer function that updates the state.
|
|
42
41
|
* @returns The state of the document.
|
|
43
42
|
*/
|
|
44
|
-
protected static stateFromFile<
|
|
43
|
+
protected static stateFromFile<TGlobalState, TLocalState, TCustomAction extends Action>(path: string, reducer: Reducer<BaseDocument<TGlobalState, TLocalState, TCustomAction>>): Promise<BaseDocument<TGlobalState, TLocalState, TCustomAction>>;
|
|
45
44
|
/**
|
|
46
45
|
* Gets the current state of the document.
|
|
47
46
|
*/
|
|
48
|
-
get state(): Readonly<
|
|
47
|
+
get state(): Readonly<BaseState<TGlobalState, TLocalState>>;
|
|
49
48
|
/**
|
|
50
49
|
* Gets the list of operations performed on the document.
|
|
51
50
|
*/
|
|
52
|
-
get operations(): Readonly<
|
|
51
|
+
get operations(): Readonly<import("./types.js").DocumentOperations<TCustomAction>>;
|
|
53
52
|
/**
|
|
54
53
|
* Gets the name of the document.
|
|
55
54
|
*/
|
|
@@ -74,16 +73,16 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
|
|
|
74
73
|
/**
|
|
75
74
|
* Gets the initial state of the document.
|
|
76
75
|
*/
|
|
77
|
-
get initialState(): Readonly<ExtendedState<
|
|
76
|
+
get initialState(): Readonly<import("./types.js").ExtendedState<TGlobalState, TLocalState>>;
|
|
78
77
|
/**
|
|
79
78
|
* Returns the current document as an object
|
|
80
79
|
*/
|
|
81
|
-
toDocument(): Readonly<
|
|
80
|
+
toDocument(): Readonly<BaseDocument<TGlobalState, TLocalState, TCustomAction>>;
|
|
82
81
|
/**
|
|
83
82
|
* Gets the attachment associated with the given key.
|
|
84
83
|
* @param attachment - The key of the attachment to retrieve.
|
|
85
84
|
*/
|
|
86
|
-
getAttachment(attachment: AttachmentRef): import(
|
|
85
|
+
getAttachment(attachment: AttachmentRef): import("./types.js").Attachment | undefined;
|
|
87
86
|
/**
|
|
88
87
|
* Sets the name of the document.
|
|
89
88
|
* @param name - The new name of the document.
|
|
@@ -110,7 +109,10 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
|
|
|
110
109
|
* @param state - The state to load.
|
|
111
110
|
* @param operations - The operations to apply to the document.
|
|
112
111
|
*/
|
|
113
|
-
loadState(state:
|
|
112
|
+
loadState(state: {
|
|
113
|
+
name: string;
|
|
114
|
+
state: BaseState<TGlobalState, TLocalState>;
|
|
115
|
+
}, operations: number): this;
|
|
114
116
|
}
|
|
115
117
|
/**
|
|
116
118
|
* Applies multiple mixins to a base class.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/document/object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,MAAM,EACN,aAAa,EACb,YAAY,EACZ,SAAS,EACT,aAAa,EACb,SAAS,EACT,cAAc,EACd,OAAO,EACP,cAAc,EACf,MAAM,YAAY,CAAC;AAIpB;;;;;GAKG;AACH,8BAAsB,iBAAiB,CACrC,YAAY,EACZ,WAAW,EACX,aAAa,SAAS,MAAM;IAE5B,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAC5E,OAAO,CAAC,QAAQ,CAEd;IACF,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC;;;;OAIG;gBAED,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,EACxE,QAAQ,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC,EAChE,cAAc,CAAC,EAAE,cAAc;IAOjC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAChB,MAAM,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS,EACjD,OAAO,CAAC,EAAE,cAAc;IAW1B;;;;;OAKG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAInE;;;OAGG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM;IAI/B;;;;;OAKG;qBACoB,aAAa,CAClC,YAAY,EACZ,WAAW,EACX,aAAa,SAAS,MAAM,EAE5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAM1E;;OAEG;IACH,IAAI,KAAK,mDAER;IAED;;OAEG;IACH,IAAI,UAAU,qEAEb;IAED;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,YAAY,WAEf;IAED;;OAEG;IACH,IAAI,OAAO,WAEV;IAED;;OAEG;IACH,IAAI,YAAY,WAEf;IAED;;OAEG;IACH,IAAI,QAAQ,WAEX;IAED,WAAW,CAAC,KAAK,EAAE,cAAc;IAIjC;;OAEG;IACH,IAAI,YAAY,4EAEf;IAED;;OAEG;IACI,UAAU;IAIjB;;;OAGG;IACI,aAAa,CAAC,UAAU,EAAE,aAAa;IAI9C;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM;IAK3B;;;OAGG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM;IAKzB;;;OAGG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM;IAIzB;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS;IAKjE;;;;OAIG;IACI,SAAS,CACd,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;KAC7C,EACD,UAAU,EAAE,MAAM;CAKrB;AACD;;;;;;;;;GASG;AAEH,wBAAgB,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,QAchE"}
|
|
@@ -1,116 +1,167 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { loadState, prune, redo, setName, undo } from "./actions/creators.js";
|
|
2
|
+
import { readOnly } from "./utils/base.js";
|
|
3
|
+
import { baseLoadFromFile, baseSaveToFile } from "./utils/file.js";
|
|
4
4
|
/**
|
|
5
5
|
* This is an abstract class representing a document and provides methods
|
|
6
6
|
* for creating and manipulating documents.
|
|
7
7
|
* @typeparam T - The type of data stored in the document.
|
|
8
8
|
* @typeparam A - The type of action the document can take.
|
|
9
9
|
*/
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
export class BaseDocumentClass {
|
|
11
|
+
_document;
|
|
12
|
+
_reducer;
|
|
13
|
+
_signalDispatch;
|
|
14
14
|
/**
|
|
15
15
|
* Constructs a BaseDocument instance with an initial state.
|
|
16
16
|
* @param reducer - The reducer function that updates the state.
|
|
17
17
|
* @param document - The initial state of the document.
|
|
18
18
|
*/
|
|
19
|
-
constructor(reducer
|
|
19
|
+
constructor(reducer, document, signalDispatch) {
|
|
20
|
+
this._reducer = reducer;
|
|
21
|
+
this._document = document;
|
|
22
|
+
this._signalDispatch = signalDispatch;
|
|
23
|
+
}
|
|
20
24
|
/**
|
|
21
25
|
* Dispatches an action to update the state of the document.
|
|
22
26
|
* @param action - The action to dispatch.
|
|
23
27
|
* @returns The Document instance.
|
|
24
28
|
*/
|
|
25
|
-
|
|
29
|
+
dispatch(action, options) {
|
|
30
|
+
this._document = this._reducer(this._document, action, this._signalDispatch, options);
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
26
33
|
/**
|
|
27
34
|
* Saves the state of the document to a file.
|
|
28
35
|
* @param path - The file path where the state should be saved.
|
|
29
36
|
* @param extension - The file extension to use when saving the state.
|
|
30
37
|
* @returns The file path where the state was saved.
|
|
31
38
|
*/
|
|
32
|
-
|
|
39
|
+
saveToFile(path, extension, name) {
|
|
40
|
+
return baseSaveToFile(this._document, path, extension, name);
|
|
41
|
+
}
|
|
33
42
|
/**
|
|
34
43
|
* Loads the state of the document from a file.
|
|
35
44
|
* @param path - The file path where the state is stored.
|
|
36
45
|
*/
|
|
37
|
-
loadFromFile(path
|
|
46
|
+
async loadFromFile(path) {
|
|
47
|
+
this._document = await baseLoadFromFile(path, this._reducer);
|
|
48
|
+
}
|
|
38
49
|
/**
|
|
39
50
|
* Loads the state of the document from a file and returns it.
|
|
40
51
|
* @param path - The file path where the state is stored.
|
|
41
52
|
* @param reducer - The reducer function that updates the state.
|
|
42
53
|
* @returns The state of the document.
|
|
43
54
|
*/
|
|
44
|
-
|
|
55
|
+
static async stateFromFile(path, reducer) {
|
|
56
|
+
const state = await baseLoadFromFile(path, reducer);
|
|
57
|
+
return state;
|
|
58
|
+
}
|
|
45
59
|
/**
|
|
46
60
|
* Gets the current state of the document.
|
|
47
61
|
*/
|
|
48
|
-
get state()
|
|
62
|
+
get state() {
|
|
63
|
+
return readOnly(this._document.state);
|
|
64
|
+
}
|
|
49
65
|
/**
|
|
50
66
|
* Gets the list of operations performed on the document.
|
|
51
67
|
*/
|
|
52
|
-
get operations()
|
|
68
|
+
get operations() {
|
|
69
|
+
return readOnly(this._document.operations);
|
|
70
|
+
}
|
|
53
71
|
/**
|
|
54
72
|
* Gets the name of the document.
|
|
55
73
|
*/
|
|
56
|
-
get name()
|
|
74
|
+
get name() {
|
|
75
|
+
return this._document.name;
|
|
76
|
+
}
|
|
57
77
|
/**
|
|
58
78
|
* Gets the type of document.
|
|
59
79
|
*/
|
|
60
|
-
get documentType()
|
|
80
|
+
get documentType() {
|
|
81
|
+
return this._document.documentType;
|
|
82
|
+
}
|
|
61
83
|
/**
|
|
62
84
|
* Gets the timestamp of the date the document was created.
|
|
63
85
|
*/
|
|
64
|
-
get created()
|
|
86
|
+
get created() {
|
|
87
|
+
return this._document.created;
|
|
88
|
+
}
|
|
65
89
|
/**
|
|
66
90
|
* Gets the timestamp of the date the document was last modified.
|
|
67
91
|
*/
|
|
68
|
-
get lastModified()
|
|
92
|
+
get lastModified() {
|
|
93
|
+
return this._document.lastModified;
|
|
94
|
+
}
|
|
69
95
|
/**
|
|
70
96
|
* Gets the global revision number of the document.
|
|
71
97
|
*/
|
|
72
|
-
get revision()
|
|
73
|
-
|
|
98
|
+
get revision() {
|
|
99
|
+
return this._document.revision.global;
|
|
100
|
+
}
|
|
101
|
+
getRevision(scope) {
|
|
102
|
+
return this._document.revision[scope];
|
|
103
|
+
}
|
|
74
104
|
/**
|
|
75
105
|
* Gets the initial state of the document.
|
|
76
106
|
*/
|
|
77
|
-
get initialState()
|
|
107
|
+
get initialState() {
|
|
108
|
+
return readOnly(this._document.initialState);
|
|
109
|
+
}
|
|
78
110
|
/**
|
|
79
111
|
* Returns the current document as an object
|
|
80
112
|
*/
|
|
81
|
-
toDocument()
|
|
113
|
+
toDocument() {
|
|
114
|
+
return readOnly(this._document);
|
|
115
|
+
}
|
|
82
116
|
/**
|
|
83
117
|
* Gets the attachment associated with the given key.
|
|
84
118
|
* @param attachment - The key of the attachment to retrieve.
|
|
85
119
|
*/
|
|
86
|
-
getAttachment(attachment
|
|
120
|
+
getAttachment(attachment) {
|
|
121
|
+
return this._document.attachments?.[attachment];
|
|
122
|
+
}
|
|
87
123
|
/**
|
|
88
124
|
* Sets the name of the document.
|
|
89
125
|
* @param name - The new name of the document.
|
|
90
126
|
*/
|
|
91
|
-
setName(name
|
|
127
|
+
setName(name) {
|
|
128
|
+
this.dispatch(setName(name));
|
|
129
|
+
return this;
|
|
130
|
+
}
|
|
92
131
|
/**
|
|
93
132
|
* Reverts a number of actions from the document.
|
|
94
133
|
* @param count - The number of actions to revert.
|
|
95
134
|
*/
|
|
96
|
-
undo(count
|
|
135
|
+
undo(count) {
|
|
136
|
+
this.dispatch(undo(count));
|
|
137
|
+
return this;
|
|
138
|
+
}
|
|
97
139
|
/**
|
|
98
140
|
* Reapplies a number of actions to the document.
|
|
99
141
|
* @param count - The number of actions to reapply.
|
|
100
142
|
*/
|
|
101
|
-
redo(count
|
|
143
|
+
redo(count) {
|
|
144
|
+
this.dispatch(redo(count));
|
|
145
|
+
return this;
|
|
146
|
+
}
|
|
102
147
|
/**
|
|
103
148
|
* Removes a range of operations from the document.
|
|
104
149
|
* @param start - The starting index of the range to remove.
|
|
105
150
|
* @param end - The ending index of the range to remove.
|
|
106
151
|
*/
|
|
107
|
-
prune(start
|
|
152
|
+
prune(start, end) {
|
|
153
|
+
this.dispatch(prune(start, end));
|
|
154
|
+
return this;
|
|
155
|
+
}
|
|
108
156
|
/**
|
|
109
157
|
* Loads a document state and a set of operations.
|
|
110
158
|
* @param state - The state to load.
|
|
111
159
|
* @param operations - The operations to apply to the document.
|
|
112
160
|
*/
|
|
113
|
-
loadState(state
|
|
161
|
+
loadState(state, operations) {
|
|
162
|
+
this.dispatch(loadState(state, operations));
|
|
163
|
+
return this;
|
|
164
|
+
}
|
|
114
165
|
}
|
|
115
166
|
/**
|
|
116
167
|
* Applies multiple mixins to a base class.
|
|
@@ -122,5 +173,16 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
|
|
|
122
173
|
* @param derivedCtor - The class to apply the mixins to.
|
|
123
174
|
* @param constructors - The constructors of the mixins.
|
|
124
175
|
*/
|
|
125
|
-
export
|
|
126
|
-
|
|
176
|
+
export function applyMixins(derivedCtor, constructors) {
|
|
177
|
+
constructors.forEach((baseCtor) => {
|
|
178
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
179
|
+
Object.getOwnPropertyNames(baseCtor.prototype).forEach((name) => {
|
|
180
|
+
Object.defineProperty(
|
|
181
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
182
|
+
derivedCtor.prototype, name,
|
|
183
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
|
|
184
|
+
Object.getOwnPropertyDescriptor(baseCtor.prototype, name) ||
|
|
185
|
+
Object.create(null));
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
}
|