document-model 4.1.0-dev.56 → 4.1.0-dev.58
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 +4 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -14
- package/dist/index.js.map +1 -1
- package/dist/src/document/actions/constants.d.ts +7 -0
- package/dist/src/document/actions/constants.d.ts.map +1 -0
- package/dist/src/document/actions/constants.js +7 -0
- package/dist/src/document/actions/constants.js.map +1 -0
- package/dist/src/document/actions/create-action.d.ts +25 -0
- package/dist/src/document/actions/create-action.d.ts.map +1 -0
- package/dist/src/document/actions/create-action.js +48 -0
- package/dist/src/document/actions/create-action.js.map +1 -0
- package/dist/src/document/actions/creators.d.ts +2 -4
- package/dist/src/document/actions/creators.d.ts.map +1 -1
- package/dist/src/document/actions/creators.js +1 -2
- package/dist/src/document/actions/creators.js.map +1 -1
- package/dist/src/document/actions/index.d.ts +5 -0
- package/dist/src/document/actions/index.d.ts.map +1 -0
- package/dist/src/document/actions/index.js +5 -0
- package/dist/src/document/actions/index.js.map +1 -0
- package/dist/src/document/actions/operations.d.ts +3 -5
- package/dist/src/document/actions/operations.d.ts.map +1 -1
- package/dist/src/document/actions/operations.js +1 -3
- package/dist/src/document/actions/operations.js.map +1 -1
- package/dist/src/document/actions/types.d.ts +1 -8
- package/dist/src/document/actions/types.d.ts.map +1 -1
- package/dist/src/document/actions/types.js +1 -6
- package/dist/src/document/actions/types.js.map +1 -1
- package/dist/src/document/index.d.ts +6 -0
- package/dist/src/document/index.d.ts.map +1 -0
- package/dist/src/document/index.js +6 -0
- package/dist/src/document/index.js.map +1 -0
- package/dist/src/document/ph-factories.d.ts +1 -2
- package/dist/src/document/ph-factories.d.ts.map +1 -1
- package/dist/src/document/ph-factories.js +1 -1
- package/dist/src/document/ph-factories.js.map +1 -1
- package/dist/src/document/reducer.d.ts +20 -12
- package/dist/src/document/reducer.d.ts.map +1 -1
- package/dist/src/document/reducer.js +28 -44
- package/dist/src/document/reducer.js.map +1 -1
- package/dist/src/document/schema/index.d.ts +2 -0
- package/dist/src/document/schema/index.d.ts.map +1 -0
- package/dist/src/document/schema/index.js +2 -0
- package/dist/src/document/schema/index.js.map +1 -0
- package/dist/src/document/schema/types.d.ts +14 -34
- package/dist/src/document/schema/types.d.ts.map +1 -1
- package/dist/src/document/schema/zod.d.ts +42 -43
- package/dist/src/document/schema/zod.d.ts.map +1 -1
- package/dist/src/document/schema/zod.js +0 -6
- package/dist/src/document/schema/zod.js.map +1 -1
- package/dist/src/document/types.d.ts +8 -14
- package/dist/src/document/types.d.ts.map +1 -1
- package/dist/src/document/types.js +4 -1
- package/dist/src/document/types.js.map +1 -1
- package/dist/src/document/utils/base.d.ts +2 -48
- package/dist/src/document/utils/base.d.ts.map +1 -1
- package/dist/src/document/utils/base.js +9 -95
- package/dist/src/document/utils/base.js.map +1 -1
- package/dist/src/document/utils/browser.d.ts +6 -6
- package/dist/src/document/utils/browser.d.ts.map +1 -1
- package/dist/src/document/utils/browser.js +7 -8
- package/dist/src/document/utils/browser.js.map +1 -1
- package/dist/src/document/utils/crypto.d.ts +2 -3
- package/dist/src/document/utils/crypto.d.ts.map +1 -1
- package/dist/src/document/utils/crypto.js +4 -10
- package/dist/src/document/utils/crypto.js.map +1 -1
- package/dist/src/document/utils/document-helpers.d.ts +2 -2
- package/dist/src/document/utils/document-helpers.d.ts.map +1 -1
- package/dist/src/document/utils/document-helpers.js +0 -2
- package/dist/src/document/utils/document-helpers.js.map +1 -1
- package/dist/src/document/utils/file.d.ts +2 -48
- package/dist/src/document/utils/file.d.ts.map +1 -1
- package/dist/src/document/utils/file.js +1 -103
- package/dist/src/document/utils/file.js.map +1 -1
- package/dist/src/document/utils/header.d.ts +2 -2
- package/dist/src/document/utils/header.d.ts.map +1 -1
- package/dist/src/document/utils/header.js +6 -19
- package/dist/src/document/utils/header.js.map +1 -1
- package/dist/src/document/utils/index.d.ts +11 -0
- package/dist/src/document/utils/index.d.ts.map +1 -0
- package/dist/src/document/utils/index.js +11 -0
- package/dist/src/document/utils/index.js.map +1 -0
- package/dist/src/document/utils/node.d.ts +48 -6
- package/dist/src/document/utils/node.d.ts.map +1 -1
- package/dist/src/document/utils/node.js +90 -9
- package/dist/src/document/utils/node.js.map +1 -1
- package/dist/src/document/utils/revisions.d.ts +12 -0
- package/dist/src/document/utils/revisions.d.ts.map +1 -0
- package/dist/src/document/utils/revisions.js +42 -0
- package/dist/src/document/utils/revisions.js.map +1 -0
- package/dist/src/document/utils/validation.d.ts +1 -1
- package/dist/src/document/utils/validation.d.ts.map +1 -1
- package/dist/src/document/utils/zip.d.ts +4 -0
- package/dist/src/document/utils/zip.d.ts.map +1 -0
- package/dist/src/document/utils/zip.js +26 -0
- package/dist/src/document/utils/zip.js.map +1 -0
- package/dist/src/document-model/custom/index.d.ts +3 -0
- package/dist/src/document-model/custom/index.d.ts.map +1 -0
- package/dist/src/document-model/custom/index.js +3 -0
- package/dist/src/document-model/custom/index.js.map +1 -0
- package/dist/src/document-model/custom/reducers/header.d.ts +2 -2
- package/dist/src/document-model/custom/reducers/header.d.ts.map +1 -1
- package/dist/src/document-model/custom/reducers/header.js +1 -1
- package/dist/src/document-model/custom/reducers/header.js.map +1 -1
- package/dist/src/document-model/custom/reducers/index.d.ts +8 -0
- package/dist/src/document-model/custom/reducers/index.d.ts.map +1 -0
- package/dist/src/document-model/custom/reducers/index.js +8 -0
- package/dist/src/document-model/custom/reducers/index.js.map +1 -0
- package/dist/src/document-model/custom/reducers/module.d.ts +2 -2
- package/dist/src/document-model/custom/reducers/module.d.ts.map +1 -1
- package/dist/src/document-model/custom/reducers/module.js +1 -1
- package/dist/src/document-model/custom/reducers/module.js.map +1 -1
- package/dist/src/document-model/custom/reducers/operation-error.d.ts +2 -2
- package/dist/src/document-model/custom/reducers/operation-error.d.ts.map +1 -1
- package/dist/src/document-model/custom/reducers/operation-error.js +9 -5
- package/dist/src/document-model/custom/reducers/operation-error.js.map +1 -1
- package/dist/src/document-model/custom/reducers/operation-example.d.ts +2 -2
- package/dist/src/document-model/custom/reducers/operation-example.d.ts.map +1 -1
- package/dist/src/document-model/custom/reducers/operation-example.js +1 -1
- package/dist/src/document-model/custom/reducers/operation-example.js.map +1 -1
- package/dist/src/document-model/custom/reducers/operation.d.ts +2 -2
- package/dist/src/document-model/custom/reducers/operation.d.ts.map +1 -1
- package/dist/src/document-model/custom/reducers/operation.js +1 -1
- package/dist/src/document-model/custom/reducers/operation.js.map +1 -1
- package/dist/src/document-model/custom/reducers/state.d.ts +2 -2
- package/dist/src/document-model/custom/reducers/state.d.ts.map +1 -1
- package/dist/src/document-model/custom/reducers/state.js +1 -1
- package/dist/src/document-model/custom/reducers/state.js.map +1 -1
- package/dist/src/document-model/custom/reducers/versioning.d.ts +2 -2
- package/dist/src/document-model/custom/reducers/versioning.d.ts.map +1 -1
- package/dist/src/document-model/custom/reducers/versioning.js +1 -1
- package/dist/src/document-model/custom/reducers/versioning.js.map +1 -1
- package/dist/src/document-model/custom/utils.d.ts +4 -5
- package/dist/src/document-model/custom/utils.d.ts.map +1 -1
- package/dist/src/document-model/custom/utils.js.map +1 -1
- package/dist/src/document-model/gen/actions.d.ts +1 -14
- package/dist/src/document-model/gen/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/actions.js +1 -7
- package/dist/src/document-model/gen/actions.js.map +1 -1
- package/dist/src/document-model/gen/constants.d.ts +3 -3
- package/dist/src/document-model/gen/constants.d.ts.map +1 -1
- package/dist/src/document-model/gen/constants.js +1 -1
- package/dist/src/document-model/gen/constants.js.map +1 -1
- package/dist/src/document-model/gen/document-model.d.ts +2 -2
- package/dist/src/document-model/gen/document-model.d.ts.map +1 -1
- package/dist/src/document-model/gen/document-model.js +1 -1
- package/dist/src/document-model/gen/document-model.js.map +1 -1
- package/dist/src/document-model/gen/header/actions.d.ts +1 -2
- package/dist/src/document-model/gen/header/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/header/creators.d.ts +1 -2
- package/dist/src/document-model/gen/header/creators.d.ts.map +1 -1
- package/dist/src/document-model/gen/header/creators.js +7 -8
- package/dist/src/document-model/gen/header/creators.js.map +1 -1
- package/dist/src/document-model/gen/header/index.d.ts +2 -0
- package/dist/src/document-model/gen/header/index.d.ts.map +1 -0
- package/dist/src/document-model/gen/header/index.js +2 -0
- package/dist/src/document-model/gen/header/index.js.map +1 -0
- package/dist/src/document-model/gen/header/operations.d.ts +7 -8
- package/dist/src/document-model/gen/header/operations.d.ts.map +1 -1
- package/dist/src/document-model/gen/header/types.d.ts +3 -0
- package/dist/src/document-model/gen/header/types.d.ts.map +1 -0
- package/dist/src/document-model/gen/header/types.js +3 -0
- package/dist/src/document-model/gen/header/types.js.map +1 -0
- package/dist/src/document-model/gen/index.d.ts +12 -0
- package/dist/src/document-model/gen/index.d.ts.map +1 -0
- package/dist/src/document-model/gen/index.js +12 -0
- package/dist/src/document-model/gen/index.js.map +1 -0
- package/dist/src/document-model/gen/module/actions.d.ts +1 -2
- package/dist/src/document-model/gen/module/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/module/creators.d.ts +1 -2
- package/dist/src/document-model/gen/module/creators.d.ts.map +1 -1
- package/dist/src/document-model/gen/module/creators.js +6 -7
- package/dist/src/document-model/gen/module/creators.js.map +1 -1
- package/dist/src/document-model/gen/module/index.d.ts +2 -0
- package/dist/src/document-model/gen/module/index.d.ts.map +1 -0
- package/dist/src/document-model/gen/module/index.js +2 -0
- package/dist/src/document-model/gen/module/index.js.map +1 -0
- package/dist/src/document-model/gen/module/operations.d.ts +7 -7
- package/dist/src/document-model/gen/module/operations.d.ts.map +1 -1
- package/dist/src/document-model/gen/module/types.d.ts +3 -0
- package/dist/src/document-model/gen/module/types.d.ts.map +1 -0
- package/dist/src/document-model/gen/module/types.js +3 -0
- package/dist/src/document-model/gen/module/types.js.map +1 -0
- package/dist/src/document-model/gen/operation/actions.d.ts +1 -2
- package/dist/src/document-model/gen/operation/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation/creators.d.ts +1 -2
- package/dist/src/document-model/gen/operation/creators.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation/creators.js +11 -12
- package/dist/src/document-model/gen/operation/creators.js.map +1 -1
- package/dist/src/document-model/gen/operation/index.d.ts +2 -0
- package/dist/src/document-model/gen/operation/index.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation/index.js +2 -0
- package/dist/src/document-model/gen/operation/index.js.map +1 -0
- package/dist/src/document-model/gen/operation/types.d.ts +15 -0
- package/dist/src/document-model/gen/operation/types.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation/types.js +2 -0
- package/dist/src/document-model/gen/operation/types.js.map +1 -0
- package/dist/src/document-model/gen/operation-error/actions.d.ts +1 -2
- package/dist/src/document-model/gen/operation-error/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation-error/creators.d.ts +1 -2
- package/dist/src/document-model/gen/operation-error/creators.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation-error/creators.js +8 -9
- package/dist/src/document-model/gen/operation-error/creators.js.map +1 -1
- package/dist/src/document-model/gen/operation-error/index.d.ts +2 -0
- package/dist/src/document-model/gen/operation-error/index.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation-error/index.js +2 -0
- package/dist/src/document-model/gen/operation-error/index.js.map +1 -0
- package/dist/src/document-model/gen/operation-error/operations.d.ts +9 -9
- package/dist/src/document-model/gen/operation-error/operations.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation-error/types.d.ts +3 -0
- package/dist/src/document-model/gen/operation-error/types.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation-error/types.js +3 -0
- package/dist/src/document-model/gen/operation-error/types.js.map +1 -0
- package/dist/src/document-model/gen/operation-example/actions.d.ts +1 -2
- package/dist/src/document-model/gen/operation-example/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation-example/creators.d.ts +1 -2
- package/dist/src/document-model/gen/operation-example/creators.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation-example/creators.js +5 -6
- package/dist/src/document-model/gen/operation-example/creators.js.map +1 -1
- package/dist/src/document-model/gen/operation-example/index.d.ts +2 -0
- package/dist/src/document-model/gen/operation-example/index.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation-example/index.js +2 -0
- package/dist/src/document-model/gen/operation-example/index.js.map +1 -0
- package/dist/src/document-model/gen/operation-example/operations.d.ts +5 -6
- package/dist/src/document-model/gen/operation-example/operations.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation-example/types.d.ts +3 -0
- package/dist/src/document-model/gen/operation-example/types.d.ts.map +1 -0
- package/dist/src/document-model/gen/operation-example/types.js +3 -0
- package/dist/src/document-model/gen/operation-example/types.js.map +1 -0
- package/dist/src/document-model/gen/ph-factories.d.ts +7 -16
- package/dist/src/document-model/gen/ph-factories.d.ts.map +1 -1
- package/dist/src/document-model/gen/ph-factories.js +3 -4
- package/dist/src/document-model/gen/ph-factories.js.map +1 -1
- package/dist/src/document-model/gen/reducer.d.ts +3 -4
- package/dist/src/document-model/gen/reducer.d.ts.map +1 -1
- package/dist/src/document-model/gen/reducer.js +47 -54
- package/dist/src/document-model/gen/reducer.js.map +1 -1
- package/dist/src/document-model/gen/schema/index.d.ts +2 -2
- package/dist/src/document-model/gen/schema/index.d.ts.map +1 -1
- package/dist/src/document-model/gen/schema/index.js +2 -2
- package/dist/src/document-model/gen/schema/index.js.map +1 -1
- package/dist/src/document-model/gen/schema/types.d.ts +58 -102
- package/dist/src/document-model/gen/schema/types.d.ts.map +1 -1
- package/dist/src/document-model/gen/schema/zod.d.ts +200 -204
- package/dist/src/document-model/gen/schema/zod.d.ts.map +1 -1
- package/dist/src/document-model/gen/schema/zod.js +8 -14
- package/dist/src/document-model/gen/schema/zod.js.map +1 -1
- package/dist/src/document-model/gen/state/actions.d.ts +1 -2
- package/dist/src/document-model/gen/state/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/state/creators.d.ts +1 -2
- package/dist/src/document-model/gen/state/creators.d.ts.map +1 -1
- package/dist/src/document-model/gen/state/creators.js +7 -8
- package/dist/src/document-model/gen/state/creators.js.map +1 -1
- package/dist/src/document-model/gen/state/index.d.ts +2 -0
- package/dist/src/document-model/gen/state/index.d.ts.map +1 -0
- package/dist/src/document-model/gen/state/index.js +2 -0
- package/dist/src/document-model/gen/state/index.js.map +1 -0
- package/dist/src/document-model/gen/state/operations.d.ts +7 -8
- package/dist/src/document-model/gen/state/operations.d.ts.map +1 -1
- package/dist/src/document-model/gen/state/types.d.ts +3 -0
- package/dist/src/document-model/gen/state/types.d.ts.map +1 -0
- package/dist/src/document-model/gen/state/types.js +3 -0
- package/dist/src/document-model/gen/state/types.js.map +1 -0
- package/dist/src/document-model/gen/types.d.ts +9 -6
- package/dist/src/document-model/gen/types.d.ts.map +1 -1
- package/dist/src/document-model/gen/types.js +9 -1
- package/dist/src/document-model/gen/types.js.map +1 -1
- package/dist/src/document-model/gen/utils.d.ts +5 -9
- package/dist/src/document-model/gen/utils.d.ts.map +1 -1
- package/dist/src/document-model/gen/utils.js +11 -19
- package/dist/src/document-model/gen/utils.js.map +1 -1
- package/dist/src/document-model/gen/versioning/actions.d.ts +1 -2
- package/dist/src/document-model/gen/versioning/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/versioning/creators.d.ts +1 -2
- package/dist/src/document-model/gen/versioning/creators.d.ts.map +1 -1
- package/dist/src/document-model/gen/versioning/creators.js +5 -6
- package/dist/src/document-model/gen/versioning/creators.js.map +1 -1
- package/dist/src/document-model/gen/versioning/index.d.ts +2 -0
- package/dist/src/document-model/gen/versioning/index.d.ts.map +1 -0
- package/dist/src/document-model/gen/versioning/index.js +2 -0
- package/dist/src/document-model/gen/versioning/index.js.map +1 -0
- package/dist/src/document-model/gen/versioning/operations.d.ts +6 -7
- package/dist/src/document-model/gen/versioning/operations.d.ts.map +1 -1
- package/dist/src/document-model/gen/versioning/types.d.ts +3 -0
- package/dist/src/document-model/gen/versioning/types.d.ts.map +1 -0
- package/dist/src/document-model/gen/versioning/types.js +3 -0
- package/dist/src/document-model/gen/versioning/types.js.map +1 -0
- package/dist/src/document-model/index.d.ts +4 -0
- package/dist/src/document-model/index.d.ts.map +1 -0
- package/dist/src/document-model/index.js +4 -0
- package/dist/src/document-model/index.js.map +1 -0
- package/dist/src/document-model/module.d.ts.map +1 -1
- package/dist/src/document-model/module.js +14 -8
- package/dist/src/document-model/module.js.map +1 -1
- package/dist/src/document-model/types.d.ts +3 -2
- package/dist/src/document-model/types.d.ts.map +1 -1
- package/dist/src/document-model/types.js +1 -1
- package/dist/src/document-model/types.js.map +1 -1
- package/dist/test/document/crypto.test.js +4 -8
- package/dist/test/document/crypto.test.js.map +1 -1
- package/dist/test/document/event-vs-command.test.js +2 -2
- package/dist/test/document/event-vs-command.test.js.map +1 -1
- package/dist/test/document/local.test.js +2 -3
- package/dist/test/document/local.test.js.map +1 -1
- package/dist/test/document/operation-id.test.js +3 -4
- package/dist/test/document/operation-id.test.js.map +1 -1
- package/dist/test/document/prune.test.js +11 -12
- package/dist/test/document/prune.test.js.map +1 -1
- package/dist/test/document/reducer.test.js +7 -10
- package/dist/test/document/reducer.test.js.map +1 -1
- package/dist/test/document/skip-operations.test.js +9 -10
- package/dist/test/document/skip-operations.test.js.map +1 -1
- package/dist/test/document/undo-redo.test.js +5 -7
- package/dist/test/document/undo-redo.test.js.map +1 -1
- package/dist/test/document/utils.test.js +5 -8
- package/dist/test/document/utils.test.js.map +1 -1
- package/dist/test/document-helpers/addUndo.test.js +1 -1
- package/dist/test/document-helpers/addUndo.test.js.map +1 -1
- package/dist/test/document-helpers/attachBranch.test.js +1 -1
- package/dist/test/document-helpers/attachBranch.test.js.map +1 -1
- package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js +1 -1
- package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js.map +1 -1
- package/dist/test/document-helpers/conflictResolution.test.js +1 -1
- package/dist/test/document-helpers/conflictResolution.test.js.map +1 -1
- package/dist/test/document-helpers/filterDuplicatedOperations.test.js +1 -1
- package/dist/test/document-helpers/filterDuplicatedOperations.test.js.map +1 -1
- package/dist/test/document-helpers/garbageCollect.test.js +1 -1
- package/dist/test/document-helpers/garbageCollect.test.js.map +1 -1
- package/dist/test/document-helpers/groupOperationsByScope.test.js +2 -2
- package/dist/test/document-helpers/groupOperationsByScope.test.js.map +1 -1
- package/dist/test/document-helpers/merge.test.js +1 -1
- package/dist/test/document-helpers/merge.test.js.map +1 -1
- package/dist/test/document-helpers/nextSkipNumber.test.js +1 -1
- package/dist/test/document-helpers/nextSkipNumber.test.js.map +1 -1
- package/dist/test/document-helpers/prepareOperations.test.js +1 -1
- package/dist/test/document-helpers/prepareOperations.test.js.map +1 -1
- package/dist/test/document-helpers/removeExistingOperations.test.js +2 -3
- package/dist/test/document-helpers/removeExistingOperations.test.js.map +1 -1
- package/dist/test/document-helpers/reshuffleByTimestamp.test.js +1 -1
- package/dist/test/document-helpers/reshuffleByTimestamp.test.js.map +1 -1
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +1 -1
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js.map +1 -1
- package/dist/test/document-helpers/skipHeaderOperations.test.js +1 -1
- package/dist/test/document-helpers/skipHeaderOperations.test.js.map +1 -1
- package/dist/test/document-helpers/sortOperations.test.js +1 -1
- package/dist/test/document-helpers/sortOperations.test.js.map +1 -1
- package/dist/test/document-helpers/split.test.js +1 -1
- package/dist/test/document-helpers/split.test.js.map +1 -1
- package/dist/test/document-helpers/utils.d.ts +1 -1
- package/dist/test/document-helpers/utils.d.ts.map +1 -1
- package/dist/test/document-helpers/utils.js +1 -1
- package/dist/test/document-helpers/utils.js.map +1 -1
- package/dist/test/document-model/replay.test.js +2 -3
- package/dist/test/document-model/replay.test.js.map +1 -1
- package/dist/test/document-model/skip-operations.test.js +92 -95
- package/dist/test/document-model/skip-operations.test.js.map +1 -1
- package/dist/test/document-model/validation.test.js +16 -28
- package/dist/test/document-model/validation.test.js.map +1 -1
- package/dist/test/document-model/zip.test.js +17 -19
- package/dist/test/document-model/zip.test.js.map +1 -1
- package/dist/test/helpers.d.ts +8 -5
- package/dist/test/helpers.d.ts.map +1 -1
- package/dist/test/helpers.js +3 -5
- package/dist/test/helpers.js.map +1 -1
- package/dist/test/index.d.ts +3 -0
- package/dist/test/index.d.ts.map +1 -0
- package/dist/test/index.js +3 -0
- package/dist/test/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vitest.config.d.ts +1 -1
- package/dist/vitest.config.d.ts.map +1 -1
- package/dist/vitest.config.js +2 -11
- package/dist/vitest.config.js.map +1 -1
- package/package.json +20 -24
- package/dist/src/document/object.d.ts +0 -125
- package/dist/src/document/object.d.ts.map +0 -1
- package/dist/src/document/object.js +0 -183
- package/dist/src/document/object.js.map +0 -1
- package/dist/src/document-model/gen/header/object.d.ts +0 -13
- package/dist/src/document-model/gen/header/object.d.ts.map +0 -1
- package/dist/src/document-model/gen/header/object.js +0 -23
- package/dist/src/document-model/gen/header/object.js.map +0 -1
- package/dist/src/document-model/gen/module/object.d.ts +0 -12
- package/dist/src/document-model/gen/module/object.d.ts.map +0 -1
- package/dist/src/document-model/gen/module/object.js +0 -20
- package/dist/src/document-model/gen/module/object.js.map +0 -1
- package/dist/src/document-model/gen/object.d.ts +0 -28
- package/dist/src/document-model/gen/object.d.ts.map +0 -1
- package/dist/src/document-model/gen/object.js +0 -46
- package/dist/src/document-model/gen/object.js.map +0 -1
- package/dist/src/document-model/gen/operation/object.d.ts +0 -17
- package/dist/src/document-model/gen/operation/object.d.ts.map +0 -1
- package/dist/src/document-model/gen/operation/object.js +0 -35
- package/dist/src/document-model/gen/operation/object.js.map +0 -1
- package/dist/src/document-model/gen/operation/operations.d.ts +0 -15
- package/dist/src/document-model/gen/operation/operations.d.ts.map +0 -1
- package/dist/src/document-model/gen/operation/operations.js +0 -2
- package/dist/src/document-model/gen/operation/operations.js.map +0 -1
- package/dist/src/document-model/gen/operation-error/object.d.ts +0 -14
- package/dist/src/document-model/gen/operation-error/object.d.ts.map +0 -1
- package/dist/src/document-model/gen/operation-error/object.js +0 -26
- package/dist/src/document-model/gen/operation-error/object.js.map +0 -1
- package/dist/src/document-model/gen/operation-example/object.d.ts +0 -11
- package/dist/src/document-model/gen/operation-example/object.d.ts.map +0 -1
- package/dist/src/document-model/gen/operation-example/object.js +0 -17
- package/dist/src/document-model/gen/operation-example/object.js.map +0 -1
- package/dist/src/document-model/gen/state/object.d.ts +0 -13
- package/dist/src/document-model/gen/state/object.d.ts.map +0 -1
- package/dist/src/document-model/gen/state/object.js +0 -23
- package/dist/src/document-model/gen/state/object.js.map +0 -1
- package/dist/src/document-model/gen/versioning/object.d.ts +0 -12
- package/dist/src/document-model/gen/versioning/object.d.ts.map +0 -1
- package/dist/src/document-model/gen/versioning/object.js +0 -20
- package/dist/src/document-model/gen/versioning/object.js.map +0 -1
- package/dist/test/document/object.test.d.ts +0 -2
- package/dist/test/document/object.test.d.ts.map +0 -1
- package/dist/test/document/object.test.js +0 -13
- package/dist/test/document/object.test.js.map +0 -1
- package/dist/test/document-model/object.test.d.ts +0 -2
- package/dist/test/document-model/object.test.d.ts.map +0 -1
- package/dist/test/document-model/object.test.js +0 -243
- package/dist/test/document-model/object.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/document/utils/file.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/document/utils/file.ts"],"names":[],"mappings":"AASA,OAAO,EACL,SAAS,EACT,gCAAgC,EAChC,cAAc,EACd,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAoB,EACpB,KAA2B;IAE3B,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;IAC9C,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAgB,EAChB,OAAwB,EACxB,OAA+B;IAE/B,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IACxB,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,GAAU,EACV,OAAwB,EACxB,OAA+B;IAE/B,MAAM,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAW,CAAC;IAE3D,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,MAAM,GAAiC,SAAS,CAAC;IACrD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAqB,CAAC;IAC3E,CAAC;IAED,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAC3B,MAAM,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CACd,CAAC;IAExB,MAAM,iBAAiB,GAAG,gCAAgC,CAAC,UAAU,CAAC,CAAC;IAEvE,MAAM,eAAe,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAC9D,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,0FAA0F;IAC1F,0FAA0F;IAC1F,+DAA+D;IAC/D,IAAI,MAAM,GAAG,cAAc,CACzB,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,MAAM,EACN,EAAE,EACF,OAAO,CACR,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,GAAG;YACP,GAAG,MAAM;YACT,MAAM;SACP,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PHDocumentHeader } from "
|
|
1
|
+
import type { PHDocumentHeader } from "document-model";
|
|
2
2
|
/**
|
|
3
3
|
* Parameters used in a document signature.
|
|
4
4
|
*/
|
|
@@ -73,7 +73,7 @@ export declare const validateHeader: (header: PHDocumentHeader) => Promise<void>
|
|
|
73
73
|
*
|
|
74
74
|
* @returns An unsigned header for a document.
|
|
75
75
|
*/
|
|
76
|
-
export declare const
|
|
76
|
+
export declare const createPresignedHeader: (id?: string, documentType?: string) => PHDocumentHeader;
|
|
77
77
|
/**
|
|
78
78
|
* Creates a new, signed header for a document. This will replace the id of the
|
|
79
79
|
* document.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/document/utils/header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/document/utils/header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,mCAAmC;IACnC,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAEjC;;;;;;OAMG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAEhD;;;;;OAKG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE;AAQD;;GAEG;AACH,qBAAa,eAAgB,YAAW,OAAO;;IAG7C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACvD,SAAS,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,CAAC;gBAErC,SAAS,EAAE,UAAU;IAW3B,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAIhC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAI3C,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CA+BrE;AAeD;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,GACf,YAAY,iBAAiB,EAC7B,QAAQ,OAAO,KACd,OAAO,CAAC,MAAM,CAehB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,GACjB,YAAY,iBAAiB,EAC7B,WAAW,MAAM,EACjB,QAAQ,OAAO,KACd,OAAO,CAAC,IAAI,CAcd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GACzB,QAAQ,gBAAgB,KACvB,OAAO,CAAC,IAAI,CAYd,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,KAAI,MAA8B,EAClC,qBAAiB,KAChB,gBAkBF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,gBAAgB,gBAAgB,EAChC,cAAc,MAAM,EACpB,QAAQ,OAAO,KACd,OAAO,CAAC,gBAAgB,CA8B1B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,GACtC,cAAc,MAAM,EACpB,QAAQ,OAAO,KACd,OAAO,CAAC,gBAAgB,CAS1B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { generateUUIDBrowser } from "document-model";
|
|
2
2
|
/**
|
|
3
3
|
* Generates a deterministic payload from signing parameters
|
|
4
4
|
*/
|
|
@@ -16,20 +16,7 @@ export class PublicKeySigner {
|
|
|
16
16
|
}
|
|
17
17
|
#initCrypto() {
|
|
18
18
|
return new Promise((resolve, reject) => {
|
|
19
|
-
|
|
20
|
-
import("node:crypto")
|
|
21
|
-
.then((module) => {
|
|
22
|
-
resolve(module.webcrypto.subtle);
|
|
23
|
-
})
|
|
24
|
-
.catch(reject);
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
28
|
-
if (!window.crypto?.subtle) {
|
|
29
|
-
reject(new Error("Crypto module not available"));
|
|
30
|
-
}
|
|
31
|
-
resolve(window.crypto.subtle);
|
|
32
|
-
}
|
|
19
|
+
resolve(crypto.subtle);
|
|
33
20
|
});
|
|
34
21
|
}
|
|
35
22
|
async publicKey() {
|
|
@@ -48,7 +35,7 @@ export class PublicKeySigner {
|
|
|
48
35
|
}
|
|
49
36
|
let isValid;
|
|
50
37
|
try {
|
|
51
|
-
isValid = await subtleCrypto.verify("Ed25519", this.publicCryptoKey, signature, data);
|
|
38
|
+
isValid = await subtleCrypto.verify("Ed25519", this.publicCryptoKey, new Uint8Array(signature), new Uint8Array(data));
|
|
52
39
|
}
|
|
53
40
|
catch (error) {
|
|
54
41
|
throw new Error("invalid signature");
|
|
@@ -125,7 +112,7 @@ export const validateHeader = async (header) => {
|
|
|
125
112
|
*
|
|
126
113
|
* @returns An unsigned header for a document.
|
|
127
114
|
*/
|
|
128
|
-
export const
|
|
115
|
+
export const createPresignedHeader = (id = generateUUIDBrowser(), documentType = "") => {
|
|
129
116
|
return {
|
|
130
117
|
id,
|
|
131
118
|
sig: {
|
|
@@ -158,7 +145,7 @@ export const createSignedHeader = async (unsignedHeader, documentType, signer) =
|
|
|
158
145
|
const parameters = {
|
|
159
146
|
documentType,
|
|
160
147
|
createdAtUtcIso: unsignedHeader.createdAtUtcIso,
|
|
161
|
-
nonce:
|
|
148
|
+
nonce: generateUUIDBrowser(),
|
|
162
149
|
};
|
|
163
150
|
const signature = await sign(parameters, signer);
|
|
164
151
|
const publicKey = await signer.publicKey();
|
|
@@ -193,7 +180,7 @@ export const createSignedHeader = async (unsignedHeader, documentType, signer) =
|
|
|
193
180
|
* some are not. See the PHDocumentHeader type for more information.
|
|
194
181
|
*/
|
|
195
182
|
export const createSignedHeaderForSigner = async (documentType, signer) => {
|
|
196
|
-
const unsignedHeader =
|
|
183
|
+
const unsignedHeader = createPresignedHeader();
|
|
197
184
|
const signedHeader = await createSignedHeader(unsignedHeader, documentType, signer);
|
|
198
185
|
return signedHeader;
|
|
199
186
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/document/utils/header.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/document/utils/header.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./base.js";
|
|
2
|
+
export * from "./browser.js";
|
|
3
|
+
export * from "./crypto.js";
|
|
4
|
+
export * from "./document-helpers.js";
|
|
5
|
+
export * from "./errors.js";
|
|
6
|
+
export * from "./file.js";
|
|
7
|
+
export * from "./header.js";
|
|
8
|
+
export * from "./revisions.js";
|
|
9
|
+
export * from "./validation.js";
|
|
10
|
+
export * from "./zip.js";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/document/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./base.js";
|
|
2
|
+
export * from "./browser.js";
|
|
3
|
+
export * from "./crypto.js";
|
|
4
|
+
export * from "./document-helpers.js";
|
|
5
|
+
export * from "./errors.js";
|
|
6
|
+
export * from "./file.js";
|
|
7
|
+
export * from "./header.js";
|
|
8
|
+
export * from "./revisions.js";
|
|
9
|
+
export * from "./validation.js";
|
|
10
|
+
export * from "./zip.js";
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/document/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC"}
|
|
@@ -1,4 +1,46 @@
|
|
|
1
|
+
import type { AttachmentInput, PHBaseState, PHDocument, Reducer, ReplayDocumentOptions } from "document-model";
|
|
1
2
|
import type { BinaryLike, RandomUUIDOptions } from "node:crypto";
|
|
3
|
+
/**
|
|
4
|
+
* Reads an attachment from a file and returns its base64-encoded data and MIME type.
|
|
5
|
+
* @param path - The path of the attachment file to read.
|
|
6
|
+
* @returns A Promise that resolves to an object containing the base64-encoded data and MIME type of the attachment.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getLocalFile(path: string): Promise<AttachmentInput>;
|
|
9
|
+
/**
|
|
10
|
+
* Fetches an attachment from a URL and returns its base64-encoded data and MIME type.
|
|
11
|
+
* @param url - The URL of the attachment to fetch.
|
|
12
|
+
* @returns A Promise that resolves to an object containing the base64-encoded data and MIME type of the attachment.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getRemoteFile(url: string): Promise<AttachmentInput>;
|
|
15
|
+
/**
|
|
16
|
+
* Loads a document from a ZIP file.
|
|
17
|
+
*
|
|
18
|
+
* @remarks
|
|
19
|
+
* This function reads a ZIP file and returns the document state after
|
|
20
|
+
* applying all the operations. The reducer is used to apply the operations.
|
|
21
|
+
*
|
|
22
|
+
* @typeParam S - The type of the state object.
|
|
23
|
+
* @typeParam A - The type of the actions that can be applied to the state object.
|
|
24
|
+
*
|
|
25
|
+
* @param path - The path to the ZIP file.
|
|
26
|
+
* @param reducer - The reducer to apply the operations to the state object.
|
|
27
|
+
* @returns A promise that resolves to the document state after applying all the operations.
|
|
28
|
+
* @throws An error if the initial state or the operations history is not found in the ZIP file.
|
|
29
|
+
*/
|
|
30
|
+
export declare function baseLoadFromFile<TState extends PHBaseState = PHBaseState>(path: string, reducer: Reducer<TState>, options?: ReplayDocumentOptions): Promise<PHDocument<TState>>;
|
|
31
|
+
/**
|
|
32
|
+
* Saves a document to a ZIP file.
|
|
33
|
+
*
|
|
34
|
+
* @remarks
|
|
35
|
+
* This function creates a ZIP file containing the document's state, operations,
|
|
36
|
+
* and file attachments. The file is saved to the specified path.
|
|
37
|
+
*
|
|
38
|
+
* @param document - The document to save to the file.
|
|
39
|
+
* @param path - The path to save the file to.
|
|
40
|
+
* @param extension - The extension to use for the file.
|
|
41
|
+
* @returns A promise that resolves to the path of the saved file.
|
|
42
|
+
*/
|
|
43
|
+
export declare function baseSaveToFile(document: PHDocument, path: string, extension: string, name?: string): Promise<string>;
|
|
2
44
|
/**
|
|
3
45
|
* This should never be linked to directly. Instead, use the `#utils/misc`
|
|
4
46
|
* module. This will automatically pick the correct implementation for the
|
|
@@ -6,13 +48,13 @@ import type { BinaryLike, RandomUUIDOptions } from "node:crypto";
|
|
|
6
48
|
*
|
|
7
49
|
* Generates a secure UUID.
|
|
8
50
|
*/
|
|
9
|
-
export declare function
|
|
10
|
-
export declare function
|
|
11
|
-
export declare function
|
|
12
|
-
export declare function
|
|
51
|
+
export declare function generateUUIDNode(options?: RandomUUIDOptions): `${string}-${string}-${string}-${string}-${string}`;
|
|
52
|
+
export declare function writeFileNode(path: string, name: string, data: Uint8Array): Promise<string>;
|
|
53
|
+
export declare function readFileNode(path: string): NonSharedBuffer;
|
|
54
|
+
export declare function fetchFileNode(url: string): Promise<{
|
|
13
55
|
buffer: Buffer;
|
|
14
56
|
mimeType?: string;
|
|
15
57
|
}>;
|
|
16
|
-
export declare const
|
|
17
|
-
export declare const
|
|
58
|
+
export declare const getFileNode: (file: string) => Promise<NonSharedBuffer>;
|
|
59
|
+
export declare const hashNode: (data: BinaryLike, algorithm?: string) => string;
|
|
18
60
|
//# sourceMappingURL=node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../../src/document/utils/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../../src/document/utils/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,WAAW,EACX,UAAU,EACV,OAAO,EACP,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAcjE;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAMzE;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAWzE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,SAAS,WAAW,GAAG,WAAW,EAExC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAG7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,mBAgBd;AACD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,iBAAiB,uDAE3D;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,mBAExC;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkBhD;AAED,eAAO,MAAM,WAAW,GAAU,MAAM,MAAM,6BAE7C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,MAAM,UAAU,EAAE,kBAAkB,WAE5D,CAAC"}
|
|
@@ -1,7 +1,84 @@
|
|
|
1
|
+
import { baseLoadFromInput, createZip } from "document-model";
|
|
2
|
+
import mime from "mime/lite";
|
|
1
3
|
import { createHash, randomUUID } from "node:crypto";
|
|
2
4
|
import fs from "node:fs";
|
|
3
5
|
import https from "node:https";
|
|
4
6
|
import { join } from "node:path";
|
|
7
|
+
function getFileAttributes(file) {
|
|
8
|
+
const extension = file.replace(/^.*\./, "") || undefined;
|
|
9
|
+
const fileName = file.replace(/^.*[/\\]/, "") || undefined;
|
|
10
|
+
return { extension, fileName };
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Reads an attachment from a file and returns its base64-encoded data and MIME type.
|
|
14
|
+
* @param path - The path of the attachment file to read.
|
|
15
|
+
* @returns A Promise that resolves to an object containing the base64-encoded data and MIME type of the attachment.
|
|
16
|
+
*/
|
|
17
|
+
export async function getLocalFile(path) {
|
|
18
|
+
const buffer = await getFileNode(path);
|
|
19
|
+
const mimeType = mime.getType(path) || "application/octet-stream";
|
|
20
|
+
const attributes = getFileAttributes(path);
|
|
21
|
+
const data = buffer.toString("base64");
|
|
22
|
+
return { data, hash: hashNode(data), mimeType, ...attributes };
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Fetches an attachment from a URL and returns its base64-encoded data and MIME type.
|
|
26
|
+
* @param url - The URL of the attachment to fetch.
|
|
27
|
+
* @returns A Promise that resolves to an object containing the base64-encoded data and MIME type of the attachment.
|
|
28
|
+
*/
|
|
29
|
+
export async function getRemoteFile(url) {
|
|
30
|
+
const { buffer, mimeType = "application/octet-stream" } = await fetchFileNode(url);
|
|
31
|
+
const attributes = getFileAttributes(url);
|
|
32
|
+
const data = buffer.toString("base64");
|
|
33
|
+
return {
|
|
34
|
+
data,
|
|
35
|
+
hash: hashNode(data),
|
|
36
|
+
mimeType,
|
|
37
|
+
...attributes,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Loads a document from a ZIP file.
|
|
42
|
+
*
|
|
43
|
+
* @remarks
|
|
44
|
+
* This function reads a ZIP file and returns the document state after
|
|
45
|
+
* applying all the operations. The reducer is used to apply the operations.
|
|
46
|
+
*
|
|
47
|
+
* @typeParam S - The type of the state object.
|
|
48
|
+
* @typeParam A - The type of the actions that can be applied to the state object.
|
|
49
|
+
*
|
|
50
|
+
* @param path - The path to the ZIP file.
|
|
51
|
+
* @param reducer - The reducer to apply the operations to the state object.
|
|
52
|
+
* @returns A promise that resolves to the document state after applying all the operations.
|
|
53
|
+
* @throws An error if the initial state or the operations history is not found in the ZIP file.
|
|
54
|
+
*/
|
|
55
|
+
export async function baseLoadFromFile(path, reducer, options) {
|
|
56
|
+
const file = readFileNode(path);
|
|
57
|
+
return baseLoadFromInput(file, reducer, options);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Saves a document to a ZIP file.
|
|
61
|
+
*
|
|
62
|
+
* @remarks
|
|
63
|
+
* This function creates a ZIP file containing the document's state, operations,
|
|
64
|
+
* and file attachments. The file is saved to the specified path.
|
|
65
|
+
*
|
|
66
|
+
* @param document - The document to save to the file.
|
|
67
|
+
* @param path - The path to save the file to.
|
|
68
|
+
* @param extension - The extension to use for the file.
|
|
69
|
+
* @returns A promise that resolves to the path of the saved file.
|
|
70
|
+
*/
|
|
71
|
+
export async function baseSaveToFile(document, path, extension, name) {
|
|
72
|
+
// create zip file
|
|
73
|
+
const zip = createZip(document);
|
|
74
|
+
const file = await zip.generateAsync({
|
|
75
|
+
type: "uint8array",
|
|
76
|
+
streamFiles: true,
|
|
77
|
+
});
|
|
78
|
+
const fileName = name ?? document.header.name;
|
|
79
|
+
const fileExtension = `.${extension}.zip`;
|
|
80
|
+
return writeFileNode(path, fileName.endsWith(fileExtension) ? fileName : `${fileName}${fileExtension}`, file);
|
|
81
|
+
}
|
|
5
82
|
/**
|
|
6
83
|
* This should never be linked to directly. Instead, use the `#utils/misc`
|
|
7
84
|
* module. This will automatically pick the correct implementation for the
|
|
@@ -9,10 +86,10 @@ import { join } from "node:path";
|
|
|
9
86
|
*
|
|
10
87
|
* Generates a secure UUID.
|
|
11
88
|
*/
|
|
12
|
-
export function
|
|
89
|
+
export function generateUUIDNode(options) {
|
|
13
90
|
return randomUUID(options);
|
|
14
91
|
}
|
|
15
|
-
export function
|
|
92
|
+
export function writeFileNode(path, name, data) {
|
|
16
93
|
const filePath = join(path, name);
|
|
17
94
|
fs.mkdirSync(path, { recursive: true });
|
|
18
95
|
return new Promise((resolve, reject) => {
|
|
@@ -27,15 +104,19 @@ export function writeFile(path, name, data) {
|
|
|
27
104
|
});
|
|
28
105
|
}
|
|
29
106
|
catch (error) {
|
|
30
|
-
|
|
31
|
-
|
|
107
|
+
if (error instanceof Error) {
|
|
108
|
+
reject(error);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
reject(new Error(String(error)));
|
|
112
|
+
}
|
|
32
113
|
}
|
|
33
114
|
});
|
|
34
115
|
}
|
|
35
|
-
export function
|
|
116
|
+
export function readFileNode(path) {
|
|
36
117
|
return fs.readFileSync(path);
|
|
37
118
|
}
|
|
38
|
-
export function
|
|
119
|
+
export function fetchFileNode(url) {
|
|
39
120
|
return new Promise((resolve, reject) => {
|
|
40
121
|
https
|
|
41
122
|
.get(url, (resp) => {
|
|
@@ -53,10 +134,10 @@ export function fetchFile(url) {
|
|
|
53
134
|
});
|
|
54
135
|
});
|
|
55
136
|
}
|
|
56
|
-
export const
|
|
57
|
-
return
|
|
137
|
+
export const getFileNode = async (file) => {
|
|
138
|
+
return readFileNode(file);
|
|
58
139
|
};
|
|
59
|
-
export const
|
|
140
|
+
export const hashNode = (data, algorithm = "sha1") => {
|
|
60
141
|
return createHash(algorithm).update(data).digest("base64");
|
|
61
142
|
};
|
|
62
143
|
//# sourceMappingURL=node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/document/utils/node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/document/utils/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PHDocument } from "document-model";
|
|
2
|
+
export declare function getDocumentLastModified(document: PHDocument): string;
|
|
3
|
+
/**
|
|
4
|
+
* Updates the document header with the latest revision number and
|
|
5
|
+
* date of last modification.
|
|
6
|
+
*
|
|
7
|
+
* @param state The current state of the document.
|
|
8
|
+
* @param operation The action being applied to the document.
|
|
9
|
+
* @returns The updated document state.
|
|
10
|
+
*/
|
|
11
|
+
export declare function updateHeaderRevision(document: PHDocument, scope: string): PHDocument;
|
|
12
|
+
//# sourceMappingURL=revisions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revisions.d.ts","sourceRoot":"","sources":["../../../../src/document/utils/revisions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,gBAAgB,CAAC;AAInE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,UAAU,UAS3D;AAeD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAE,MAAM,GACZ,UAAU,CAcZ"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// gets the last modified timestamp of a document from§
|
|
2
|
+
import { sortOperations } from "./document-helpers.js";
|
|
3
|
+
// it's operations, falling back to the initial state
|
|
4
|
+
export function getDocumentLastModified(document) {
|
|
5
|
+
const sortedOperations = sortOperations(Object.values(document.operations).flat());
|
|
6
|
+
return (sortedOperations.at(-1).timestampUtcMs ||
|
|
7
|
+
document.header.lastModifiedAtUtcIso);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Gets the next revision number based on the provided scope.
|
|
11
|
+
*
|
|
12
|
+
* @param state The current state of the document.
|
|
13
|
+
* @param scope The scope of the operation.
|
|
14
|
+
* @returns The next revision number.
|
|
15
|
+
*/
|
|
16
|
+
function getNextRevision(document, scope) {
|
|
17
|
+
const latestOperationIndex = document.operations[scope].at(-1)?.index ?? -1;
|
|
18
|
+
return (latestOperationIndex ?? -1) + 1;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Updates the document header with the latest revision number and
|
|
22
|
+
* date of last modification.
|
|
23
|
+
*
|
|
24
|
+
* @param state The current state of the document.
|
|
25
|
+
* @param operation The action being applied to the document.
|
|
26
|
+
* @returns The updated document state.
|
|
27
|
+
*/
|
|
28
|
+
export function updateHeaderRevision(document, scope) {
|
|
29
|
+
const header = {
|
|
30
|
+
...document.header,
|
|
31
|
+
revision: {
|
|
32
|
+
...document.header.revision,
|
|
33
|
+
[scope]: getNextRevision(document, scope),
|
|
34
|
+
},
|
|
35
|
+
lastModifiedAtUtcIso: getDocumentLastModified(document),
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
...document,
|
|
39
|
+
header,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=revisions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revisions.js","sourceRoot":"","sources":["../../../../src/document/utils/revisions.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,qDAAqD;AACrD,MAAM,UAAU,uBAAuB,CAAC,QAAoB;IAC1D,MAAM,gBAAgB,GAAG,cAAc,CACrC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAC1C,CAAC;IAEF,OAAO,CACL,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,cAAc;QACvC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CACrC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,QAAoB,EAAE,KAAa;IAC1D,MAAM,oBAAoB,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;IAE5E,OAAO,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAoB,EACpB,KAAa;IAEb,MAAM,MAAM,GAAqB;QAC/B,GAAG,QAAQ,CAAC,MAAM;QAClB,QAAQ,EAAE;YACR,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ;YAC3B,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC;SAC1C;QACD,oBAAoB,EAAE,uBAAuB,CAAC,QAAQ,CAAC;KACxD,CAAC;IAEF,OAAO;QACL,GAAG,QAAQ;QACX,MAAM;KACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { DocumentOperations, ValidationError } from "
|
|
1
|
+
import type { DocumentOperations, ValidationError } from "document-model";
|
|
2
2
|
export declare function validateOperations(operations: DocumentOperations): ValidationError[];
|
|
3
3
|
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/document/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/document/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE1E,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,qBAyBhE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip.d.ts","sourceRoot":"","sources":["../../../../src/document/utils/zip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,SAAS,CAAC,QAAQ,EAAE,UAAU,SAgC7C"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { filterDocumentOperationsResultingState } from "document-model";
|
|
2
|
+
import JSZip from "jszip";
|
|
3
|
+
export function createZip(document) {
|
|
4
|
+
// create zip file
|
|
5
|
+
const zip = new JSZip();
|
|
6
|
+
const header = document.header;
|
|
7
|
+
zip.file("header.json", JSON.stringify(header, null, 2));
|
|
8
|
+
zip.file("state.json", JSON.stringify(document.initialState || {}, null, 2));
|
|
9
|
+
zip.file("current-state.json", JSON.stringify(document.state || {}, null, 2));
|
|
10
|
+
zip.file("operations.json", JSON.stringify(filterDocumentOperationsResultingState(document.operations), null, 2));
|
|
11
|
+
if (document.attachments) {
|
|
12
|
+
const attachments = Object.keys(document.attachments);
|
|
13
|
+
attachments.forEach((key) => {
|
|
14
|
+
const { data, ...attributes } = document.attachments?.[key] ?? {};
|
|
15
|
+
if (data) {
|
|
16
|
+
zip.file(key, data, {
|
|
17
|
+
base64: true,
|
|
18
|
+
createFolders: true,
|
|
19
|
+
comment: JSON.stringify(attributes),
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
return zip;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=zip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip.js","sourceRoot":"","sources":["../../../../src/document/utils/zip.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sCAAsC,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,SAAS,CAAC,QAAoB;IAC5C,kBAAkB;IAClB,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,GAAG,CAAC,IAAI,CACN,iBAAiB,EACjB,IAAI,CAAC,SAAS,CACZ,sCAAsC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAC3D,IAAI,EACJ,CAAC,CACF,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtD,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAClE,IAAI,IAAI,EAAE,CAAC;gBACT,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE;oBAClB,MAAM,EAAE,IAAI;oBACZ,aAAa,EAAE,IAAI;oBACnB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;iBACpC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/document-model/custom/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/document-model/custom/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { DocumentModelHeaderOperations } from "
|
|
2
|
-
export declare const
|
|
1
|
+
import type { DocumentModelHeaderOperations } from "document-model";
|
|
2
|
+
export declare const documentModelHeaderReducer: DocumentModelHeaderOperations;
|
|
3
3
|
//# sourceMappingURL=header.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../src/document-model/custom/reducers/header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../src/document-model/custom/reducers/header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAEpE,eAAO,MAAM,0BAA0B,EAAE,6BA0BxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../../src/document-model/custom/reducers/header.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../../src/document-model/custom/reducers/header.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,0BAA0B,GAAkC;IACvE,qBAAqB,CAAC,KAAK,EAAE,MAAM;QACjC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,mBAAmB,CAAC,KAAK,EAAE,MAAM;QAC/B,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7B,CAAC;IAED,0BAA0B,CAAC,KAAK,EAAE,MAAM;QACtC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED,4BAA4B,CAAC,KAAK,EAAE,MAAM;QACxC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;IAC/C,CAAC;IAED,sBAAsB,CAAC,KAAK,EAAE,MAAM;QAClC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3D,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;IAC9C,CAAC;IAED,yBAAyB,CAAC,KAAK,EAAE,MAAM;QACrC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3D,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;IACpD,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./header.js";
|
|
2
|
+
export * from "./module.js";
|
|
3
|
+
export * from "./operation-error.js";
|
|
4
|
+
export * from "./operation-example.js";
|
|
5
|
+
export * from "./operation.js";
|
|
6
|
+
export * from "./state.js";
|
|
7
|
+
export * from "./versioning.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/document-model/custom/reducers/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./header.js";
|
|
2
|
+
export * from "./module.js";
|
|
3
|
+
export * from "./operation-error.js";
|
|
4
|
+
export * from "./operation-example.js";
|
|
5
|
+
export * from "./operation.js";
|
|
6
|
+
export * from "./state.js";
|
|
7
|
+
export * from "./versioning.js";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/document-model/custom/reducers/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { DocumentModelModuleOperations } from "
|
|
2
|
-
export declare const
|
|
1
|
+
import type { DocumentModelModuleOperations } from "document-model";
|
|
2
|
+
export declare const documentModelModuleReducer: DocumentModelModuleOperations;
|
|
3
3
|
//# sourceMappingURL=module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/document-model/custom/reducers/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/document-model/custom/reducers/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAE9B,MAAM,gBAAgB,CAAC;AASxB,eAAO,MAAM,0BAA0B,EAAE,6BAwCxC,CAAC"}
|
|
@@ -3,7 +3,7 @@ const moduleSorter = (order) => {
|
|
|
3
3
|
order.forEach((key, index) => (mapping[key] = index));
|
|
4
4
|
return (a, b) => (mapping[b.id] || 999999) - (mapping[a.id] || 999999);
|
|
5
5
|
};
|
|
6
|
-
export const
|
|
6
|
+
export const documentModelModuleReducer = {
|
|
7
7
|
addModuleOperation(state, action) {
|
|
8
8
|
const latestSpec = state.specifications[state.specifications.length - 1];
|
|
9
9
|
latestSpec.modules.push({
|