@vertesia/workflow 1.3.0 → 1.4.0-dev.20260615.051508Z
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/README.md +1 -2
- package/lib/{types/activities → activities}/advanced/createDocumentTypeFromInteractionRun.d.ts +2 -2
- package/lib/activities/advanced/createDocumentTypeFromInteractionRun.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/advanced/createDocumentTypeFromInteractionRun.js +9 -9
- package/lib/activities/advanced/createDocumentTypeFromInteractionRun.js.map +1 -0
- package/lib/{types/activities → activities}/advanced/createOrUpdateDocumentFromInteractionRun.d.ts +2 -2
- package/lib/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/advanced/createOrUpdateDocumentFromInteractionRun.js +29 -22
- package/lib/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +1 -0
- package/lib/{types/activities → activities}/advanced/updateDocumentFromInteractionRun.d.ts +1 -1
- package/lib/activities/advanced/updateDocumentFromInteractionRun.d.ts.map +1 -0
- package/lib/activities/advanced/updateDocumentFromInteractionRun.js +16 -0
- package/lib/activities/advanced/updateDocumentFromInteractionRun.js.map +1 -0
- package/lib/{types/activities → activities}/chunkDocument.d.ts +3 -3
- package/lib/activities/chunkDocument.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/chunkDocument.js +38 -33
- package/lib/activities/chunkDocument.js.map +1 -0
- package/lib/{types/activities → activities}/createDocumentFromOther.d.ts +1 -1
- package/lib/activities/createDocumentFromOther.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/createDocumentFromOther.js +15 -13
- package/lib/activities/createDocumentFromOther.js.map +1 -0
- package/lib/{types/activities → activities}/executeInteraction.d.ts +19 -10
- package/lib/activities/executeInteraction.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/executeInteraction.js +97 -78
- package/lib/activities/executeInteraction.js.map +1 -0
- package/lib/{types/activities → activities}/executeRemoteActivity.d.ts +4 -4
- package/lib/activities/executeRemoteActivity.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/executeRemoteActivity.js +48 -23
- package/lib/activities/executeRemoteActivity.js.map +1 -0
- package/lib/{types/activities → activities}/extractDocumentText.d.ts +3 -3
- package/lib/activities/extractDocumentText.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/extractDocumentText.js +65 -52
- package/lib/activities/extractDocumentText.js.map +1 -0
- package/lib/{types/activities → activities}/generateDocumentProperties.d.ts +4 -4
- package/lib/activities/generateDocumentProperties.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/generateDocumentProperties.js +37 -33
- package/lib/activities/generateDocumentProperties.js.map +1 -0
- package/lib/{types/activities → activities}/generateEmbeddings.d.ts +3 -3
- package/lib/activities/generateEmbeddings.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/generateEmbeddings.js +80 -80
- package/lib/activities/generateEmbeddings.js.map +1 -0
- package/lib/{types/activities → activities}/generateOrAssignContentType.d.ts +4 -4
- package/lib/activities/generateOrAssignContentType.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/generateOrAssignContentType.js +51 -49
- package/lib/activities/generateOrAssignContentType.js.map +1 -0
- package/lib/{types/activities → activities}/getObjectFromStore.d.ts +1 -1
- package/lib/activities/getObjectFromStore.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/getObjectFromStore.js +4 -3
- package/lib/activities/getObjectFromStore.js.map +1 -0
- package/lib/{types/activities → activities}/handleError.d.ts +1 -1
- package/lib/activities/handleError.d.ts.map +1 -0
- package/lib/activities/handleError.js +37 -0
- package/lib/activities/handleError.js.map +1 -0
- package/lib/activities/index-dsl.d.ts +31 -0
- package/lib/activities/index-dsl.d.ts.map +1 -0
- package/lib/activities/index-dsl.js +29 -0
- package/lib/activities/index-dsl.js.map +1 -0
- package/lib/{types/activities → activities}/index.d.ts +1 -1
- package/lib/activities/index.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/index.js +1 -1
- package/lib/activities/index.js.map +1 -0
- package/lib/{types/activities → activities}/loadChildWorkflowSpec.d.ts +1 -1
- package/lib/activities/loadChildWorkflowSpec.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/loadChildWorkflowSpec.js +4 -2
- package/lib/activities/loadChildWorkflowSpec.js.map +1 -0
- package/lib/{types/activities → activities}/media/prepareAudio.d.ts +1 -1
- package/lib/activities/media/prepareAudio.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/media/prepareAudio.js +27 -23
- package/lib/activities/media/prepareAudio.js.map +1 -0
- package/lib/{types/activities → activities}/media/prepareVideo.d.ts +2 -2
- package/lib/activities/media/prepareVideo.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/media/prepareVideo.js +72 -54
- package/lib/activities/media/prepareVideo.js.map +1 -0
- package/lib/{types/activities → activities}/media/probeMediaStreams.d.ts +2 -3
- package/lib/activities/media/probeMediaStreams.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/media/probeMediaStreams.js +7 -5
- package/lib/activities/media/probeMediaStreams.js.map +1 -0
- package/lib/{types/activities → activities}/media/processPdfWithTextract.d.ts +3 -3
- package/lib/activities/media/processPdfWithTextract.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/media/processPdfWithTextract.js +43 -26
- package/lib/activities/media/processPdfWithTextract.js.map +1 -0
- package/lib/{types/activities → activities}/media/saveGladiaTranscription.d.ts +2 -2
- package/lib/activities/media/saveGladiaTranscription.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/media/saveGladiaTranscription.js +35 -25
- package/lib/activities/media/saveGladiaTranscription.js.map +1 -0
- package/lib/{types/activities → activities}/media/transcribeMediaWithGladia.d.ts +2 -2
- package/lib/activities/media/transcribeMediaWithGladia.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/media/transcribeMediaWithGladia.js +26 -21
- package/lib/activities/media/transcribeMediaWithGladia.js.map +1 -0
- package/lib/{types/activities → activities}/mergeChildArtifacts.d.ts +1 -1
- package/lib/activities/mergeChildArtifacts.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/mergeChildArtifacts.js +27 -26
- package/lib/activities/mergeChildArtifacts.js.map +1 -0
- package/lib/{types/activities → activities}/notifyWebhook.d.ts +6 -5
- package/lib/activities/notifyWebhook.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/notifyWebhook.js +20 -17
- package/lib/activities/notifyWebhook.js.map +1 -0
- package/lib/{types/activities → activities}/rateLimiter.d.ts +1 -1
- package/lib/activities/rateLimiter.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/rateLimiter.js +4 -3
- package/lib/activities/rateLimiter.js.map +1 -0
- package/lib/{types/activities → activities}/renditions/generateImageRendition.d.ts +3 -3
- package/lib/activities/renditions/generateImageRendition.d.ts.map +1 -0
- package/lib/activities/renditions/generateImageRendition.js +75 -0
- package/lib/activities/renditions/generateImageRendition.js.map +1 -0
- package/lib/{types/activities → activities}/renditions/generateVideoRendition.d.ts +3 -3
- package/lib/activities/renditions/generateVideoRendition.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/renditions/generateVideoRendition.js +51 -54
- package/lib/activities/renditions/generateVideoRendition.js.map +1 -0
- package/lib/{types/activities → activities}/resolveRemoteActivities.d.ts +3 -4
- package/lib/activities/resolveRemoteActivities.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/resolveRemoteActivities.js +16 -15
- package/lib/activities/resolveRemoteActivities.js.map +1 -0
- package/lib/{types/activities → activities}/setDocumentStatus.d.ts +1 -1
- package/lib/activities/setDocumentStatus.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/setDocumentStatus.js +5 -3
- package/lib/activities/setDocumentStatus.js.map +1 -0
- package/lib/{types/bulk-import.d.ts → bulk-import.d.ts} +10 -1
- package/lib/bulk-import.d.ts.map +1 -0
- package/lib/bulk-import.js.map +1 -0
- package/lib/{types/conversion → conversion}/TextractProcessor.d.ts +7 -4
- package/lib/conversion/TextractProcessor.d.ts.map +1 -0
- package/lib/{esm/conversion → conversion}/TextractProcessor.js +38 -38
- package/lib/conversion/TextractProcessor.js.map +1 -0
- package/lib/conversion/image.d.ts.map +1 -0
- package/lib/{esm/conversion → conversion}/image.js +35 -35
- package/lib/conversion/image.js.map +1 -0
- package/lib/conversion/markitdown.d.ts.map +1 -0
- package/lib/{esm/conversion → conversion}/markitdown.js +11 -11
- package/lib/conversion/markitdown.js.map +1 -0
- package/lib/conversion/mutool.d.ts.map +1 -0
- package/lib/{esm/conversion → conversion}/mutool.js +19 -24
- package/lib/conversion/mutool.js.map +1 -0
- package/lib/conversion/pandoc.d.ts.map +1 -0
- package/lib/{esm/conversion → conversion}/pandoc.js +11 -11
- package/lib/conversion/pandoc.js.map +1 -0
- package/lib/dsl/conditions.d.ts +2 -0
- package/lib/dsl/conditions.d.ts.map +1 -0
- package/lib/dsl/conditions.js +90 -0
- package/lib/dsl/conditions.js.map +1 -0
- package/lib/{types/dsl → dsl}/dsl-workflow.d.ts +2 -2
- package/lib/dsl/dsl-workflow.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/dsl-workflow.js +93 -65
- package/lib/dsl/dsl-workflow.js.map +1 -0
- package/lib/dsl/dslProxyActivities.d.ts +7 -0
- package/lib/dsl/dslProxyActivities.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/dslProxyActivities.js +10 -1
- package/lib/dsl/dslProxyActivities.js.map +1 -0
- package/lib/dsl/projections.d.ts +4 -0
- package/lib/dsl/projections.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/projections.js +22 -8
- package/lib/dsl/projections.js.map +1 -0
- package/lib/{types/dsl → dsl}/setup/ActivityContext.d.ts +4 -4
- package/lib/dsl/setup/ActivityContext.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/setup/ActivityContext.js +22 -25
- package/lib/dsl/setup/ActivityContext.js.map +1 -0
- package/lib/{types/dsl → dsl}/setup/fetch/DataProvider.d.ts +3 -3
- package/lib/dsl/setup/fetch/DataProvider.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/setup/fetch/DataProvider.js +2 -1
- package/lib/dsl/setup/fetch/DataProvider.js.map +1 -0
- package/lib/dsl/setup/fetch/index.d.ts +6 -0
- package/lib/dsl/setup/fetch/index.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/setup/fetch/index.js +1 -1
- package/lib/dsl/setup/fetch/index.js.map +1 -0
- package/lib/{types/dsl → dsl}/setup/fetch/providers.d.ts +6 -6
- package/lib/dsl/setup/fetch/providers.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/setup/fetch/providers.js +30 -16
- package/lib/dsl/setup/fetch/providers.js.map +1 -0
- package/lib/dsl/test/test-child-workflow.d.ts +4 -0
- package/lib/dsl/test/test-child-workflow.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/test/test-child-workflow.js +1 -1
- package/lib/dsl/test/test-child-workflow.js.map +1 -0
- package/lib/{types/dsl → dsl}/validation.d.ts +1 -1
- package/lib/dsl/validation.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/validation.js +8 -8
- package/lib/dsl/validation.js.map +1 -0
- package/lib/{types/dsl → dsl}/vars.d.ts +16 -16
- package/lib/dsl/vars.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/vars.js +20 -15
- package/lib/dsl/vars.js.map +1 -0
- package/lib/dsl/walk.d.ts +18 -0
- package/lib/dsl/walk.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/walk.js +37 -16
- package/lib/dsl/walk.js.map +1 -0
- package/lib/dsl.d.ts +4 -0
- package/lib/dsl.d.ts.map +1 -0
- package/lib/dsl.js +4 -0
- package/lib/dsl.js.map +1 -0
- package/lib/{types/errors.d.ts → errors.d.ts} +2 -2
- package/lib/errors.d.ts.map +1 -0
- package/lib/{esm/errors.js → errors.js} +22 -17
- package/lib/errors.js.map +1 -0
- package/lib/index.d.ts +36 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +37 -0
- package/lib/index.js.map +1 -0
- package/lib/result-types.d.ts.map +1 -0
- package/lib/result-types.js.map +1 -0
- package/lib/security/ssrf.d.ts.map +1 -0
- package/lib/security/ssrf.js.map +1 -0
- package/lib/system/notifyWebhookWorkflow.d.ts +8 -0
- package/lib/system/notifyWebhookWorkflow.d.ts.map +1 -0
- package/lib/{esm/system → system}/notifyWebhookWorkflow.js +13 -12
- package/lib/system/notifyWebhookWorkflow.js.map +1 -0
- package/lib/{types/system → system}/recalculateEmbeddingsWorkflow.d.ts +1 -1
- package/lib/system/recalculateEmbeddingsWorkflow.d.ts.map +1 -0
- package/lib/{esm/system → system}/recalculateEmbeddingsWorkflow.js +7 -7
- package/lib/system/recalculateEmbeddingsWorkflow.js.map +1 -0
- package/lib/utils/activity-info.d.ts +12 -0
- package/lib/utils/activity-info.d.ts.map +1 -0
- package/lib/utils/activity-info.js +15 -0
- package/lib/utils/activity-info.js.map +1 -0
- package/lib/{types/utils → utils}/auth.d.ts +1 -1
- package/lib/utils/auth.d.ts.map +1 -0
- package/lib/utils/auth.js.map +1 -0
- package/lib/{types/utils → utils}/blobs.d.ts +1 -1
- package/lib/utils/blobs.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/blobs.js +17 -16
- package/lib/utils/blobs.js.map +1 -0
- package/lib/utils/chunks.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/chunks.js +1 -1
- package/lib/utils/chunks.js.map +1 -0
- package/lib/utils/client.d.ts +8 -0
- package/lib/utils/client.d.ts.map +1 -0
- package/lib/utils/client.js +64 -0
- package/lib/utils/client.js.map +1 -0
- package/lib/{types/utils → utils}/expand-vars.d.ts +1 -1
- package/lib/utils/expand-vars.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/expand-vars.js +4 -1
- package/lib/utils/expand-vars.js.map +1 -0
- package/lib/{types/utils → utils}/renditions.d.ts +2 -2
- package/lib/utils/renditions.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/renditions.js +29 -18
- package/lib/utils/renditions.js.map +1 -0
- package/lib/{types/utils → utils}/storage.d.ts +2 -2
- package/lib/utils/storage.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/storage.js +13 -12
- package/lib/utils/storage.js.map +1 -0
- package/lib/{types/utils → utils}/text-preview-utils.d.ts +2 -2
- package/lib/utils/text-preview-utils.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/text-preview-utils.js +4 -4
- package/lib/utils/text-preview-utils.js.map +1 -0
- package/lib/{types/utils → utils}/tokens.d.ts +1 -1
- package/lib/utils/tokens.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/tokens.js +3 -3
- package/lib/utils/tokens.js.map +1 -0
- package/lib/vars.d.ts +3 -0
- package/lib/vars.d.ts.map +1 -0
- package/lib/vars.js +4 -0
- package/lib/vars.js.map +1 -0
- package/lib/workflows-bundle.js +5561 -2815
- package/lib/workflows.d.ts +7 -0
- package/lib/workflows.d.ts.map +1 -0
- package/lib/workflows.js +7 -0
- package/lib/workflows.js.map +1 -0
- package/package.json +47 -88
- package/src/activities/advanced/createDocumentTypeFromInteractionRun.ts +30 -17
- package/src/activities/advanced/createOrUpdateDocumentFromInteractionRun.ts +51 -37
- package/src/activities/advanced/updateDocumentFromInteractionRun.ts +12 -11
- package/src/activities/chunkDocument.ts +87 -77
- package/src/activities/createDocumentFromOther.ts +19 -25
- package/src/activities/executeInteraction.test.ts +81 -8
- package/src/activities/executeInteraction.ts +147 -102
- package/src/activities/executeRemoteActivity.test.ts +61 -67
- package/src/activities/executeRemoteActivity.ts +56 -29
- package/src/activities/extractDocumentText.ts +75 -64
- package/src/activities/generateDocumentProperties.ts +69 -50
- package/src/activities/generateEmbeddings.test.ts +114 -0
- package/src/activities/generateEmbeddings.ts +113 -141
- package/src/activities/generateOrAssignContentType.ts +219 -231
- package/src/activities/getObjectFromStore.ts +11 -10
- package/src/activities/handleError.ts +23 -11
- package/src/activities/index-dsl.ts +30 -30
- package/src/activities/index.ts +1 -1
- package/src/activities/loadChildWorkflowSpec.ts +8 -3
- package/src/activities/media/prepareAudio.ts +47 -56
- package/src/activities/media/prepareVideo.ts +107 -122
- package/src/activities/media/probeMediaStreams.test.ts +11 -13
- package/src/activities/media/probeMediaStreams.ts +13 -15
- package/src/activities/media/processPdfWithTextract.ts +65 -46
- package/src/activities/media/saveGladiaTranscription.test.ts +122 -121
- package/src/activities/media/saveGladiaTranscription.ts +52 -26
- package/src/activities/media/transcribeMediaWithGladia.test.ts +173 -165
- package/src/activities/media/transcribeMediaWithGladia.ts +44 -28
- package/src/activities/mergeChildArtifacts.ts +36 -38
- package/src/activities/notifyWebhook.test.ts +223 -217
- package/src/activities/notifyWebhook.ts +67 -40
- package/src/activities/rateLimiter.ts +31 -30
- package/src/activities/renditions/generateImageRendition.ts +54 -64
- package/src/activities/renditions/generateVideoRendition.ts +87 -141
- package/src/activities/resolveRemoteActivities.test.ts +96 -88
- package/src/activities/resolveRemoteActivities.ts +32 -23
- package/src/activities/setDocumentStatus.ts +11 -7
- package/src/bulk-import.ts +11 -5
- package/src/conversion/TextractProcessor.ts +69 -71
- package/src/conversion/image.test.ts +31 -31
- package/src/conversion/image.ts +41 -38
- package/src/conversion/markitdown.ts +11 -11
- package/src/conversion/mutool.test.ts +77 -62
- package/src/conversion/mutool.ts +27 -49
- package/src/conversion/pandoc.test.ts +5 -6
- package/src/conversion/pandoc.ts +11 -11
- package/src/dsl/conditions.ts +35 -17
- package/src/dsl/dsl-workflow.test.ts +49 -39
- package/src/dsl/dsl-workflow.ts +200 -112
- package/src/dsl/dslProxyActivities.test.ts +23 -0
- package/src/dsl/dslProxyActivities.ts +46 -26
- package/src/dsl/ms.d.ts +34 -3
- package/src/dsl/projections.test.ts +108 -100
- package/src/dsl/projections.ts +46 -26
- package/src/dsl/setup/ActivityContext.test.ts +22 -23
- package/src/dsl/setup/ActivityContext.ts +39 -82
- package/src/dsl/setup/fetch/DataProvider.ts +11 -8
- package/src/dsl/setup/fetch/index.ts +6 -8
- package/src/dsl/setup/fetch/providers.ts +38 -24
- package/src/dsl/test/test-child-workflow.ts +3 -2
- package/src/dsl/validation.test.ts +232 -213
- package/src/dsl/validation.ts +17 -12
- package/src/dsl/vars.test.ts +143 -140
- package/src/dsl/vars.ts +61 -54
- package/src/dsl/walk.test.ts +61 -56
- package/src/dsl/walk.ts +61 -35
- package/src/dsl/workflow-exec-child.test.ts +77 -61
- package/src/dsl/workflow-fetch.test.ts +40 -38
- package/src/dsl/workflow-import.test.ts +27 -27
- package/src/dsl/workflow.test.ts +34 -33
- package/src/dsl.ts +3 -4
- package/src/errors.ts +31 -23
- package/src/index.ts +28 -33
- package/src/result-types.ts +6 -9
- package/src/system/notifyWebhookWorkflow.ts +23 -23
- package/src/system/recalculateEmbeddingsWorkflow.ts +14 -17
- package/src/utils/activity-info.ts +15 -0
- package/src/utils/auth.ts +1 -1
- package/src/utils/blobs.ts +19 -18
- package/src/utils/chunks.ts +7 -8
- package/src/utils/client.ts +57 -17
- package/src/utils/expand-vars.ts +9 -6
- package/src/utils/renditions.ts +68 -72
- package/src/utils/storage.ts +18 -22
- package/src/utils/text-preview-utils.ts +9 -19
- package/src/utils/tokens.ts +9 -11
- package/src/vars.ts +2 -2
- package/src/workflows.ts +3 -4
- package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js +0 -33
- package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +0 -73
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
- package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js +0 -19
- package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
- package/lib/cjs/activities/chunkDocument.js +0 -111
- package/lib/cjs/activities/chunkDocument.js.map +0 -1
- package/lib/cjs/activities/createDocumentFromOther.js +0 -64
- package/lib/cjs/activities/createDocumentFromOther.js.map +0 -1
- package/lib/cjs/activities/executeInteraction.js +0 -241
- package/lib/cjs/activities/executeInteraction.js.map +0 -1
- package/lib/cjs/activities/executeRemoteActivity.js +0 -126
- package/lib/cjs/activities/executeRemoteActivity.js.map +0 -1
- package/lib/cjs/activities/extractDocumentText.js +0 -196
- package/lib/cjs/activities/extractDocumentText.js.map +0 -1
- package/lib/cjs/activities/generateDocumentProperties.js +0 -109
- package/lib/cjs/activities/generateDocumentProperties.js.map +0 -1
- package/lib/cjs/activities/generateEmbeddings.js +0 -269
- package/lib/cjs/activities/generateEmbeddings.js.map +0 -1
- package/lib/cjs/activities/generateOrAssignContentType.js +0 -173
- package/lib/cjs/activities/generateOrAssignContentType.js.map +0 -1
- package/lib/cjs/activities/getObjectFromStore.js +0 -31
- package/lib/cjs/activities/getObjectFromStore.js.map +0 -1
- package/lib/cjs/activities/handleError.js +0 -29
- package/lib/cjs/activities/handleError.js.map +0 -1
- package/lib/cjs/activities/index-dsl.js +0 -59
- package/lib/cjs/activities/index-dsl.js.map +0 -1
- package/lib/cjs/activities/index.js +0 -21
- package/lib/cjs/activities/index.js.map +0 -1
- package/lib/cjs/activities/loadChildWorkflowSpec.js +0 -15
- package/lib/cjs/activities/loadChildWorkflowSpec.js.map +0 -1
- package/lib/cjs/activities/media/prepareAudio.js +0 -240
- package/lib/cjs/activities/media/prepareAudio.js.map +0 -1
- package/lib/cjs/activities/media/prepareVideo.js +0 -432
- package/lib/cjs/activities/media/prepareVideo.js.map +0 -1
- package/lib/cjs/activities/media/probeMediaStreams.js +0 -49
- package/lib/cjs/activities/media/probeMediaStreams.js.map +0 -1
- package/lib/cjs/activities/media/processPdfWithTextract.js +0 -103
- package/lib/cjs/activities/media/processPdfWithTextract.js.map +0 -1
- package/lib/cjs/activities/media/saveGladiaTranscription.js +0 -103
- package/lib/cjs/activities/media/saveGladiaTranscription.js.map +0 -1
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js +0 -107
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js.map +0 -1
- package/lib/cjs/activities/mergeChildArtifacts.js +0 -150
- package/lib/cjs/activities/mergeChildArtifacts.js.map +0 -1
- package/lib/cjs/activities/notifyWebhook.js +0 -167
- package/lib/cjs/activities/notifyWebhook.js.map +0 -1
- package/lib/cjs/activities/rateLimiter.js +0 -30
- package/lib/cjs/activities/rateLimiter.js.map +0 -1
- package/lib/cjs/activities/renditions/generateImageRendition.js +0 -66
- package/lib/cjs/activities/renditions/generateImageRendition.js.map +0 -1
- package/lib/cjs/activities/renditions/generateVideoRendition.js +0 -200
- package/lib/cjs/activities/renditions/generateVideoRendition.js.map +0 -1
- package/lib/cjs/activities/resolveRemoteActivities.js +0 -133
- package/lib/cjs/activities/resolveRemoteActivities.js.map +0 -1
- package/lib/cjs/activities/setDocumentStatus.js +0 -26
- package/lib/cjs/activities/setDocumentStatus.js.map +0 -1
- package/lib/cjs/bulk-import.js +0 -12
- package/lib/cjs/bulk-import.js.map +0 -1
- package/lib/cjs/conversion/TextractProcessor.js +0 -417
- package/lib/cjs/conversion/TextractProcessor.js.map +0 -1
- package/lib/cjs/conversion/image.js +0 -149
- package/lib/cjs/conversion/image.js.map +0 -1
- package/lib/cjs/conversion/markitdown.js +0 -42
- package/lib/cjs/conversion/markitdown.js.map +0 -1
- package/lib/cjs/conversion/mutool.js +0 -147
- package/lib/cjs/conversion/mutool.js.map +0 -1
- package/lib/cjs/conversion/pandoc.js +0 -39
- package/lib/cjs/conversion/pandoc.js.map +0 -1
- package/lib/cjs/dsl/conditions.js +0 -81
- package/lib/cjs/dsl/conditions.js.map +0 -1
- package/lib/cjs/dsl/dsl-workflow.js +0 -458
- package/lib/cjs/dsl/dsl-workflow.js.map +0 -1
- package/lib/cjs/dsl/dslProxyActivities.js +0 -23
- package/lib/cjs/dsl/dslProxyActivities.js.map +0 -1
- package/lib/cjs/dsl/projections.js +0 -59
- package/lib/cjs/dsl/projections.js.map +0 -1
- package/lib/cjs/dsl/setup/ActivityContext.js +0 -188
- package/lib/cjs/dsl/setup/ActivityContext.js.map +0 -1
- package/lib/cjs/dsl/setup/fetch/DataProvider.js +0 -51
- package/lib/cjs/dsl/setup/fetch/DataProvider.js.map +0 -1
- package/lib/cjs/dsl/setup/fetch/index.js +0 -16
- package/lib/cjs/dsl/setup/fetch/index.js.map +0 -1
- package/lib/cjs/dsl/setup/fetch/providers.js +0 -67
- package/lib/cjs/dsl/setup/fetch/providers.js.map +0 -1
- package/lib/cjs/dsl/test/test-child-workflow.js +0 -10
- package/lib/cjs/dsl/test/test-child-workflow.js.map +0 -1
- package/lib/cjs/dsl/validation.js +0 -122
- package/lib/cjs/dsl/validation.js.map +0 -1
- package/lib/cjs/dsl/vars.js +0 -341
- package/lib/cjs/dsl/vars.js.map +0 -1
- package/lib/cjs/dsl/walk.js +0 -100
- package/lib/cjs/dsl/walk.js.map +0 -1
- package/lib/cjs/dsl.js +0 -20
- package/lib/cjs/dsl.js.map +0 -1
- package/lib/cjs/errors.js +0 -89
- package/lib/cjs/errors.js.map +0 -1
- package/lib/cjs/index.js +0 -57
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/extractToc.js +0 -47
- package/lib/cjs/iterative-generation/activities/extractToc.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/finalizeOutput.js +0 -72
- package/lib/cjs/iterative-generation/activities/finalizeOutput.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/generatePart.js +0 -78
- package/lib/cjs/iterative-generation/activities/generatePart.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/generateToc.js +0 -86
- package/lib/cjs/iterative-generation/activities/generateToc.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/index.js +0 -12
- package/lib/cjs/iterative-generation/activities/index.js.map +0 -1
- package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js +0 -56
- package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js.map +0 -1
- package/lib/cjs/iterative-generation/types.js +0 -5
- package/lib/cjs/iterative-generation/types.js.map +0 -1
- package/lib/cjs/iterative-generation/utils.js +0 -121
- package/lib/cjs/iterative-generation/utils.js.map +0 -1
- package/lib/cjs/package.json +0 -3
- package/lib/cjs/result-types.js +0 -10
- package/lib/cjs/result-types.js.map +0 -1
- package/lib/cjs/security/ssrf.js +0 -34
- package/lib/cjs/security/ssrf.js.map +0 -1
- package/lib/cjs/system/notifyWebhookWorkflow.js +0 -53
- package/lib/cjs/system/notifyWebhookWorkflow.js.map +0 -1
- package/lib/cjs/system/recalculateEmbeddingsWorkflow.js +0 -33
- package/lib/cjs/system/recalculateEmbeddingsWorkflow.js.map +0 -1
- package/lib/cjs/utils/auth.js +0 -15
- package/lib/cjs/utils/auth.js.map +0 -1
- package/lib/cjs/utils/blobs.js +0 -64
- package/lib/cjs/utils/blobs.js.map +0 -1
- package/lib/cjs/utils/chunks.js +0 -14
- package/lib/cjs/utils/chunks.js.map +0 -1
- package/lib/cjs/utils/client.js +0 -31
- package/lib/cjs/utils/client.js.map +0 -1
- package/lib/cjs/utils/expand-vars.js +0 -33
- package/lib/cjs/utils/expand-vars.js.map +0 -1
- package/lib/cjs/utils/memory.js +0 -65
- package/lib/cjs/utils/memory.js.map +0 -1
- package/lib/cjs/utils/renditions.js +0 -92
- package/lib/cjs/utils/renditions.js.map +0 -1
- package/lib/cjs/utils/storage.js +0 -54
- package/lib/cjs/utils/storage.js.map +0 -1
- package/lib/cjs/utils/text-preview-utils.js +0 -43
- package/lib/cjs/utils/text-preview-utils.js.map +0 -1
- package/lib/cjs/utils/tokens.js +0 -38
- package/lib/cjs/utils/tokens.js.map +0 -1
- package/lib/cjs/vars.js +0 -20
- package/lib/cjs/vars.js.map +0 -1
- package/lib/cjs/workflows.js +0 -15
- package/lib/cjs/workflows.js.map +0 -1
- package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
- package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
- package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js +0 -16
- package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
- package/lib/esm/activities/chunkDocument.js.map +0 -1
- package/lib/esm/activities/createDocumentFromOther.js.map +0 -1
- package/lib/esm/activities/executeInteraction.js.map +0 -1
- package/lib/esm/activities/executeRemoteActivity.js.map +0 -1
- package/lib/esm/activities/extractDocumentText.js.map +0 -1
- package/lib/esm/activities/generateDocumentProperties.js.map +0 -1
- package/lib/esm/activities/generateEmbeddings.js.map +0 -1
- package/lib/esm/activities/generateOrAssignContentType.js.map +0 -1
- package/lib/esm/activities/getObjectFromStore.js.map +0 -1
- package/lib/esm/activities/handleError.js +0 -26
- package/lib/esm/activities/handleError.js.map +0 -1
- package/lib/esm/activities/index-dsl.js +0 -29
- package/lib/esm/activities/index-dsl.js.map +0 -1
- package/lib/esm/activities/index.js.map +0 -1
- package/lib/esm/activities/loadChildWorkflowSpec.js.map +0 -1
- package/lib/esm/activities/media/prepareAudio.js.map +0 -1
- package/lib/esm/activities/media/prepareVideo.js.map +0 -1
- package/lib/esm/activities/media/probeMediaStreams.js.map +0 -1
- package/lib/esm/activities/media/processPdfWithTextract.js.map +0 -1
- package/lib/esm/activities/media/saveGladiaTranscription.js.map +0 -1
- package/lib/esm/activities/media/transcribeMediaWithGladia.js.map +0 -1
- package/lib/esm/activities/mergeChildArtifacts.js.map +0 -1
- package/lib/esm/activities/notifyWebhook.js.map +0 -1
- package/lib/esm/activities/rateLimiter.js.map +0 -1
- package/lib/esm/activities/renditions/generateImageRendition.js +0 -63
- package/lib/esm/activities/renditions/generateImageRendition.js.map +0 -1
- package/lib/esm/activities/renditions/generateVideoRendition.js.map +0 -1
- package/lib/esm/activities/resolveRemoteActivities.js.map +0 -1
- package/lib/esm/activities/setDocumentStatus.js.map +0 -1
- package/lib/esm/bulk-import.js.map +0 -1
- package/lib/esm/conversion/TextractProcessor.js.map +0 -1
- package/lib/esm/conversion/image.js.map +0 -1
- package/lib/esm/conversion/markitdown.js.map +0 -1
- package/lib/esm/conversion/mutool.js.map +0 -1
- package/lib/esm/conversion/pandoc.js.map +0 -1
- package/lib/esm/dsl/conditions.js +0 -75
- package/lib/esm/dsl/conditions.js.map +0 -1
- package/lib/esm/dsl/dsl-workflow.js.map +0 -1
- package/lib/esm/dsl/dslProxyActivities.js.map +0 -1
- package/lib/esm/dsl/projections.js.map +0 -1
- package/lib/esm/dsl/setup/ActivityContext.js.map +0 -1
- package/lib/esm/dsl/setup/fetch/DataProvider.js.map +0 -1
- package/lib/esm/dsl/setup/fetch/index.js.map +0 -1
- package/lib/esm/dsl/setup/fetch/providers.js.map +0 -1
- package/lib/esm/dsl/test/test-child-workflow.js.map +0 -1
- package/lib/esm/dsl/validation.js.map +0 -1
- package/lib/esm/dsl/vars.js.map +0 -1
- package/lib/esm/dsl/walk.js.map +0 -1
- package/lib/esm/dsl.js +0 -4
- package/lib/esm/dsl.js.map +0 -1
- package/lib/esm/errors.js.map +0 -1
- package/lib/esm/index.js +0 -39
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/iterative-generation/activities/extractToc.js +0 -44
- package/lib/esm/iterative-generation/activities/extractToc.js.map +0 -1
- package/lib/esm/iterative-generation/activities/finalizeOutput.js +0 -69
- package/lib/esm/iterative-generation/activities/finalizeOutput.js.map +0 -1
- package/lib/esm/iterative-generation/activities/generatePart.js +0 -75
- package/lib/esm/iterative-generation/activities/generatePart.js.map +0 -1
- package/lib/esm/iterative-generation/activities/generateToc.js +0 -83
- package/lib/esm/iterative-generation/activities/generateToc.js.map +0 -1
- package/lib/esm/iterative-generation/activities/index.js +0 -5
- package/lib/esm/iterative-generation/activities/index.js.map +0 -1
- package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js +0 -53
- package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js.map +0 -1
- package/lib/esm/iterative-generation/types.js +0 -2
- package/lib/esm/iterative-generation/types.js.map +0 -1
- package/lib/esm/iterative-generation/utils.js +0 -112
- package/lib/esm/iterative-generation/utils.js.map +0 -1
- package/lib/esm/result-types.js.map +0 -1
- package/lib/esm/security/ssrf.js.map +0 -1
- package/lib/esm/system/notifyWebhookWorkflow.js.map +0 -1
- package/lib/esm/system/recalculateEmbeddingsWorkflow.js.map +0 -1
- package/lib/esm/utils/auth.js.map +0 -1
- package/lib/esm/utils/blobs.js.map +0 -1
- package/lib/esm/utils/chunks.js.map +0 -1
- package/lib/esm/utils/client.js +0 -27
- package/lib/esm/utils/client.js.map +0 -1
- package/lib/esm/utils/expand-vars.js.map +0 -1
- package/lib/esm/utils/memory.js +0 -55
- package/lib/esm/utils/memory.js.map +0 -1
- package/lib/esm/utils/renditions.js.map +0 -1
- package/lib/esm/utils/storage.js.map +0 -1
- package/lib/esm/utils/text-preview-utils.js.map +0 -1
- package/lib/esm/utils/tokens.js.map +0 -1
- package/lib/esm/vars.js +0 -4
- package/lib/esm/vars.js.map +0 -1
- package/lib/esm/workflows.js +0 -8
- package/lib/esm/workflows.js.map +0 -1
- package/lib/tsconfig.tsbuildinfo +0 -1
- package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts.map +0 -1
- package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts.map +0 -1
- package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts.map +0 -1
- package/lib/types/activities/chunkDocument.d.ts.map +0 -1
- package/lib/types/activities/createDocumentFromOther.d.ts.map +0 -1
- package/lib/types/activities/executeInteraction.d.ts.map +0 -1
- package/lib/types/activities/executeRemoteActivity.d.ts.map +0 -1
- package/lib/types/activities/extractDocumentText.d.ts.map +0 -1
- package/lib/types/activities/generateDocumentProperties.d.ts.map +0 -1
- package/lib/types/activities/generateEmbeddings.d.ts.map +0 -1
- package/lib/types/activities/generateOrAssignContentType.d.ts.map +0 -1
- package/lib/types/activities/getObjectFromStore.d.ts.map +0 -1
- package/lib/types/activities/handleError.d.ts.map +0 -1
- package/lib/types/activities/index-dsl.d.ts +0 -31
- package/lib/types/activities/index-dsl.d.ts.map +0 -1
- package/lib/types/activities/index.d.ts.map +0 -1
- package/lib/types/activities/loadChildWorkflowSpec.d.ts.map +0 -1
- package/lib/types/activities/media/prepareAudio.d.ts.map +0 -1
- package/lib/types/activities/media/prepareVideo.d.ts.map +0 -1
- package/lib/types/activities/media/probeMediaStreams.d.ts.map +0 -1
- package/lib/types/activities/media/processPdfWithTextract.d.ts.map +0 -1
- package/lib/types/activities/media/saveGladiaTranscription.d.ts.map +0 -1
- package/lib/types/activities/media/transcribeMediaWithGladia.d.ts.map +0 -1
- package/lib/types/activities/mergeChildArtifacts.d.ts.map +0 -1
- package/lib/types/activities/notifyWebhook.d.ts.map +0 -1
- package/lib/types/activities/rateLimiter.d.ts.map +0 -1
- package/lib/types/activities/renditions/generateImageRendition.d.ts.map +0 -1
- package/lib/types/activities/renditions/generateVideoRendition.d.ts.map +0 -1
- package/lib/types/activities/resolveRemoteActivities.d.ts.map +0 -1
- package/lib/types/activities/setDocumentStatus.d.ts.map +0 -1
- package/lib/types/bulk-import.d.ts.map +0 -1
- package/lib/types/conversion/TextractProcessor.d.ts.map +0 -1
- package/lib/types/conversion/image.d.ts.map +0 -1
- package/lib/types/conversion/markitdown.d.ts.map +0 -1
- package/lib/types/conversion/mutool.d.ts.map +0 -1
- package/lib/types/conversion/pandoc.d.ts.map +0 -1
- package/lib/types/dsl/conditions.d.ts +0 -2
- package/lib/types/dsl/conditions.d.ts.map +0 -1
- package/lib/types/dsl/dsl-workflow.d.ts.map +0 -1
- package/lib/types/dsl/dslProxyActivities.d.ts +0 -10
- package/lib/types/dsl/dslProxyActivities.d.ts.map +0 -1
- package/lib/types/dsl/projections.d.ts +0 -4
- package/lib/types/dsl/projections.d.ts.map +0 -1
- package/lib/types/dsl/setup/ActivityContext.d.ts.map +0 -1
- package/lib/types/dsl/setup/fetch/DataProvider.d.ts.map +0 -1
- package/lib/types/dsl/setup/fetch/index.d.ts +0 -6
- package/lib/types/dsl/setup/fetch/index.d.ts.map +0 -1
- package/lib/types/dsl/setup/fetch/providers.d.ts.map +0 -1
- package/lib/types/dsl/test/test-child-workflow.d.ts +0 -4
- package/lib/types/dsl/test/test-child-workflow.d.ts.map +0 -1
- package/lib/types/dsl/validation.d.ts.map +0 -1
- package/lib/types/dsl/vars.d.ts.map +0 -1
- package/lib/types/dsl/walk.d.ts +0 -18
- package/lib/types/dsl/walk.d.ts.map +0 -1
- package/lib/types/dsl.d.ts +0 -4
- package/lib/types/dsl.d.ts.map +0 -1
- package/lib/types/errors.d.ts.map +0 -1
- package/lib/types/index.d.ts +0 -38
- package/lib/types/index.d.ts.map +0 -1
- package/lib/types/iterative-generation/activities/extractToc.d.ts +0 -10
- package/lib/types/iterative-generation/activities/extractToc.d.ts.map +0 -1
- package/lib/types/iterative-generation/activities/finalizeOutput.d.ts +0 -3
- package/lib/types/iterative-generation/activities/finalizeOutput.d.ts.map +0 -1
- package/lib/types/iterative-generation/activities/generatePart.d.ts +0 -3
- package/lib/types/iterative-generation/activities/generatePart.d.ts.map +0 -1
- package/lib/types/iterative-generation/activities/generateToc.d.ts +0 -4
- package/lib/types/iterative-generation/activities/generateToc.d.ts.map +0 -1
- package/lib/types/iterative-generation/activities/index.d.ts +0 -5
- package/lib/types/iterative-generation/activities/index.d.ts.map +0 -1
- package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts +0 -3
- package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts.map +0 -1
- package/lib/types/iterative-generation/types.d.ts +0 -79
- package/lib/types/iterative-generation/types.d.ts.map +0 -1
- package/lib/types/iterative-generation/utils.d.ts +0 -26
- package/lib/types/iterative-generation/utils.d.ts.map +0 -1
- package/lib/types/result-types.d.ts.map +0 -1
- package/lib/types/security/ssrf.d.ts.map +0 -1
- package/lib/types/system/notifyWebhookWorkflow.d.ts +0 -8
- package/lib/types/system/notifyWebhookWorkflow.d.ts.map +0 -1
- package/lib/types/system/recalculateEmbeddingsWorkflow.d.ts.map +0 -1
- package/lib/types/utils/auth.d.ts.map +0 -1
- package/lib/types/utils/blobs.d.ts.map +0 -1
- package/lib/types/utils/chunks.d.ts.map +0 -1
- package/lib/types/utils/client.d.ts +0 -8
- package/lib/types/utils/client.d.ts.map +0 -1
- package/lib/types/utils/expand-vars.d.ts.map +0 -1
- package/lib/types/utils/memory.d.ts +0 -8
- package/lib/types/utils/memory.d.ts.map +0 -1
- package/lib/types/utils/renditions.d.ts.map +0 -1
- package/lib/types/utils/storage.d.ts.map +0 -1
- package/lib/types/utils/text-preview-utils.d.ts.map +0 -1
- package/lib/types/utils/tokens.d.ts.map +0 -1
- package/lib/types/vars.d.ts +0 -3
- package/lib/types/vars.d.ts.map +0 -1
- package/lib/types/workflows.d.ts +0 -8
- package/lib/types/workflows.d.ts.map +0 -1
- package/src/iterative-generation/activities/extractToc.ts +0 -63
- package/src/iterative-generation/activities/finalizeOutput.ts +0 -100
- package/src/iterative-generation/activities/generatePart.ts +0 -123
- package/src/iterative-generation/activities/generateToc.ts +0 -116
- package/src/iterative-generation/activities/index.ts +0 -4
- package/src/iterative-generation/iterativeGenerationWorkflow.ts +0 -68
- package/src/iterative-generation/types.ts +0 -99
- package/src/iterative-generation/utils.ts +0 -126
- package/src/utils/memory.ts +0 -61
- /package/lib/{esm/bulk-import.js → bulk-import.js} +0 -0
- /package/lib/{types/conversion → conversion}/image.d.ts +0 -0
- /package/lib/{types/conversion → conversion}/markitdown.d.ts +0 -0
- /package/lib/{types/conversion → conversion}/mutool.d.ts +0 -0
- /package/lib/{types/conversion → conversion}/pandoc.d.ts +0 -0
- /package/lib/{types/result-types.d.ts → result-types.d.ts} +0 -0
- /package/lib/{esm/result-types.js → result-types.js} +0 -0
- /package/lib/{types/security → security}/ssrf.d.ts +0 -0
- /package/lib/{esm/security → security}/ssrf.js +0 -0
- /package/lib/{esm/utils → utils}/auth.js +0 -0
- /package/lib/{types/utils → utils}/chunks.d.ts +0 -0
package/src/dsl/vars.ts
CHANGED
|
@@ -1,18 +1,23 @@
|
|
|
1
|
-
import { ImportSpec } from
|
|
2
|
-
import { matchCondition } from
|
|
3
|
-
import { ObjectKey, ObjectVisitor, ObjectWalker } from
|
|
1
|
+
import type { ImportSpec } from '@vertesia/common';
|
|
2
|
+
import { matchCondition } from './conditions.js';
|
|
3
|
+
import { type ObjectKey, type ObjectVisitor, ObjectWalker } from './walk.js';
|
|
4
4
|
|
|
5
|
-
const FALLBACK_VALUE_SEP =
|
|
5
|
+
const FALLBACK_VALUE_SEP = '??';
|
|
6
|
+
|
|
7
|
+
function isRecord(value: unknown): value is Record<string, unknown> {
|
|
8
|
+
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
9
|
+
}
|
|
6
10
|
|
|
7
11
|
function decodeLiteralValue(value: string) {
|
|
8
12
|
if (value.startsWith("'") && value.endsWith("'")) {
|
|
9
|
-
value =
|
|
13
|
+
value = `"${value.slice(1, -1).replace(/(?<!\\)"/g, '\\"')}"`;
|
|
10
14
|
}
|
|
11
15
|
return JSON.parse(value);
|
|
12
16
|
}
|
|
13
17
|
|
|
14
18
|
export function splitPath(path: string) {
|
|
15
|
-
if (path.indexOf('[') > -1) {
|
|
19
|
+
if (path.indexOf('[') > -1) {
|
|
20
|
+
// support array like paths
|
|
16
21
|
path = path.replace(/\[(\d+)\]/g, '.$1');
|
|
17
22
|
}
|
|
18
23
|
return path.split('.');
|
|
@@ -26,36 +31,36 @@ export function splitPath(path: string) {
|
|
|
26
31
|
* @param name the name of the property.
|
|
27
32
|
* @returns the property value
|
|
28
33
|
*/
|
|
29
|
-
function _prop(object:
|
|
34
|
+
function _prop(object: unknown, name: string) {
|
|
30
35
|
if (object === undefined) {
|
|
31
36
|
return undefined;
|
|
32
37
|
}
|
|
33
38
|
object = _valueOf(object); // resolve Value objects
|
|
34
39
|
if (Array.isArray(object)) {
|
|
35
40
|
const index = +name;
|
|
36
|
-
if (isNaN(index)) {
|
|
41
|
+
if (Number.isNaN(index)) {
|
|
37
42
|
// map array to property
|
|
38
|
-
return object.map(item => item[name]);
|
|
43
|
+
return object.map((item) => (isRecord(item) ? item[name] : undefined));
|
|
39
44
|
} else {
|
|
40
45
|
return _valueOf(object[index]);
|
|
41
46
|
}
|
|
42
|
-
} else {
|
|
47
|
+
} else if (isRecord(object)) {
|
|
43
48
|
return _valueOf(object[name]);
|
|
44
49
|
}
|
|
45
|
-
|
|
50
|
+
return undefined;
|
|
46
51
|
}
|
|
47
52
|
|
|
48
|
-
function _valueOf(value:
|
|
53
|
+
function _valueOf(value: unknown) {
|
|
49
54
|
return value instanceof Value ? value.value : value;
|
|
50
55
|
}
|
|
51
56
|
|
|
52
|
-
export function resolveField(object:
|
|
53
|
-
let p = object as
|
|
57
|
+
export function resolveField(object: unknown, path: string[]) {
|
|
58
|
+
let p = object as unknown;
|
|
54
59
|
if (!p) return p;
|
|
55
60
|
if (!path.length) return _valueOf(p);
|
|
56
61
|
const last = path.length - 1;
|
|
57
62
|
for (let i = 0; i < last; i++) {
|
|
58
|
-
p = _prop(p, path[i])
|
|
63
|
+
p = _prop(p, path[i]);
|
|
59
64
|
if (!p) {
|
|
60
65
|
return undefined;
|
|
61
66
|
}
|
|
@@ -63,11 +68,11 @@ export function resolveField(object: any, path: string[]) {
|
|
|
63
68
|
return _prop(p, path[last]);
|
|
64
69
|
}
|
|
65
70
|
|
|
66
|
-
abstract class Value<T =
|
|
71
|
+
abstract class Value<T = unknown> {
|
|
67
72
|
abstract value: T;
|
|
68
73
|
abstract stringify(): string;
|
|
69
74
|
}
|
|
70
|
-
class LiteralValue<T =
|
|
75
|
+
class LiteralValue<T = unknown> extends Value<T> {
|
|
71
76
|
constructor(public value: T) {
|
|
72
77
|
super();
|
|
73
78
|
}
|
|
@@ -77,7 +82,11 @@ class LiteralValue<T = any> extends Value<T> {
|
|
|
77
82
|
}
|
|
78
83
|
|
|
79
84
|
class RefValue extends Value {
|
|
80
|
-
constructor(
|
|
85
|
+
constructor(
|
|
86
|
+
public vars: Vars,
|
|
87
|
+
public path: string[],
|
|
88
|
+
public defaultValue?: unknown,
|
|
89
|
+
) {
|
|
81
90
|
super();
|
|
82
91
|
}
|
|
83
92
|
get value() {
|
|
@@ -94,12 +103,15 @@ class RefValue extends Value {
|
|
|
94
103
|
}
|
|
95
104
|
|
|
96
105
|
stringify() {
|
|
97
|
-
return
|
|
106
|
+
return `\${${this.path.join('.')}}`;
|
|
98
107
|
}
|
|
99
108
|
}
|
|
100
109
|
|
|
101
110
|
class ExprValue extends Value {
|
|
102
|
-
constructor(
|
|
111
|
+
constructor(
|
|
112
|
+
public vars: Vars,
|
|
113
|
+
public parts: Value[],
|
|
114
|
+
) {
|
|
103
115
|
super();
|
|
104
116
|
}
|
|
105
117
|
get value() {
|
|
@@ -118,14 +130,12 @@ class ExprValue extends Value {
|
|
|
118
130
|
for (const seg of this.parts) {
|
|
119
131
|
out.push(seg.stringify());
|
|
120
132
|
}
|
|
121
|
-
return
|
|
133
|
+
return `\${${out.join('')}}`;
|
|
122
134
|
}
|
|
123
|
-
|
|
124
135
|
}
|
|
125
136
|
|
|
126
|
-
|
|
127
137
|
export class Vars {
|
|
128
|
-
map: Record<string,
|
|
138
|
+
map: Record<string, unknown>;
|
|
129
139
|
/**
|
|
130
140
|
* This property is used when resolving params. It contains the list of references that should not be resolved to their value
|
|
131
141
|
* but instead they need to return the string representation of the expression to be able to regenerate another Vars instance with the same expression
|
|
@@ -133,12 +143,12 @@ export class Vars {
|
|
|
133
143
|
//TODO this feature is no more used - it was replaced by importVars so we can now delete `preserveRefs`
|
|
134
144
|
preserveRefs: Set<string> | undefined;
|
|
135
145
|
|
|
136
|
-
constructor(vars?: Record<string,
|
|
146
|
+
constructor(vars?: Record<string, unknown>) {
|
|
137
147
|
this.map = vars ? this.parse(vars) : {};
|
|
138
148
|
}
|
|
139
149
|
|
|
140
|
-
parse(vars: Record<string,
|
|
141
|
-
return new ObjectWalker().map(vars, (_key, value) => {
|
|
150
|
+
parse(vars: Record<string, unknown>): Record<string, unknown> {
|
|
151
|
+
return new ObjectWalker().map<Record<string, unknown>>(vars, (_key, value) => {
|
|
142
152
|
if (typeof value === 'string') {
|
|
143
153
|
return this.createValue(this, value);
|
|
144
154
|
} else {
|
|
@@ -147,7 +157,7 @@ export class Vars {
|
|
|
147
157
|
});
|
|
148
158
|
}
|
|
149
159
|
|
|
150
|
-
load(vars: Record<string,
|
|
160
|
+
load(vars: Record<string, unknown>) {
|
|
151
161
|
const toAppend = this.parse(vars);
|
|
152
162
|
this.map = Object.assign(this.map, toAppend);
|
|
153
163
|
return this;
|
|
@@ -159,7 +169,7 @@ export class Vars {
|
|
|
159
169
|
* @param name
|
|
160
170
|
* @param value
|
|
161
171
|
*/
|
|
162
|
-
setValue(name: string, value:
|
|
172
|
+
setValue(name: string, value: unknown) {
|
|
163
173
|
this.map[name] = value;
|
|
164
174
|
}
|
|
165
175
|
|
|
@@ -175,7 +185,7 @@ export class Vars {
|
|
|
175
185
|
return this.map[name] !== undefined;
|
|
176
186
|
}
|
|
177
187
|
|
|
178
|
-
match(match: Record<string,
|
|
188
|
+
match(match: Record<string, unknown>) {
|
|
179
189
|
for (const name of Object.keys(match)) {
|
|
180
190
|
const value = this.getValue(name);
|
|
181
191
|
if (!matchCondition(value, match[name])) {
|
|
@@ -185,12 +195,12 @@ export class Vars {
|
|
|
185
195
|
return true;
|
|
186
196
|
}
|
|
187
197
|
|
|
188
|
-
resolveParams(params: Record<string,
|
|
198
|
+
resolveParams(params: Record<string, unknown>, preserveRefs?: Set<string>) {
|
|
189
199
|
this.preserveRefs = preserveRefs;
|
|
190
200
|
try {
|
|
191
|
-
return new ObjectWalker().map(params, (_key, value) => {
|
|
201
|
+
return new ObjectWalker().map<Record<string, unknown>>(params, (_key, value) => {
|
|
192
202
|
if (typeof value === 'string') {
|
|
193
|
-
const v = this.createValue(this, value)
|
|
203
|
+
const v = this.createValue(this, value);
|
|
194
204
|
return v instanceof Value ? v.value : v;
|
|
195
205
|
} else {
|
|
196
206
|
return value;
|
|
@@ -201,26 +211,26 @@ export class Vars {
|
|
|
201
211
|
}
|
|
202
212
|
}
|
|
203
213
|
|
|
204
|
-
resolve(preserveRefs?: Set<string>): Record<string,
|
|
205
|
-
function map(_key: ObjectKey, value:
|
|
214
|
+
resolve(preserveRefs?: Set<string>): Record<string, unknown> {
|
|
215
|
+
function map(_key: ObjectKey, value: unknown) {
|
|
206
216
|
if (value instanceof Value) {
|
|
207
217
|
const v = value.value;
|
|
208
218
|
if (v && typeof v === 'object') {
|
|
209
219
|
if (Array.isArray(v) || v.constructor === Object) {
|
|
210
220
|
// an array or plain object - recurse into the
|
|
211
221
|
// value to find other nested Ref values if any...
|
|
212
|
-
return new ObjectWalker().map(v, map);
|
|
222
|
+
return new ObjectWalker().map<Record<string, unknown> | unknown[]>(v, map);
|
|
213
223
|
}
|
|
214
224
|
} else {
|
|
215
225
|
return v;
|
|
216
226
|
}
|
|
217
227
|
} else {
|
|
218
|
-
return value
|
|
228
|
+
return value;
|
|
219
229
|
}
|
|
220
230
|
}
|
|
221
231
|
try {
|
|
222
232
|
this.preserveRefs = preserveRefs;
|
|
223
|
-
return new ObjectWalker().map(this.map, map);
|
|
233
|
+
return new ObjectWalker().map<Record<string, unknown>>(this.map, map);
|
|
224
234
|
} finally {
|
|
225
235
|
this.preserveRefs = undefined;
|
|
226
236
|
}
|
|
@@ -228,18 +238,18 @@ export class Vars {
|
|
|
228
238
|
|
|
229
239
|
createRefValue(ref: string) {
|
|
230
240
|
const index = ref.indexOf(FALLBACK_VALUE_SEP);
|
|
231
|
-
let defaultValue:
|
|
241
|
+
let defaultValue: unknown;
|
|
232
242
|
if (index > -1) {
|
|
233
243
|
defaultValue = decodeLiteralValue(ref.substring(index + FALLBACK_VALUE_SEP.length).trim());
|
|
234
244
|
ref = ref.substring(0, index).trim();
|
|
235
245
|
}
|
|
236
246
|
if (ref === '.' || ref.indexOf('..') > -1) {
|
|
237
|
-
throw new Error(
|
|
247
|
+
throw new Error(`Invalid variable reference: ${ref}`);
|
|
238
248
|
}
|
|
239
249
|
return new RefValue(this, splitPath(ref), defaultValue);
|
|
240
250
|
}
|
|
241
251
|
|
|
242
|
-
createValue(vars: Vars, obj:
|
|
252
|
+
createValue(vars: Vars, obj: unknown) {
|
|
243
253
|
if (!obj) {
|
|
244
254
|
return obj;
|
|
245
255
|
}
|
|
@@ -276,10 +286,10 @@ export class Vars {
|
|
|
276
286
|
if (!importSpec || importSpec.length === 0) {
|
|
277
287
|
return {};
|
|
278
288
|
}
|
|
279
|
-
const result: Record<string,
|
|
289
|
+
const result: Record<string, unknown> = {};
|
|
280
290
|
|
|
281
291
|
for (const importVar of importSpec) {
|
|
282
|
-
if (typeof importVar ===
|
|
292
|
+
if (typeof importVar === 'string') {
|
|
283
293
|
addImportVar(importVar, undefined, this, result);
|
|
284
294
|
} else {
|
|
285
295
|
for (const key of Object.keys(importVar)) {
|
|
@@ -290,37 +300,34 @@ export class Vars {
|
|
|
290
300
|
return result;
|
|
291
301
|
}
|
|
292
302
|
|
|
293
|
-
getUnknownReferences(obj:
|
|
303
|
+
getUnknownReferences(obj: unknown) {
|
|
294
304
|
const visitor = new UnknownReferencesVisitor(this);
|
|
295
305
|
new ObjectWalker().walk(obj, visitor);
|
|
296
306
|
return visitor.result;
|
|
297
307
|
}
|
|
298
308
|
}
|
|
299
309
|
|
|
300
|
-
function addImportVar(varPath: string, asName: string | undefined, vars: Vars, result: Record<string,
|
|
310
|
+
function addImportVar(varPath: string, asName: string | undefined, vars: Vars, result: Record<string, unknown>) {
|
|
301
311
|
let isRequired = false;
|
|
302
|
-
if (varPath.endsWith(
|
|
312
|
+
if (varPath.endsWith('!')) {
|
|
303
313
|
isRequired = true;
|
|
304
314
|
varPath = varPath.slice(0, -1);
|
|
305
315
|
}
|
|
306
|
-
|
|
316
|
+
const value = vars.getValue(varPath);
|
|
307
317
|
if (value === undefined && isRequired) {
|
|
308
318
|
throw new Error(`Import variable ${varPath} is required but not found`);
|
|
309
319
|
}
|
|
310
320
|
result[asName || varPath] = value;
|
|
311
321
|
}
|
|
312
322
|
|
|
313
|
-
|
|
314
323
|
class UnknownReferencesVisitor implements ObjectVisitor {
|
|
324
|
+
result: { name: string; expression: string }[] = [];
|
|
315
325
|
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
constructor(public vars: Vars) {
|
|
319
|
-
}
|
|
326
|
+
constructor(public vars: Vars) {}
|
|
320
327
|
|
|
321
|
-
onValue(_key: ObjectKey, value:
|
|
328
|
+
onValue(_key: ObjectKey, value: unknown) {
|
|
322
329
|
const vars = this.vars;
|
|
323
|
-
if (typeof value ===
|
|
330
|
+
if (typeof value === 'string') {
|
|
324
331
|
const v = vars.createValue(vars, value);
|
|
325
332
|
if (v instanceof ExprValue) {
|
|
326
333
|
for (const p of v.parts) {
|
package/src/dsl/walk.test.ts
CHANGED
|
@@ -1,81 +1,86 @@
|
|
|
1
|
-
import { describe, expect, test } from
|
|
2
|
-
import { ObjectWalker } from
|
|
1
|
+
import { describe, expect, test } from 'vitest';
|
|
2
|
+
import { ObjectWalker } from './walk.js';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
/** Permissive recursive type for navigating untyped walker results in test assertions. */
|
|
5
|
+
type Tree = { readonly [key: string]: Tree };
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
describe('walk object', () => {
|
|
8
|
+
test('should find string values', () => {
|
|
7
9
|
const obj = {
|
|
8
|
-
name:
|
|
10
|
+
name: 'foo',
|
|
9
11
|
age: 42,
|
|
10
|
-
children: [
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
children: [
|
|
13
|
+
{
|
|
14
|
+
name: 'bar',
|
|
15
|
+
age: 12,
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'baz',
|
|
19
|
+
age: 15,
|
|
20
|
+
},
|
|
21
|
+
],
|
|
18
22
|
folder: {
|
|
19
23
|
subfolder: {
|
|
20
|
-
name:
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
const values = [
|
|
24
|
+
name: 'file',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
const values = ['foo', 'bar', 'baz', 'file'].sort().join(',');
|
|
25
29
|
const found: string[] = [];
|
|
26
30
|
new ObjectWalker().walk(obj, {
|
|
27
|
-
onValue(
|
|
28
|
-
if (typeof value ===
|
|
31
|
+
onValue(_key, value) {
|
|
32
|
+
if (typeof value === 'string') {
|
|
29
33
|
found.push(value);
|
|
30
34
|
}
|
|
31
|
-
}
|
|
32
|
-
})
|
|
35
|
+
},
|
|
36
|
+
});
|
|
33
37
|
expect(found.sort().join(',')).toBe(values);
|
|
34
|
-
})
|
|
38
|
+
});
|
|
35
39
|
|
|
36
|
-
test('map numbers to string values', () => {
|
|
40
|
+
test('should map numbers to string values', () => {
|
|
37
41
|
const obj = {
|
|
38
|
-
name:
|
|
42
|
+
name: 'foo',
|
|
39
43
|
age: 42,
|
|
40
|
-
children: [
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
children: [
|
|
45
|
+
{
|
|
46
|
+
name: 'bar',
|
|
47
|
+
age: 12,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: 'baz',
|
|
51
|
+
age: 15,
|
|
52
|
+
},
|
|
53
|
+
],
|
|
48
54
|
folder: {
|
|
49
55
|
subfolder: {
|
|
50
56
|
name: 123,
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
};
|
|
54
60
|
const r = new ObjectWalker().map(obj, (_key, value) => {
|
|
55
|
-
if (typeof value ===
|
|
56
|
-
return String(value)
|
|
61
|
+
if (typeof value === 'number') {
|
|
62
|
+
return String(value);
|
|
57
63
|
}
|
|
58
64
|
return value;
|
|
59
|
-
});
|
|
60
|
-
expect(r.age).toBe(
|
|
61
|
-
expect(r.children[0].age).toBe(
|
|
62
|
-
expect(r.children[1].age).toBe(
|
|
63
|
-
expect(r.folder.subfolder.name).toBe(
|
|
64
|
-
})
|
|
65
|
+
}) as Tree;
|
|
66
|
+
expect(r.age).toBe('42');
|
|
67
|
+
expect(r.children[0].age).toBe('12');
|
|
68
|
+
expect(r.children[1].age).toBe('15');
|
|
69
|
+
expect(r.folder.subfolder.name).toBe('123');
|
|
70
|
+
});
|
|
65
71
|
|
|
66
|
-
test('map numbers in an array to string values', () => {
|
|
67
|
-
const obj = [123, { x: 1 }, { y: 2 }, { z: 3 }]
|
|
72
|
+
test('should map numbers in an array to string values', () => {
|
|
73
|
+
const obj = [123, { x: 1 }, { y: 2 }, { z: 3 }];
|
|
68
74
|
const r = new ObjectWalker().map(obj, (_key, value) => {
|
|
69
|
-
if (typeof value ===
|
|
70
|
-
return String(value)
|
|
75
|
+
if (typeof value === 'number') {
|
|
76
|
+
return String(value);
|
|
71
77
|
}
|
|
72
78
|
return value;
|
|
73
|
-
});
|
|
79
|
+
}) as unknown as Tree;
|
|
74
80
|
expect(r.length).toBe(4);
|
|
75
|
-
expect(r[0]).toBe(
|
|
76
|
-
expect(r[1].x).toBe(
|
|
77
|
-
expect(r[2].y).toBe(
|
|
78
|
-
expect(r[3].z).toBe(
|
|
79
|
-
})
|
|
80
|
-
|
|
81
|
-
})
|
|
81
|
+
expect(r[0]).toBe('123');
|
|
82
|
+
expect(r[1].x).toBe('1');
|
|
83
|
+
expect(r[2].y).toBe('2');
|
|
84
|
+
expect(r[3].z).toBe('3');
|
|
85
|
+
});
|
|
86
|
+
});
|
package/src/dsl/walk.ts
CHANGED
|
@@ -1,11 +1,33 @@
|
|
|
1
|
-
|
|
2
1
|
export type ObjectKey = string | number | undefined;
|
|
3
2
|
export interface ObjectVisitor {
|
|
4
|
-
onStartObject?: (key: ObjectKey, value:
|
|
5
|
-
onEndObject?: (key: ObjectKey, value:
|
|
6
|
-
onStartIteration?: (key: ObjectKey, value: Iterable<
|
|
7
|
-
onEndIteration?: (key: ObjectKey, value: Iterable<
|
|
8
|
-
onValue?: (key: ObjectKey, value:
|
|
3
|
+
onStartObject?: (key: ObjectKey, value: unknown) => void;
|
|
4
|
+
onEndObject?: (key: ObjectKey, value: unknown) => void;
|
|
5
|
+
onStartIteration?: (key: ObjectKey, value: Iterable<unknown>) => void;
|
|
6
|
+
onEndIteration?: (key: ObjectKey, value: Iterable<unknown>) => void;
|
|
7
|
+
onValue?: (key: ObjectKey, value: unknown) => void;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
type MutableContainer = Record<string, unknown> | unknown[];
|
|
11
|
+
|
|
12
|
+
function isIterable(value: unknown): value is Iterable<unknown> {
|
|
13
|
+
return (
|
|
14
|
+
!!value && typeof value === 'object' && Symbol.iterator in value && typeof value[Symbol.iterator] === 'function'
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function isPlainRecord(value: unknown): value is Record<string, unknown> {
|
|
19
|
+
return !!value && typeof value === 'object' && value.constructor === Object;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function setValue(target: MutableContainer | undefined, key: ObjectKey, value: unknown) {
|
|
23
|
+
if (!target || key === undefined) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (Array.isArray(target) && typeof key === 'number') {
|
|
27
|
+
target[key] = value;
|
|
28
|
+
} else if (!Array.isArray(target) && typeof key === 'string') {
|
|
29
|
+
target[key] = value;
|
|
30
|
+
}
|
|
9
31
|
}
|
|
10
32
|
|
|
11
33
|
export class ObjectWalker {
|
|
@@ -13,62 +35,65 @@ export class ObjectWalker {
|
|
|
13
35
|
constructor(supportIterators = false) {
|
|
14
36
|
this.supportIterators = supportIterators;
|
|
15
37
|
}
|
|
16
|
-
walk(obj:
|
|
38
|
+
walk(obj: unknown, visitor: ObjectVisitor) {
|
|
17
39
|
this._walk(undefined, obj, visitor);
|
|
18
40
|
}
|
|
19
|
-
_walk(key: ObjectKey, obj:
|
|
41
|
+
_walk(key: ObjectKey, obj: unknown, visitor: ObjectVisitor) {
|
|
20
42
|
const type = typeof obj;
|
|
21
43
|
if (!obj || type !== 'object' || obj instanceof Date) {
|
|
22
|
-
visitor.onValue
|
|
44
|
+
visitor.onValue?.(key, obj);
|
|
23
45
|
} else if (Array.isArray(obj)) {
|
|
24
46
|
this._walkIterable(key, obj, visitor);
|
|
25
|
-
} else if (this.supportIterators && obj
|
|
47
|
+
} else if (this.supportIterators && isIterable(obj)) {
|
|
26
48
|
this._walkIterable(key, obj, visitor);
|
|
27
|
-
} else if (obj
|
|
49
|
+
} else if (isPlainRecord(obj)) {
|
|
50
|
+
// a plain object
|
|
28
51
|
this._walkObject(key, obj, visitor);
|
|
29
|
-
} else {
|
|
30
|
-
|
|
52
|
+
} else {
|
|
53
|
+
// a random object - we treat it as a value
|
|
54
|
+
visitor.onValue?.(key, obj);
|
|
31
55
|
}
|
|
32
56
|
}
|
|
33
57
|
|
|
34
|
-
_walkIterable(key: ObjectKey, obj:
|
|
35
|
-
visitor.onStartIteration
|
|
58
|
+
_walkIterable(key: ObjectKey, obj: Iterable<unknown>, visitor: ObjectVisitor) {
|
|
59
|
+
visitor.onStartIteration?.(key, obj);
|
|
36
60
|
let i = 0;
|
|
37
61
|
for (const value of obj) {
|
|
38
62
|
this._walk(i++, value, visitor);
|
|
39
63
|
}
|
|
40
|
-
visitor.onEndIteration
|
|
64
|
+
visitor.onEndIteration?.(key, obj);
|
|
41
65
|
}
|
|
42
66
|
|
|
43
|
-
_walkObject(key: ObjectKey, obj:
|
|
44
|
-
visitor.onStartObject
|
|
67
|
+
_walkObject(key: ObjectKey, obj: Record<string, unknown>, visitor: ObjectVisitor) {
|
|
68
|
+
visitor.onStartObject?.(key, obj);
|
|
45
69
|
for (const k of Object.keys(obj)) {
|
|
46
70
|
this._walk(k, obj[k], visitor);
|
|
47
71
|
}
|
|
48
|
-
visitor.onEndObject
|
|
72
|
+
visitor.onEndObject?.(key, obj);
|
|
49
73
|
}
|
|
50
74
|
|
|
51
|
-
map(obj:
|
|
75
|
+
map<T = unknown>(obj: unknown, mapFn: (key: ObjectKey, value: unknown) => unknown): T {
|
|
52
76
|
const visitor = new MapVisitor(mapFn);
|
|
53
77
|
this.walk(obj, visitor);
|
|
54
|
-
return visitor.result;
|
|
78
|
+
return visitor.result as T;
|
|
55
79
|
}
|
|
56
80
|
}
|
|
57
81
|
|
|
58
82
|
class MapVisitor implements ObjectVisitor {
|
|
59
|
-
result:
|
|
60
|
-
current:
|
|
61
|
-
stack:
|
|
62
|
-
constructor(private mapFn: (key: ObjectKey, value:
|
|
83
|
+
result: unknown;
|
|
84
|
+
current: MutableContainer | undefined;
|
|
85
|
+
stack: (MutableContainer | undefined)[] = [];
|
|
86
|
+
constructor(private mapFn: (key: ObjectKey, value: unknown) => unknown) {}
|
|
63
87
|
|
|
64
88
|
onStartObject(key: ObjectKey) {
|
|
65
89
|
if (key === undefined) {
|
|
66
|
-
|
|
67
|
-
this.
|
|
90
|
+
const obj: Record<string, unknown> = {};
|
|
91
|
+
this.result = obj;
|
|
92
|
+
this.current = obj;
|
|
68
93
|
} else {
|
|
69
94
|
this.stack.push(this.current);
|
|
70
|
-
const obj = {};
|
|
71
|
-
this.current
|
|
95
|
+
const obj: Record<string, unknown> = {};
|
|
96
|
+
setValue(this.current, key, obj);
|
|
72
97
|
this.current = obj;
|
|
73
98
|
}
|
|
74
99
|
}
|
|
@@ -78,12 +103,13 @@ class MapVisitor implements ObjectVisitor {
|
|
|
78
103
|
|
|
79
104
|
onStartIteration(key: ObjectKey) {
|
|
80
105
|
if (key === undefined) {
|
|
81
|
-
|
|
82
|
-
this.
|
|
106
|
+
const ar: unknown[] = [];
|
|
107
|
+
this.result = ar;
|
|
108
|
+
this.current = ar;
|
|
83
109
|
} else {
|
|
84
110
|
this.stack.push(this.current);
|
|
85
|
-
const ar:
|
|
86
|
-
this.current
|
|
111
|
+
const ar: unknown[] = [];
|
|
112
|
+
setValue(this.current, key, ar);
|
|
87
113
|
this.current = ar;
|
|
88
114
|
}
|
|
89
115
|
}
|
|
@@ -92,12 +118,12 @@ class MapVisitor implements ObjectVisitor {
|
|
|
92
118
|
this.current = this.stack.pop();
|
|
93
119
|
}
|
|
94
120
|
|
|
95
|
-
onValue(key: ObjectKey, value:
|
|
121
|
+
onValue(key: ObjectKey, value: unknown) {
|
|
96
122
|
const r = this.mapFn(key, value);
|
|
97
123
|
if (key === undefined) {
|
|
98
124
|
this.result = r;
|
|
99
125
|
} else if (r !== undefined) {
|
|
100
|
-
this.current
|
|
126
|
+
setValue(this.current, key, r);
|
|
101
127
|
}
|
|
102
128
|
}
|
|
103
129
|
}
|