document-model 1.1.0-debug.1 → 1.1.0-debug.2
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/browser/cjs/document-model.js +15 -35
- package/dist/browser/cjs/document-model.js.map +1 -1
- package/dist/browser/cjs/document.js +10 -10
- package/dist/browser/cjs/index.js +11 -7
- package/dist/browser/cjs/index.js.map +1 -1
- package/dist/browser/cjs/internal/index-CaJbS06G.js +2339 -0
- package/dist/browser/cjs/internal/index-CaJbS06G.js.map +1 -0
- package/dist/browser/cjs/internal/index-kKIg6qNB.js +44 -0
- package/dist/browser/cjs/internal/index-kKIg6qNB.js.map +1 -0
- package/dist/browser/cjs/internal/object-B6dSDhtS.js +4109 -0
- package/dist/browser/cjs/internal/object-B6dSDhtS.js.map +1 -0
- package/dist/browser/es/document-model.js +16 -37
- package/dist/browser/es/document-model.js.map +1 -1
- package/dist/browser/es/document.js +12 -12
- package/dist/browser/es/index.js +11 -7
- package/dist/browser/es/index.js.map +1 -1
- package/dist/browser/es/internal/index-B1lQN59e.js +2340 -0
- package/dist/browser/es/internal/index-B1lQN59e.js.map +1 -0
- package/dist/browser/es/internal/index-Bu0CkmrW.js +45 -0
- package/dist/browser/es/internal/index-Bu0CkmrW.js.map +1 -0
- package/dist/browser/es/internal/object-9mR1JlXD.js +4110 -0
- package/dist/browser/es/internal/object-9mR1JlXD.js.map +1 -0
- package/dist/node/cjs/document-model.js +15 -33
- package/dist/node/cjs/document-model.js.map +1 -1
- package/dist/node/cjs/document.js +14 -10
- package/dist/node/cjs/document.js.map +1 -1
- package/dist/node/cjs/index.js +15 -7
- package/dist/node/cjs/index.js.map +1 -1
- package/dist/node/cjs/internal/index-AqiVmL0w.js +44 -0
- package/dist/node/cjs/internal/index-AqiVmL0w.js.map +1 -0
- package/dist/node/cjs/internal/index-ajqhOWQ1.js +2343 -0
- package/dist/node/cjs/internal/index-ajqhOWQ1.js.map +1 -0
- package/dist/node/cjs/internal/object-D_9h7jBN.js +2111 -0
- package/dist/node/cjs/internal/object-D_9h7jBN.js.map +1 -0
- package/dist/node/es/document-model.js +16 -35
- package/dist/node/es/document-model.js.map +1 -1
- package/dist/node/es/document.js +16 -12
- package/dist/node/es/document.js.map +1 -1
- package/dist/node/es/index.js +15 -7
- package/dist/node/es/index.js.map +1 -1
- package/dist/node/es/internal/index-Bh_09edy.js +2344 -0
- package/dist/node/es/internal/index-Bh_09edy.js.map +1 -0
- package/dist/node/es/internal/index-s6NFw7Kq.js +45 -0
- package/dist/node/es/internal/index-s6NFw7Kq.js.map +1 -0
- package/dist/node/es/internal/object-CbITi4iq.js +2112 -0
- package/dist/node/es/internal/object-CbITi4iq.js.map +1 -0
- package/dist/src/document/reducer.d.ts +13 -2
- package/dist/src/document/utils/base.d.ts +1 -1
- package/dist/src/document/utils/document-helpers.d.ts +53 -0
- package/dist/src/document/utils/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/browser/cjs/_virtual/_commonjsHelpers.js +0 -7
- package/dist/browser/cjs/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/browser/cjs/_virtual/browser.js +0 -35
- package/dist/browser/cjs/_virtual/browser.js.map +0 -1
- package/dist/browser/cjs/_virtual/index.js +0 -5
- package/dist/browser/cjs/_virtual/index.js.map +0 -1
- package/dist/browser/cjs/_virtual/index2.js +0 -5
- package/dist/browser/cjs/_virtual/index2.js.map +0 -1
- package/dist/browser/cjs/_virtual/index3.js +0 -5
- package/dist/browser/cjs/_virtual/index3.js.map +0 -1
- package/dist/browser/cjs/_virtual/index4.js +0 -5
- package/dist/browser/cjs/_virtual/index4.js.map +0 -1
- package/dist/browser/cjs/_virtual/index5.js +0 -5
- package/dist/browser/cjs/_virtual/index5.js.map +0 -1
- package/dist/browser/cjs/_virtual/inherits_browser.js +0 -5
- package/dist/browser/cjs/_virtual/inherits_browser.js.map +0 -1
- package/dist/browser/cjs/src/document/actions/creators.js +0 -46
- package/dist/browser/cjs/src/document/actions/creators.js.map +0 -1
- package/dist/browser/cjs/src/document/actions/index.js +0 -173
- package/dist/browser/cjs/src/document/actions/index.js.map +0 -1
- package/dist/browser/cjs/src/document/actions/types.js +0 -15
- package/dist/browser/cjs/src/document/actions/types.js.map +0 -1
- package/dist/browser/cjs/src/document/object.js +0 -190
- package/dist/browser/cjs/src/document/object.js.map +0 -1
- package/dist/browser/cjs/src/document/reducer.js +0 -192
- package/dist/browser/cjs/src/document/reducer.js.map +0 -1
- package/dist/browser/cjs/src/document/schema/zod.js +0 -137
- package/dist/browser/cjs/src/document/schema/zod.js.map +0 -1
- package/dist/browser/cjs/src/document/utils/base.js +0 -220
- package/dist/browser/cjs/src/document/utils/base.js.map +0 -1
- package/dist/browser/cjs/src/document/utils/document-helpers.js +0 -324
- package/dist/browser/cjs/src/document/utils/document-helpers.js.map +0 -1
- package/dist/browser/cjs/src/document/utils/file.js +0 -135
- package/dist/browser/cjs/src/document/utils/file.js.map +0 -1
- package/dist/browser/cjs/src/document/utils/index.js +0 -33
- package/dist/browser/cjs/src/document/utils/index.js.map +0 -1
- package/dist/browser/cjs/src/document/utils/validation.js +0 -24
- package/dist/browser/cjs/src/document/utils/validation.js.map +0 -1
- package/dist/browser/cjs/src/document-model/custom/reducers/header.js +0 -26
- package/dist/browser/cjs/src/document-model/custom/reducers/header.js.map +0 -1
- package/dist/browser/cjs/src/document-model/custom/reducers/module.js +0 -46
- package/dist/browser/cjs/src/document-model/custom/reducers/module.js.map +0 -1
- package/dist/browser/cjs/src/document-model/custom/reducers/operation-error.js +0 -95
- package/dist/browser/cjs/src/document-model/custom/reducers/operation-error.js.map +0 -1
- package/dist/browser/cjs/src/document-model/custom/reducers/operation-example.js +0 -58
- package/dist/browser/cjs/src/document-model/custom/reducers/operation-example.js.map +0 -1
- package/dist/browser/cjs/src/document-model/custom/reducers/operation.js +0 -123
- package/dist/browser/cjs/src/document-model/custom/reducers/operation.js.map +0 -1
- package/dist/browser/cjs/src/document-model/custom/reducers/state.js +0 -66
- package/dist/browser/cjs/src/document-model/custom/reducers/state.js.map +0 -1
- package/dist/browser/cjs/src/document-model/custom/reducers/versioning.js +0 -31
- package/dist/browser/cjs/src/document-model/custom/reducers/versioning.js.map +0 -1
- package/dist/browser/cjs/src/document-model/custom/utils.js +0 -117
- package/dist/browser/cjs/src/document-model/custom/utils.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/creators.js +0 -53
- package/dist/browser/cjs/src/document-model/gen/creators.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/document-model.js +0 -545
- package/dist/browser/cjs/src/document-model/gen/document-model.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/header/creators.js +0 -39
- package/dist/browser/cjs/src/document-model/gen/header/creators.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/header/object.js +0 -26
- package/dist/browser/cjs/src/document-model/gen/header/object.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/module/creators.js +0 -34
- package/dist/browser/cjs/src/document-model/gen/module/creators.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/module/object.js +0 -23
- package/dist/browser/cjs/src/document-model/gen/module/object.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/object.js +0 -47
- package/dist/browser/cjs/src/document-model/gen/object.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/operation/creators.js +0 -59
- package/dist/browser/cjs/src/document-model/gen/operation/creators.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/operation/object.js +0 -38
- package/dist/browser/cjs/src/document-model/gen/operation/object.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/operation-error/creators.js +0 -44
- package/dist/browser/cjs/src/document-model/gen/operation-error/creators.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/operation-error/object.js +0 -29
- package/dist/browser/cjs/src/document-model/gen/operation-error/object.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/operation-example/creators.js +0 -29
- package/dist/browser/cjs/src/document-model/gen/operation-example/creators.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/operation-example/object.js +0 -20
- package/dist/browser/cjs/src/document-model/gen/operation-example/object.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/reducer.js +0 -255
- package/dist/browser/cjs/src/document-model/gen/reducer.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/schema/zod.js +0 -449
- package/dist/browser/cjs/src/document-model/gen/schema/zod.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/state/creators.js +0 -39
- package/dist/browser/cjs/src/document-model/gen/state/creators.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/state/object.js +0 -26
- package/dist/browser/cjs/src/document-model/gen/state/object.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/utils.js +0 -75
- package/dist/browser/cjs/src/document-model/gen/utils.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/versioning/creators.js +0 -33
- package/dist/browser/cjs/src/document-model/gen/versioning/creators.js.map +0 -1
- package/dist/browser/cjs/src/document-model/gen/versioning/object.js +0 -23
- package/dist/browser/cjs/src/document-model/gen/versioning/object.js.map +0 -1
- package/dist/browser/es/_virtual/_commonjsHelpers.js +0 -7
- package/dist/browser/es/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/browser/es/_virtual/browser.js +0 -35
- package/dist/browser/es/_virtual/browser.js.map +0 -1
- package/dist/browser/es/_virtual/index.js +0 -5
- package/dist/browser/es/_virtual/index.js.map +0 -1
- package/dist/browser/es/_virtual/index2.js +0 -5
- package/dist/browser/es/_virtual/index2.js.map +0 -1
- package/dist/browser/es/_virtual/index3.js +0 -5
- package/dist/browser/es/_virtual/index3.js.map +0 -1
- package/dist/browser/es/_virtual/index4.js +0 -5
- package/dist/browser/es/_virtual/index4.js.map +0 -1
- package/dist/browser/es/_virtual/index5.js +0 -5
- package/dist/browser/es/_virtual/index5.js.map +0 -1
- package/dist/browser/es/_virtual/inherits_browser.js +0 -5
- package/dist/browser/es/_virtual/inherits_browser.js.map +0 -1
- package/dist/browser/es/src/document/actions/creators.js +0 -46
- package/dist/browser/es/src/document/actions/creators.js.map +0 -1
- package/dist/browser/es/src/document/actions/index.js +0 -174
- package/dist/browser/es/src/document/actions/index.js.map +0 -1
- package/dist/browser/es/src/document/actions/types.js +0 -15
- package/dist/browser/es/src/document/actions/types.js.map +0 -1
- package/dist/browser/es/src/document/object.js +0 -190
- package/dist/browser/es/src/document/object.js.map +0 -1
- package/dist/browser/es/src/document/reducer.js +0 -192
- package/dist/browser/es/src/document/reducer.js.map +0 -1
- package/dist/browser/es/src/document/schema/zod.js +0 -137
- package/dist/browser/es/src/document/schema/zod.js.map +0 -1
- package/dist/browser/es/src/document/utils/base.js +0 -220
- package/dist/browser/es/src/document/utils/base.js.map +0 -1
- package/dist/browser/es/src/document/utils/document-helpers.js +0 -324
- package/dist/browser/es/src/document/utils/document-helpers.js.map +0 -1
- package/dist/browser/es/src/document/utils/file.js +0 -135
- package/dist/browser/es/src/document/utils/file.js.map +0 -1
- package/dist/browser/es/src/document/utils/index.js +0 -33
- package/dist/browser/es/src/document/utils/index.js.map +0 -1
- package/dist/browser/es/src/document/utils/validation.js +0 -24
- package/dist/browser/es/src/document/utils/validation.js.map +0 -1
- package/dist/browser/es/src/document-model/custom/reducers/header.js +0 -26
- package/dist/browser/es/src/document-model/custom/reducers/header.js.map +0 -1
- package/dist/browser/es/src/document-model/custom/reducers/module.js +0 -46
- package/dist/browser/es/src/document-model/custom/reducers/module.js.map +0 -1
- package/dist/browser/es/src/document-model/custom/reducers/operation-error.js +0 -95
- package/dist/browser/es/src/document-model/custom/reducers/operation-error.js.map +0 -1
- package/dist/browser/es/src/document-model/custom/reducers/operation-example.js +0 -58
- package/dist/browser/es/src/document-model/custom/reducers/operation-example.js.map +0 -1
- package/dist/browser/es/src/document-model/custom/reducers/operation.js +0 -123
- package/dist/browser/es/src/document-model/custom/reducers/operation.js.map +0 -1
- package/dist/browser/es/src/document-model/custom/reducers/state.js +0 -66
- package/dist/browser/es/src/document-model/custom/reducers/state.js.map +0 -1
- package/dist/browser/es/src/document-model/custom/reducers/versioning.js +0 -31
- package/dist/browser/es/src/document-model/custom/reducers/versioning.js.map +0 -1
- package/dist/browser/es/src/document-model/custom/utils.js +0 -117
- package/dist/browser/es/src/document-model/custom/utils.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/creators.js +0 -53
- package/dist/browser/es/src/document-model/gen/creators.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/document-model.js +0 -545
- package/dist/browser/es/src/document-model/gen/document-model.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/header/creators.js +0 -39
- package/dist/browser/es/src/document-model/gen/header/creators.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/header/object.js +0 -26
- package/dist/browser/es/src/document-model/gen/header/object.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/module/creators.js +0 -34
- package/dist/browser/es/src/document-model/gen/module/creators.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/module/object.js +0 -23
- package/dist/browser/es/src/document-model/gen/module/object.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/object.js +0 -47
- package/dist/browser/es/src/document-model/gen/object.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/operation/creators.js +0 -59
- package/dist/browser/es/src/document-model/gen/operation/creators.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/operation/object.js +0 -38
- package/dist/browser/es/src/document-model/gen/operation/object.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/operation-error/creators.js +0 -44
- package/dist/browser/es/src/document-model/gen/operation-error/creators.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/operation-error/object.js +0 -29
- package/dist/browser/es/src/document-model/gen/operation-error/object.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/operation-example/creators.js +0 -29
- package/dist/browser/es/src/document-model/gen/operation-example/creators.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/operation-example/object.js +0 -20
- package/dist/browser/es/src/document-model/gen/operation-example/object.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/reducer.js +0 -255
- package/dist/browser/es/src/document-model/gen/reducer.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/schema/zod.js +0 -449
- package/dist/browser/es/src/document-model/gen/schema/zod.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/state/creators.js +0 -39
- package/dist/browser/es/src/document-model/gen/state/creators.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/state/object.js +0 -26
- package/dist/browser/es/src/document-model/gen/state/object.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/utils.js +0 -75
- package/dist/browser/es/src/document-model/gen/utils.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/versioning/creators.js +0 -33
- package/dist/browser/es/src/document-model/gen/versioning/creators.js.map +0 -1
- package/dist/browser/es/src/document-model/gen/versioning/object.js +0 -23
- package/dist/browser/es/src/document-model/gen/versioning/object.js.map +0 -1
- package/dist/node/cjs/_virtual/_commonjsHelpers.js +0 -7
- package/dist/node/cjs/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/node/cjs/_virtual/index.js +0 -5
- package/dist/node/cjs/_virtual/index.js.map +0 -1
- package/dist/node/cjs/src/document/actions/creators.js +0 -46
- package/dist/node/cjs/src/document/actions/creators.js.map +0 -1
- package/dist/node/cjs/src/document/actions/index.js +0 -173
- package/dist/node/cjs/src/document/actions/index.js.map +0 -1
- package/dist/node/cjs/src/document/actions/types.js +0 -15
- package/dist/node/cjs/src/document/actions/types.js.map +0 -1
- package/dist/node/cjs/src/document/object.js +0 -190
- package/dist/node/cjs/src/document/object.js.map +0 -1
- package/dist/node/cjs/src/document/reducer.js +0 -194
- package/dist/node/cjs/src/document/reducer.js.map +0 -1
- package/dist/node/cjs/src/document/schema/zod.js +0 -137
- package/dist/node/cjs/src/document/schema/zod.js.map +0 -1
- package/dist/node/cjs/src/document/utils/base.js +0 -220
- package/dist/node/cjs/src/document/utils/base.js.map +0 -1
- package/dist/node/cjs/src/document/utils/document-helpers.js +0 -324
- package/dist/node/cjs/src/document/utils/document-helpers.js.map +0 -1
- package/dist/node/cjs/src/document/utils/file.js +0 -136
- package/dist/node/cjs/src/document/utils/file.js.map +0 -1
- package/dist/node/cjs/src/document/utils/index.js +0 -33
- package/dist/node/cjs/src/document/utils/index.js.map +0 -1
- package/dist/node/cjs/src/document/utils/node.js +0 -54
- package/dist/node/cjs/src/document/utils/node.js.map +0 -1
- package/dist/node/cjs/src/document/utils/validation.js +0 -24
- package/dist/node/cjs/src/document/utils/validation.js.map +0 -1
- package/dist/node/cjs/src/document-model/custom/reducers/header.js +0 -26
- package/dist/node/cjs/src/document-model/custom/reducers/header.js.map +0 -1
- package/dist/node/cjs/src/document-model/custom/reducers/module.js +0 -46
- package/dist/node/cjs/src/document-model/custom/reducers/module.js.map +0 -1
- package/dist/node/cjs/src/document-model/custom/reducers/operation-error.js +0 -95
- package/dist/node/cjs/src/document-model/custom/reducers/operation-error.js.map +0 -1
- package/dist/node/cjs/src/document-model/custom/reducers/operation-example.js +0 -58
- package/dist/node/cjs/src/document-model/custom/reducers/operation-example.js.map +0 -1
- package/dist/node/cjs/src/document-model/custom/reducers/operation.js +0 -123
- package/dist/node/cjs/src/document-model/custom/reducers/operation.js.map +0 -1
- package/dist/node/cjs/src/document-model/custom/reducers/state.js +0 -66
- package/dist/node/cjs/src/document-model/custom/reducers/state.js.map +0 -1
- package/dist/node/cjs/src/document-model/custom/reducers/versioning.js +0 -31
- package/dist/node/cjs/src/document-model/custom/reducers/versioning.js.map +0 -1
- package/dist/node/cjs/src/document-model/custom/utils.js +0 -117
- package/dist/node/cjs/src/document-model/custom/utils.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/creators.js +0 -53
- package/dist/node/cjs/src/document-model/gen/creators.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/document-model.js +0 -545
- package/dist/node/cjs/src/document-model/gen/document-model.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/header/creators.js +0 -41
- package/dist/node/cjs/src/document-model/gen/header/creators.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/header/object.js +0 -26
- package/dist/node/cjs/src/document-model/gen/header/object.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/module/creators.js +0 -36
- package/dist/node/cjs/src/document-model/gen/module/creators.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/module/object.js +0 -23
- package/dist/node/cjs/src/document-model/gen/module/object.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/object.js +0 -47
- package/dist/node/cjs/src/document-model/gen/object.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/operation/creators.js +0 -61
- package/dist/node/cjs/src/document-model/gen/operation/creators.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/operation/object.js +0 -38
- package/dist/node/cjs/src/document-model/gen/operation/object.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/operation-error/creators.js +0 -46
- package/dist/node/cjs/src/document-model/gen/operation-error/creators.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/operation-error/object.js +0 -29
- package/dist/node/cjs/src/document-model/gen/operation-error/object.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/operation-example/creators.js +0 -31
- package/dist/node/cjs/src/document-model/gen/operation-example/creators.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/operation-example/object.js +0 -20
- package/dist/node/cjs/src/document-model/gen/operation-example/object.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/reducer.js +0 -257
- package/dist/node/cjs/src/document-model/gen/reducer.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/schema/zod.js +0 -449
- package/dist/node/cjs/src/document-model/gen/schema/zod.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/state/creators.js +0 -41
- package/dist/node/cjs/src/document-model/gen/state/creators.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/state/object.js +0 -26
- package/dist/node/cjs/src/document-model/gen/state/object.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/utils.js +0 -75
- package/dist/node/cjs/src/document-model/gen/utils.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/versioning/creators.js +0 -35
- package/dist/node/cjs/src/document-model/gen/versioning/creators.js.map +0 -1
- package/dist/node/cjs/src/document-model/gen/versioning/object.js +0 -23
- package/dist/node/cjs/src/document-model/gen/versioning/object.js.map +0 -1
- package/dist/node/es/_virtual/_commonjsHelpers.js +0 -7
- package/dist/node/es/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/node/es/_virtual/index.js +0 -5
- package/dist/node/es/_virtual/index.js.map +0 -1
- package/dist/node/es/src/document/actions/creators.js +0 -46
- package/dist/node/es/src/document/actions/creators.js.map +0 -1
- package/dist/node/es/src/document/actions/index.js +0 -174
- package/dist/node/es/src/document/actions/index.js.map +0 -1
- package/dist/node/es/src/document/actions/types.js +0 -15
- package/dist/node/es/src/document/actions/types.js.map +0 -1
- package/dist/node/es/src/document/object.js +0 -190
- package/dist/node/es/src/document/object.js.map +0 -1
- package/dist/node/es/src/document/reducer.js +0 -194
- package/dist/node/es/src/document/reducer.js.map +0 -1
- package/dist/node/es/src/document/schema/zod.js +0 -137
- package/dist/node/es/src/document/schema/zod.js.map +0 -1
- package/dist/node/es/src/document/utils/base.js +0 -220
- package/dist/node/es/src/document/utils/base.js.map +0 -1
- package/dist/node/es/src/document/utils/document-helpers.js +0 -324
- package/dist/node/es/src/document/utils/document-helpers.js.map +0 -1
- package/dist/node/es/src/document/utils/file.js +0 -136
- package/dist/node/es/src/document/utils/file.js.map +0 -1
- package/dist/node/es/src/document/utils/index.js +0 -33
- package/dist/node/es/src/document/utils/index.js.map +0 -1
- package/dist/node/es/src/document/utils/node.js +0 -54
- package/dist/node/es/src/document/utils/node.js.map +0 -1
- package/dist/node/es/src/document/utils/validation.js +0 -24
- package/dist/node/es/src/document/utils/validation.js.map +0 -1
- package/dist/node/es/src/document-model/custom/reducers/header.js +0 -26
- package/dist/node/es/src/document-model/custom/reducers/header.js.map +0 -1
- package/dist/node/es/src/document-model/custom/reducers/module.js +0 -46
- package/dist/node/es/src/document-model/custom/reducers/module.js.map +0 -1
- package/dist/node/es/src/document-model/custom/reducers/operation-error.js +0 -95
- package/dist/node/es/src/document-model/custom/reducers/operation-error.js.map +0 -1
- package/dist/node/es/src/document-model/custom/reducers/operation-example.js +0 -58
- package/dist/node/es/src/document-model/custom/reducers/operation-example.js.map +0 -1
- package/dist/node/es/src/document-model/custom/reducers/operation.js +0 -123
- package/dist/node/es/src/document-model/custom/reducers/operation.js.map +0 -1
- package/dist/node/es/src/document-model/custom/reducers/state.js +0 -66
- package/dist/node/es/src/document-model/custom/reducers/state.js.map +0 -1
- package/dist/node/es/src/document-model/custom/reducers/versioning.js +0 -31
- package/dist/node/es/src/document-model/custom/reducers/versioning.js.map +0 -1
- package/dist/node/es/src/document-model/custom/utils.js +0 -117
- package/dist/node/es/src/document-model/custom/utils.js.map +0 -1
- package/dist/node/es/src/document-model/gen/creators.js +0 -53
- package/dist/node/es/src/document-model/gen/creators.js.map +0 -1
- package/dist/node/es/src/document-model/gen/document-model.js +0 -545
- package/dist/node/es/src/document-model/gen/document-model.js.map +0 -1
- package/dist/node/es/src/document-model/gen/header/creators.js +0 -41
- package/dist/node/es/src/document-model/gen/header/creators.js.map +0 -1
- package/dist/node/es/src/document-model/gen/header/object.js +0 -26
- package/dist/node/es/src/document-model/gen/header/object.js.map +0 -1
- package/dist/node/es/src/document-model/gen/module/creators.js +0 -36
- package/dist/node/es/src/document-model/gen/module/creators.js.map +0 -1
- package/dist/node/es/src/document-model/gen/module/object.js +0 -23
- package/dist/node/es/src/document-model/gen/module/object.js.map +0 -1
- package/dist/node/es/src/document-model/gen/object.js +0 -47
- package/dist/node/es/src/document-model/gen/object.js.map +0 -1
- package/dist/node/es/src/document-model/gen/operation/creators.js +0 -61
- package/dist/node/es/src/document-model/gen/operation/creators.js.map +0 -1
- package/dist/node/es/src/document-model/gen/operation/object.js +0 -38
- package/dist/node/es/src/document-model/gen/operation/object.js.map +0 -1
- package/dist/node/es/src/document-model/gen/operation-error/creators.js +0 -46
- package/dist/node/es/src/document-model/gen/operation-error/creators.js.map +0 -1
- package/dist/node/es/src/document-model/gen/operation-error/object.js +0 -29
- package/dist/node/es/src/document-model/gen/operation-error/object.js.map +0 -1
- package/dist/node/es/src/document-model/gen/operation-example/creators.js +0 -31
- package/dist/node/es/src/document-model/gen/operation-example/creators.js.map +0 -1
- package/dist/node/es/src/document-model/gen/operation-example/object.js +0 -20
- package/dist/node/es/src/document-model/gen/operation-example/object.js.map +0 -1
- package/dist/node/es/src/document-model/gen/reducer.js +0 -257
- package/dist/node/es/src/document-model/gen/reducer.js.map +0 -1
- package/dist/node/es/src/document-model/gen/schema/zod.js +0 -449
- package/dist/node/es/src/document-model/gen/schema/zod.js.map +0 -1
- package/dist/node/es/src/document-model/gen/state/creators.js +0 -41
- package/dist/node/es/src/document-model/gen/state/creators.js.map +0 -1
- package/dist/node/es/src/document-model/gen/state/object.js +0 -26
- package/dist/node/es/src/document-model/gen/state/object.js.map +0 -1
- package/dist/node/es/src/document-model/gen/utils.js +0 -75
- package/dist/node/es/src/document-model/gen/utils.js.map +0 -1
- package/dist/node/es/src/document-model/gen/versioning/creators.js +0 -35
- package/dist/node/es/src/document-model/gen/versioning/creators.js.map +0 -1
- package/dist/node/es/src/document-model/gen/versioning/object.js +0 -23
- package/dist/node/es/src/document-model/gen/versioning/object.js.map +0 -1
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { createAction } from "../../../document/utils/base.js";
|
|
2
|
-
import "jszip";
|
|
3
|
-
import "../../../../node_modules/.pnpm/mime@4.0.1/node_modules/mime/dist/src/index_lite.js";
|
|
4
|
-
import "../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha1.js";
|
|
5
|
-
import "../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha256.js";
|
|
6
|
-
import "../../../../node_modules/.pnpm/safe-stable-stringify@2.4.3/node_modules/safe-stable-stringify/esm/wrapper.js";
|
|
7
|
-
const addChangeLogItem = (input) => createAction(
|
|
8
|
-
"ADD_CHANGE_LOG_ITEM",
|
|
9
|
-
{ ...input }
|
|
10
|
-
);
|
|
11
|
-
const updateChangeLogItem = (input) => createAction(
|
|
12
|
-
"UPDATE_CHANGE_LOG_ITEM",
|
|
13
|
-
{ ...input }
|
|
14
|
-
);
|
|
15
|
-
const deleteChangeLogItem = (input) => createAction(
|
|
16
|
-
"DELETE_CHANGE_LOG_ITEM",
|
|
17
|
-
{ ...input }
|
|
18
|
-
);
|
|
19
|
-
const reorderChangeLogItems = (input) => createAction(
|
|
20
|
-
"REORDER_CHANGE_LOG_ITEMS",
|
|
21
|
-
{ ...input }
|
|
22
|
-
);
|
|
23
|
-
const releaseNewVersion = () => createAction(
|
|
24
|
-
"RELEASE_NEW_VERSION"
|
|
25
|
-
);
|
|
26
|
-
export {
|
|
27
|
-
addChangeLogItem,
|
|
28
|
-
deleteChangeLogItem,
|
|
29
|
-
releaseNewVersion,
|
|
30
|
-
reorderChangeLogItems,
|
|
31
|
-
updateChangeLogItem
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=creators.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"creators.js","sources":["../../../../../../../src/document-model/gen/versioning/creators.ts"],"sourcesContent":["import { createAction } from '../../../document/utils';\n\nimport {\n AddChangeLogItemInput,\n UpdateChangeLogItemInput,\n DeleteChangeLogItemInput,\n ReorderChangeLogItemsInput,\n} from '../types';\nimport {\n AddChangeLogItemAction,\n UpdateChangeLogItemAction,\n DeleteChangeLogItemAction,\n ReorderChangeLogItemsAction,\n ReleaseNewVersionAction,\n} from './actions';\n\nexport const addChangeLogItem = (input: AddChangeLogItemInput) =>\n createAction<AddChangeLogItemAction>(\n 'ADD_CHANGE_LOG_ITEM',\n {...input},\n );\n\nexport const updateChangeLogItem = (input: UpdateChangeLogItemInput) =>\n createAction<UpdateChangeLogItemAction>(\n 'UPDATE_CHANGE_LOG_ITEM',\n {...input},\n );\n\nexport const deleteChangeLogItem = (input: DeleteChangeLogItemInput) =>\n createAction<DeleteChangeLogItemAction>(\n 'DELETE_CHANGE_LOG_ITEM',\n {...input},\n );\n\nexport const reorderChangeLogItems = (input: ReorderChangeLogItemsInput) =>\n createAction<ReorderChangeLogItemsAction>(\n 'REORDER_CHANGE_LOG_ITEMS',\n {...input},\n );\n\n\nexport const releaseNewVersion = () =>\n createAction<ReleaseNewVersionAction>(\n 'RELEASE_NEW_VERSION',\n );\n"],"names":[],"mappings":";;;;;;AAgBa,MAAA,mBAAmB,CAAC,UAC7B;AAAA,EACI;AAAA,EACA,EAAC,GAAG,MAAK;AACb;AAES,MAAA,sBAAsB,CAAC,UAChC;AAAA,EACI;AAAA,EACA,EAAC,GAAG,MAAK;AACb;AAES,MAAA,sBAAsB,CAAC,UAChC;AAAA,EACI;AAAA,EACA,EAAC,GAAG,MAAK;AACb;AAES,MAAA,wBAAwB,CAAC,UAClC;AAAA,EACI;AAAA,EACA,EAAC,GAAG,MAAK;AACb;AAGG,MAAM,oBAAoB,MAC7B;AAAA,EACI;AACJ;"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { BaseDocument } from "../../../document/object.js";
|
|
2
|
-
import { addChangeLogItem, updateChangeLogItem, deleteChangeLogItem, reorderChangeLogItems, releaseNewVersion } from "./creators.js";
|
|
3
|
-
class DocumentModel_Versioning extends BaseDocument {
|
|
4
|
-
addChangeLogItem(input, options) {
|
|
5
|
-
return this.dispatch(addChangeLogItem(input), options);
|
|
6
|
-
}
|
|
7
|
-
updateChangeLogItem(input, options) {
|
|
8
|
-
return this.dispatch(updateChangeLogItem(input), options);
|
|
9
|
-
}
|
|
10
|
-
deleteChangeLogItem(input, options) {
|
|
11
|
-
return this.dispatch(deleteChangeLogItem(input), options);
|
|
12
|
-
}
|
|
13
|
-
reorderChangeLogItems(input, options) {
|
|
14
|
-
return this.dispatch(reorderChangeLogItems(input), options);
|
|
15
|
-
}
|
|
16
|
-
releaseNewVersion(options) {
|
|
17
|
-
return this.dispatch(releaseNewVersion(), options);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
export {
|
|
21
|
-
DocumentModel_Versioning as default
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=object.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"object.js","sources":["../../../../../../../src/document-model/gen/versioning/object.ts"],"sourcesContent":["import { BaseDocument } from '../../../document/object';\n\nimport {\n AddChangeLogItemInput,\n UpdateChangeLogItemInput,\n DeleteChangeLogItemInput,\n ReorderChangeLogItemsInput,\n DocumentModelState,\n DocumentModelLocalState,\n} from '../types';\nimport {\n addChangeLogItem,\n updateChangeLogItem,\n deleteChangeLogItem,\n reorderChangeLogItems,\n releaseNewVersion,\n} from './creators';\nimport { DocumentModelAction } from '../actions';\nimport { ReducerOptions } from '../../../document';\n\nexport default class DocumentModel_Versioning extends BaseDocument<\n DocumentModelState,\n DocumentModelAction,\n DocumentModelLocalState\n> {\n public addChangeLogItem(input: AddChangeLogItemInput, options?: ReducerOptions) {\n return this.dispatch(addChangeLogItem(input), options);\n }\n\n public updateChangeLogItem(input: UpdateChangeLogItemInput, options?: ReducerOptions) {\n return this.dispatch(updateChangeLogItem(input), options);\n }\n\n public deleteChangeLogItem(input: DeleteChangeLogItemInput, options?: ReducerOptions) {\n return this.dispatch(deleteChangeLogItem(input), options);\n }\n\n public reorderChangeLogItems(input: ReorderChangeLogItemsInput, options?: ReducerOptions) {\n return this.dispatch(reorderChangeLogItems(input), options);\n }\n\n public releaseNewVersion(options?: ReducerOptions) {\n return this.dispatch(releaseNewVersion(), options);\n }\n}\n"],"names":[],"mappings":";;AAoBA,MAAqB,iCAAiC,aAIpD;AAAA,EACS,iBAAiB,OAA8B,SAA0B;AAC5E,WAAO,KAAK,SAAS,iBAAiB,KAAK,GAAG,OAAO;AAAA,EACzD;AAAA,EAEO,oBAAoB,OAAiC,SAA0B;AAClF,WAAO,KAAK,SAAS,oBAAoB,KAAK,GAAG,OAAO;AAAA,EAC5D;AAAA,EAEO,oBAAoB,OAAiC,SAA0B;AAClF,WAAO,KAAK,SAAS,oBAAoB,KAAK,GAAG,OAAO;AAAA,EAC5D;AAAA,EAEO,sBAAsB,OAAmC,SAA0B;AACtF,WAAO,KAAK,SAAS,sBAAsB,KAAK,GAAG,OAAO;AAAA,EAC9D;AAAA,EAEO,kBAAkB,SAA0B;AAC/C,WAAO,KAAK,SAAS,kBAAkB,GAAG,OAAO;AAAA,EACrD;AACJ;"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
function getDefaultExportFromCjs(x) {
|
|
4
|
-
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
|
5
|
-
}
|
|
6
|
-
exports.getDefaultExportFromCjs = getDefaultExportFromCjs;
|
|
7
|
-
//# sourceMappingURL=_commonjsHelpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_commonjsHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const zod = require("../schema/zod.js");
|
|
4
|
-
const base = require("../utils/base.js");
|
|
5
|
-
const setName = (name) => base.createAction(
|
|
6
|
-
"SET_NAME",
|
|
7
|
-
name,
|
|
8
|
-
void 0,
|
|
9
|
-
zod.SetNameActionInputSchema,
|
|
10
|
-
void 0
|
|
11
|
-
);
|
|
12
|
-
const undo = (skip = 1, scope = "global") => base.createAction(
|
|
13
|
-
"UNDO",
|
|
14
|
-
skip,
|
|
15
|
-
void 0,
|
|
16
|
-
zod.UndoActionInputSchema,
|
|
17
|
-
scope
|
|
18
|
-
);
|
|
19
|
-
const redo = (count = 1, scope = "global") => base.createAction(
|
|
20
|
-
"REDO",
|
|
21
|
-
count,
|
|
22
|
-
void 0,
|
|
23
|
-
zod.RedoActionInputSchema,
|
|
24
|
-
scope
|
|
25
|
-
);
|
|
26
|
-
const prune = (start, end, scope = "global") => base.createAction(
|
|
27
|
-
"PRUNE",
|
|
28
|
-
{ start, end },
|
|
29
|
-
void 0,
|
|
30
|
-
zod.PruneActionInputSchema,
|
|
31
|
-
scope
|
|
32
|
-
);
|
|
33
|
-
const loadState = (state, operations) => base.createAction(
|
|
34
|
-
"LOAD_STATE",
|
|
35
|
-
{ state, operations },
|
|
36
|
-
void 0,
|
|
37
|
-
zod.LoadStateActionInputSchema
|
|
38
|
-
);
|
|
39
|
-
const noop = (scope = "global") => base.createAction("NOOP", {}, void 0, void 0, scope);
|
|
40
|
-
exports.loadState = loadState;
|
|
41
|
-
exports.noop = noop;
|
|
42
|
-
exports.prune = prune;
|
|
43
|
-
exports.redo = redo;
|
|
44
|
-
exports.setName = setName;
|
|
45
|
-
exports.undo = undo;
|
|
46
|
-
//# sourceMappingURL=creators.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"creators.js","sources":["../../../../../../src/document/actions/creators.ts"],"sourcesContent":["import { ExtendedState, OperationScope, z } from '../types';\nimport { createAction } from '../utils/base';\nimport {\n LoadStateAction,\n PruneAction,\n RedoAction,\n SetNameAction,\n UndoAction,\n NOOPAction,\n} from './types';\n\n/**\n * Changes the name of the document.\n *\n * @param name - The name to be set in the document.\n * @category Actions\n */\nexport const setName = (name: string) =>\n createAction<SetNameAction>(\n 'SET_NAME',\n name,\n undefined,\n z.SetNameActionInputSchema,\n undefined,\n );\n\n/**\n * Cancels the last `count` operations.\n *\n * @param count - Number of operations to cancel\n * @category Actions\n */\nexport const undo = (skip = 1, scope: OperationScope = 'global') =>\n createAction<UndoAction>(\n 'UNDO',\n skip,\n undefined,\n z.UndoActionInputSchema,\n scope,\n );\n\n/**\n * Cancels the last `count` {@link undo | UNDO} operations.\n *\n * @param count - Number of UNDO operations to cancel\n * @category Actions\n */\nexport const redo = (count = 1, scope: OperationScope = 'global') =>\n createAction<RedoAction>(\n 'REDO',\n count,\n undefined,\n z.RedoActionInputSchema,\n scope,\n );\n\n/**\n * Joins multiple operations into a single {@link loadState | LOAD_STATE} operation.\n *\n * @remarks\n * Useful to keep operations history smaller. Operations to prune are selected by index,\n * similar to the {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice | slice} method in Arrays.\n *\n * @param start - Index of the first operation to prune\n * @param end - Index of the last operation to prune\n * @category Actions\n */\nexport const prune = (\n start?: number | undefined,\n end?: number | undefined,\n scope: OperationScope = 'global',\n) =>\n createAction<PruneAction>(\n 'PRUNE',\n { start, end },\n undefined,\n z.PruneActionInputSchema,\n scope,\n );\n\n/**\n * Replaces the state of the document.\n *\n * @remarks\n * This action shouldn't be used directly. It is dispatched by the {@link prune} action.\n *\n * @param state - State to be set in the document.\n * @param operations - Number of operations that were removed from the previous state.\n * @category Actions\n */\nexport const loadState = <S, T>(\n state: Pick<ExtendedState<S, T>, 'state' | 'name'>,\n operations: number,\n) =>\n createAction<LoadStateAction>(\n 'LOAD_STATE',\n { state, operations },\n undefined,\n z.LoadStateActionInputSchema,\n );\n\nexport const noop = (scope: OperationScope = 'global') =>\n createAction<NOOPAction>('NOOP', {}, undefined, undefined, scope);\n"],"names":["createAction","z.SetNameActionInputSchema","z.UndoActionInputSchema","z.RedoActionInputSchema","z.PruneActionInputSchema","z.LoadStateActionInputSchema"],"mappings":";;;;AAiBa,MAAA,UAAU,CAAC,SACpBA,KAAA;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACAC,IAAE;AAAA,EACF;AACJ;AAQG,MAAM,OAAO,CAAC,OAAO,GAAG,QAAwB,aACnDD,KAAA;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACAE,IAAE;AAAA,EACF;AACJ;AAQG,MAAM,OAAO,CAAC,QAAQ,GAAG,QAAwB,aACpDF,KAAA;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACAG,IAAE;AAAA,EACF;AACJ;AAaG,MAAM,QAAQ,CACjB,OACA,KACA,QAAwB,aAExBH,KAAA;AAAA,EACI;AAAA,EACA,EAAE,OAAO,IAAI;AAAA,EACb;AAAA,EACAI,IAAE;AAAA,EACF;AACJ;AAYS,MAAA,YAAY,CACrB,OACA,eAEAJ,KAAA;AAAA,EACI;AAAA,EACA,EAAE,OAAO,WAAW;AAAA,EACpB;AAAA,EACAK,IAAE;AACN;AAES,MAAA,OAAO,CAAC,QAAwB,aACzCL,KAAA,aAAyB,QAAQ,CAAA,GAAI,QAAW,QAAW,KAAK;;;;;;;"}
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const immer = require("immer");
|
|
4
|
-
const base = require("../utils/base.js");
|
|
5
|
-
const creators = require("./creators.js");
|
|
6
|
-
function setNameOperation(document, name) {
|
|
7
|
-
return { ...document, name };
|
|
8
|
-
}
|
|
9
|
-
function undoOperation(document, action, skip) {
|
|
10
|
-
const { scope, input } = action;
|
|
11
|
-
const defaultResult = {
|
|
12
|
-
document,
|
|
13
|
-
action,
|
|
14
|
-
skip
|
|
15
|
-
};
|
|
16
|
-
return immer.produce(defaultResult, (draft) => {
|
|
17
|
-
if (draft.document.operations[scope].length < 1) {
|
|
18
|
-
throw new Error(
|
|
19
|
-
`Cannot undo: no operations in history for scope "${scope}"`
|
|
20
|
-
);
|
|
21
|
-
}
|
|
22
|
-
if (input < 1) {
|
|
23
|
-
throw new Error(
|
|
24
|
-
`Invalid UNDO action: input value must be greater than 0`
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
if (draft.skip > 0) {
|
|
28
|
-
throw new Error(
|
|
29
|
-
`Cannot undo: skip value from reducer cannot be used with UNDO action`
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
const lastOperation = draft.document.operations[scope].at(-1);
|
|
33
|
-
const isLatestOpNOOP = lastOperation && lastOperation.type === "NOOP" && lastOperation.skip > 0;
|
|
34
|
-
draft.skip += input;
|
|
35
|
-
if (isLatestOpNOOP) {
|
|
36
|
-
draft.skip += lastOperation.skip;
|
|
37
|
-
const preLastOperation = draft.document.operations[scope][draft.document.operations[scope].length - 2];
|
|
38
|
-
if (preLastOperation && lastOperation.index - preLastOperation.index === 1) {
|
|
39
|
-
draft.document.operations[scope].pop();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
if (draft.document.operations[scope].length < draft.skip) {
|
|
43
|
-
throw new Error(
|
|
44
|
-
`Cannot undo: you can't undo more operations than the ones in the scope history`
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
const operationsLastIndex = draft.document.operations[scope].length - 1;
|
|
48
|
-
let skippedOpsLeft = input;
|
|
49
|
-
let index = isLatestOpNOOP ? operationsLastIndex - lastOperation.skip : operationsLastIndex;
|
|
50
|
-
while (skippedOpsLeft > 0 && index >= 0) {
|
|
51
|
-
const op = draft.document.operations[scope][index];
|
|
52
|
-
if (!op) {
|
|
53
|
-
skippedOpsLeft--;
|
|
54
|
-
index--;
|
|
55
|
-
continue;
|
|
56
|
-
}
|
|
57
|
-
if (op.type === "NOOP" && op.skip > 0) {
|
|
58
|
-
index = index - (op.skip + 1);
|
|
59
|
-
draft.skip += op.skip + 1;
|
|
60
|
-
} else {
|
|
61
|
-
draft.document.clipboard.push({ ...op });
|
|
62
|
-
skippedOpsLeft--;
|
|
63
|
-
index--;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
draft.action = creators.noop(scope);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
function redoOperation(document, action, skip) {
|
|
70
|
-
const { scope, input } = action;
|
|
71
|
-
const defaultResult = {
|
|
72
|
-
document,
|
|
73
|
-
action,
|
|
74
|
-
skip
|
|
75
|
-
};
|
|
76
|
-
return immer.produce(defaultResult, (draft) => {
|
|
77
|
-
if (draft.skip > 0) {
|
|
78
|
-
throw new Error(
|
|
79
|
-
`Cannot redo: skip value from reducer cannot be used with REDO action`
|
|
80
|
-
);
|
|
81
|
-
}
|
|
82
|
-
if (input > 1) {
|
|
83
|
-
throw new Error(
|
|
84
|
-
`Cannot redo: you can only redo one operation at a time`
|
|
85
|
-
);
|
|
86
|
-
}
|
|
87
|
-
if (input < 1) {
|
|
88
|
-
throw new Error(`Invalid REDO action: invalid redo input value`);
|
|
89
|
-
}
|
|
90
|
-
if (draft.document.clipboard.length < 1) {
|
|
91
|
-
throw new Error(`Cannot redo: no operations in the clipboard`);
|
|
92
|
-
}
|
|
93
|
-
const operationIndex = draft.document.clipboard.findLastIndex(
|
|
94
|
-
(op) => op.scope === scope
|
|
95
|
-
);
|
|
96
|
-
if (operationIndex < 0) {
|
|
97
|
-
throw new Error(
|
|
98
|
-
`Cannot redo: no operations in clipboard for scope "${scope}"`
|
|
99
|
-
);
|
|
100
|
-
}
|
|
101
|
-
const operation = draft.document.clipboard.splice(operationIndex, 1)[0];
|
|
102
|
-
draft.action = immer.castDraft({
|
|
103
|
-
type: operation.type,
|
|
104
|
-
scope: operation.scope,
|
|
105
|
-
input: operation.input
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
function pruneOperation(document, action, wrappedReducer) {
|
|
110
|
-
const { scope } = action;
|
|
111
|
-
const operations = document.operations[scope];
|
|
112
|
-
let {
|
|
113
|
-
input: { start, end }
|
|
114
|
-
} = action;
|
|
115
|
-
start = start || 0;
|
|
116
|
-
end = end || operations.length;
|
|
117
|
-
const actionsToPrune = operations.slice(start, end);
|
|
118
|
-
const actionsToKeepStart = operations.slice(0, start);
|
|
119
|
-
const actionsToKeepEnd = operations.slice(end);
|
|
120
|
-
const newDocument = base.replayOperations(
|
|
121
|
-
document.initialState,
|
|
122
|
-
{
|
|
123
|
-
...document.operations,
|
|
124
|
-
[scope]: actionsToKeepStart.concat(actionsToPrune)
|
|
125
|
-
},
|
|
126
|
-
wrappedReducer
|
|
127
|
-
);
|
|
128
|
-
const { name, state: newState } = newDocument;
|
|
129
|
-
const loadStateIndex = actionsToKeepStart.length;
|
|
130
|
-
const loadStateTimestamp = actionsToKeepStart.length ? actionsToKeepStart[actionsToKeepStart.length - 1].timestamp : actionsToKeepEnd.length ? actionsToKeepEnd[0].timestamp : (/* @__PURE__ */ new Date()).toISOString();
|
|
131
|
-
return base.replayOperations(
|
|
132
|
-
document.initialState,
|
|
133
|
-
{
|
|
134
|
-
...document.operations,
|
|
135
|
-
[scope]: [
|
|
136
|
-
...actionsToKeepStart,
|
|
137
|
-
{
|
|
138
|
-
...creators.loadState(
|
|
139
|
-
{ name, state: newState },
|
|
140
|
-
actionsToPrune.length
|
|
141
|
-
),
|
|
142
|
-
timestamp: loadStateTimestamp,
|
|
143
|
-
index: loadStateIndex,
|
|
144
|
-
hash: base.hashDocument({ state: newState }, "global")
|
|
145
|
-
},
|
|
146
|
-
...actionsToKeepEnd.map((action2, index) => ({
|
|
147
|
-
...action2,
|
|
148
|
-
index: loadStateIndex + index + 1
|
|
149
|
-
}))
|
|
150
|
-
]
|
|
151
|
-
},
|
|
152
|
-
wrappedReducer
|
|
153
|
-
);
|
|
154
|
-
}
|
|
155
|
-
function loadStateOperation(oldDocument, newDocument) {
|
|
156
|
-
return {
|
|
157
|
-
...oldDocument,
|
|
158
|
-
name: newDocument.name,
|
|
159
|
-
state: newDocument.state ?? { global: {}, local: {} }
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
exports.loadState = creators.loadState;
|
|
163
|
-
exports.noop = creators.noop;
|
|
164
|
-
exports.prune = creators.prune;
|
|
165
|
-
exports.redo = creators.redo;
|
|
166
|
-
exports.setName = creators.setName;
|
|
167
|
-
exports.undo = creators.undo;
|
|
168
|
-
exports.loadStateOperation = loadStateOperation;
|
|
169
|
-
exports.pruneOperation = pruneOperation;
|
|
170
|
-
exports.redoOperation = redoOperation;
|
|
171
|
-
exports.setNameOperation = setNameOperation;
|
|
172
|
-
exports.undoOperation = undoOperation;
|
|
173
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../src/document/actions/index.ts"],"sourcesContent":["import { castDraft, produce } from 'immer';\nimport {\n Action,\n Document,\n ImmutableStateReducer,\n Operation,\n PruneAction,\n RedoAction,\n State,\n UndoAction,\n UndoRedoProcessResult,\n} from '../types';\nimport { hashDocument, replayOperations } from '../utils/base';\nimport { loadState, noop } from './creators';\n\n// updates the name of the document\nexport function setNameOperation<T>(document: T, name: string): T {\n return { ...document, name };\n}\n\nexport function noopOperation<T, A extends Action, L>(\n document: Document<T, A, L>,\n action: Partial<Operation>,\n skip: number,\n) {\n const defaultValues = {\n skip,\n document,\n };\n\n const { scope } = action;\n\n if (!scope) return defaultValues;\n if (action.skip === undefined) return defaultValues;\n\n return produce(defaultValues, draft => {\n const lastOperation = draft.document.operations[scope].at(-1);\n\n if (action.skip && action.skip > 0) {\n draft.skip = action.skip;\n }\n\n if (\n lastOperation &&\n lastOperation.type === 'NOOP' &&\n action.index === lastOperation.index &&\n draft.skip > lastOperation.skip\n ) {\n draft.document.operations[scope].pop();\n }\n });\n}\n\nexport function undoOperation<T, A extends Action, L>(\n document: Document<T, A, L>,\n action: UndoAction,\n skip: number,\n): UndoRedoProcessResult<T, A, L> {\n // const scope = action.scope;\n const { scope, input } = action;\n\n const defaultResult: UndoRedoProcessResult<T, A, L> = {\n document,\n action,\n skip,\n };\n\n return produce(defaultResult, draft => {\n if (draft.document.operations[scope].length < 1) {\n throw new Error(\n `Cannot undo: no operations in history for scope \"${scope}\"`,\n );\n }\n\n if (input < 1) {\n throw new Error(\n `Invalid UNDO action: input value must be greater than 0`,\n );\n }\n\n if (draft.skip > 0) {\n throw new Error(\n `Cannot undo: skip value from reducer cannot be used with UNDO action`,\n );\n }\n\n const lastOperation = draft.document.operations[scope].at(-1);\n\n const isLatestOpNOOP =\n lastOperation &&\n lastOperation.type === 'NOOP' &&\n lastOperation.skip > 0;\n\n draft.skip += input;\n\n if (isLatestOpNOOP) {\n draft.skip += lastOperation.skip;\n\n const preLastOperation =\n draft.document.operations[scope][\n draft.document.operations[scope].length - 2\n ];\n if (\n preLastOperation &&\n lastOperation.index - preLastOperation.index === 1\n ) {\n draft.document.operations[scope].pop();\n }\n }\n\n if (draft.document.operations[scope].length < draft.skip) {\n throw new Error(\n `Cannot undo: you can't undo more operations than the ones in the scope history`,\n );\n }\n\n const operationsLastIndex = draft.document.operations[scope].length - 1;\n let skippedOpsLeft = input;\n let index = isLatestOpNOOP\n ? operationsLastIndex - lastOperation.skip\n : operationsLastIndex;\n\n while (skippedOpsLeft > 0 && index >= 0) {\n const op = draft.document.operations[scope][index];\n\n if (!op) {\n skippedOpsLeft--;\n index--;\n continue;\n }\n\n if (op.type === 'NOOP' && op.skip > 0) {\n index = index - (op.skip + 1);\n draft.skip += op.skip + 1;\n } else {\n draft.document.clipboard.push({ ...op });\n skippedOpsLeft--;\n index--;\n }\n }\n\n draft.action = noop(scope);\n });\n}\n\nexport function redoOperation<T, A extends Action, L>(\n document: Document<T, A, L>,\n action: RedoAction,\n skip: number,\n): UndoRedoProcessResult<T, A, L> {\n const { scope, input } = action;\n\n const defaultResult: UndoRedoProcessResult<T, A, L> = {\n document,\n action,\n skip,\n };\n\n return produce(defaultResult, draft => {\n if (draft.skip > 0) {\n throw new Error(\n `Cannot redo: skip value from reducer cannot be used with REDO action`,\n );\n }\n\n if (input > 1) {\n throw new Error(\n `Cannot redo: you can only redo one operation at a time`,\n );\n }\n\n if (input < 1) {\n throw new Error(`Invalid REDO action: invalid redo input value`);\n }\n\n if (draft.document.clipboard.length < 1) {\n throw new Error(`Cannot redo: no operations in the clipboard`);\n }\n\n const operationIndex = draft.document.clipboard.findLastIndex(\n op => op.scope === scope,\n );\n if (operationIndex < 0) {\n throw new Error(\n `Cannot redo: no operations in clipboard for scope \"${scope}\"`,\n );\n }\n\n const operation = draft.document.clipboard.splice(operationIndex, 1)[0];\n\n draft.action = castDraft({\n type: operation.type,\n scope: operation.scope,\n input: operation.input,\n } as A);\n });\n}\n\nexport function pruneOperation<T, A extends Action, L>(\n document: Document<T, A, L>,\n action: PruneAction,\n wrappedReducer: ImmutableStateReducer<T, A, L>,\n): Document<T, A, L> {\n const { scope } = action;\n const operations = document.operations[scope];\n\n let {\n input: { start, end },\n } = action;\n start = start || 0;\n end = end || operations.length;\n\n const actionsToPrune = operations.slice(start, end);\n const actionsToKeepStart = operations.slice(0, start);\n const actionsToKeepEnd = operations.slice(end);\n\n // runs all operations from the initial state to\n // the end of prune to get name and data\n const newDocument = replayOperations(\n document.initialState,\n {\n ...document.operations,\n [scope]: actionsToKeepStart.concat(actionsToPrune),\n },\n wrappedReducer,\n );\n\n const { name, state: newState } = newDocument;\n\n // the new operation has the index of the first pruned operation\n const loadStateIndex = actionsToKeepStart.length;\n\n // if and operation is pruned then reuses the timestamp of the last operation\n // if not then assigns the timestamp of the following unpruned operation\n const loadStateTimestamp = actionsToKeepStart.length\n ? actionsToKeepStart[actionsToKeepStart.length - 1].timestamp\n : actionsToKeepEnd.length\n ? actionsToKeepEnd[0].timestamp\n : new Date().toISOString();\n\n // replaces pruned operations with LOAD_STATE\n return replayOperations(\n document.initialState,\n {\n ...document.operations,\n [scope]: [\n ...actionsToKeepStart,\n {\n ...loadState(\n { name, state: newState },\n actionsToPrune.length,\n ),\n timestamp: loadStateTimestamp,\n index: loadStateIndex,\n hash: hashDocument({ state: newState }, 'global'),\n },\n ...actionsToKeepEnd\n // updates the index for all the following operations\n .map((action, index) => ({\n ...action,\n index: loadStateIndex + index + 1,\n })),\n ],\n },\n wrappedReducer,\n );\n}\n\nexport function loadStateOperation<T, A extends Action, L>(\n oldDocument: Document<T, A, L>,\n newDocument: { name: string; state?: State<T, L> },\n): Document<T, A, L> {\n return {\n ...oldDocument,\n name: newDocument.name,\n state: newDocument.state ?? ({ global: {}, local: {} } as State<T, L>),\n };\n}\n\nexport * from './creators';\n"],"names":["produce","noop","castDraft","replayOperations","loadState","hashDocument","action"],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const SET_NAME = "SET_NAME";
|
|
4
|
-
const UNDO = "UNDO";
|
|
5
|
-
const REDO = "REDO";
|
|
6
|
-
const PRUNE = "PRUNE";
|
|
7
|
-
const LOAD_STATE = "LOAD_STATE";
|
|
8
|
-
const NOOP = "NOOP";
|
|
9
|
-
exports.LOAD_STATE = LOAD_STATE;
|
|
10
|
-
exports.NOOP = NOOP;
|
|
11
|
-
exports.PRUNE = PRUNE;
|
|
12
|
-
exports.REDO = REDO;
|
|
13
|
-
exports.SET_NAME = SET_NAME;
|
|
14
|
-
exports.UNDO = UNDO;
|
|
15
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../../../../src/document/actions/types.ts"],"sourcesContent":["import type { Action } from '../types';\nimport type {\n LoadStateActionInput,\n PruneActionInput,\n RedoAction as _RedoAction,\n SetNameAction as _SetNameAction,\n UndoAction as _UndoAction,\n} from '../schema/types';\n\nexport const SET_NAME = 'SET_NAME';\nexport const UNDO = 'UNDO';\nexport const REDO = 'REDO';\nexport const PRUNE = 'PRUNE';\nexport const LOAD_STATE = 'LOAD_STATE';\nexport const NOOP = 'NOOP';\n\nexport type LoadStateAction = Action<'LOAD_STATE', LoadStateActionInput>;\nexport type PruneAction = Action<'PRUNE', PruneActionInput>;\nexport type RedoAction = Action<'REDO', _RedoAction['input']>;\nexport type SetNameAction = Action<'SET_NAME', _SetNameAction['input']>;\nexport type UndoAction = Action<'UNDO', _UndoAction['input']>;\nexport type NOOPAction = Action<'NOOP'>;\n\nexport type BaseAction =\n | LoadStateAction\n | PruneAction\n | RedoAction\n | SetNameAction\n | UndoAction\n | NOOPAction;\n"],"names":[],"mappings":";;AASO,MAAM,WAAW;AACjB,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM,QAAQ;AACd,MAAM,aAAa;AACnB,MAAM,OAAO;;;;;;;"}
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
|
-
var __publicField = (obj, key, value) => {
|
|
5
|
-
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
6
|
-
return value;
|
|
7
|
-
};
|
|
8
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
9
|
-
require("immer");
|
|
10
|
-
const base = require("./utils/base.js");
|
|
11
|
-
const creators = require("./actions/creators.js");
|
|
12
|
-
const file = require("./utils/file.js");
|
|
13
|
-
require("../../node_modules/.pnpm/safe-stable-stringify@2.4.3/node_modules/safe-stable-stringify/esm/wrapper.js");
|
|
14
|
-
class BaseDocument {
|
|
15
|
-
/**
|
|
16
|
-
* Constructs a BaseDocument instance with an initial state.
|
|
17
|
-
* @param reducer - The reducer function that updates the state.
|
|
18
|
-
* @param document - The initial state of the document.
|
|
19
|
-
*/
|
|
20
|
-
constructor(reducer, document, signalDispatch) {
|
|
21
|
-
__publicField(this, "_document");
|
|
22
|
-
__publicField(this, "_reducer");
|
|
23
|
-
__publicField(this, "_signalDispatch");
|
|
24
|
-
this._reducer = reducer;
|
|
25
|
-
this._document = document;
|
|
26
|
-
this._signalDispatch = signalDispatch;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Dispatches an action to update the state of the document.
|
|
30
|
-
* @param action - The action to dispatch.
|
|
31
|
-
* @returns The Document instance.
|
|
32
|
-
*/
|
|
33
|
-
dispatch(action, options) {
|
|
34
|
-
this._document = this._reducer(
|
|
35
|
-
this._document,
|
|
36
|
-
action,
|
|
37
|
-
this._signalDispatch,
|
|
38
|
-
options
|
|
39
|
-
);
|
|
40
|
-
return this;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Saves the state of the document to a file.
|
|
44
|
-
* @param path - The file path where the state should be saved.
|
|
45
|
-
* @param extension - The file extension to use when saving the state.
|
|
46
|
-
* @returns The file path where the state was saved.
|
|
47
|
-
*/
|
|
48
|
-
saveToFile(path, extension, name) {
|
|
49
|
-
return file.saveToFile(this._document, path, extension, name);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Loads the state of the document from a file.
|
|
53
|
-
* @param path - The file path where the state is stored.
|
|
54
|
-
*/
|
|
55
|
-
async loadFromFile(path) {
|
|
56
|
-
this._document = await file.loadFromFile(path, this._reducer);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Loads the state of the document from a file and returns it.
|
|
60
|
-
* @param path - The file path where the state is stored.
|
|
61
|
-
* @param reducer - The reducer function that updates the state.
|
|
62
|
-
* @returns The state of the document.
|
|
63
|
-
*/
|
|
64
|
-
static async stateFromFile(path, reducer) {
|
|
65
|
-
const state = await file.loadFromFile(path, reducer);
|
|
66
|
-
return state;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Gets the current state of the document.
|
|
70
|
-
*/
|
|
71
|
-
get state() {
|
|
72
|
-
return base.readOnly(this._document.state);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Gets the list of operations performed on the document.
|
|
76
|
-
*/
|
|
77
|
-
get operations() {
|
|
78
|
-
return base.readOnly(this._document.operations);
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Gets the name of the document.
|
|
82
|
-
*/
|
|
83
|
-
get name() {
|
|
84
|
-
return this._document.name;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Gets the type of document.
|
|
88
|
-
*/
|
|
89
|
-
get documentType() {
|
|
90
|
-
return this._document.documentType;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Gets the timestamp of the date the document was created.
|
|
94
|
-
*/
|
|
95
|
-
get created() {
|
|
96
|
-
return this._document.created;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Gets the timestamp of the date the document was last modified.
|
|
100
|
-
*/
|
|
101
|
-
get lastModified() {
|
|
102
|
-
return this._document.lastModified;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Gets the global revision number of the document.
|
|
106
|
-
*/
|
|
107
|
-
get revision() {
|
|
108
|
-
return this._document.revision.global;
|
|
109
|
-
}
|
|
110
|
-
getRevision(scope) {
|
|
111
|
-
return this._document.revision[scope];
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Gets the initial state of the document.
|
|
115
|
-
*/
|
|
116
|
-
get initialState() {
|
|
117
|
-
return base.readOnly(this._document.initialState);
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Returns the current document as an object
|
|
121
|
-
*/
|
|
122
|
-
toDocument() {
|
|
123
|
-
return base.readOnly(this._document);
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Gets the attachment associated with the given key.
|
|
127
|
-
* @param attachment - The key of the attachment to retrieve.
|
|
128
|
-
*/
|
|
129
|
-
getAttachment(attachment) {
|
|
130
|
-
return this._document.attachments[attachment];
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Sets the name of the document.
|
|
134
|
-
* @param name - The new name of the document.
|
|
135
|
-
*/
|
|
136
|
-
setName(name) {
|
|
137
|
-
this.dispatch(creators.setName(name));
|
|
138
|
-
return this;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Reverts a number of actions from the document.
|
|
142
|
-
* @param count - The number of actions to revert.
|
|
143
|
-
*/
|
|
144
|
-
undo(count) {
|
|
145
|
-
this.dispatch(creators.undo(count));
|
|
146
|
-
return this;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Reapplies a number of actions to the document.
|
|
150
|
-
* @param count - The number of actions to reapply.
|
|
151
|
-
*/
|
|
152
|
-
redo(count) {
|
|
153
|
-
this.dispatch(creators.redo(count));
|
|
154
|
-
return this;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Removes a range of operations from the document.
|
|
158
|
-
* @param start - The starting index of the range to remove.
|
|
159
|
-
* @param end - The ending index of the range to remove.
|
|
160
|
-
*/
|
|
161
|
-
prune(start, end) {
|
|
162
|
-
this.dispatch(creators.prune(start, end));
|
|
163
|
-
return this;
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Loads a document state and a set of operations.
|
|
167
|
-
* @param state - The state to load.
|
|
168
|
-
* @param operations - The operations to apply to the document.
|
|
169
|
-
*/
|
|
170
|
-
loadState(state, operations) {
|
|
171
|
-
this.dispatch(creators.loadState(state, operations));
|
|
172
|
-
return this;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
function applyMixins(derivedCtor, constructors) {
|
|
176
|
-
constructors.forEach((baseCtor) => {
|
|
177
|
-
Object.getOwnPropertyNames(baseCtor.prototype).forEach((name) => {
|
|
178
|
-
Object.defineProperty(
|
|
179
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
180
|
-
derivedCtor.prototype,
|
|
181
|
-
name,
|
|
182
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
|
|
183
|
-
Object.getOwnPropertyDescriptor(baseCtor.prototype, name) || /* @__PURE__ */ Object.create(null)
|
|
184
|
-
);
|
|
185
|
-
});
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
exports.BaseDocument = BaseDocument;
|
|
189
|
-
exports.applyMixins = applyMixins;
|
|
190
|
-
//# sourceMappingURL=object.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"object.js","sources":["../../../../../src/document/object.ts"],"sourcesContent":["import { loadState, prune, redo, setName, undo } from './actions';\nimport type { BaseAction } from './actions/types';\nimport type { SignalDispatch } from './signal';\nimport type {\n Action,\n AttachmentRef,\n Document,\n ExtendedState,\n OperationScope,\n Reducer,\n ReducerOptions,\n} from './types';\nimport { loadFromFile, readOnly, saveToFile } from './utils';\n\n/**\n * This is an abstract class representing a document and provides methods\n * for creating and manipulating documents.\n * @typeparam T - The type of data stored in the document.\n * @typeparam A - The type of action the document can take.\n */\nexport abstract class BaseDocument<T, A extends Action, L = unknown> {\n protected _document: Document<T, A, L>;\n private _reducer: Reducer<T, A, L>;\n private _signalDispatch?: SignalDispatch;\n\n /**\n * Constructs a BaseDocument instance with an initial state.\n * @param reducer - The reducer function that updates the state.\n * @param document - The initial state of the document.\n */\n constructor(\n reducer: Reducer<T, A, L>,\n document: Document<T, A, L>,\n signalDispatch?: SignalDispatch,\n ) {\n this._reducer = reducer;\n this._document = document;\n this._signalDispatch = signalDispatch;\n }\n\n /**\n * Dispatches an action to update the state of the document.\n * @param action - The action to dispatch.\n * @returns The Document instance.\n */\n protected dispatch(action: A | BaseAction, options?: ReducerOptions) {\n this._document = this._reducer(\n this._document,\n action,\n this._signalDispatch,\n options,\n );\n return this;\n }\n\n /**\n * Saves the state of the document to a file.\n * @param path - The file path where the state should be saved.\n * @param extension - The file extension to use when saving the state.\n * @returns The file path where the state was saved.\n */\n protected saveToFile(path: string, extension: string, name?: string) {\n return saveToFile(this._document, path, extension, name);\n }\n\n /**\n * Loads the state of the document from a file.\n * @param path - The file path where the state is stored.\n */\n async loadFromFile(path: string) {\n this._document = await loadFromFile<T, A, L>(path, this._reducer);\n }\n\n /**\n * Loads the state of the document from a file and returns it.\n * @param path - The file path where the state is stored.\n * @param reducer - The reducer function that updates the state.\n * @returns The state of the document.\n */\n protected static async stateFromFile<T, A extends Action, L>(\n path: string,\n reducer: Reducer<T, A, L>,\n ) {\n const state = await loadFromFile<T, A, L>(path, reducer);\n return state;\n }\n\n /**\n * Gets the current state of the document.\n */\n get state() {\n return readOnly(this._document.state);\n }\n\n /**\n * Gets the list of operations performed on the document.\n */\n get operations() {\n return readOnly(this._document.operations);\n }\n\n /**\n * Gets the name of the document.\n */\n get name() {\n return this._document.name;\n }\n\n /**\n * Gets the type of document.\n */\n get documentType() {\n return this._document.documentType;\n }\n\n /**\n * Gets the timestamp of the date the document was created.\n */\n get created() {\n return this._document.created;\n }\n\n /**\n * Gets the timestamp of the date the document was last modified.\n */\n get lastModified() {\n return this._document.lastModified;\n }\n\n /**\n * Gets the global revision number of the document.\n */\n get revision() {\n return this._document.revision.global;\n }\n\n getRevision(scope: OperationScope) {\n return this._document.revision[scope];\n }\n\n /**\n * Gets the initial state of the document.\n */\n get initialState() {\n return readOnly(this._document.initialState);\n }\n\n /**\n * Returns the current document as an object\n */\n public toDocument() {\n return readOnly(this._document);\n }\n\n /**\n * Gets the attachment associated with the given key.\n * @param attachment - The key of the attachment to retrieve.\n */\n public getAttachment(attachment: AttachmentRef) {\n return this._document.attachments[attachment];\n }\n\n /**\n * Sets the name of the document.\n * @param name - The new name of the document.\n */\n public setName(name: string) {\n this.dispatch(setName(name));\n return this;\n }\n\n /**\n * Reverts a number of actions from the document.\n * @param count - The number of actions to revert.\n */\n public undo(count: number) {\n this.dispatch(undo(count));\n return this;\n }\n\n /**\n * Reapplies a number of actions to the document.\n * @param count - The number of actions to reapply.\n */\n public redo(count: number) {\n this.dispatch(redo(count));\n return this;\n }\n /**\n * Removes a range of operations from the document.\n * @param start - The starting index of the range to remove.\n * @param end - The ending index of the range to remove.\n */\n public prune(start?: number | undefined, end?: number | undefined) {\n this.dispatch(prune(start, end));\n return this;\n }\n\n /**\n * Loads a document state and a set of operations.\n * @param state - The state to load.\n * @param operations - The operations to apply to the document.\n */\n public loadState(\n state: Pick<ExtendedState<T, L>, 'state' | 'name'>,\n operations: number,\n ) {\n this.dispatch(loadState(state, operations));\n return this;\n }\n}\n/**\n * Applies multiple mixins to a base class.\n * Used to have separate mixins to group methods by actions.\n *\n * @remarks\n * {@link https://www.typescriptlang.org/docs/handbook/mixins.html#alternative-pattern}\n *\n * @param derivedCtor - The class to apply the mixins to.\n * @param constructors - The constructors of the mixins.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function applyMixins(derivedCtor: any, constructors: any[]) {\n constructors.forEach(baseCtor => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {\n Object.defineProperty(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n derivedCtor.prototype,\n name,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n Object.getOwnPropertyDescriptor(baseCtor.prototype, name) ||\n Object.create(null),\n );\n });\n });\n}\n"],"names":["saveToFile","loadFromFile","readOnly","setName","undo","redo","prune","loadState"],"mappings":"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"}
|