@powerhousedao/codegen 5.1.0 → 5.2.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/creators.esm.t +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +3 -3
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +3 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +70 -4
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +1 -3
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/lib.esm.t +9 -0
- package/dist/src/codegen/__tests__/config.d.ts +1 -0
- package/dist/src/codegen/__tests__/config.d.ts.map +1 -1
- package/dist/src/codegen/__tests__/config.js +1 -0
- package/dist/src/codegen/__tests__/config.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-doc-model.test.js +115 -88
- package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-drive-editor.test.js +6 -3
- package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-editor.test.js +10 -7
- package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-manifest.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts +2 -0
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts.map +1 -0
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js +159 -0
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js.map +1 -0
- package/dist/src/codegen/__tests__/ts-morph-generator.test.js +2 -1
- package/dist/src/codegen/__tests__/ts-morph-generator.test.js.map +1 -1
- package/dist/src/codegen/generate.d.ts +42 -6
- package/dist/src/codegen/generate.d.ts.map +1 -1
- package/dist/src/codegen/generate.js +212 -95
- package/dist/src/codegen/generate.js.map +1 -1
- package/dist/src/codegen/graphql.d.ts +20 -17
- package/dist/src/codegen/graphql.d.ts.map +1 -1
- package/dist/src/codegen/graphql.js +105 -78
- package/dist/src/codegen/graphql.js.map +1 -1
- package/dist/src/codegen/hygen.d.ts +1 -8
- package/dist/src/codegen/hygen.d.ts.map +1 -1
- package/dist/src/codegen/hygen.js +9 -69
- package/dist/src/codegen/hygen.js.map +1 -1
- package/dist/src/create-lib/create-project.d.ts +8 -27
- package/dist/src/create-lib/create-project.d.ts.map +1 -1
- package/dist/src/create-lib/create-project.js +79 -151
- package/dist/src/create-lib/create-project.js.map +1 -1
- package/dist/src/create-lib/utils.d.ts +1 -0
- package/dist/src/create-lib/utils.d.ts.map +1 -1
- package/dist/src/create-lib/utils.js +6 -0
- package/dist/src/create-lib/utils.js.map +1 -1
- package/dist/src/file-builders/boilerplate/build-package-json.test.d.ts +2 -0
- package/dist/src/file-builders/boilerplate/build-package-json.test.d.ts.map +1 -0
- package/dist/src/file-builders/boilerplate/build-package-json.test.js +28 -0
- package/dist/src/file-builders/boilerplate/build-package-json.test.js.map +1 -0
- package/dist/src/file-builders/boilerplate/package-json-versions.test.d.ts +2 -0
- package/dist/src/file-builders/boilerplate/package-json-versions.test.d.ts.map +1 -0
- package/dist/src/file-builders/boilerplate/package-json-versions.test.js +34 -0
- package/dist/src/file-builders/boilerplate/package-json-versions.test.js.map +1 -0
- package/dist/src/file-builders/boilerplate/package.json.d.ts +6 -0
- package/dist/src/file-builders/boilerplate/package.json.d.ts.map +1 -0
- package/dist/src/file-builders/boilerplate/package.json.js +18 -0
- package/dist/src/file-builders/boilerplate/package.json.js.map +1 -0
- package/dist/src/file-builders/document-editor.d.ts +8 -0
- package/dist/src/file-builders/document-editor.d.ts.map +1 -0
- package/dist/src/file-builders/document-editor.js +57 -0
- package/dist/src/file-builders/document-editor.js.map +1 -0
- package/dist/src/file-builders/document-model/document-model.d.ts +8 -0
- package/dist/src/file-builders/document-model/document-model.d.ts.map +1 -0
- package/dist/src/file-builders/document-model/document-model.js +234 -0
- package/dist/src/file-builders/document-model/document-model.js.map +1 -0
- package/dist/src/file-builders/document-model/gen-dir.d.ts +3 -0
- package/dist/src/file-builders/document-model/gen-dir.d.ts.map +1 -0
- package/dist/src/file-builders/document-model/gen-dir.js +201 -0
- package/dist/src/file-builders/document-model/gen-dir.js.map +1 -0
- package/dist/src/file-builders/document-model/root-dir.d.ts +3 -0
- package/dist/src/file-builders/document-model/root-dir.d.ts.map +1 -0
- package/dist/src/file-builders/document-model/root-dir.js +51 -0
- package/dist/src/file-builders/document-model/root-dir.js.map +1 -0
- package/dist/src/file-builders/document-model/src-dir.d.ts +3 -0
- package/dist/src/file-builders/document-model/src-dir.d.ts.map +1 -0
- package/dist/src/file-builders/document-model/src-dir.js +118 -0
- package/dist/src/file-builders/document-model/src-dir.js.map +1 -0
- package/dist/src/file-builders/document-model/tests-dir.d.ts +3 -0
- package/dist/src/file-builders/document-model/tests-dir.d.ts.map +1 -0
- package/dist/src/file-builders/document-model/tests-dir.js +127 -0
- package/dist/src/file-builders/document-model/tests-dir.js.map +1 -0
- package/dist/src/file-builders/document-model/upgrades-dir.d.ts +31 -0
- package/dist/src/file-builders/document-model/upgrades-dir.d.ts.map +1 -0
- package/dist/src/file-builders/document-model/upgrades-dir.js +135 -0
- package/dist/src/file-builders/document-model/upgrades-dir.js.map +1 -0
- package/dist/src/file-builders/drive-editor.d.ts +9 -0
- package/dist/src/file-builders/drive-editor.d.ts.map +1 -0
- package/dist/src/file-builders/drive-editor.js +164 -0
- package/dist/src/file-builders/drive-editor.js.map +1 -0
- package/dist/src/file-builders/editor-common.d.ts +13 -0
- package/dist/src/file-builders/editor-common.d.ts.map +1 -0
- package/dist/src/file-builders/editor-common.js +26 -0
- package/dist/src/file-builders/editor-common.js.map +1 -0
- package/dist/src/file-builders/index-files.d.ts +18 -0
- package/dist/src/file-builders/index-files.d.ts.map +1 -0
- package/dist/src/file-builders/index-files.js +25 -0
- package/dist/src/file-builders/index-files.js.map +1 -0
- package/dist/src/file-builders/index.d.ts +10 -0
- package/dist/src/file-builders/index.d.ts.map +1 -0
- package/dist/src/file-builders/index.js +9 -0
- package/dist/src/file-builders/index.js.map +1 -0
- package/dist/src/file-builders/module-files.d.ts +32 -0
- package/dist/src/file-builders/module-files.d.ts.map +1 -0
- package/dist/src/file-builders/module-files.js +132 -0
- package/dist/src/file-builders/module-files.js.map +1 -0
- package/dist/src/file-builders/subgraphs.d.ts +6 -0
- package/dist/src/file-builders/subgraphs.d.ts.map +1 -0
- package/dist/src/file-builders/subgraphs.js +53 -0
- package/dist/src/file-builders/subgraphs.js.map +1 -0
- package/dist/src/file-builders/types.d.ts +66 -0
- package/dist/src/file-builders/types.d.ts.map +1 -0
- package/dist/src/file-builders/types.js +2 -0
- package/dist/src/file-builders/types.js.map +1 -0
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +0 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/name-builders/get-action-names.d.ts +6 -0
- package/dist/src/name-builders/get-action-names.d.ts.map +1 -0
- package/dist/src/name-builders/get-action-names.js +16 -0
- package/dist/src/name-builders/get-action-names.js.map +1 -0
- package/dist/src/name-builders/get-variable-names.d.ts +48 -0
- package/dist/src/name-builders/get-variable-names.d.ts.map +1 -0
- package/dist/src/name-builders/get-variable-names.js +147 -0
- package/dist/src/name-builders/get-variable-names.js.map +1 -0
- package/dist/src/name-builders/index.d.ts +3 -0
- package/dist/src/name-builders/index.d.ts.map +1 -0
- package/dist/src/name-builders/index.js +3 -0
- package/dist/src/name-builders/index.js.map +1 -0
- package/dist/src/templates/boilerplate/AGENTS.md.d.ts +2 -0
- package/dist/src/templates/boilerplate/AGENTS.md.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/AGENTS.md.js +408 -0
- package/dist/src/templates/boilerplate/AGENTS.md.js.map +1 -0
- package/dist/src/templates/boilerplate/CLAUDE.md.d.ts +2 -0
- package/dist/src/templates/boilerplate/CLAUDE.md.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/CLAUDE.md.js +408 -0
- package/dist/src/templates/boilerplate/CLAUDE.md.js.map +1 -0
- package/dist/src/templates/boilerplate/LICENSE.d.ts +2 -0
- package/dist/src/templates/boilerplate/LICENSE.d.ts.map +1 -0
- package/{LICENSE → dist/src/templates/boilerplate/LICENSE.js} +4 -1
- package/dist/src/templates/boilerplate/LICENSE.js.map +1 -0
- package/dist/src/templates/boilerplate/README.md.d.ts +2 -0
- package/dist/src/templates/boilerplate/README.md.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/README.md.js +194 -0
- package/dist/src/templates/boilerplate/README.md.js.map +1 -0
- package/dist/src/templates/boilerplate/claude/settings.local.json.d.ts +2 -0
- package/dist/src/templates/boilerplate/claude/settings.local.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/claude/settings.local.json.js +18 -0
- package/dist/src/templates/boilerplate/claude/settings.local.json.js.map +1 -0
- package/dist/src/templates/boilerplate/cursor/mcp.json.d.ts +2 -0
- package/dist/src/templates/boilerplate/cursor/mcp.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/cursor/mcp.json.js +12 -0
- package/dist/src/templates/boilerplate/cursor/mcp.json.js.map +1 -0
- package/dist/src/templates/boilerplate/document-models/document-models.d.ts +2 -0
- package/dist/src/templates/boilerplate/document-models/document-models.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/document-models/document-models.js +7 -0
- package/dist/src/templates/boilerplate/document-models/document-models.js.map +1 -0
- package/dist/src/templates/boilerplate/document-models/index.d.ts +2 -0
- package/dist/src/templates/boilerplate/document-models/index.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/document-models/index.js +2 -0
- package/dist/src/templates/boilerplate/document-models/index.js.map +1 -0
- package/dist/src/templates/boilerplate/editors/editors.d.ts +2 -0
- package/dist/src/templates/boilerplate/editors/editors.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/editors/editors.js +7 -0
- package/dist/src/templates/boilerplate/editors/editors.js.map +1 -0
- package/dist/src/templates/boilerplate/editors/index.d.ts +2 -0
- package/dist/src/templates/boilerplate/editors/index.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/editors/index.js +2 -0
- package/dist/src/templates/boilerplate/editors/index.js.map +1 -0
- package/dist/src/templates/boilerplate/eslint.config.js.d.ts +2 -0
- package/dist/src/templates/boilerplate/eslint.config.js.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/eslint.config.js.js +140 -0
- package/dist/src/templates/boilerplate/eslint.config.js.js.map +1 -0
- package/dist/src/templates/boilerplate/gemini/settings.json.d.ts +2 -0
- package/dist/src/templates/boilerplate/gemini/settings.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/gemini/settings.json.js +12 -0
- package/dist/src/templates/boilerplate/gemini/settings.json.js.map +1 -0
- package/dist/src/templates/boilerplate/gitignore.d.ts +2 -0
- package/dist/src/templates/boilerplate/gitignore.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/gitignore.js +11 -0
- package/dist/src/templates/boilerplate/gitignore.js.map +1 -0
- package/dist/src/templates/boilerplate/index.d.ts +2 -0
- package/dist/src/templates/boilerplate/index.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/index.html.d.ts +2 -0
- package/dist/src/templates/boilerplate/index.html.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/index.html.js +33 -0
- package/dist/src/templates/boilerplate/index.html.js.map +1 -0
- package/dist/src/templates/boilerplate/index.html.legacy.d.ts +2 -0
- package/dist/src/templates/boilerplate/index.html.legacy.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/index.html.legacy.js +36 -0
- package/dist/src/templates/boilerplate/index.html.legacy.js.map +1 -0
- package/dist/src/templates/boilerplate/index.js +9 -0
- package/dist/src/templates/boilerplate/index.js.map +1 -0
- package/dist/src/templates/boilerplate/mcp.json.d.ts +2 -0
- package/dist/src/templates/boilerplate/mcp.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/mcp.json.js +12 -0
- package/dist/src/templates/boilerplate/mcp.json.js.map +1 -0
- package/dist/src/templates/boilerplate/npmrc.d.ts +2 -0
- package/dist/src/templates/boilerplate/npmrc.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/npmrc.js +2 -0
- package/dist/src/templates/boilerplate/npmrc.js.map +1 -0
- package/dist/src/templates/boilerplate/package.json.d.ts +2 -0
- package/dist/src/templates/boilerplate/package.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/package.json.js +115 -0
- package/dist/src/templates/boilerplate/package.json.js.map +1 -0
- package/dist/src/templates/boilerplate/package.json.legacy.d.ts +55 -0
- package/dist/src/templates/boilerplate/package.json.legacy.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/package.json.legacy.js +55 -0
- package/dist/src/templates/boilerplate/package.json.legacy.js.map +1 -0
- package/dist/src/templates/boilerplate/powerhouse.config.json.d.ts +6 -0
- package/dist/src/templates/boilerplate/powerhouse.config.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/powerhouse.config.json.js +46 -0
- package/dist/src/templates/boilerplate/powerhouse.config.json.js.map +1 -0
- package/dist/src/templates/boilerplate/powerhouse.manifest.json.d.ts +2 -0
- package/dist/src/templates/boilerplate/powerhouse.manifest.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/powerhouse.manifest.json.js +19 -0
- package/dist/src/templates/boilerplate/powerhouse.manifest.json.js.map +1 -0
- package/dist/src/templates/boilerplate/processors/index.d.ts +2 -0
- package/dist/src/templates/boilerplate/processors/index.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/processors/index.js +2 -0
- package/dist/src/templates/boilerplate/processors/index.js.map +1 -0
- package/dist/src/templates/boilerplate/style.css.d.ts +2 -0
- package/dist/src/templates/boilerplate/style.css.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/style.css.js +17 -0
- package/dist/src/templates/boilerplate/style.css.js.map +1 -0
- package/dist/src/templates/boilerplate/subgraphs/index.d.ts +2 -0
- package/dist/src/templates/boilerplate/subgraphs/index.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/subgraphs/index.js +2 -0
- package/dist/src/templates/boilerplate/subgraphs/index.js.map +1 -0
- package/dist/src/templates/boilerplate/tsconfig.json.d.ts +2 -0
- package/dist/src/templates/boilerplate/tsconfig.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/tsconfig.json.js +46 -0
- package/dist/src/templates/boilerplate/tsconfig.json.js.map +1 -0
- package/dist/src/templates/boilerplate/vite.config.ts.d.ts +2 -0
- package/dist/src/templates/boilerplate/vite.config.ts.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/vite.config.ts.js +21 -0
- package/dist/src/templates/boilerplate/vite.config.ts.js.map +1 -0
- package/dist/src/templates/boilerplate/vitest.config.ts.d.ts +2 -0
- package/dist/src/templates/boilerplate/vitest.config.ts.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/vitest.config.ts.js +21 -0
- package/dist/src/templates/boilerplate/vitest.config.ts.js.map +1 -0
- package/dist/src/templates/document-editor/editor.d.ts +5 -0
- package/dist/src/templates/document-editor/editor.d.ts.map +1 -0
- package/dist/src/templates/document-editor/editor.js +78 -0
- package/dist/src/templates/document-editor/editor.js.map +1 -0
- package/dist/src/templates/document-editor/module.d.ts +7 -0
- package/dist/src/templates/document-editor/module.d.ts.map +1 -0
- package/dist/src/templates/document-editor/module.js +16 -0
- package/dist/src/templates/document-editor/module.js.map +1 -0
- package/dist/src/templates/document-model/actions.d.ts +3 -0
- package/dist/src/templates/document-model/actions.d.ts.map +1 -0
- package/dist/src/templates/document-model/actions.js +28 -0
- package/dist/src/templates/document-model/actions.js.map +1 -0
- package/dist/src/templates/document-model/gen/actions.d.ts +3 -0
- package/dist/src/templates/document-model/gen/actions.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/actions.js +40 -0
- package/dist/src/templates/document-model/gen/actions.js.map +1 -0
- package/dist/src/templates/document-model/gen/creators.d.ts +3 -0
- package/dist/src/templates/document-model/gen/creators.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/creators.js +16 -0
- package/dist/src/templates/document-model/gen/creators.js.map +1 -0
- package/dist/src/templates/document-model/gen/document-schema.d.ts +3 -0
- package/dist/src/templates/document-model/gen/document-schema.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/document-schema.js +56 -0
- package/dist/src/templates/document-model/gen/document-schema.js.map +1 -0
- package/dist/src/templates/document-model/gen/document-type.d.ts +3 -0
- package/dist/src/templates/document-model/gen/document-type.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/document-type.js +5 -0
- package/dist/src/templates/document-model/gen/document-type.js.map +1 -0
- package/dist/src/templates/document-model/gen/index.d.ts +3 -0
- package/dist/src/templates/document-model/gen/index.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/index.js +29 -0
- package/dist/src/templates/document-model/gen/index.js.map +1 -0
- package/dist/src/templates/document-model/gen/modules/actions.d.ts +8 -0
- package/dist/src/templates/document-model/gen/modules/actions.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/modules/actions.js +39 -0
- package/dist/src/templates/document-model/gen/modules/actions.js.map +1 -0
- package/dist/src/templates/document-model/gen/modules/creators.d.ts +3 -0
- package/dist/src/templates/document-model/gen/modules/creators.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/modules/creators.js +97 -0
- package/dist/src/templates/document-model/gen/modules/creators.js.map +1 -0
- package/dist/src/templates/document-model/gen/modules/error.d.ts +3 -0
- package/dist/src/templates/document-model/gen/modules/error.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/modules/error.js +73 -0
- package/dist/src/templates/document-model/gen/modules/error.js.map +1 -0
- package/dist/src/templates/document-model/gen/modules/operations.d.ts +3 -0
- package/dist/src/templates/document-model/gen/modules/operations.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/modules/operations.js +61 -0
- package/dist/src/templates/document-model/gen/modules/operations.js.map +1 -0
- package/dist/src/templates/document-model/gen/ph-factories.d.ts +3 -0
- package/dist/src/templates/document-model/gen/ph-factories.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/ph-factories.js +93 -0
- package/dist/src/templates/document-model/gen/ph-factories.js.map +1 -0
- package/dist/src/templates/document-model/gen/reducer.d.ts +3 -0
- package/dist/src/templates/document-model/gen/reducer.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/reducer.js +106 -0
- package/dist/src/templates/document-model/gen/reducer.js.map +1 -0
- package/dist/src/templates/document-model/gen/schema/index.d.ts +2 -0
- package/dist/src/templates/document-model/gen/schema/index.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/schema/index.js +6 -0
- package/dist/src/templates/document-model/gen/schema/index.js.map +1 -0
- package/dist/src/templates/document-model/gen/types.d.ts +3 -0
- package/dist/src/templates/document-model/gen/types.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/types.js +38 -0
- package/dist/src/templates/document-model/gen/types.js.map +1 -0
- package/dist/src/templates/document-model/gen/utils.d.ts +3 -0
- package/dist/src/templates/document-model/gen/utils.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/utils.js +77 -0
- package/dist/src/templates/document-model/gen/utils.js.map +1 -0
- package/dist/src/templates/document-model/hooks.d.ts +3 -0
- package/dist/src/templates/document-model/hooks.d.ts.map +1 -0
- package/dist/src/templates/document-model/hooks.js +52 -0
- package/dist/src/templates/document-model/hooks.js.map +1 -0
- package/dist/src/templates/document-model/index.d.ts +2 -0
- package/dist/src/templates/document-model/index.d.ts.map +1 -0
- package/dist/src/templates/document-model/index.js +9 -0
- package/dist/src/templates/document-model/index.js.map +1 -0
- package/dist/src/templates/document-model/module.d.ts +9 -0
- package/dist/src/templates/document-model/module.d.ts.map +1 -0
- package/dist/src/templates/document-model/module.js +26 -0
- package/dist/src/templates/document-model/module.js.map +1 -0
- package/dist/src/templates/document-model/src/index.d.ts +2 -0
- package/dist/src/templates/document-model/src/index.d.ts.map +1 -0
- package/dist/src/templates/document-model/src/index.js +5 -0
- package/dist/src/templates/document-model/src/index.js.map +1 -0
- package/dist/src/templates/document-model/src/tests/document-model.test.d.ts +3 -0
- package/dist/src/templates/document-model/src/tests/document-model.test.d.ts.map +1 -0
- package/dist/src/templates/document-model/src/tests/document-model.test.js +121 -0
- package/dist/src/templates/document-model/src/tests/document-model.test.js.map +1 -0
- package/dist/src/templates/document-model/src/tests/module.test.d.ts +6 -0
- package/dist/src/templates/document-model/src/tests/module.test.d.ts.map +1 -0
- package/dist/src/templates/document-model/src/tests/module.test.js +87 -0
- package/dist/src/templates/document-model/src/tests/module.test.js.map +1 -0
- package/dist/src/templates/document-model/src/utils.d.ts +2 -0
- package/dist/src/templates/document-model/src/utils.d.ts.map +1 -0
- package/dist/src/templates/document-model/src/utils.js +5 -0
- package/dist/src/templates/document-model/src/utils.js.map +1 -0
- package/dist/src/templates/document-model/upgrades/upgrade-transition.d.ts +7 -0
- package/dist/src/templates/document-model/upgrades/upgrade-transition.d.ts.map +1 -0
- package/dist/src/templates/document-model/upgrades/upgrade-transition.js +22 -0
- package/dist/src/templates/document-model/upgrades/upgrade-transition.js.map +1 -0
- package/dist/src/templates/document-model/utils.d.ts +3 -0
- package/dist/src/templates/document-model/utils.d.ts.map +1 -0
- package/dist/src/templates/document-model/utils.js +11 -0
- package/dist/src/templates/document-model/utils.js.map +1 -0
- package/dist/src/templates/drive-editor/components/CreateDocument.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/CreateDocument.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/CreateDocument.js +58 -0
- package/dist/src/templates/drive-editor/components/CreateDocument.js.map +1 -0
- package/dist/src/templates/drive-editor/components/DriveContents.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/DriveContents.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/DriveContents.js +24 -0
- package/dist/src/templates/drive-editor/components/DriveContents.js.map +1 -0
- package/dist/src/templates/drive-editor/components/DriveExplorer.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/DriveExplorer.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/DriveExplorer.js +32 -0
- package/dist/src/templates/drive-editor/components/DriveExplorer.js.map +1 -0
- package/dist/src/templates/drive-editor/components/EmptyState.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/EmptyState.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/EmptyState.js +19 -0
- package/dist/src/templates/drive-editor/components/EmptyState.js.map +1 -0
- package/dist/src/templates/drive-editor/components/Files.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/Files.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/Files.js +30 -0
- package/dist/src/templates/drive-editor/components/Files.js.map +1 -0
- package/dist/src/templates/drive-editor/components/FolderTree.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/FolderTree.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/FolderTree.js +108 -0
- package/dist/src/templates/drive-editor/components/FolderTree.js.map +1 -0
- package/dist/src/templates/drive-editor/components/Folders.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/Folders.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/Folders.js +28 -0
- package/dist/src/templates/drive-editor/components/Folders.js.map +1 -0
- package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.js +14 -0
- package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.js.map +1 -0
- package/dist/src/templates/drive-editor/config.d.ts +5 -0
- package/dist/src/templates/drive-editor/config.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/config.js +11 -0
- package/dist/src/templates/drive-editor/config.js.map +1 -0
- package/dist/src/templates/drive-editor/editor.d.ts +2 -0
- package/dist/src/templates/drive-editor/editor.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/editor.js +18 -0
- package/dist/src/templates/drive-editor/editor.js.map +1 -0
- package/dist/src/templates/index.d.ts +65 -0
- package/dist/src/templates/index.d.ts.map +1 -0
- package/dist/src/templates/index.js +65 -0
- package/dist/src/templates/index.js.map +1 -0
- package/dist/src/utils/constants.d.ts +13 -0
- package/dist/src/utils/constants.d.ts.map +1 -0
- package/dist/src/utils/constants.js +29 -0
- package/dist/src/utils/constants.js.map +1 -0
- package/dist/src/utils/dependencies.d.ts +12 -0
- package/dist/src/utils/dependencies.d.ts.map +1 -0
- package/dist/src/utils/dependencies.js +34 -0
- package/dist/src/utils/dependencies.js.map +1 -0
- package/dist/src/utils/document-type-metadata.d.ts +15 -0
- package/dist/src/utils/document-type-metadata.d.ts.map +1 -0
- package/dist/src/utils/document-type-metadata.js +67 -0
- package/dist/src/utils/document-type-metadata.js.map +1 -0
- package/dist/src/utils/format-with-prettier.d.ts +5 -0
- package/dist/src/utils/format-with-prettier.d.ts.map +1 -0
- package/dist/src/utils/format-with-prettier.js +20 -0
- package/dist/src/utils/format-with-prettier.js.map +1 -0
- package/dist/src/utils/index.d.ts +10 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +10 -0
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/mock.d.ts +2 -3
- package/dist/src/utils/mock.d.ts.map +1 -1
- package/dist/src/utils/mock.js +4 -4
- package/dist/src/utils/mock.js.map +1 -1
- package/dist/src/utils/source-files.d.ts +18 -0
- package/dist/src/utils/source-files.d.ts.map +1 -0
- package/dist/src/utils/source-files.js +39 -0
- package/dist/src/utils/source-files.js.map +1 -0
- package/dist/src/utils/spawn-async.d.ts +5 -0
- package/dist/src/utils/spawn-async.d.ts.map +1 -0
- package/dist/src/utils/spawn-async.js +29 -0
- package/dist/src/utils/spawn-async.js.map +1 -0
- package/dist/src/utils/syntax-builders.d.ts +8 -0
- package/dist/src/utils/syntax-builders.d.ts.map +1 -0
- package/dist/src/utils/syntax-builders.js +72 -0
- package/dist/src/utils/syntax-builders.js.map +1 -0
- package/dist/src/utils/syntax-getters.d.ts +9 -0
- package/dist/src/utils/syntax-getters.d.ts.map +1 -0
- package/dist/src/utils/syntax-getters.js +20 -0
- package/dist/src/utils/syntax-getters.js.map +1 -0
- package/dist/src/utils/ts-morph-project.d.ts +15 -0
- package/dist/src/utils/ts-morph-project.d.ts.map +1 -0
- package/dist/src/utils/ts-morph-project.js +28 -0
- package/dist/src/utils/ts-morph-project.js.map +1 -0
- package/dist/src/utils/unsafe-utils.d.ts +8 -0
- package/dist/src/utils/unsafe-utils.d.ts.map +1 -0
- package/dist/src/utils/unsafe-utils.js +23 -0
- package/dist/src/utils/unsafe-utils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vitest.config.d.ts.map +1 -1
- package/dist/vitest.config.js +4 -1
- package/dist/vitest.config.js.map +1 -1
- package/package.json +44 -16
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/edit-name.esm.t +0 -78
- package/dist/src/codegen/__tests__/generate-schemas.test.d.ts +0 -2
- package/dist/src/codegen/__tests__/generate-schemas.test.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/generate-schemas.test.js +0 -143
- package/dist/src/codegen/__tests__/generate-schemas.test.js.map +0 -1
- package/dist/src/ts-morph-utils.d.ts +0 -48
- package/dist/src/ts-morph-utils.d.ts.map +0 -1
- package/dist/src/ts-morph-utils.js +0 -207
- package/dist/src/ts-morph-utils.js.map +0 -1
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { ts } from "@tmpl/core";
|
|
2
|
+
import { pascalCase } from "change-case";
|
|
3
|
+
function getErrorName(error) {
|
|
4
|
+
if (!error.name)
|
|
5
|
+
return;
|
|
6
|
+
const pascalCaseErrorName = pascalCase(error.name);
|
|
7
|
+
return pascalCaseErrorName;
|
|
8
|
+
}
|
|
9
|
+
function getErrorNames(errors) {
|
|
10
|
+
return errors.map(getErrorName).filter((name) => name !== undefined);
|
|
11
|
+
}
|
|
12
|
+
function getErrorCodeType(errors) {
|
|
13
|
+
const errorNames = getErrorNames(errors)
|
|
14
|
+
.map((name) => `"${name}"`)
|
|
15
|
+
.join(" |\n");
|
|
16
|
+
return ts `export type ErrorCode = ${errorNames};`.raw;
|
|
17
|
+
}
|
|
18
|
+
function errorClassTemplate(error) {
|
|
19
|
+
const errorName = getErrorName(error);
|
|
20
|
+
if (!errorName)
|
|
21
|
+
return;
|
|
22
|
+
return ts `
|
|
23
|
+
export class ${errorName} extends Error implements ReducerError {
|
|
24
|
+
errorCode = "${errorName}" as ErrorCode;
|
|
25
|
+
constructor(message = "${errorName}") {
|
|
26
|
+
super(message);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
`.raw;
|
|
30
|
+
}
|
|
31
|
+
function getErrorClassImplementations(errors) {
|
|
32
|
+
return errors
|
|
33
|
+
.map((error) => errorClassTemplate(error))
|
|
34
|
+
.filter(Boolean)
|
|
35
|
+
.join("\n\n");
|
|
36
|
+
}
|
|
37
|
+
function getErrorsImplementations(errors) {
|
|
38
|
+
if (!errors.length)
|
|
39
|
+
return "";
|
|
40
|
+
return ts `
|
|
41
|
+
${getErrorCodeType(errors)}
|
|
42
|
+
|
|
43
|
+
export interface ReducerError {
|
|
44
|
+
errorCode: ErrorCode;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
${getErrorClassImplementations(errors)}
|
|
48
|
+
`.raw;
|
|
49
|
+
}
|
|
50
|
+
function getActionErrorsExport(action) {
|
|
51
|
+
const errors = action.errors;
|
|
52
|
+
if (errors.length === 0)
|
|
53
|
+
return;
|
|
54
|
+
const pascalCaseActionName = pascalCase(action.name);
|
|
55
|
+
const errorNames = getErrorNames(errors).filter(Boolean).join(",\n");
|
|
56
|
+
return ts `
|
|
57
|
+
${pascalCaseActionName}: { ${errorNames} }
|
|
58
|
+
`.raw;
|
|
59
|
+
}
|
|
60
|
+
function getErrorsExport(actions) {
|
|
61
|
+
const errorsForEachAction = actions
|
|
62
|
+
.map(getActionErrorsExport)
|
|
63
|
+
.filter(Boolean)
|
|
64
|
+
.join(",\n");
|
|
65
|
+
return ts `
|
|
66
|
+
export const errors = { ${errorsForEachAction} };
|
|
67
|
+
`.raw;
|
|
68
|
+
}
|
|
69
|
+
export const documentModelOperationsModuleErrorFileTemplate = (v) => ts `
|
|
70
|
+
${getErrorsImplementations(v.errors)}
|
|
71
|
+
${getErrorsExport(v.actions)}
|
|
72
|
+
`.raw;
|
|
73
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../src/templates/document-model/gen/modules/error.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,SAAS,YAAY,CAAC,KAAkC;IACtD,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,OAAO;IACxB,MAAM,mBAAmB,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,SAAS,aAAa,CAAC,MAAqC;IAC1D,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AACvE,CAAC;AACD,SAAS,gBAAgB,CAAC,MAAqC;IAC7D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;SACrC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC;SAC1B,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,EAAE,CAAA,2BAA2B,UAAU,GAAG,CAAC,GAAG,CAAC;AACxD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAkC;IAC5D,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,SAAS;QAAE,OAAO;IAEvB,OAAO,EAAE,CAAA;mBACQ,SAAS;qBACP,SAAS;+BACC,SAAS;;;;GAIrC,CAAC,GAAG,CAAC;AACR,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAqC;IACzE,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;SACzC,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAqC;IACrE,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAE9B,OAAO,EAAE,CAAA;MACL,gBAAgB,CAAC,MAAM,CAAC;;;;;;MAMxB,4BAA4B,CAAC,MAAM,CAAC;GACvC,CAAC,GAAG,CAAC;AACR,CAAC;AAED,SAAS,qBAAqB,CAAC,MAA2B;IACxD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAChC,MAAM,oBAAoB,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrE,OAAO,EAAE,CAAA;MACL,oBAAoB,OAAO,UAAU;GACxC,CAAC,GAAG,CAAC;AACR,CAAC;AAED,SAAS,eAAe,CAAC,OAA8B;IACrD,MAAM,mBAAmB,GAAG,OAAO;SAChC,GAAG,CAAC,qBAAqB,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,KAAK,CAAC,CAAC;IAEf,OAAO,EAAE,CAAA;4BACiB,mBAAmB;GAC5C,CAAC,GAAG,CAAC;AACR,CAAC;AAED,MAAM,CAAC,MAAM,8CAA8C,GAAG,CAC5D,CAAwC,EACxC,EAAE,CACF,EAAE,CAAA;IACA,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC;IAClC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;CAC7B,CAAC,GAAG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/document-model/gen/modules/operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,qCAAqC,EACtC,MAAM,wBAAwB,CAAC;AAuFhC,eAAO,MAAM,mDAAmD,GAC9D,GAAG,qCAAqC,WAiBrC,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { ts } from "@tmpl/core";
|
|
2
|
+
import { camelCase, pascalCase } from "change-case";
|
|
3
|
+
import { getActionTypeName } from "@powerhousedao/codegen/name-builders";
|
|
4
|
+
function getActionTypeNames(actions) {
|
|
5
|
+
return actions.map(getActionTypeName);
|
|
6
|
+
}
|
|
7
|
+
function getActionTypeImports(actions) {
|
|
8
|
+
const actionTypeNames = getActionTypeNames(actions);
|
|
9
|
+
return actionTypeNames.join(",\n");
|
|
10
|
+
}
|
|
11
|
+
function getOperationsInterfaceName(pascalCaseDocumentType, module) {
|
|
12
|
+
const pascalCaseModuleName = pascalCase(module.name);
|
|
13
|
+
return `${pascalCaseDocumentType}${pascalCaseModuleName}Operations`;
|
|
14
|
+
}
|
|
15
|
+
function getActionOperationFieldName(action) {
|
|
16
|
+
const camelCaseActionName = camelCase(action.name);
|
|
17
|
+
return `${camelCaseActionName}Operation`;
|
|
18
|
+
}
|
|
19
|
+
function getActionOperationStateTypeName(action, pascalCaseDocumentType) {
|
|
20
|
+
if (!action.state)
|
|
21
|
+
return `${pascalCaseDocumentType}State`;
|
|
22
|
+
const pascalCaseStateName = pascalCase(action.state);
|
|
23
|
+
return `${pascalCaseDocumentType}_${pascalCaseStateName}_State`;
|
|
24
|
+
}
|
|
25
|
+
function getActionOperationStateTypeImports(actions, pascalCaseDocumentType) {
|
|
26
|
+
const stateTypeNames = actions.map((action) => getActionOperationStateTypeName(action, pascalCaseDocumentType));
|
|
27
|
+
return Array.from(new Set(stateTypeNames)).join(",\n");
|
|
28
|
+
}
|
|
29
|
+
function getActionOperationFunction(action, pascalCaseDocumentType) {
|
|
30
|
+
const actionOperationStateTypeName = getActionOperationStateTypeName(action, pascalCaseDocumentType);
|
|
31
|
+
const actionTypeName = getActionTypeName(action);
|
|
32
|
+
return ts `
|
|
33
|
+
(state: ${actionOperationStateTypeName}, action: ${actionTypeName}, dispatch?: SignalDispatch) => void
|
|
34
|
+
`.raw;
|
|
35
|
+
}
|
|
36
|
+
function getOperationsInterfaceField(action, pascalCaseDocumentType) {
|
|
37
|
+
const actionOperationFieldName = getActionOperationFieldName(action);
|
|
38
|
+
const actionOperationFunction = getActionOperationFunction(action, pascalCaseDocumentType);
|
|
39
|
+
return ts `
|
|
40
|
+
${actionOperationFieldName}: ${actionOperationFunction}
|
|
41
|
+
`.raw;
|
|
42
|
+
}
|
|
43
|
+
function getOperationsInterfaceFields(actions, pascalCaseDocumentType) {
|
|
44
|
+
return actions
|
|
45
|
+
.map((action) => getOperationsInterfaceField(action, pascalCaseDocumentType))
|
|
46
|
+
.join(",");
|
|
47
|
+
}
|
|
48
|
+
export const documentModelOperationsModuleOperationsFileTemplate = (v) => ts `
|
|
49
|
+
import { type SignalDispatch } from 'document-model';
|
|
50
|
+
import type {
|
|
51
|
+
${getActionTypeImports(v.actions)}
|
|
52
|
+
} from './actions.js';
|
|
53
|
+
import type {
|
|
54
|
+
${getActionOperationStateTypeImports(v.actions, v.pascalCaseDocumentType)}
|
|
55
|
+
} from "../types.js";
|
|
56
|
+
|
|
57
|
+
export interface ${getOperationsInterfaceName(v.pascalCaseDocumentType, v.module)} {
|
|
58
|
+
${getOperationsInterfaceFields(v.actions, v.pascalCaseDocumentType)}
|
|
59
|
+
}
|
|
60
|
+
`.raw;
|
|
61
|
+
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../../../../src/templates/document-model/gen/modules/operations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,SAAS,kBAAkB,CAAC,OAA8B;IACxD,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA8B;IAC1D,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,0BAA0B,CACjC,sBAA8B,EAC9B,MAA2B;IAE3B,MAAM,oBAAoB,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,GAAG,sBAAsB,GAAG,oBAAoB,YAAY,CAAC;AACtE,CAAC;AAED,SAAS,2BAA2B,CAAC,MAA2B;IAC9D,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,OAAO,GAAG,mBAAmB,WAAW,CAAC;AAC3C,CAAC;AAED,SAAS,+BAA+B,CACtC,MAA2B,EAC3B,sBAA8B;IAE9B,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,GAAG,sBAAsB,OAAO,CAAC;IAC3D,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,GAAG,sBAAsB,IAAI,mBAAmB,QAAQ,CAAC;AAClE,CAAC;AAED,SAAS,kCAAkC,CACzC,OAA8B,EAC9B,sBAA8B;IAE9B,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC5C,+BAA+B,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAChE,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,0BAA0B,CACjC,MAA2B,EAC3B,sBAA8B;IAE9B,MAAM,4BAA4B,GAAG,+BAA+B,CAClE,MAAM,EACN,sBAAsB,CACvB,CAAC;IACF,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjD,OAAO,EAAE,CAAA;YACC,4BAA4B,aAAa,cAAc;CAClE,CAAC,GAAG,CAAC;AACN,CAAC;AAED,SAAS,2BAA2B,CAClC,MAA2B,EAC3B,sBAA8B;IAE9B,MAAM,wBAAwB,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACrE,MAAM,uBAAuB,GAAG,0BAA0B,CACxD,MAAM,EACN,sBAAsB,CACvB,CAAC;IACF,OAAO,EAAE,CAAA;MACL,wBAAwB,KAAK,uBAAuB;GACvD,CAAC,GAAG,CAAC;AACR,CAAC;AAED,SAAS,4BAA4B,CACnC,OAA8B,EAC9B,sBAA8B;IAE9B,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACd,2BAA2B,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAC5D;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,mDAAmD,GAAG,CACjE,CAAwC,EACxC,EAAE,CACF,EAAE,CAAA;;;IAGA,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC;;;IAG/B,kCAAkC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,sBAAsB,CAAC;;;mBAGxD,0BAA0B,CACzC,CAAC,CAAC,sBAAsB,EACxB,CAAC,CAAC,MAAM,CACT;MACG,4BAA4B,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,sBAAsB,CAAC;;CAEtE,CAAC,GAAG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ph-factories.d.ts","sourceRoot":"","sources":["../../../../../src/templates/document-model/gen/ph-factories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAGxF,eAAO,MAAM,oCAAoC,GAC/C,GAAG,2BAA2B,WA4F3B,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { ts } from "@tmpl/core";
|
|
2
|
+
export const documentModelPhFactoriesFileTemplate = (v) => ts `
|
|
3
|
+
/**
|
|
4
|
+
* Factory methods for creating ${v.phDocumentTypeName} instances
|
|
5
|
+
*/
|
|
6
|
+
import type {
|
|
7
|
+
PHAuthState,
|
|
8
|
+
PHDocumentState,
|
|
9
|
+
PHBaseState,
|
|
10
|
+
} from "document-model";
|
|
11
|
+
import {
|
|
12
|
+
createBaseState,
|
|
13
|
+
defaultBaseState,
|
|
14
|
+
} from "document-model/core";
|
|
15
|
+
import type {
|
|
16
|
+
${v.phDocumentTypeName},
|
|
17
|
+
${v.localStateName},
|
|
18
|
+
${v.globalStateName},
|
|
19
|
+
${v.phStateName},
|
|
20
|
+
} from "./types.js";
|
|
21
|
+
import { createDocument } from "./utils.js";
|
|
22
|
+
|
|
23
|
+
export function defaultGlobalState(): ${v.globalStateName} {
|
|
24
|
+
return ${v.initialGlobalState};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function defaultLocalState(): ${v.localStateName} {
|
|
28
|
+
return ${v.initialLocalState};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function defaultPHState(): ${v.phStateName} {
|
|
32
|
+
return {
|
|
33
|
+
...defaultBaseState(),
|
|
34
|
+
global: defaultGlobalState(),
|
|
35
|
+
local: defaultLocalState(),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function createGlobalState(
|
|
40
|
+
state?: Partial<${v.globalStateName}>,
|
|
41
|
+
): ${v.globalStateName} {
|
|
42
|
+
return {
|
|
43
|
+
...defaultGlobalState(),
|
|
44
|
+
...(state || {}),
|
|
45
|
+
} as ${v.globalStateName};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function createLocalState(
|
|
49
|
+
state?: Partial<${v.localStateName}>,
|
|
50
|
+
): ${v.localStateName} {
|
|
51
|
+
return {
|
|
52
|
+
...defaultLocalState(),
|
|
53
|
+
...(state || {}),
|
|
54
|
+
} as ${v.localStateName};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function createState(
|
|
58
|
+
baseState?: Partial<PHBaseState>,
|
|
59
|
+
globalState?: Partial<${v.globalStateName}>,
|
|
60
|
+
localState?: Partial<${v.localStateName}>,
|
|
61
|
+
): ${v.phStateName} {
|
|
62
|
+
return {
|
|
63
|
+
...createBaseState(baseState?.auth, baseState?.document),
|
|
64
|
+
global: createGlobalState(globalState),
|
|
65
|
+
local: createLocalState(localState),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Creates a ${v.phDocumentTypeName} with custom global and local state
|
|
71
|
+
* This properly handles the PHBaseState requirements while allowing
|
|
72
|
+
* document-specific state to be set.
|
|
73
|
+
*/
|
|
74
|
+
export function create${v.phDocumentTypeName}(
|
|
75
|
+
state?: Partial<{
|
|
76
|
+
auth?: Partial<PHAuthState>;
|
|
77
|
+
document?: Partial<PHDocumentState>;
|
|
78
|
+
global?: Partial<${v.globalStateName}>;
|
|
79
|
+
local?: Partial<${v.localStateName}>;
|
|
80
|
+
}>,
|
|
81
|
+
): ${v.phDocumentTypeName} {
|
|
82
|
+
const document = createDocument(
|
|
83
|
+
state ? createState(
|
|
84
|
+
createBaseState(state.auth, state.document),
|
|
85
|
+
state.global,
|
|
86
|
+
state.local,
|
|
87
|
+
) : undefined
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
return document;
|
|
91
|
+
}
|
|
92
|
+
`.raw;
|
|
93
|
+
//# sourceMappingURL=ph-factories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ph-factories.js","sourceRoot":"","sources":["../../../../../src/templates/document-model/gen/ph-factories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAClD,CAA8B,EAC9B,EAAE,CACF,EAAE,CAAA;;kCAE8B,CAAC,CAAC,kBAAkB;;;;;;;;;;;;IAYlD,CAAC,CAAC,kBAAkB;IACpB,CAAC,CAAC,cAAc;IAChB,CAAC,CAAC,eAAe;IACjB,CAAC,CAAC,WAAW;;;;wCAIuB,CAAC,CAAC,eAAe;WAC9C,CAAC,CAAC,kBAAkB;;;uCAGQ,CAAC,CAAC,cAAc;WAC5C,CAAC,CAAC,iBAAiB;;;oCAGM,CAAC,CAAC,WAAW;;;;;;;;;oBAS7B,CAAC,CAAC,eAAe;KAChC,CAAC,CAAC,eAAe;;;;SAIb,CAAC,CAAC,eAAe;;;;oBAIN,CAAC,CAAC,cAAc;KAC/B,CAAC,CAAC,cAAc;;;;SAIZ,CAAC,CAAC,cAAc;;;;;0BAKC,CAAC,CAAC,eAAe;yBAClB,CAAC,CAAC,cAAc;KACpC,CAAC,CAAC,WAAW;;;;;;;;;eASH,CAAC,CAAC,kBAAkB;;;;wBAIX,CAAC,CAAC,kBAAkB;;;;uBAIrB,CAAC,CAAC,eAAe;sBAClB,CAAC,CAAC,cAAc;;KAEjC,CAAC,CAAC,kBAAkB;;;;;;;;;;;CAWxB,CAAC,GAAG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../../../../src/templates/document-model/gen/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAgIxF,eAAO,MAAM,mCAAmC,GAC9C,GAAG,2BAA2B,WA2B3B,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { ts } from "@tmpl/core";
|
|
2
|
+
import { camelCase, constantCase, paramCase, pascalCase } from "change-case";
|
|
3
|
+
function makePascalCaseOperationName(operation) {
|
|
4
|
+
if (!operation.name) {
|
|
5
|
+
throw new Error("Operation is missing name");
|
|
6
|
+
}
|
|
7
|
+
return pascalCase(operation.name);
|
|
8
|
+
}
|
|
9
|
+
function makeCamelCaseOperationName(operation) {
|
|
10
|
+
if (!operation.name) {
|
|
11
|
+
throw new Error("Operation is missing name");
|
|
12
|
+
}
|
|
13
|
+
return camelCase(operation.name);
|
|
14
|
+
}
|
|
15
|
+
function makeConstantCaseOperationName(operation) {
|
|
16
|
+
if (!operation.name) {
|
|
17
|
+
throw new Error("Operation is missing name");
|
|
18
|
+
}
|
|
19
|
+
return constantCase(operation.name);
|
|
20
|
+
}
|
|
21
|
+
function makeOperationInputSchema(operation) {
|
|
22
|
+
const pascalCaseOperationName = makePascalCaseOperationName(operation);
|
|
23
|
+
return `${pascalCaseOperationName}InputSchema`;
|
|
24
|
+
}
|
|
25
|
+
function makeOperationInputSchemaImports(modules) {
|
|
26
|
+
const moduleOperationInputSchemas = modules
|
|
27
|
+
.flatMap((module) => module.operations.map(makeOperationInputSchema))
|
|
28
|
+
.join(",\n");
|
|
29
|
+
return `import { ${moduleOperationInputSchemas} } from "./schema/zod.js";`;
|
|
30
|
+
}
|
|
31
|
+
function makeModuleOperationsImport(module, camelCaseDocumentType) {
|
|
32
|
+
const pascalCaseModuleName = pascalCase(module.name);
|
|
33
|
+
const paramCaseModuleName = paramCase(module.name);
|
|
34
|
+
return `import { ${camelCaseDocumentType}${pascalCaseModuleName}Operations } from "../src/reducers/${paramCaseModuleName}.js";`;
|
|
35
|
+
}
|
|
36
|
+
function makeModulesOperationsImports(modules, camelCaseDocumentType) {
|
|
37
|
+
return modules
|
|
38
|
+
.map((module) => makeModuleOperationsImport(module, camelCaseDocumentType))
|
|
39
|
+
.join("\n");
|
|
40
|
+
}
|
|
41
|
+
function makeOperationInputSchemaInvocation(operation) {
|
|
42
|
+
const operationInputSchema = makeOperationInputSchema(operation);
|
|
43
|
+
const constantCaseOperationName = makeConstantCaseOperationName(operation);
|
|
44
|
+
if (operation.schema === null) {
|
|
45
|
+
return ts `
|
|
46
|
+
if (Object.keys(action.input).length > 0) throw new Error("Expected empty input for action ${constantCaseOperationName}");
|
|
47
|
+
`.raw;
|
|
48
|
+
}
|
|
49
|
+
return ts `${operationInputSchema}().parse(action.input);`.raw;
|
|
50
|
+
}
|
|
51
|
+
function makeOperationsObjectName(module, camelCaseDocumentType) {
|
|
52
|
+
const pascalCaseModuleName = pascalCase(module.name);
|
|
53
|
+
return `${camelCaseDocumentType}${pascalCaseModuleName}Operations`;
|
|
54
|
+
}
|
|
55
|
+
function makeOperationName(operation) {
|
|
56
|
+
const camelCaseOperationName = makeCamelCaseOperationName(operation);
|
|
57
|
+
return `${camelCaseOperationName}Operation`;
|
|
58
|
+
}
|
|
59
|
+
function makeOperationInvocation(module, operation, camelCaseDocumentType) {
|
|
60
|
+
const operationsObjectName = makeOperationsObjectName(module, camelCaseDocumentType);
|
|
61
|
+
const operationName = makeOperationName(operation);
|
|
62
|
+
return ts `
|
|
63
|
+
${operationsObjectName}.${operationName}((state as any)[action.scope], action as any, dispatch);
|
|
64
|
+
`.raw;
|
|
65
|
+
}
|
|
66
|
+
function makeModuleOperationCaseStatement(module, camelCaseDocumentType) {
|
|
67
|
+
return module.operations.map((operation) => ts `
|
|
68
|
+
case "${makeConstantCaseOperationName(operation)}": {
|
|
69
|
+
${makeOperationInputSchemaInvocation(operation)}
|
|
70
|
+
${makeOperationInvocation(module, operation, camelCaseDocumentType)}
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
`.raw);
|
|
74
|
+
}
|
|
75
|
+
function makeModuleOperationsCaseStatements(modules, camelCaseDocumentType) {
|
|
76
|
+
return modules
|
|
77
|
+
.map((module) => makeModuleOperationCaseStatement(module, camelCaseDocumentType).join("\n"))
|
|
78
|
+
.join("\n");
|
|
79
|
+
}
|
|
80
|
+
export const documentModelGenReducerFileTemplate = (v) => ts `
|
|
81
|
+
// TODO: remove eslint-disable rules once refactor is done
|
|
82
|
+
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
83
|
+
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
84
|
+
import type { StateReducer } from "document-model";
|
|
85
|
+
import { isDocumentAction, createReducer } from "document-model/core";
|
|
86
|
+
import type { ${v.phStateName} } from "${v.versionedDocumentModelPackageImportPath}";
|
|
87
|
+
|
|
88
|
+
${makeModulesOperationsImports(v.modules, v.camelCaseDocumentType)}
|
|
89
|
+
|
|
90
|
+
${makeOperationInputSchemaImports(v.modules)}
|
|
91
|
+
|
|
92
|
+
const stateReducer: StateReducer<${v.phStateName}> =
|
|
93
|
+
(state, action, dispatch) => {
|
|
94
|
+
if (isDocumentAction(action)) {
|
|
95
|
+
return state;
|
|
96
|
+
}
|
|
97
|
+
switch (action.type) {
|
|
98
|
+
${makeModuleOperationsCaseStatements(v.modules, v.camelCaseDocumentType)}
|
|
99
|
+
default:
|
|
100
|
+
return state;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export const reducer = createReducer<${v.phStateName}>(stateReducer);
|
|
105
|
+
`.raw;
|
|
106
|
+
//# sourceMappingURL=reducer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../../../src/templates/document-model/gen/reducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/document-model/gen/schema/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gCAAgC,QAGxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/templates/document-model/gen/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAA;;;CAGjD,CAAC,GAAG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/templates/document-model/gen/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAmBxF,eAAO,MAAM,6BAA6B,GAAI,GAAG,2BAA2B,WA0BvE,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ts } from "@tmpl/core";
|
|
2
|
+
function buildEmptyLocalStateType(hasLocalSchema, localStateName) {
|
|
3
|
+
if (hasLocalSchema)
|
|
4
|
+
return "";
|
|
5
|
+
return `type ${localStateName} = Record<PropertyKey, never>;`;
|
|
6
|
+
}
|
|
7
|
+
function buildLocalStateTypeImport(hasLocalSchema, localStateName) {
|
|
8
|
+
if (!hasLocalSchema)
|
|
9
|
+
return "";
|
|
10
|
+
return localStateName;
|
|
11
|
+
}
|
|
12
|
+
export const documentModelGenTypesTemplate = (v) => ts `
|
|
13
|
+
import type { PHDocument, PHBaseState } from 'document-model';
|
|
14
|
+
import type { ${v.actionTypeName} } from './actions.js';
|
|
15
|
+
import type {
|
|
16
|
+
${v.stateName} as ${v.globalStateName},
|
|
17
|
+
${buildLocalStateTypeImport(v.hasLocalSchema, v.localStateName)}
|
|
18
|
+
} from './schema/types.js';
|
|
19
|
+
|
|
20
|
+
${buildEmptyLocalStateType(v.hasLocalSchema, v.localStateName)}
|
|
21
|
+
|
|
22
|
+
type ${v.phStateName} = PHBaseState & {
|
|
23
|
+
global: ${v.globalStateName};
|
|
24
|
+
local: ${v.localStateName};
|
|
25
|
+
};
|
|
26
|
+
type ${v.phDocumentTypeName} = PHDocument<${v.phStateName}>;
|
|
27
|
+
|
|
28
|
+
export * from './schema/types.js';
|
|
29
|
+
|
|
30
|
+
export type {
|
|
31
|
+
${v.globalStateName},
|
|
32
|
+
${v.localStateName},
|
|
33
|
+
${v.phStateName},
|
|
34
|
+
${v.actionTypeName},
|
|
35
|
+
${v.phDocumentTypeName},
|
|
36
|
+
};
|
|
37
|
+
`.raw;
|
|
38
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/templates/document-model/gen/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,SAAS,wBAAwB,CAC/B,cAAuB,EACvB,cAAsB;IAEtB,IAAI,cAAc;QAAE,OAAO,EAAE,CAAC;IAE9B,OAAO,QAAQ,cAAc,gCAAgC,CAAC;AAChE,CAAC;AAED,SAAS,yBAAyB,CAChC,cAAuB,EACvB,cAAsB;IAEtB,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAC/B,OAAO,cAAc,CAAC;AACxB,CAAC;AACD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAA8B,EAAE,EAAE,CAC9E,EAAE,CAAA;;gBAEY,CAAC,CAAC,cAAc;;IAE5B,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,eAAe;IACnC,yBAAyB,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC;;;EAG/D,wBAAwB,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC;;OAEvD,CAAC,CAAC,WAAW;YACR,CAAC,CAAC,eAAe;WAClB,CAAC,CAAC,cAAc;;OAEpB,CAAC,CAAC,kBAAkB,iBAAiB,CAAC,CAAC,WAAW;;;;;IAKrD,CAAC,CAAC,eAAe;IACjB,CAAC,CAAC,cAAc;IAChB,CAAC,CAAC,WAAW;IACb,CAAC,CAAC,cAAc;IAChB,CAAC,CAAC,kBAAkB;;CAEvB,CAAC,GAAG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/templates/document-model/gen/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAGxF,eAAO,MAAM,6BAA6B,GAAI,GAAG,2BAA2B,WA2EvE,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ts } from "@tmpl/core";
|
|
2
|
+
export const documentModelGenUtilsTemplate = (v) => ts `
|
|
3
|
+
import type {
|
|
4
|
+
DocumentModelUtils,
|
|
5
|
+
} from "document-model";
|
|
6
|
+
import {
|
|
7
|
+
baseCreateDocument,
|
|
8
|
+
baseSaveToFileHandle,
|
|
9
|
+
baseLoadFromInput,
|
|
10
|
+
defaultBaseState,
|
|
11
|
+
generateId,
|
|
12
|
+
} from 'document-model/core';
|
|
13
|
+
import type {
|
|
14
|
+
${v.globalStateName},
|
|
15
|
+
${v.localStateName}
|
|
16
|
+
} from './types.js';
|
|
17
|
+
import type { ${v.phStateName} } from './types.js';
|
|
18
|
+
import { reducer } from './reducer.js';
|
|
19
|
+
import { ${v.documentTypeVariableName} } from "./document-type.js";
|
|
20
|
+
import {
|
|
21
|
+
${v.isPhDocumentOfTypeFunctionName},
|
|
22
|
+
${v.assertIsPhDocumentOfTypeFunctionName},
|
|
23
|
+
${v.isPhStateOfTypeFunctionName},
|
|
24
|
+
${v.assertIsPhStateOfTypeFunctionName},
|
|
25
|
+
} from "./document-schema.js";
|
|
26
|
+
|
|
27
|
+
export const initialGlobalState: ${v.globalStateName} = ${v.initialGlobalState};
|
|
28
|
+
export const initialLocalState: ${v.localStateName} = ${v.initialLocalState};
|
|
29
|
+
|
|
30
|
+
export const utils: DocumentModelUtils<${v.phStateName}> = {
|
|
31
|
+
fileExtension: "${v.fileExtension}",
|
|
32
|
+
createState(state) {
|
|
33
|
+
return { ...defaultBaseState(), global: { ...initialGlobalState, ...state?.global }, local: { ...initialLocalState, ...state?.local } };
|
|
34
|
+
},
|
|
35
|
+
createDocument(state) {
|
|
36
|
+
const document = baseCreateDocument(
|
|
37
|
+
utils.createState,
|
|
38
|
+
state
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
document.header.documentType = ${v.documentTypeVariableName};
|
|
42
|
+
|
|
43
|
+
// for backwards compatibility, but this is NOT a valid signed document id
|
|
44
|
+
document.header.id = generateId();
|
|
45
|
+
|
|
46
|
+
return document;
|
|
47
|
+
},
|
|
48
|
+
saveToFileHandle(document, input) {
|
|
49
|
+
return baseSaveToFileHandle(document, input);
|
|
50
|
+
},
|
|
51
|
+
loadFromInput(input) {
|
|
52
|
+
return baseLoadFromInput(input, reducer);
|
|
53
|
+
},
|
|
54
|
+
isStateOfType(state) {
|
|
55
|
+
return ${v.isPhStateOfTypeFunctionName}(state);
|
|
56
|
+
},
|
|
57
|
+
assertIsStateOfType(state) {
|
|
58
|
+
return ${v.assertIsPhStateOfTypeFunctionName}(state);
|
|
59
|
+
},
|
|
60
|
+
isDocumentOfType(document) {
|
|
61
|
+
return ${v.isPhDocumentOfTypeFunctionName}(document);
|
|
62
|
+
},
|
|
63
|
+
assertIsDocumentOfType(document) {
|
|
64
|
+
return ${v.assertIsPhDocumentOfTypeFunctionName}(document);
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
export const createDocument = utils.createDocument;
|
|
69
|
+
export const createState = utils.createState;
|
|
70
|
+
export const saveToFileHandle = utils.saveToFileHandle;
|
|
71
|
+
export const loadFromInput = utils.loadFromInput;
|
|
72
|
+
export const isStateOfType = utils.isStateOfType;
|
|
73
|
+
export const assertIsStateOfType = utils.assertIsStateOfType;
|
|
74
|
+
export const isDocumentOfType = utils.isDocumentOfType;
|
|
75
|
+
export const assertIsDocumentOfType = utils.assertIsDocumentOfType;
|
|
76
|
+
`.raw;
|
|
77
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/templates/document-model/gen/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAA8B,EAAE,EAAE,CAC9E,EAAE,CAAA;;;;;;;;;;;;IAYA,CAAC,CAAC,eAAe;IACjB,CAAC,CAAC,cAAc;;gBAEJ,CAAC,CAAC,WAAW;;WAElB,CAAC,CAAC,wBAAwB;;IAEjC,CAAC,CAAC,8BAA8B;IAChC,CAAC,CAAC,oCAAoC;IACtC,CAAC,CAAC,2BAA2B;IAC7B,CAAC,CAAC,iCAAiC;;;mCAGJ,CAAC,CAAC,eAAe,MAAM,CAAC,CAAC,kBAAkB;kCAC5C,CAAC,CAAC,cAAc,MAAM,CAAC,CAAC,iBAAiB;;yCAElC,CAAC,CAAC,WAAW;sBAChC,CAAC,CAAC,aAAa;;;;;;;;;;yCAUI,CAAC,CAAC,wBAAwB;;;;;;;;;;;;;;iBAclD,CAAC,CAAC,2BAA2B;;;iBAG7B,CAAC,CAAC,iCAAiC;;;iBAGnC,CAAC,CAAC,8BAA8B;;;iBAGhC,CAAC,CAAC,oCAAoC;;;;;;;;;;;;CAYtD,CAAC,GAAG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/templates/document-model/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAGxF,eAAO,MAAM,8BAA8B,GACzC,GAAG,2BAA2B,WAmD3B,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ts } from "@tmpl/core";
|
|
2
|
+
export const documentModelHooksFileTemplate = (v) => ts `
|
|
3
|
+
|
|
4
|
+
import type { DocumentDispatch } from "@powerhousedao/reactor-browser";
|
|
5
|
+
import {
|
|
6
|
+
useDocumentById,
|
|
7
|
+
useDocumentsInSelectedDrive,
|
|
8
|
+
useDocumentsInSelectedFolder,
|
|
9
|
+
useSelectedDocument,
|
|
10
|
+
} from "@powerhousedao/reactor-browser";
|
|
11
|
+
import type {
|
|
12
|
+
${v.actionTypeName},
|
|
13
|
+
${v.phDocumentTypeName},
|
|
14
|
+
} from "${v.versionedDocumentModelPackageImportPath}";
|
|
15
|
+
import {
|
|
16
|
+
${v.assertIsPhDocumentOfTypeFunctionName},
|
|
17
|
+
${v.isPhDocumentOfTypeFunctionName}
|
|
18
|
+
} from "./gen/document-schema.js";
|
|
19
|
+
|
|
20
|
+
/** Hook to get a ${v.pascalCaseDocumentType} document by its id */
|
|
21
|
+
export function ${v.useByIdHookName}(
|
|
22
|
+
documentId: string | null | undefined,
|
|
23
|
+
):
|
|
24
|
+
| [${v.phDocumentTypeName}, DocumentDispatch<${v.actionTypeName}>]
|
|
25
|
+
| [undefined, undefined] {
|
|
26
|
+
const [document, dispatch] = useDocumentById(documentId);
|
|
27
|
+
if (!${v.isPhDocumentOfTypeFunctionName}(document)) return [undefined, undefined];
|
|
28
|
+
return [document, dispatch];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/** Hook to get the selected ${v.pascalCaseDocumentType} document */
|
|
32
|
+
export function ${v.useSelectedHookName}():
|
|
33
|
+
| [${v.phDocumentTypeName}, DocumentDispatch<${v.actionTypeName}>] {
|
|
34
|
+
const [document, dispatch] = useSelectedDocument();
|
|
35
|
+
|
|
36
|
+
${v.assertIsPhDocumentOfTypeFunctionName}(document);
|
|
37
|
+
return [document, dispatch] as const;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** Hook to get all ${v.pascalCaseDocumentType} documents in the selected drive */
|
|
41
|
+
export function ${v.useInSelectedDriveHookName}() {
|
|
42
|
+
const documentsInSelectedDrive = useDocumentsInSelectedDrive();
|
|
43
|
+
return documentsInSelectedDrive?.filter(${v.isPhDocumentOfTypeFunctionName});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** Hook to get all ${v.pascalCaseDocumentType} documents in the selected folder */
|
|
47
|
+
export function ${v.useInSelectedFolderHookName}() {
|
|
48
|
+
const documentsInSelectedFolder = useDocumentsInSelectedFolder();
|
|
49
|
+
return documentsInSelectedFolder?.filter(${v.isPhDocumentOfTypeFunctionName});
|
|
50
|
+
}
|
|
51
|
+
`.raw;
|
|
52
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/templates/document-model/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,CAA8B,EAC9B,EAAE,CACF,EAAE,CAAA;;;;;;;;;;IAUA,CAAC,CAAC,cAAc;IAChB,CAAC,CAAC,kBAAkB;UACd,CAAC,CAAC,uCAAuC;;IAE/C,CAAC,CAAC,oCAAoC;IACtC,CAAC,CAAC,8BAA8B;;;oBAGhB,CAAC,CAAC,sBAAsB;kBAC1B,CAAC,CAAC,eAAe;;;OAG5B,CAAC,CAAC,kBAAkB,sBAAsB,CAAC,CAAC,cAAc;;;SAGxD,CAAC,CAAC,8BAA8B;;;;+BAIV,CAAC,CAAC,sBAAsB;kBACrC,CAAC,CAAC,mBAAmB;OAChC,CAAC,CAAC,kBAAkB,sBAAsB,CAAC,CAAC,cAAc;;;IAG7D,CAAC,CAAC,oCAAoC;;;;sBAIpB,CAAC,CAAC,sBAAsB;kBAC5B,CAAC,CAAC,0BAA0B;;4CAEF,CAAC,CAAC,8BAA8B;;;sBAGtD,CAAC,CAAC,sBAAsB;kBAC5B,CAAC,CAAC,2BAA2B;;6CAEF,CAAC,CAAC,8BAA8B;;CAE5E,CAAC,GAAG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/templates/document-model/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B,QAMlC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ts } from "@tmpl/core";
|
|
2
|
+
export const documentModelIndexTemplate = ts `
|
|
3
|
+
export * from "./gen/index.js";
|
|
4
|
+
export * from "./src/index.js";
|
|
5
|
+
export * from "./hooks.js";
|
|
6
|
+
export { actions } from "./actions.js";
|
|
7
|
+
export { utils } from "./utils.js";
|
|
8
|
+
`.raw;
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/templates/document-model/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAA;;;;;;CAM3C,CAAC,GAAG,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type DocumentModelModuleFileTemplateArgs = {
|
|
2
|
+
phStateName: string;
|
|
3
|
+
versionedDocumentModelPackageImportPath: string;
|
|
4
|
+
pascalCaseDocumentType: string;
|
|
5
|
+
version: number;
|
|
6
|
+
};
|
|
7
|
+
export declare function documentModelModuleFileTemplate({ phStateName, versionedDocumentModelPackageImportPath, pascalCaseDocumentType, version, }: DocumentModelModuleFileTemplateArgs): string;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=module.d.ts.map
|