polen 0.10.0-next.13 → 0.10.0-next.15
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 +13 -89
- package/build/api/api.d.ts +4 -4
- package/build/api/api.js +4 -4
- package/build/api/builder/builder.js +1 -9
- package/build/api/builder/builder.js.map +1 -1
- package/build/api/builder/index.d.ts +1 -1
- package/build/api/builder/index.js +1 -1
- package/build/api/config/config.d.ts +4 -4
- package/build/api/config/config.js +4 -4
- package/build/api/config/configurator.d.ts +89 -9
- package/build/api/config/configurator.d.ts.map +1 -1
- package/build/api/config/configurator.js +5 -5
- package/build/api/config/configurator.js.map +1 -1
- package/build/api/config/define.d.ts +1 -1
- package/build/api/config/index.d.ts +1 -1
- package/build/api/config/index.js +1 -1
- package/build/api/config/load.d.ts +1 -1
- package/build/api/config/load.d.ts.map +1 -1
- package/build/api/config/load.js +1 -12
- package/build/api/config/load.js.map +1 -1
- package/build/api/config/merge.d.ts +1 -1
- package/build/api/config/merge.d.ts.map +1 -1
- package/build/api/config/merge.js +1 -3
- package/build/api/config/merge.js.map +1 -1
- package/build/api/config-resolver/config-resolver.d.ts +2 -2
- package/build/api/config-resolver/config-resolver.js +2 -2
- package/build/api/config-resolver/index.d.ts +1 -1
- package/build/api/config-resolver/index.js +1 -1
- package/build/api/config-resolver/resolve.d.ts +3 -3
- package/build/api/config-resolver/resolve.js +4 -4
- package/build/api/config-resolver/vite.d.ts +1 -1
- package/build/api/content/$$.d.ts +6 -6
- package/build/api/content/$$.js +6 -6
- package/build/api/content/$.d.ts +1 -1
- package/build/api/content/$.js +1 -1
- package/build/api/content/navbar.d.ts +1 -1
- package/build/api/content/navbar.js +2 -2
- package/build/api/content/page.d.ts +1 -1
- package/build/api/content/scan.d.ts +1 -1
- package/build/api/content/scan.js +7 -7
- package/build/api/content/sidebar.d.ts +5 -5
- package/build/api/content/sidebar.d.ts.map +1 -1
- package/build/api/content/sidebar.js +14 -14
- package/build/api/content/sidebar.js.map +1 -1
- package/build/api/index.d.ts +1 -1
- package/build/api/index.js +1 -1
- package/build/api/schema/data-sources/data-sources.d.ts +3 -3
- package/build/api/schema/data-sources/data-sources.js +3 -3
- package/build/api/schema/data-sources/index.d.ts +1 -1
- package/build/api/schema/data-sources/index.js +1 -1
- package/build/api/schema/data-sources/memory/memory.d.ts +36 -1
- package/build/api/schema/data-sources/memory/memory.d.ts.map +1 -1
- package/build/api/schema/data-sources/memory/memory.js.map +1 -1
- package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js +0 -1
- package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js.map +1 -1
- package/build/api/schema/data-sources/schema-directory/file-name-expression/index.d.ts +1 -1
- package/build/api/schema/data-sources/schema-directory/file-name-expression/index.js +1 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts +30 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts.map +1 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.js +1 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
- package/build/api/schema/data-sources/schema-file/schema-file.d.ts +20 -1
- package/build/api/schema/data-sources/schema-file/schema-file.d.ts.map +1 -1
- package/build/api/schema/data-sources/schema-file/schema-file.js.map +1 -1
- package/build/api/schema/index.d.ts +1 -1
- package/build/api/schema/index.js +1 -1
- package/build/api/schema/read.d.ts +43 -2
- package/build/api/schema/read.d.ts.map +1 -1
- package/build/api/schema/read.js +1 -1
- package/build/api/schema/read.js.map +1 -1
- package/build/api/schema/schema.d.ts +2 -2
- package/build/api/schema/schema.js +2 -2
- package/build/api/schema-augmentation/augmentations/description.d.ts +1 -1
- package/build/api/schema-augmentation/augmentations/description.js +1 -1
- package/build/api/schema-augmentation/index.d.ts +1 -1
- package/build/api/schema-augmentation/index.js +1 -1
- package/build/api/schema-augmentation/schema-augmentation.d.ts +1 -1
- package/build/api/schema-augmentation/schema-augmentation.d.ts.map +1 -1
- package/build/api/schema-augmentation/schema-augmentation.js +1 -2
- package/build/api/schema-augmentation/schema-augmentation.js.map +1 -1
- package/build/api/server/report-error.js +7 -5
- package/build/api/server/report-error.js.map +1 -1
- package/build/api/singletons/markdown/index.d.ts +1 -1
- package/build/api/singletons/markdown/index.js +1 -1
- package/build/api/singletons/markdown/markdown.d.ts.map +1 -1
- package/build/api/singletons/markdown/markdown.js +4 -22
- package/build/api/singletons/markdown/markdown.js.map +1 -1
- package/build/api/static/index.d.ts +1 -1
- package/build/api/static/index.js +1 -1
- package/build/api/static/manifest.js +3 -3
- package/build/api/static/rebase.d.ts +2 -2
- package/build/api/static/rebase.js +8 -8
- package/build/api/static/rebase.js.map +1 -1
- package/build/api/static/static.d.ts +2 -2
- package/build/api/static/static.js +2 -2
- package/build/api/utils/asset-url/index.d.ts +1 -1
- package/build/api/utils/asset-url/index.js +1 -1
- package/build/api/vite/logger.js +5 -5
- package/build/api/vite/plugins/{branding/index.d.ts → branding.d.ts} +1 -1
- package/build/api/vite/plugins/branding.d.ts.map +1 -0
- package/build/api/vite/plugins/{branding/index.js → branding.js} +9 -9
- package/build/api/vite/plugins/branding.js.map +1 -0
- package/build/api/vite/plugins/build.d.ts.map +1 -1
- package/build/api/vite/plugins/build.js +22 -24
- package/build/api/vite/plugins/build.js.map +1 -1
- package/build/api/vite/plugins/core.d.ts +2 -0
- package/build/api/vite/plugins/core.d.ts.map +1 -1
- package/build/api/vite/plugins/core.js +39 -42
- package/build/api/vite/plugins/core.js.map +1 -1
- package/build/api/vite/plugins/main.d.ts.map +1 -1
- package/build/api/vite/plugins/main.js +25 -23
- package/build/api/vite/plugins/main.js.map +1 -1
- package/build/api/vite/plugins/pages.d.ts +3 -5
- package/build/api/vite/plugins/pages.d.ts.map +1 -1
- package/build/api/vite/plugins/pages.js +18 -46
- package/build/api/vite/plugins/pages.js.map +1 -1
- package/build/api/vite/plugins/serve.d.ts.map +1 -1
- package/build/api/vite/plugins/serve.js +59 -10
- package/build/api/vite/plugins/serve.js.map +1 -1
- package/build/cli/commands/build.js +0 -1
- package/build/cli/commands/build.js.map +1 -1
- package/build/cli/commands/config/$default.d.ts +2 -0
- package/build/cli/commands/config/$default.d.ts.map +1 -0
- package/build/cli/commands/config/$default.js +7 -0
- package/build/cli/commands/config/$default.js.map +1 -0
- package/build/cli/commands/config/create.d.ts +2 -0
- package/build/cli/commands/config/create.d.ts.map +1 -0
- package/build/cli/commands/config/create.js +21 -0
- package/build/cli/commands/config/create.js.map +1 -0
- package/build/cli/commands/config.d.ts +3 -0
- package/build/cli/commands/config.d.ts.map +1 -0
- package/build/cli/commands/config.js +5 -0
- package/build/cli/commands/config.js.map +1 -0
- package/build/cli/commands/create.js +2 -3
- package/build/cli/commands/create.js.map +1 -1
- package/build/cli/commands/dev.js +0 -1
- package/build/cli/commands/dev.js.map +1 -1
- package/build/cli/commands/open.js +0 -1
- package/build/cli/commands/open.js.map +1 -1
- package/build/cli/commands/static/rebase.js +0 -1
- package/build/cli/commands/static/rebase.js.map +1 -1
- package/build/cli/commands/static.js +1 -1
- package/build/dep/graphql-inspector/index.d.ts +1 -1
- package/build/dep/graphql-inspector/index.js +1 -1
- package/build/dep/hono/hono.d.ts +1 -1
- package/build/dep/hono/hono.js +1 -1
- package/build/dep/hono/index.d.ts +1 -1
- package/build/dep/hono/index.js +1 -1
- package/build/dep/superjson/index.d.ts +1 -1
- package/build/dep/superjson/index.js +1 -1
- package/build/dep/tiny-globby/index.d.ts +1 -1
- package/build/dep/tiny-globby/index.js +1 -1
- package/build/dep/vite/index.d.ts +1 -1
- package/build/dep/vite/index.js +1 -1
- package/build/exports/components.d.ts +3 -3
- package/build/exports/components.d.ts.map +1 -1
- package/build/exports/components.js +3 -3
- package/build/exports/components.js.map +1 -1
- package/build/exports/index.d.ts +1 -1
- package/build/exports/index.js +1 -1
- package/build/lib/apple-touch-icon/index.d.ts +1 -1
- package/build/lib/apple-touch-icon/index.js +1 -1
- package/build/lib/errors/ContextualAggregateError.d.ts +1 -1
- package/build/lib/errors/ContextualAggregateError.js +1 -1
- package/build/lib/errors/ContextualError.d.ts +1 -1
- package/build/lib/errors/ErrorInternal.d.ts +2 -2
- package/build/lib/errors/ErrorInternal.js +1 -1
- package/build/lib/errors/errors.d.ts +4 -4
- package/build/lib/errors/errors.js +4 -4
- package/build/lib/errors/index.d.ts +1 -1
- package/build/lib/errors/index.js +1 -1
- package/build/lib/errors/types.d.ts +1 -1
- package/build/lib/extensible-data/index.d.ts +1 -1
- package/build/lib/extensible-data/index.js +1 -1
- package/build/lib/favicon/index.d.ts +1 -1
- package/build/lib/favicon/index.js +1 -1
- package/build/lib/file-router/diagnostic-reporter.d.ts +1 -1
- package/build/lib/file-router/diagnostic-reporter.js +9 -9
- package/build/lib/file-router/diagnostic-reporter.js.map +1 -1
- package/build/lib/file-router/file-router.d.ts +3 -3
- package/build/lib/file-router/file-router.js +3 -3
- package/build/lib/file-router/index.d.ts +1 -1
- package/build/lib/file-router/index.js +1 -1
- package/build/lib/file-router/linter.d.ts +5 -5
- package/build/lib/file-router/linter.js +7 -7
- package/build/lib/file-router/scan.d.ts +2 -2
- package/build/lib/file-router/scan.js +3 -3
- package/build/lib/grafaid/_Nodes.d.ts +1 -1
- package/build/lib/grafaid/_Nodes.js +1 -1
- package/build/lib/grafaid/document/OperationTypeNode.d.ts +1 -1
- package/build/lib/grafaid/document/OperationTypeNode.js +1 -1
- package/build/lib/grafaid/document/kind.d.ts +1 -1
- package/build/lib/grafaid/document/kind.js +1 -1
- package/build/lib/grafaid/document.d.ts +4 -4
- package/build/lib/grafaid/document.js +6 -6
- package/build/lib/grafaid/grafaid.d.ts +4 -4
- package/build/lib/grafaid/grafaid.js +4 -4
- package/build/lib/grafaid/graphql.d.ts +2 -2
- package/build/lib/grafaid/graphql.js +2 -2
- package/build/lib/grafaid/http/__.d.ts +1 -1
- package/build/lib/grafaid/http/__.js +1 -1
- package/build/lib/grafaid/http/http.js +1 -1
- package/build/lib/grafaid/index.d.ts +1 -1
- package/build/lib/grafaid/index.js +1 -1
- package/build/lib/grafaid/schema/KindMap/_.d.ts +3 -3
- package/build/lib/grafaid/schema/KindMap/_.js +4 -4
- package/build/lib/grafaid/schema/KindMap/__.d.ts +2 -2
- package/build/lib/grafaid/schema/KindMap/__.js +1 -1
- package/build/lib/grafaid/schema/OperationType/__.d.ts +2 -2
- package/build/lib/grafaid/schema/OperationType/__.js +1 -1
- package/build/lib/grafaid/schema/RootDetails.d.ts +3 -3
- package/build/lib/grafaid/schema/RootDetails.js +2 -2
- package/build/lib/grafaid/schema/RootTypeMap.d.ts +2 -2
- package/build/lib/grafaid/schema/RootTypeMap.js +2 -2
- package/build/lib/grafaid/schema/nodes-like.d.ts +1 -1
- package/build/lib/grafaid/schema/nodes-like.js +1 -1
- package/build/lib/grafaid/schema/schema.d.ts +14 -14
- package/build/lib/grafaid/schema/schema.js +15 -15
- package/build/lib/grafaid/schema/type-kind-name.d.ts +1 -1
- package/build/lib/grafaid/schema/type-kind-name.js +1 -1
- package/build/lib/grafaid/schema/type.d.ts +1 -1
- package/build/lib/grafaid/schema/typeGuards.js +1 -1
- package/build/lib/grafaid-old/grafaid.d.ts +1 -1
- package/build/lib/grafaid-old/grafaid.js +1 -1
- package/build/lib/grafaid-old/index.d.ts +1 -1
- package/build/lib/grafaid-old/index.js +1 -1
- package/build/lib/graphql-change/index.d.ts +1 -1
- package/build/lib/graphql-change/index.js +1 -1
- package/build/lib/graphql-changeset/index.d.ts +1 -1
- package/build/lib/graphql-changeset/index.js +1 -1
- package/build/lib/graphql-document/$$.d.ts +4 -4
- package/build/lib/graphql-document/$$.js +4 -4
- package/build/lib/graphql-document/$.d.ts +1 -1
- package/build/lib/graphql-document/$.js +1 -1
- package/build/lib/graphql-document/analysis.d.ts +1 -1
- package/build/lib/graphql-document/analysis.js +46 -46
- package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +1 -1
- package/build/lib/graphql-document/components/GraphQLDocument.js +46 -27
- package/build/lib/graphql-document/components/GraphQLDocument.js.map +1 -1
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +3 -3
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +1 -1
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +14 -30
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +1 -1
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts +2 -2
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts.map +1 -1
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js +26 -24
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js.map +1 -1
- package/build/lib/graphql-document/components/IdentifierLink.d.ts +3 -3
- package/build/lib/graphql-document/components/IdentifierLink.js +22 -22
- package/build/lib/graphql-document/components/IdentifierLink.js.map +1 -1
- package/build/lib/graphql-document/components/graphql-document-styles.d.ts +1 -1
- package/build/lib/graphql-document/components/graphql-document-styles.d.ts.map +1 -1
- package/build/lib/graphql-document/components/graphql-document-styles.js +0 -23
- package/build/lib/graphql-document/components/graphql-document-styles.js.map +1 -1
- package/build/lib/graphql-document/components/index.d.ts +4 -5
- package/build/lib/graphql-document/components/index.d.ts.map +1 -1
- package/build/lib/graphql-document/components/index.js +4 -5
- package/build/lib/graphql-document/components/index.js.map +1 -1
- package/build/lib/graphql-document/example.d.ts +1 -1
- package/build/lib/graphql-document/example.js +36 -36
- package/build/lib/graphql-document/example.js.map +1 -1
- package/build/lib/graphql-document/graphql-document.d.ts +9 -9
- package/build/lib/graphql-document/graphql-document.d.ts.map +1 -1
- package/build/lib/graphql-document/graphql-document.js +9 -9
- package/build/lib/graphql-document/graphql-document.js.map +1 -1
- package/build/lib/graphql-document/positioning-simple.d.ts +1 -6
- package/build/lib/graphql-document/positioning-simple.d.ts.map +1 -1
- package/build/lib/graphql-document/positioning-simple.js +96 -108
- package/build/lib/graphql-document/positioning-simple.js.map +1 -1
- package/build/lib/graphql-document/schema-integration.d.ts +5 -5
- package/build/lib/graphql-document/schema-integration.d.ts.map +1 -1
- package/build/lib/graphql-document/schema-integration.js +22 -22
- package/build/lib/graphql-document/schema-integration.js.map +1 -1
- package/build/lib/graphql-document/types.d.ts +4 -4
- package/build/lib/graphql-schema-loader/index.d.ts +1 -1
- package/build/lib/graphql-schema-loader/index.js +1 -1
- package/build/lib/helpers.js +1 -1
- package/build/lib/hono-aid/index.d.ts +1 -1
- package/build/lib/hono-aid/index.js +1 -1
- package/build/lib/html-utils/html-transformer.d.ts +4 -0
- package/build/lib/html-utils/html-transformer.d.ts.map +1 -0
- package/build/lib/html-utils/html-transformer.js +3 -0
- package/build/lib/html-utils/html-transformer.js.map +1 -0
- package/build/lib/html-utils/inject-global-data.d.ts +41 -0
- package/build/lib/html-utils/inject-global-data.d.ts.map +1 -0
- package/build/lib/html-utils/inject-global-data.js +65 -0
- package/build/lib/html-utils/inject-global-data.js.map +1 -0
- package/build/lib/kit-temp.d.ts +169 -2
- package/build/lib/kit-temp.d.ts.map +1 -1
- package/build/lib/kit-temp.js +270 -6
- package/build/lib/kit-temp.js.map +1 -1
- package/build/lib/kit-temp.test-d.js +16 -16
- package/build/lib/kit-temp.test-d.js.map +1 -1
- package/build/lib/mask/$$.d.ts +2 -2
- package/build/lib/mask/$$.js +2 -2
- package/build/lib/mask/$.d.ts +1 -1
- package/build/lib/mask/$.js +1 -1
- package/build/lib/mask/apply.d.ts +9 -9
- package/build/lib/mask/apply.d.ts.map +1 -1
- package/build/lib/mask/apply.js +3 -3
- package/build/lib/mask/apply.js.map +1 -1
- package/build/lib/mask/mask.d.ts +7 -7
- package/build/lib/mask/mask.d.ts.map +1 -1
- package/build/lib/mask/mask.js +12 -12
- package/build/lib/mask/mask.test-d.js +14 -14
- package/build/lib/mask/mask.test-d.js.map +1 -1
- package/build/lib/mutation-type.js +3 -3
- package/build/lib/path-map/$$.d.ts +7 -0
- package/build/lib/path-map/$$.d.ts.map +1 -0
- package/build/lib/path-map/$$.js +7 -0
- package/build/lib/path-map/$$.js.map +1 -0
- package/build/lib/path-map/$.d.ts +7 -0
- package/build/lib/path-map/$.d.ts.map +1 -0
- package/build/lib/path-map/$.js +7 -0
- package/build/lib/path-map/$.js.map +1 -0
- package/build/lib/path-map/path-map.d.ts +110 -0
- package/build/lib/path-map/path-map.d.ts.map +1 -0
- package/build/lib/path-map/path-map.js +126 -0
- package/build/lib/path-map/path-map.js.map +1 -0
- package/build/lib/react-router-aid/index.d.ts +1 -1
- package/build/lib/react-router-aid/index.js +1 -1
- package/build/lib/react-router-aid/react-router-aid.d.ts +1 -1
- package/build/lib/react-router-aid/react-router-aid.js +1 -1
- package/build/lib/react-router-loader/react-router-loader.d.ts.map +1 -1
- package/build/lib/react-router-loader/react-router-loader.js +1 -4
- package/build/lib/react-router-loader/react-router-loader.js.map +1 -1
- package/build/lib/stack-processor/index.d.ts +1 -1
- package/build/lib/stack-processor/index.js +1 -1
- package/build/lib/stack-processor/stack-processor.d.ts.map +1 -1
- package/build/lib/stack-processor/stack-processor.js +0 -1
- package/build/lib/stack-processor/stack-processor.js.map +1 -1
- package/build/lib/superjson-codec/codecs/graphql-schema.d.ts +1 -1
- package/build/lib/superjson-codec/codecs/graphql-schema.js +1 -1
- package/build/lib/superjson-codec/exports.d.ts +2 -2
- package/build/lib/superjson-codec/exports.js +2 -2
- package/build/lib/superjson-codec/index.d.ts +1 -1
- package/build/lib/superjson-codec/index.js +1 -1
- package/build/lib/task/$$.d.ts +2 -2
- package/build/lib/task/$$.js +2 -2
- package/build/lib/task/$.d.ts +1 -1
- package/build/lib/task/$.js +1 -1
- package/build/lib/task/report.d.ts +1 -1
- package/build/lib/task/task.d.ts +1 -1
- package/build/lib/task/task.js +2 -2
- package/build/lib/theme/$.d.ts +2 -0
- package/build/lib/theme/$.d.ts.map +1 -0
- package/build/lib/theme/$.js +3 -0
- package/build/lib/theme/$.js.map +1 -0
- package/build/lib/theme/theme.d.ts +68 -0
- package/build/lib/theme/theme.d.ts.map +1 -0
- package/build/lib/theme/theme.js +123 -0
- package/build/lib/theme/theme.js.map +1 -0
- package/build/lib/vite-plugin-json/index.d.ts +1 -1
- package/build/lib/vite-plugin-json/index.js +1 -1
- package/build/lib/vite-plugin-json/vite-plugin-json.js +3 -4
- package/build/lib/vite-plugin-json/vite-plugin-json.js.map +1 -1
- package/build/lib/vite-plugin-mdx/index.d.ts +1 -1
- package/build/lib/vite-plugin-mdx/index.js +1 -1
- package/build/lib/vite-plugin-mdx/vite-plugin-mdx.d.ts +1 -1
- package/build/lib/vite-plugin-mdx/vite-plugin-mdx.d.ts.map +1 -1
- package/build/lib/vite-plugin-mdx/vite-plugin-mdx.js +2 -6
- package/build/lib/vite-plugin-mdx/vite-plugin-mdx.js.map +1 -1
- package/build/lib/vite-plugin-reactive-data/index.d.ts +1 -1
- package/build/lib/vite-plugin-reactive-data/index.js +1 -1
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts +2 -9
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts.map +1 -1
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js +48 -55
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js.map +1 -1
- package/build/lib/vite-plugins/index.d.ts +1 -1
- package/build/lib/vite-plugins/index.js +1 -1
- package/build/lib/vite-plugins/vite-plugins.d.ts +1 -1
- package/build/lib/vite-plugins/vite-plugins.js +1 -1
- package/build/lib/vite-virtual/identified-loader.d.ts +2 -2
- package/build/lib/vite-virtual/identified-loader.js +2 -2
- package/build/lib/vite-virtual/identifier.js +1 -1
- package/build/lib/vite-virtual/index.d.ts +1 -1
- package/build/lib/vite-virtual/index.js +1 -1
- package/build/lib/vite-virtual/vite-virtual.d.ts +3 -3
- package/build/lib/vite-virtual/vite-virtual.js +3 -3
- package/build/package-paths.d.ts +18 -6
- package/build/package-paths.d.ts.map +1 -1
- package/build/package-paths.js +19 -6
- package/build/package-paths.js.map +1 -1
- package/build/project-data.d.ts +3 -1
- package/build/project-data.d.ts.map +1 -1
- package/build/sandbox.js +9 -9
- package/build/template/components/ArgumentList.js +1 -1
- package/build/template/components/ArgumentList.js.map +1 -1
- package/build/template/components/ArgumentListAnnotation.js +2 -2
- package/build/template/components/ArgumentListAnnotation.js.map +1 -1
- package/build/template/components/Changelog.d.ts +1 -1
- package/build/template/components/Changelog.js +1 -1
- package/build/template/components/CodeBlock.d.ts +0 -8
- package/build/template/components/CodeBlock.d.ts.map +1 -1
- package/build/template/components/CodeBlock.js +3 -38
- package/build/template/components/CodeBlock.js.map +1 -1
- package/build/template/components/CodeBlockEnhancer.js +41 -41
- package/build/template/components/CodeBlockEnhancer.js.map +1 -1
- package/build/template/components/DeprecationReason.js +1 -1
- package/build/template/components/DeprecationReason.js.map +1 -1
- package/build/template/components/Description.js +1 -1
- package/build/template/components/Description.js.map +1 -1
- package/build/template/components/Field.js +4 -4
- package/build/template/components/Field.js.map +1 -1
- package/build/template/components/FieldList.js +1 -1
- package/build/template/components/FieldList.js.map +1 -1
- package/build/template/components/FieldListSection.js +1 -1
- package/build/template/components/FieldListSection.js.map +1 -1
- package/build/template/components/HamburgerMenu.js +11 -11
- package/build/template/components/HamburgerMenu.js.map +1 -1
- package/build/template/components/Link.d.ts +3 -3
- package/build/template/components/Link.d.ts.map +1 -1
- package/build/template/components/Link.js +29 -20
- package/build/template/components/Link.js.map +1 -1
- package/build/template/components/Logo.js +4 -4
- package/build/template/components/MDXComponents.d.ts +0 -1
- package/build/template/components/MDXComponents.d.ts.map +1 -1
- package/build/template/components/MDXComponents.js +1 -59
- package/build/template/components/MDXComponents.js.map +1 -1
- package/build/template/components/NamedType.js +2 -2
- package/build/template/components/NamedType.js.map +1 -1
- package/build/template/components/TestComponent.js +2 -2
- package/build/template/components/Texts/MinorHeading.js +4 -4
- package/build/template/components/Texts/index.d.ts +1 -1
- package/build/template/components/Texts/index.js +1 -1
- package/build/template/components/Texts/texts.d.ts +1 -1
- package/build/template/components/Texts/texts.d.ts.map +1 -1
- package/build/template/components/Texts/texts.js +1 -1
- package/build/template/components/Texts/texts.js.map +1 -1
- package/build/template/components/ThemeToggle.d.ts.map +1 -1
- package/build/template/components/ThemeToggle.js +25 -4
- package/build/template/components/ThemeToggle.js.map +1 -1
- package/build/template/components/TypeAnnotation.js +1 -1
- package/build/template/components/TypeAnnotation.js.map +1 -1
- package/build/template/components/TypeFieldsLinkList.js +1 -1
- package/build/template/components/TypeFieldsLinkList.js.map +1 -1
- package/build/template/components/TypeIndex.js +1 -1
- package/build/template/components/TypeIndex.js.map +1 -1
- package/build/template/components/content/$$.d.ts +1 -1
- package/build/template/components/content/$$.d.ts.map +1 -1
- package/build/template/components/content/$$.js +1 -1
- package/build/template/components/content/$$.js.map +1 -1
- package/build/template/components/content/GraphQLDocumentWithSchema.d.ts +2 -2
- package/build/template/components/content/GraphQLDocumentWithSchema.d.ts.map +1 -1
- package/build/template/components/content/GraphQLDocumentWithSchema.js +1 -4
- package/build/template/components/content/GraphQLDocumentWithSchema.js.map +1 -1
- package/build/template/components/content/GraphQLDocumentWrapper.d.ts +2 -2
- package/build/template/components/content/GraphQLDocumentWrapper.d.ts.map +1 -1
- package/build/template/components/content/GraphQLDocumentWrapper.js +13 -27
- package/build/template/components/content/GraphQLDocumentWrapper.js.map +1 -1
- package/build/template/components/graphql/graphql.d.ts +2 -2
- package/build/template/components/graphql/graphql.d.ts.map +1 -1
- package/build/template/components/graphql/graphql.js +2 -2
- package/build/template/components/graphql/graphql.js.map +1 -1
- package/build/template/components/graphql/index.d.ts +1 -1
- package/build/template/components/graphql/index.d.ts.map +1 -1
- package/build/template/components/graphql/index.js +1 -1
- package/build/template/components/graphql/index.js.map +1 -1
- package/build/template/components/graphql/type-kind-icon.d.ts.map +1 -1
- package/build/template/components/graphql/type-kind-icon.js +1 -2
- package/build/template/components/graphql/type-kind-icon.js.map +1 -1
- package/build/template/components/graphql/type-link.js +3 -3
- package/build/template/components/graphql/type-link.js.map +1 -1
- package/build/template/components/sidebar/Sidebar.js +1 -1
- package/build/template/components/sidebar/Sidebar.js.map +1 -1
- package/build/template/components/sidebar/SidebarItem.js +6 -6
- package/build/template/components/sidebar/SidebarItem.js.map +1 -1
- package/build/template/constants.d.ts +17 -0
- package/build/template/constants.d.ts.map +1 -0
- package/build/template/constants.js +11 -0
- package/build/template/constants.js.map +1 -0
- package/build/template/contexts/ThemeContext.d.ts +3 -1
- package/build/template/contexts/ThemeContext.d.ts.map +1 -1
- package/build/template/contexts/ThemeContext.js +50 -22
- package/build/template/contexts/ThemeContext.js.map +1 -1
- package/build/template/entry.client.d.ts.map +1 -1
- package/build/template/entry.client.js +6 -5
- package/build/template/entry.client.js.map +1 -1
- package/build/template/hooks/useClientOnly.d.ts +9 -0
- package/build/template/hooks/useClientOnly.d.ts.map +1 -0
- package/build/template/hooks/useClientOnly.js +16 -0
- package/build/template/hooks/useClientOnly.js.map +1 -0
- package/build/template/routes/changelog.d.ts +1 -1
- package/build/template/routes/changelog.js +1 -1
- package/build/template/routes/changelog.js.map +1 -1
- package/build/template/routes/reference.$type.$field.js +2 -2
- package/build/template/routes/reference.$type.$field.js.map +1 -1
- package/build/template/routes/reference.$type.js +2 -2
- package/build/template/routes/reference.$type.js.map +1 -1
- package/build/template/routes/reference.js +2 -2
- package/build/template/routes/reference.js.map +1 -1
- package/build/template/routes/root.d.ts.map +1 -1
- package/build/template/routes/root.js +29 -174
- package/build/template/routes/root.js.map +1 -1
- package/build/template/routes.js +1 -1
- package/build/template/routes.js.map +1 -1
- package/build/template/server/app.d.ts +8 -1
- package/build/template/server/app.d.ts.map +1 -1
- package/build/template/server/app.js +30 -21
- package/build/template/server/app.js.map +1 -1
- package/build/template/server/create-page-html-response.d.ts +8 -0
- package/build/template/server/create-page-html-response.d.ts.map +1 -0
- package/build/template/server/{render-page.js → create-page-html-response.js} +42 -18
- package/build/template/server/create-page-html-response.js.map +1 -0
- package/build/template/server/main.js +4 -3
- package/build/template/server/main.js.map +1 -1
- package/build/template/server/middleware/page.d.ts +4 -0
- package/build/template/server/middleware/page.d.ts.map +1 -0
- package/build/template/server/middleware/page.js +15 -0
- package/build/template/server/middleware/page.js.map +1 -0
- package/build/template/server/middleware/unsupported-assets.d.ts +10 -0
- package/build/template/server/middleware/unsupported-assets.d.ts.map +1 -0
- package/build/template/server/middleware/unsupported-assets.js +21 -0
- package/build/template/server/middleware/unsupported-assets.js.map +1 -0
- package/build/template/server/ssg/generate.d.ts.map +1 -1
- package/build/template/server/ssg/generate.js +45 -36
- package/build/template/server/ssg/generate.js.map +1 -1
- package/build/template/server/ssg/get-route-paths.js +1 -1
- package/build/template/server/ssg/get-route-paths.js.map +1 -1
- package/build/template/server/transformers/inject-polen-data.d.ts +6 -0
- package/build/template/server/transformers/inject-polen-data.d.ts.map +1 -0
- package/build/template/server/transformers/inject-polen-data.js +28 -0
- package/build/template/server/transformers/inject-polen-data.js.map +1 -0
- package/build/template/server/transformers/inject-theme-init.d.ts +6 -0
- package/build/template/server/transformers/inject-theme-init.d.ts.map +1 -0
- package/build/template/server/transformers/inject-theme-init.js +29 -0
- package/build/template/server/transformers/inject-theme-init.js.map +1 -0
- package/build/template/server/view.js +1 -1
- package/build/template/server/view.js.map +1 -1
- package/build/template/styles/code-block.css +218 -0
- package/package.json +32 -77
- package/src/api/api.ts +4 -4
- package/src/api/builder/index.ts +1 -1
- package/src/api/config/config.ts +4 -4
- package/src/api/config/configurator.ts +94 -15
- package/src/api/config/define.ts +1 -1
- package/src/api/config/index.ts +1 -1
- package/src/api/config/load.ts +1 -4
- package/src/api/config/merge.ts +1 -2
- package/src/api/config-resolver/config-resolver.ts +2 -2
- package/src/api/config-resolver/index.ts +1 -1
- package/src/api/config-resolver/resolve.ts +4 -4
- package/src/api/config-resolver/vite.ts +1 -1
- package/src/api/content/$$.ts +6 -6
- package/src/api/content/$.test.ts +1 -1
- package/src/api/content/$.ts +1 -1
- package/src/api/content/navbar.test.ts +2 -2
- package/src/api/content/navbar.ts +3 -3
- package/src/api/content/page.ts +1 -1
- package/src/api/content/scan.ts +8 -8
- package/src/api/content/sidebar.test.ts +3 -3
- package/src/api/content/sidebar.ts +20 -20
- package/src/api/index.ts +1 -1
- package/src/api/schema/data-sources/data-sources.ts +3 -3
- package/src/api/schema/data-sources/index.ts +1 -1
- package/src/api/schema/data-sources/memory/memory.ts +36 -1
- package/src/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.ts +0 -1
- package/src/api/schema/data-sources/schema-directory/file-name-expression/index.ts +1 -1
- package/src/api/schema/data-sources/schema-directory/schema-directory.ts +31 -2
- package/src/api/schema/data-sources/schema-file/schema-file.ts +20 -1
- package/src/api/schema/index.ts +1 -1
- package/src/api/schema/read.ts +43 -2
- package/src/api/schema/schema.ts +2 -2
- package/src/api/schema-augmentation/augmentations/description.ts +2 -2
- package/src/api/schema-augmentation/index.ts +1 -1
- package/src/api/schema-augmentation/schema-augmentation.ts +1 -2
- package/src/api/server/report-error.ts +7 -5
- package/src/api/singletons/markdown/index.ts +1 -1
- package/src/api/singletons/markdown/markdown.test.ts +27 -30
- package/src/api/singletons/markdown/markdown.ts +4 -23
- package/src/api/static/index.ts +1 -1
- package/src/api/static/manifest.test.ts +1 -1
- package/src/api/static/manifest.ts +3 -3
- package/src/api/static/rebase.test.ts +2 -2
- package/src/api/static/rebase.ts +11 -11
- package/src/api/static/static.ts +2 -2
- package/src/api/utils/asset-url/asset-url.test.ts +1 -1
- package/src/api/utils/asset-url/index.ts +1 -1
- package/src/api/vite/logger.ts +5 -5
- package/src/api/vite/plugins/{branding/index.ts → branding.ts} +9 -9
- package/src/api/vite/plugins/build.ts +103 -97
- package/src/api/vite/plugins/core.ts +45 -43
- package/src/api/vite/plugins/main.ts +25 -22
- package/src/api/vite/plugins/pages.ts +20 -53
- package/src/api/vite/plugins/serve.ts +74 -11
- package/src/cli/commands/build.ts +0 -1
- package/src/cli/commands/config/$default.ts +7 -0
- package/src/cli/commands/config/create.ts +25 -0
- package/src/cli/commands/config.ts +6 -0
- package/src/cli/commands/create.ts +2 -3
- package/src/cli/commands/dev.ts +0 -1
- package/src/cli/commands/open.ts +0 -1
- package/src/cli/commands/static/rebase.ts +0 -1
- package/src/cli/commands/static.ts +1 -1
- package/src/dep/graphql-inspector/index.ts +1 -1
- package/src/dep/hono/hono.ts +1 -1
- package/src/dep/hono/index.ts +1 -1
- package/src/dep/superjson/index.ts +1 -1
- package/src/dep/tiny-globby/index.ts +1 -1
- package/src/dep/vite/index.ts +1 -1
- package/src/exports/components.ts +3 -3
- package/src/exports/index.ts +1 -1
- package/src/lib/apple-touch-icon/index.ts +1 -1
- package/src/lib/errors/ContextualAggregateError.ts +1 -1
- package/src/lib/errors/ContextualError.ts +1 -1
- package/src/lib/errors/ErrorInternal.ts +2 -2
- package/src/lib/errors/errors.ts +4 -4
- package/src/lib/errors/index.ts +1 -1
- package/src/lib/errors/types.ts +1 -1
- package/src/lib/extensible-data/index.ts +1 -1
- package/src/lib/favicon/index.ts +1 -1
- package/src/lib/file-router/diagnostic-reporter.ts +10 -10
- package/src/lib/file-router/file-router.ts +3 -3
- package/src/lib/file-router/index.test.ts +2 -2
- package/src/lib/file-router/index.ts +1 -1
- package/src/lib/file-router/linter.test.ts +2 -2
- package/src/lib/file-router/linter.ts +11 -11
- package/src/lib/file-router/scan.ts +4 -4
- package/src/lib/grafaid/_Nodes.ts +1 -1
- package/src/lib/grafaid/document/OperationTypeNode.ts +1 -1
- package/src/lib/grafaid/document/kind.ts +1 -1
- package/src/lib/grafaid/document.ts +6 -6
- package/src/lib/grafaid/grafaid.ts +4 -4
- package/src/lib/grafaid/graphql.ts +3 -3
- package/src/lib/grafaid/http/__.ts +1 -1
- package/src/lib/grafaid/http/http.ts +1 -1
- package/src/lib/grafaid/index.ts +1 -1
- package/src/lib/grafaid/schema/KindMap/_.ts +6 -6
- package/src/lib/grafaid/schema/KindMap/__.ts +2 -2
- package/src/lib/grafaid/schema/OperationType/__.ts +2 -2
- package/src/lib/grafaid/schema/RootDetails.ts +3 -3
- package/src/lib/grafaid/schema/RootTypeMap.ts +2 -2
- package/src/lib/grafaid/schema/nodes-like.ts +2 -2
- package/src/lib/grafaid/schema/schema.ts +15 -15
- package/src/lib/grafaid/schema/type-kind-name.ts +1 -1
- package/src/lib/grafaid/schema/type.ts +1 -1
- package/src/lib/grafaid/schema/typeGuards.ts +1 -1
- package/src/lib/grafaid-old/grafaid.ts +1 -1
- package/src/lib/grafaid-old/index.ts +1 -1
- package/src/lib/graphql-change/index.ts +1 -1
- package/src/lib/graphql-changeset/index.ts +1 -1
- package/src/lib/graphql-document/$$.ts +4 -4
- package/src/lib/graphql-document/$.test.ts +3 -3
- package/src/lib/graphql-document/$.ts +1 -1
- package/src/lib/graphql-document/analysis.ts +49 -49
- package/src/lib/graphql-document/components/GraphQLDocument.tsx +56 -45
- package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +4 -4
- package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +18 -37
- package/src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx +31 -29
- package/src/lib/graphql-document/components/IdentifierLink.tsx +25 -25
- package/src/lib/graphql-document/components/graphql-document-styles.ts +0 -23
- package/src/lib/graphql-document/components/index.ts +4 -5
- package/src/lib/graphql-document/example.ts +35 -35
- package/src/lib/graphql-document/graphql-document.ts +9 -9
- package/src/lib/graphql-document/hooks/use-tooltip-state.test.ts +1 -1
- package/src/lib/graphql-document/positioning-simple.test.ts +22 -26
- package/src/lib/graphql-document/positioning-simple.ts +116 -127
- package/src/lib/graphql-document/schema-integration.test.ts +1 -1
- package/src/lib/graphql-document/schema-integration.ts +27 -36
- package/src/lib/graphql-document/types.ts +4 -4
- package/src/lib/graphql-schema-loader/index.ts +1 -1
- package/src/lib/helpers.ts +1 -1
- package/src/lib/hono-aid/index.ts +1 -1
- package/src/lib/html-utils/html-transformer.ts +6 -0
- package/src/lib/html-utils/inject-global-data.test.ts +89 -0
- package/src/lib/html-utils/inject-global-data.ts +80 -0
- package/src/lib/kit-temp.test-d.ts +27 -22
- package/src/lib/kit-temp.test.ts +15 -3
- package/src/lib/kit-temp.ts +383 -11
- package/src/lib/mask/$$.ts +2 -2
- package/src/lib/mask/$.test.ts +1 -1
- package/src/lib/mask/$.ts +1 -1
- package/src/lib/mask/apply.ts +15 -15
- package/src/lib/mask/mask.test-d.ts +30 -18
- package/src/lib/mask/mask.ts +18 -18
- package/src/lib/mutation-type.ts +3 -3
- package/src/lib/path-map/$$.ts +7 -0
- package/src/lib/path-map/$.test.ts +370 -0
- package/src/lib/path-map/$.ts +7 -0
- package/src/lib/path-map/path-map.ts +244 -0
- package/src/lib/react-router-aid/index.ts +1 -1
- package/src/lib/react-router-aid/react-router-aid.ts +1 -1
- package/src/lib/react-router-loader/react-router-loader.ts +1 -4
- package/src/lib/stack-processor/index.ts +1 -1
- package/src/lib/stack-processor/stack-processor.ts +0 -1
- package/src/lib/superjson-codec/codecs/graphql-schema.ts +1 -1
- package/src/lib/superjson-codec/exports.ts +2 -2
- package/src/lib/superjson-codec/index.ts +1 -1
- package/src/lib/task/$$.ts +2 -2
- package/src/lib/task/$.test.ts +2 -2
- package/src/lib/task/$.ts +1 -1
- package/src/lib/task/report.ts +1 -1
- package/src/lib/task/task.ts +3 -3
- package/src/lib/theme/$.ts +2 -0
- package/src/lib/theme/theme.test.ts +190 -0
- package/src/lib/theme/theme.ts +210 -0
- package/src/lib/vite-plugin-json/index.ts +1 -1
- package/src/lib/vite-plugin-json/vite-plugin-json.ts +4 -4
- package/src/lib/vite-plugin-mdx/index.ts +1 -1
- package/src/lib/vite-plugin-mdx/vite-plugin-mdx.ts +1 -5
- package/src/lib/vite-plugin-reactive-data/index.ts +1 -1
- package/src/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.ts +53 -60
- package/src/lib/vite-plugins/index.ts +1 -1
- package/src/lib/vite-plugins/vite-plugins.ts +1 -1
- package/src/lib/vite-virtual/identified-loader.ts +4 -4
- package/src/lib/vite-virtual/identifier.ts +1 -1
- package/src/lib/vite-virtual/index.ts +1 -1
- package/src/lib/vite-virtual/vite-virtual.ts +3 -3
- package/src/package-paths.ts +38 -12
- package/src/project-data.ts +3 -1
- package/src/sandbox.ts +9 -9
- package/src/template/components/ArgumentList.tsx +1 -1
- package/src/template/components/ArgumentListAnnotation.tsx +2 -2
- package/src/template/components/Changelog.tsx +2 -2
- package/src/template/components/CodeBlock.tsx +4 -58
- package/src/template/components/CodeBlockEnhancer.tsx +41 -41
- package/src/template/components/DeprecationReason.tsx +1 -1
- package/src/template/components/Description.tsx +1 -1
- package/src/template/components/Field.tsx +4 -4
- package/src/template/components/FieldList.tsx +1 -1
- package/src/template/components/FieldListSection.tsx +1 -1
- package/src/template/components/HamburgerMenu.tsx +11 -11
- package/src/template/components/Link.tsx +37 -29
- package/src/template/components/Logo.tsx +4 -4
- package/src/template/components/MDXComponents.tsx +1 -85
- package/src/template/components/NamedType.tsx +2 -2
- package/src/template/components/TestComponent.tsx +2 -2
- package/src/template/components/Texts/MinorHeading.tsx +4 -4
- package/src/template/components/Texts/index.ts +1 -1
- package/src/template/components/Texts/texts.ts +1 -1
- package/src/template/components/ThemeToggle.tsx +29 -7
- package/src/template/components/TypeAnnotation.tsx +1 -1
- package/src/template/components/TypeFieldsLinkList.tsx +1 -1
- package/src/template/components/TypeIndex.tsx +1 -1
- package/src/template/components/content/$$.ts +1 -1
- package/src/template/components/content/GraphQLDocumentWithSchema.tsx +3 -8
- package/src/template/components/content/GraphQLDocumentWrapper.tsx +20 -30
- package/src/template/components/graphql/graphql.tsx +2 -2
- package/src/template/components/graphql/index.ts +1 -1
- package/src/template/components/graphql/type-kind-icon.tsx +1 -2
- package/src/template/components/graphql/type-link.tsx +3 -3
- package/src/template/components/sidebar/Sidebar.tsx +1 -1
- package/src/template/components/sidebar/SidebarItem.tsx +6 -6
- package/src/template/constants.ts +17 -0
- package/src/template/contexts/ThemeContext.tsx +55 -24
- package/src/template/entry.client.tsx +7 -5
- package/src/template/global.d.ts +7 -0
- package/src/template/hooks/useClientOnly.ts +21 -0
- package/src/template/routes/changelog.tsx +1 -1
- package/src/template/routes/reference.$type.$field.tsx +3 -3
- package/src/template/routes/reference.$type.tsx +3 -3
- package/src/template/routes/reference.tsx +2 -2
- package/src/template/routes/root.tsx +46 -209
- package/src/template/routes.tsx +1 -1
- package/src/template/server/app.ts +40 -23
- package/src/template/server/{render-page.tsx → create-page-html-response.ts} +58 -20
- package/src/template/server/main.ts +4 -3
- package/src/template/server/middleware/page.ts +19 -0
- package/src/template/server/middleware/unsupported-assets.ts +25 -0
- package/src/template/server/ssg/generate.ts +79 -73
- package/src/template/server/ssg/get-route-paths.ts +1 -1
- package/src/template/server/transformers/inject-polen-data.ts +32 -0
- package/src/template/server/transformers/inject-theme-init.ts +30 -0
- package/src/template/server/view.ts +1 -1
- package/build/api/vite/data/navbar.d.ts +0 -9
- package/build/api/vite/data/navbar.d.ts.map +0 -1
- package/build/api/vite/data/navbar.js +0 -6
- package/build/api/vite/data/navbar.js.map +0 -1
- package/build/api/vite/plugins/branding/index.d.ts.map +0 -1
- package/build/api/vite/plugins/branding/index.js.map +0 -1
- package/build/lib/demos/builder.d.ts +0 -83
- package/build/lib/demos/builder.d.ts.map +0 -1
- package/build/lib/demos/builder.js +0 -237
- package/build/lib/demos/builder.js.map +0 -1
- package/build/lib/demos/config-schema.d.ts +0 -243
- package/build/lib/demos/config-schema.d.ts.map +0 -1
- package/build/lib/demos/config-schema.js +0 -52
- package/build/lib/demos/config-schema.js.map +0 -1
- package/build/lib/demos/config.d.ts +0 -40
- package/build/lib/demos/config.d.ts.map +0 -1
- package/build/lib/demos/config.js +0 -180
- package/build/lib/demos/config.js.map +0 -1
- package/build/lib/demos/index.d.ts +0 -9
- package/build/lib/demos/index.d.ts.map +0 -1
- package/build/lib/demos/index.js +0 -8
- package/build/lib/demos/index.js.map +0 -1
- package/build/lib/demos/ui/components.d.ts +0 -33
- package/build/lib/demos/ui/components.d.ts.map +0 -1
- package/build/lib/demos/ui/components.js +0 -699
- package/build/lib/demos/ui/components.js.map +0 -1
- package/build/lib/demos/ui/data-collector.d.ts +0 -88
- package/build/lib/demos/ui/data-collector.d.ts.map +0 -1
- package/build/lib/demos/ui/data-collector.js +0 -174
- package/build/lib/demos/ui/data-collector.js.map +0 -1
- package/build/lib/demos/ui/landing-page-cli.d.ts +0 -3
- package/build/lib/demos/ui/landing-page-cli.d.ts.map +0 -1
- package/build/lib/demos/ui/landing-page-cli.js +0 -21
- package/build/lib/demos/ui/landing-page-cli.js.map +0 -1
- package/build/lib/demos/ui/landing-page.d.ts +0 -32
- package/build/lib/demos/ui/landing-page.d.ts.map +0 -1
- package/build/lib/demos/ui/landing-page.js +0 -83
- package/build/lib/demos/ui/landing-page.js.map +0 -1
- package/build/lib/demos/ui/page-renderer.d.ts +0 -26
- package/build/lib/demos/ui/page-renderer.d.ts.map +0 -1
- package/build/lib/demos/ui/page-renderer.js +0 -104
- package/build/lib/demos/ui/page-renderer.js.map +0 -1
- package/build/lib/demos/utils.d.ts +0 -14
- package/build/lib/demos/utils.d.ts.map +0 -1
- package/build/lib/demos/utils.js +0 -37
- package/build/lib/demos/utils.js.map +0 -1
- package/build/lib/deployment/$$.d.ts +0 -3
- package/build/lib/deployment/$$.d.ts.map +0 -1
- package/build/lib/deployment/$$.js +0 -3
- package/build/lib/deployment/$$.js.map +0 -1
- package/build/lib/deployment/$.d.ts +0 -2
- package/build/lib/deployment/$.d.ts.map +0 -1
- package/build/lib/deployment/$.js +0 -2
- package/build/lib/deployment/$.js.map +0 -1
- package/build/lib/deployment/metadata.d.ts +0 -32
- package/build/lib/deployment/metadata.d.ts.map +0 -1
- package/build/lib/deployment/metadata.js +0 -37
- package/build/lib/deployment/metadata.js.map +0 -1
- package/build/lib/deployment/path-manager.d.ts +0 -41
- package/build/lib/deployment/path-manager.d.ts.map +0 -1
- package/build/lib/deployment/path-manager.js +0 -157
- package/build/lib/deployment/path-manager.js.map +0 -1
- package/build/lib/github-actions/git-controller.d.ts +0 -50
- package/build/lib/github-actions/git-controller.d.ts.map +0 -1
- package/build/lib/github-actions/git-controller.js +0 -90
- package/build/lib/github-actions/git-controller.js.map +0 -1
- package/build/lib/github-actions/github-actions.d.ts +0 -7
- package/build/lib/github-actions/github-actions.d.ts.map +0 -1
- package/build/lib/github-actions/github-actions.js +0 -7
- package/build/lib/github-actions/github-actions.js.map +0 -1
- package/build/lib/github-actions/index.d.ts +0 -2
- package/build/lib/github-actions/index.d.ts.map +0 -1
- package/build/lib/github-actions/index.js +0 -2
- package/build/lib/github-actions/index.js.map +0 -1
- package/build/lib/github-actions/lib/get-pr-deployments.d.ts +0 -12
- package/build/lib/github-actions/lib/get-pr-deployments.d.ts.map +0 -1
- package/build/lib/github-actions/lib/get-pr-deployments.js +0 -51
- package/build/lib/github-actions/lib/get-pr-deployments.js.map +0 -1
- package/build/lib/github-actions/pr-controller.d.ts +0 -39
- package/build/lib/github-actions/pr-controller.d.ts.map +0 -1
- package/build/lib/github-actions/pr-controller.js +0 -122
- package/build/lib/github-actions/pr-controller.js.map +0 -1
- package/build/lib/github-actions/run-step-cli.d.ts +0 -9
- package/build/lib/github-actions/run-step-cli.d.ts.map +0 -1
- package/build/lib/github-actions/run-step-cli.js +0 -71
- package/build/lib/github-actions/run-step-cli.js.map +0 -1
- package/build/lib/github-actions/runner.d.ts +0 -17
- package/build/lib/github-actions/runner.d.ts.map +0 -1
- package/build/lib/github-actions/runner.js +0 -195
- package/build/lib/github-actions/runner.js.map +0 -1
- package/build/lib/github-actions/schemas/context.d.ts +0 -933
- package/build/lib/github-actions/schemas/context.d.ts.map +0 -1
- package/build/lib/github-actions/schemas/context.js +0 -407
- package/build/lib/github-actions/schemas/context.js.map +0 -1
- package/build/lib/github-actions/schemas/index.d.ts +0 -5
- package/build/lib/github-actions/schemas/index.d.ts.map +0 -1
- package/build/lib/github-actions/schemas/index.js +0 -5
- package/build/lib/github-actions/schemas/index.js.map +0 -1
- package/build/lib/github-actions/search-module.d.ts +0 -38
- package/build/lib/github-actions/search-module.d.ts.map +0 -1
- package/build/lib/github-actions/search-module.js +0 -40
- package/build/lib/github-actions/search-module.js.map +0 -1
- package/build/lib/github-actions/step.d.ts +0 -163
- package/build/lib/github-actions/step.d.ts.map +0 -1
- package/build/lib/github-actions/step.js +0 -121
- package/build/lib/github-actions/step.js.map +0 -1
- package/build/lib/graphql-document/components/CopyButton.d.ts +0 -19
- package/build/lib/graphql-document/components/CopyButton.d.ts.map +0 -1
- package/build/lib/graphql-document/components/CopyButton.js +0 -43
- package/build/lib/graphql-document/components/CopyButton.js.map +0 -1
- package/build/lib/graphql-document/schema-integration-example.d.ts +0 -27
- package/build/lib/graphql-document/schema-integration-example.d.ts.map +0 -1
- package/build/lib/graphql-document/schema-integration-example.js +0 -297
- package/build/lib/graphql-document/schema-integration-example.js.map +0 -1
- package/build/lib/shiki/index.d.ts +0 -2
- package/build/lib/shiki/index.d.ts.map +0 -1
- package/build/lib/shiki/index.js +0 -2
- package/build/lib/shiki/index.js.map +0 -1
- package/build/lib/shiki/shiki.d.ts +0 -26
- package/build/lib/shiki/shiki.d.ts.map +0 -1
- package/build/lib/shiki/shiki.js +0 -105
- package/build/lib/shiki/shiki.js.map +0 -1
- package/build/lib/version-history/index.d.ts +0 -3
- package/build/lib/version-history/index.d.ts.map +0 -1
- package/build/lib/version-history/index.js +0 -2
- package/build/lib/version-history/index.js.map +0 -1
- package/build/lib/version-history/types.d.ts +0 -64
- package/build/lib/version-history/types.d.ts.map +0 -1
- package/build/lib/version-history/types.js +0 -5
- package/build/lib/version-history/types.js.map +0 -1
- package/build/lib/version-history/version-history.d.ts +0 -85
- package/build/lib/version-history/version-history.d.ts.map +0 -1
- package/build/lib/version-history/version-history.js +0 -248
- package/build/lib/version-history/version-history.js.map +0 -1
- package/build/template/server/render-page.d.ts +0 -3
- package/build/template/server/render-page.d.ts.map +0 -1
- package/build/template/server/render-page.js.map +0 -1
- package/src/api/vite/data/navbar.ts +0 -15
- package/src/lib/demos/builder.ts +0 -298
- package/src/lib/demos/config-schema.ts +0 -56
- package/src/lib/demos/config.test.ts +0 -193
- package/src/lib/demos/config.ts +0 -205
- package/src/lib/demos/index.ts +0 -9
- package/src/lib/demos/ui/components.ts +0 -739
- package/src/lib/demos/ui/data-collector.ts +0 -246
- package/src/lib/demos/ui/landing-page-cli.ts +0 -23
- package/src/lib/demos/ui/landing-page.ts +0 -126
- package/src/lib/demos/ui/page-renderer.ts +0 -124
- package/src/lib/demos/utils.ts +0 -43
- package/src/lib/deployment/$$.ts +0 -2
- package/src/lib/deployment/$.test.ts +0 -53
- package/src/lib/deployment/$.ts +0 -1
- package/src/lib/deployment/metadata.ts +0 -40
- package/src/lib/deployment/path-manager.ts +0 -186
- package/src/lib/github-actions/git-controller.ts +0 -151
- package/src/lib/github-actions/github-actions.ts +0 -6
- package/src/lib/github-actions/index.ts +0 -1
- package/src/lib/github-actions/lib/get-pr-deployments.ts +0 -76
- package/src/lib/github-actions/pr-controller.test.ts +0 -172
- package/src/lib/github-actions/pr-controller.ts +0 -183
- package/src/lib/github-actions/run-step-cli.ts +0 -84
- package/src/lib/github-actions/runner.test.ts +0 -192
- package/src/lib/github-actions/runner.ts +0 -226
- package/src/lib/github-actions/schemas/context.ts +0 -424
- package/src/lib/github-actions/schemas/index.ts +0 -5
- package/src/lib/github-actions/search-module.test.ts +0 -110
- package/src/lib/github-actions/search-module.ts +0 -76
- package/src/lib/github-actions/step.test.ts +0 -149
- package/src/lib/github-actions/step.ts +0 -232
- package/src/lib/graphql-document/components/CopyButton.tsx +0 -76
- package/src/lib/graphql-document/schema-integration-example.ts +0 -341
- package/src/lib/shiki/index.ts +0 -1
- package/src/lib/shiki/shiki.test.ts +0 -107
- package/src/lib/shiki/shiki.ts +0 -161
- package/src/lib/version-history/index.test.ts +0 -196
- package/src/lib/version-history/index.ts +0 -4
- package/src/lib/version-history/types.ts +0 -68
- package/src/lib/version-history/version-history.ts +0 -293
package/src/lib/kit-temp.ts
CHANGED
@@ -12,10 +12,8 @@
|
|
12
12
|
//
|
13
13
|
//
|
14
14
|
|
15
|
-
import { Arr, Err, Fs, Http, Path,
|
16
|
-
import { never } from '@wollybeard/kit/language'
|
15
|
+
import { Arr, Err, Fs, Http, Path, Undefined } from '@wollybeard/kit'
|
17
16
|
import type { ResolveHookContext } from 'node:module'
|
18
|
-
import type { IsNever } from 'type-fest'
|
19
17
|
|
20
18
|
export const arrayEquals = (a: any[], b: any[]) => {
|
21
19
|
if (a.length !== b.length) return false
|
@@ -66,8 +64,8 @@ export interface ImportEvent {
|
|
66
64
|
export type ObjPolicyFilter<
|
67
65
|
$Object extends object,
|
68
66
|
$Key extends Keyof<$Object>,
|
69
|
-
Mode extends
|
70
|
-
> = Mode extends
|
67
|
+
Mode extends `allow` | `deny`,
|
68
|
+
> = Mode extends `allow`
|
71
69
|
? Pick<$Object, Extract<$Key, keyof $Object>>
|
72
70
|
: Omit<$Object, Extract<$Key, keyof $Object>>
|
73
71
|
|
@@ -98,18 +96,18 @@ type Keyof<$Object extends object> = object extends $Object ? PropertyKey : (key
|
|
98
96
|
export const objPolicyFilter = <
|
99
97
|
obj extends object,
|
100
98
|
keyUnion extends Keyof<obj>,
|
101
|
-
mode extends
|
99
|
+
mode extends `allow` | `deny`,
|
102
100
|
>(
|
103
101
|
mode: mode,
|
104
102
|
obj: obj,
|
105
103
|
keys: readonly keyUnion[],
|
106
104
|
): ObjPolicyFilter<obj, keyUnion, mode> => {
|
107
|
-
const result: any = mode ===
|
105
|
+
const result: any = mode === `deny` ? { ...obj } : {}
|
108
106
|
|
109
|
-
if (mode ===
|
107
|
+
if (mode === `allow`) {
|
110
108
|
// For allow mode, only add specified keys
|
111
109
|
for (const key of keys) {
|
112
|
-
if (key
|
110
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
113
111
|
// @ts-expect-error
|
114
112
|
result[key] = obj[key]
|
115
113
|
}
|
@@ -154,11 +152,11 @@ export const objFilter = <T extends object>(
|
|
154
152
|
}
|
155
153
|
|
156
154
|
export const ObjPick = <T extends object, K extends keyof T>(obj: T, keys: readonly K[]): Pick<T, K> => {
|
157
|
-
return objPolicyFilter(
|
155
|
+
return objPolicyFilter(`allow`, obj, keys) as any
|
158
156
|
}
|
159
157
|
|
160
158
|
export const ObjOmit = <T extends object, K extends keyof T>(obj: T, keys: readonly K[]): Omit<T, K> => {
|
161
|
-
return objPolicyFilter(
|
159
|
+
return objPolicyFilter(`deny`, obj, keys) as any
|
162
160
|
}
|
163
161
|
|
164
162
|
export const ObjPartition = <T extends object, K extends keyof T>(
|
@@ -220,3 +218,377 @@ export type ExtendsExact<$Input, $Constraint> =
|
|
220
218
|
? $Input
|
221
219
|
: never
|
222
220
|
: never
|
221
|
+
|
222
|
+
/**
|
223
|
+
* Split an array into chunks of specified size
|
224
|
+
*
|
225
|
+
* @param array - The array to chunk
|
226
|
+
* @param size - The size of each chunk
|
227
|
+
* @returns Array of chunks
|
228
|
+
*
|
229
|
+
* @example
|
230
|
+
* ```ts
|
231
|
+
* chunk([1, 2, 3, 4, 5], 2) // [[1, 2], [3, 4], [5]]
|
232
|
+
* chunk(['a', 'b', 'c'], 3) // [['a', 'b', 'c']]
|
233
|
+
* ```
|
234
|
+
*/
|
235
|
+
export const chunk = <T>(array: readonly T[], size: number): T[][] => {
|
236
|
+
if (size <= 0) throw new Error(`Chunk size must be greater than 0`)
|
237
|
+
if (array.length === 0) return []
|
238
|
+
|
239
|
+
const chunks: T[][] = []
|
240
|
+
for (let i = 0; i < array.length; i += size) {
|
241
|
+
chunks.push(array.slice(i, i + size))
|
242
|
+
}
|
243
|
+
return chunks
|
244
|
+
}
|
245
|
+
|
246
|
+
export interface AsyncParallelOptions {
|
247
|
+
/**
|
248
|
+
* Maximum number of items to process concurrently
|
249
|
+
* @default 10
|
250
|
+
*/
|
251
|
+
concurrency?: number
|
252
|
+
|
253
|
+
/**
|
254
|
+
* If true, stops processing on first error
|
255
|
+
* If false, continues processing all items even if some fail
|
256
|
+
* @default false
|
257
|
+
*/
|
258
|
+
failFast?: boolean
|
259
|
+
|
260
|
+
/**
|
261
|
+
* Size of batches to process items in
|
262
|
+
* If not specified, all items are processed with the specified concurrency
|
263
|
+
*/
|
264
|
+
batchSize?: number
|
265
|
+
}
|
266
|
+
|
267
|
+
export interface AsyncParallelResult<T, R> {
|
268
|
+
/** Successfully processed results */
|
269
|
+
results: R[]
|
270
|
+
/** Errors that occurred during processing */
|
271
|
+
errors: (Error & { item: T })[]
|
272
|
+
/** Whether all items were processed successfully */
|
273
|
+
success: boolean
|
274
|
+
}
|
275
|
+
|
276
|
+
/**
|
277
|
+
* Process items in parallel with configurable options
|
278
|
+
*
|
279
|
+
* @param items - Items to process
|
280
|
+
* @param operation - Async function to apply to each item (with optional index)
|
281
|
+
* @param options - Configuration options
|
282
|
+
* @returns Results and errors from processing
|
283
|
+
*
|
284
|
+
* @example
|
285
|
+
* ```ts
|
286
|
+
* const items = [1, 2, 3, 4, 5]
|
287
|
+
* const result = await asyncParallel(items, async (n, index) => n * 2, {
|
288
|
+
* concurrency: 2,
|
289
|
+
* batchSize: 3,
|
290
|
+
* failFast: false
|
291
|
+
* })
|
292
|
+
* // result.results: [2, 4, 6, 8, 10]
|
293
|
+
* // result.errors: []
|
294
|
+
* // result.success: true
|
295
|
+
* ```
|
296
|
+
*/
|
297
|
+
export const asyncParallel = async <T, R>(
|
298
|
+
items: readonly T[],
|
299
|
+
operation: (item: T, index: number) => Promise<R>,
|
300
|
+
options: AsyncParallelOptions = {},
|
301
|
+
): Promise<AsyncParallelResult<T, R>> => {
|
302
|
+
const { concurrency = 10, failFast = false, batchSize } = options
|
303
|
+
|
304
|
+
if (items.length === 0) {
|
305
|
+
return { results: [], errors: [], success: true }
|
306
|
+
}
|
307
|
+
|
308
|
+
const allResults: R[] = []
|
309
|
+
const allErrors: (Error & { item: T })[] = []
|
310
|
+
|
311
|
+
// If batchSize is specified, process in batches
|
312
|
+
if (batchSize !== undefined) {
|
313
|
+
const batches = chunk(items, batchSize)
|
314
|
+
let globalIndex = 0
|
315
|
+
|
316
|
+
for (const batch of batches) {
|
317
|
+
const batchResult = await processBatch(batch, operation, concurrency, failFast, globalIndex)
|
318
|
+
allResults.push(...batchResult.results)
|
319
|
+
allErrors.push(...batchResult.errors)
|
320
|
+
globalIndex += batch.length
|
321
|
+
|
322
|
+
if (failFast && batchResult.errors.length > 0) {
|
323
|
+
break
|
324
|
+
}
|
325
|
+
}
|
326
|
+
} else {
|
327
|
+
// Process all items with specified concurrency
|
328
|
+
const result = await processBatch(items, operation, concurrency, failFast, 0)
|
329
|
+
allResults.push(...result.results)
|
330
|
+
allErrors.push(...result.errors)
|
331
|
+
}
|
332
|
+
|
333
|
+
return {
|
334
|
+
results: allResults,
|
335
|
+
errors: allErrors,
|
336
|
+
success: allErrors.length === 0,
|
337
|
+
}
|
338
|
+
}
|
339
|
+
|
340
|
+
/**
|
341
|
+
* Process a batch of items with limited concurrency
|
342
|
+
*/
|
343
|
+
const processBatch = async <T, R>(
|
344
|
+
items: readonly T[],
|
345
|
+
operation: (item: T, index: number) => Promise<R>,
|
346
|
+
concurrency: number,
|
347
|
+
failFast: boolean,
|
348
|
+
startIndex = 0,
|
349
|
+
): Promise<AsyncParallelResult<T, R>> => {
|
350
|
+
const results: R[] = []
|
351
|
+
const errors: (Error & { item: T })[] = []
|
352
|
+
|
353
|
+
// Process items in chunks based on concurrency limit
|
354
|
+
const chunks = chunk(items, concurrency)
|
355
|
+
let currentIndex = startIndex
|
356
|
+
|
357
|
+
for (const chunkItems of chunks) {
|
358
|
+
const promises = chunkItems.map(async (item, chunkIndex) => {
|
359
|
+
const globalIndex = currentIndex + chunkIndex
|
360
|
+
try {
|
361
|
+
const result = await operation(item, globalIndex)
|
362
|
+
return { success: true, result, item }
|
363
|
+
} catch (error) {
|
364
|
+
const enhancedError = error instanceof Error ? error : new Error(String(error))
|
365
|
+
Object.assign(enhancedError, { item })
|
366
|
+
return { success: false, error: enhancedError as Error & { item: T }, item }
|
367
|
+
}
|
368
|
+
})
|
369
|
+
|
370
|
+
currentIndex += chunkItems.length
|
371
|
+
|
372
|
+
const chunkResults = await Promise.allSettled(promises)
|
373
|
+
|
374
|
+
for (const promiseResult of chunkResults) {
|
375
|
+
if (promiseResult.status === `fulfilled`) {
|
376
|
+
const { success, result, error, item } = promiseResult.value
|
377
|
+
if (success) {
|
378
|
+
results.push(result!)
|
379
|
+
} else {
|
380
|
+
errors.push(error!)
|
381
|
+
if (failFast) {
|
382
|
+
return { results, errors, success: false }
|
383
|
+
}
|
384
|
+
}
|
385
|
+
} else {
|
386
|
+
// This shouldn't happen since we're catching errors above
|
387
|
+
// But handle it just in case
|
388
|
+
const error = new Error(`Unexpected promise rejection`) as Error & { item: any }
|
389
|
+
errors.push(error)
|
390
|
+
if (failFast) {
|
391
|
+
return { results, errors, success: false }
|
392
|
+
}
|
393
|
+
}
|
394
|
+
}
|
395
|
+
}
|
396
|
+
|
397
|
+
return { results, errors, success: errors.length === 0 }
|
398
|
+
}
|
399
|
+
|
400
|
+
// /**
|
401
|
+
// * Reduce an array asynchronously, processing each item in sequence
|
402
|
+
// *
|
403
|
+
// * @param items - Array of items to process
|
404
|
+
// * @param reducer - Async function that takes accumulator and current item
|
405
|
+
// * @param initial - Initial value for the accumulator
|
406
|
+
// * @returns Final accumulated value
|
407
|
+
// *
|
408
|
+
// * @example
|
409
|
+
// * ```ts
|
410
|
+
// * const numbers = [1, 2, 3, 4]
|
411
|
+
// * const sum = await asyncReduce(numbers, async (acc, n) => acc + n, 0)
|
412
|
+
// * // sum: 10
|
413
|
+
// *
|
414
|
+
// * const transforms = [addHeader, addFooter, minify]
|
415
|
+
// * const html = await asyncReduce(transforms, async (html, transform) => transform(html), initialHtml)
|
416
|
+
// * ```
|
417
|
+
// */
|
418
|
+
// export const asyncReduce = async <T, R>(
|
419
|
+
// items: readonly T[],
|
420
|
+
// reducer: (accumulator: R, current: T, index: number) => Promise<R> | R,
|
421
|
+
// initial: R,
|
422
|
+
// ): Promise<R> => {
|
423
|
+
// let result = initial
|
424
|
+
// for (let i = 0; i < items.length; i++) {
|
425
|
+
// const item = items[i]!
|
426
|
+
// result = await reducer(result, item, i)
|
427
|
+
// }
|
428
|
+
// return result
|
429
|
+
// }
|
430
|
+
|
431
|
+
// /**
|
432
|
+
// * Curried version of asyncReduce for functions that transform a value
|
433
|
+
// *
|
434
|
+
// * @param transformers - Array of transformer functions
|
435
|
+
// * @returns A function that takes an initial value and applies all transformers
|
436
|
+
// *
|
437
|
+
// * @example
|
438
|
+
// * ```ts
|
439
|
+
// * const transformers = [addHeader, addFooter, minify]
|
440
|
+
// * const applyTransforms = asyncReduceWith(transformers)
|
441
|
+
// * const finalHtml = await applyTransforms(initialHtml)
|
442
|
+
// *
|
443
|
+
// * // For simple pipelines where each function transforms the same type
|
444
|
+
// * const htmlPipeline = asyncReduceWith([
|
445
|
+
// * (html) => html.replace('foo', 'bar'),
|
446
|
+
// * async (html) => await prettify(html),
|
447
|
+
// * (html) => html.trim()
|
448
|
+
// * ])
|
449
|
+
// * ```
|
450
|
+
// */
|
451
|
+
// export const asyncReduceWith = <T>(
|
452
|
+
// transformers: readonly ((value: T) => Promise<T> | T)[],
|
453
|
+
// ) => {
|
454
|
+
// return async (initial: T): Promise<T> => {
|
455
|
+
// return asyncReduce(transformers, (value, transform) => transform(value), initial)
|
456
|
+
// }
|
457
|
+
// }
|
458
|
+
|
459
|
+
/**
|
460
|
+
* Reduce an array asynchronously with context, processing each item in sequence
|
461
|
+
*
|
462
|
+
* @param items - Array of items to process
|
463
|
+
* @param reducer - Async function that takes accumulator, current item, and context
|
464
|
+
* @param initial - Initial value for the accumulator
|
465
|
+
* @param context - Context object passed to each reducer call
|
466
|
+
* @returns Final accumulated value
|
467
|
+
*
|
468
|
+
* @example
|
469
|
+
* ```ts
|
470
|
+
* const transformers = [transformer1, transformer2]
|
471
|
+
* const ctx = { request: req, response: res }
|
472
|
+
* const result = await asyncReduceWithContext(
|
473
|
+
* transformers,
|
474
|
+
* async (html, transformer) => transformer(html, ctx),
|
475
|
+
* initialHtml,
|
476
|
+
* ctx
|
477
|
+
* )
|
478
|
+
* ```
|
479
|
+
*/
|
480
|
+
export const asyncReduce = async <T, R, C>(
|
481
|
+
items: readonly T[],
|
482
|
+
reducer: (accumulator: R, current: T, context: C, index: number) => Promise<R> | R,
|
483
|
+
initial: R,
|
484
|
+
context: C,
|
485
|
+
): Promise<R> => {
|
486
|
+
let result = initial
|
487
|
+
for (let i = 0; i < items.length; i++) {
|
488
|
+
const item = items[i]!
|
489
|
+
result = await reducer(result, item, context, i)
|
490
|
+
}
|
491
|
+
return result
|
492
|
+
}
|
493
|
+
|
494
|
+
/**
|
495
|
+
* Curried version of asyncReduceWithContext for functions that transform a value with context
|
496
|
+
*
|
497
|
+
* @param transformers - Array of transformer functions that take value and context
|
498
|
+
* @returns A function that takes an initial value and context, and applies all transformers
|
499
|
+
*
|
500
|
+
* @example
|
501
|
+
* ```ts
|
502
|
+
* const transformers = [
|
503
|
+
* (html, ctx) => html.replace('{{url}}', ctx.req.url),
|
504
|
+
* async (html, ctx) => await ctx.minify(html),
|
505
|
+
* ]
|
506
|
+
* const applyTransforms = asyncReduceWithContextWith(transformers)
|
507
|
+
* const finalHtml = await applyTransforms(initialHtml, ctx)
|
508
|
+
* ```
|
509
|
+
*/
|
510
|
+
export const asyncReduceWith = <T, C>(
|
511
|
+
transformers: readonly ((value: T, context: C) => Promise<T> | T)[],
|
512
|
+
context: C,
|
513
|
+
) => {
|
514
|
+
return async (initial: T): Promise<T> => {
|
515
|
+
return asyncReduce(
|
516
|
+
transformers,
|
517
|
+
(value, transform, ctx) => transform(value, ctx),
|
518
|
+
initial,
|
519
|
+
context,
|
520
|
+
)
|
521
|
+
}
|
522
|
+
}
|
523
|
+
|
524
|
+
/**
|
525
|
+
* Create a branded type that provides nominal typing in TypeScript.
|
526
|
+
*
|
527
|
+
* Branded types allow you to create distinct types from primitives or other types,
|
528
|
+
* preventing accidental mixing of values that are structurally identical but
|
529
|
+
* semantically different.
|
530
|
+
*
|
531
|
+
* @template $BaseType - The underlying type to brand (e.g., string, number)
|
532
|
+
* @template $BrandName - A unique string literal to distinguish this brand
|
533
|
+
*
|
534
|
+
* @example
|
535
|
+
* ```ts
|
536
|
+
* // Create distinct ID types that can't be mixed
|
537
|
+
* type UserId = Brand<string, 'UserId'>
|
538
|
+
* type PostId = Brand<string, 'PostId'>
|
539
|
+
*
|
540
|
+
* function getUser(id: UserId) { ... }
|
541
|
+
*
|
542
|
+
* const userId = 'u123' as UserId
|
543
|
+
* const postId = 'p456' as PostId
|
544
|
+
*
|
545
|
+
* getUser(userId) // ✓ OK
|
546
|
+
* getUser(postId) // ✗ Type error - can't use PostId where UserId expected
|
547
|
+
* ```
|
548
|
+
*
|
549
|
+
* @example
|
550
|
+
* ```ts
|
551
|
+
* // Brand primitive types for domain modeling
|
552
|
+
* type Email = Brand<string, 'Email'>
|
553
|
+
* type Url = Brand<string, 'Url'>
|
554
|
+
* type PositiveNumber = Brand<number, 'PositiveNumber'>
|
555
|
+
* ```
|
556
|
+
*/
|
557
|
+
export type Brand<$BaseType, $BrandName extends string> =
|
558
|
+
& $BaseType
|
559
|
+
& {
|
560
|
+
readonly __brand: $BrandName
|
561
|
+
}
|
562
|
+
|
563
|
+
/**
|
564
|
+
* Helper function to create a branded value.
|
565
|
+
*
|
566
|
+
* This is a simple type assertion helper. For runtime validation,
|
567
|
+
* combine with validation functions or schemas.
|
568
|
+
*
|
569
|
+
* @template $BaseType - The underlying type to brand
|
570
|
+
* @template $BrandName - The brand name to apply
|
571
|
+
* @param value - The value to brand
|
572
|
+
* @returns The value with the brand type applied
|
573
|
+
*
|
574
|
+
* @example
|
575
|
+
* ```ts
|
576
|
+
* type UserId = Brand<string, 'UserId'>
|
577
|
+
*
|
578
|
+
* // Simple branding (no runtime validation)
|
579
|
+
* const id = brand<string, 'UserId'>('u123')
|
580
|
+
*
|
581
|
+
* // With validation (recommended)
|
582
|
+
* function createUserId(value: string): UserId {
|
583
|
+
* if (!value.startsWith('u')) {
|
584
|
+
* throw new Error('User IDs must start with "u"')
|
585
|
+
* }
|
586
|
+
* return brand<string, 'UserId'>(value)
|
587
|
+
* }
|
588
|
+
* ```
|
589
|
+
*/
|
590
|
+
export const brand = <$BaseType, $BrandName extends string>(
|
591
|
+
value: $BaseType,
|
592
|
+
): Brand<$BaseType, $BrandName> => {
|
593
|
+
return value as Brand<$BaseType, $BrandName>
|
594
|
+
}
|
package/src/lib/mask/$$.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from './apply.
|
2
|
-
export * from './mask.
|
1
|
+
export * from './apply.js'
|
2
|
+
export * from './mask.js'
|
package/src/lib/mask/$.test.ts
CHANGED
package/src/lib/mask/$.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export * as Mask from './$$.
|
1
|
+
export * as Mask from './$$.js'
|
package/src/lib/mask/apply.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { type ExtendsExact, objPolicyFilter } from '#lib/kit-temp'
|
2
2
|
import { Obj } from '@wollybeard/kit'
|
3
3
|
import { never } from '@wollybeard/kit/language'
|
4
|
-
import type { GetDataType, Mask } from './mask.
|
4
|
+
import type { GetDataType, Mask } from './mask.js'
|
5
5
|
|
6
6
|
/**
|
7
7
|
* Type-level function that applies a mask to data.
|
@@ -19,16 +19,16 @@ import type { GetDataType, Mask } from './mask.ts'
|
|
19
19
|
* - Non-objects throw an error at runtime
|
20
20
|
*/
|
21
21
|
// dprint-ignore
|
22
|
-
export type Apply<Data, M extends Mask
|
23
|
-
M extends { type:
|
24
|
-
? M[
|
22
|
+
export type Apply<Data, M extends Mask> =
|
23
|
+
M extends { type: `binary`, show: boolean }
|
24
|
+
? M[`show`] extends true
|
25
25
|
? Data
|
26
26
|
: undefined
|
27
|
-
: M extends { type:
|
27
|
+
: M extends { type: `properties`, mode: string, properties: any[] }
|
28
28
|
? Data extends object
|
29
|
-
? M[
|
30
|
-
? Pick<Data, Extract<M[
|
31
|
-
: Omit<Data, Extract<M[
|
29
|
+
? M[`mode`] extends `allow`
|
30
|
+
? Pick<Data, Extract<M[`properties`][number], keyof Data>>
|
31
|
+
: Omit<Data, Extract<M[`properties`][number], keyof Data>>
|
32
32
|
: never // Non-objects not allowed with property masks
|
33
33
|
: never
|
34
34
|
|
@@ -50,7 +50,7 @@ export type Apply<Data, M extends Mask<any>> =
|
|
50
50
|
*/
|
51
51
|
export const apply = <
|
52
52
|
data extends GetDataType<mask>,
|
53
|
-
mask extends Mask
|
53
|
+
mask extends Mask,
|
54
54
|
>(data: data, mask: mask): Apply<data, mask> => {
|
55
55
|
return applyInternal(data, mask) as Apply<data, mask>
|
56
56
|
}
|
@@ -74,7 +74,7 @@ export const apply = <
|
|
74
74
|
*/
|
75
75
|
export const applyPartial = <
|
76
76
|
data extends Partial<GetDataType<mask>>,
|
77
|
-
mask extends Mask
|
77
|
+
mask extends Mask,
|
78
78
|
>(data: data, mask: mask): Apply<data, mask> => {
|
79
79
|
return applyInternal(data, mask) as Apply<data, mask>
|
80
80
|
}
|
@@ -105,7 +105,7 @@ export const applyPartial = <
|
|
105
105
|
*/
|
106
106
|
export const applyExact = <
|
107
107
|
data,
|
108
|
-
mask extends Mask
|
108
|
+
mask extends Mask,
|
109
109
|
>(
|
110
110
|
data: ExtendsExact<data, GetDataType<mask>>,
|
111
111
|
mask: mask,
|
@@ -114,17 +114,17 @@ export const applyExact = <
|
|
114
114
|
}
|
115
115
|
|
116
116
|
// Internal implementation
|
117
|
-
const applyInternal = (data: any, mask: Mask
|
117
|
+
const applyInternal = (data: any, mask: Mask): any => {
|
118
118
|
// ━ Handle binary mask
|
119
|
-
if (mask.type ===
|
119
|
+
if (mask.type === `binary`) {
|
120
120
|
return mask.show ? data : undefined
|
121
121
|
}
|
122
122
|
|
123
123
|
// ━ Handle properties mask
|
124
|
-
if (mask.type ===
|
124
|
+
if (mask.type === `properties`) {
|
125
125
|
// Properties mask requires object data
|
126
126
|
if (!Obj.is(data)) {
|
127
|
-
throw new Error(
|
127
|
+
throw new Error(`Cannot apply properties mask to non-object data`)
|
128
128
|
}
|
129
129
|
|
130
130
|
return objPolicyFilter(mask.mode, data, mask.properties)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Ts } from '@wollybeard/kit'
|
2
|
-
import { Mask } from './$.
|
3
|
-
import type { InferOptions, Mask as MaskType, PropertiesMask } from './mask.
|
2
|
+
import { Mask } from './$.js'
|
3
|
+
import type { InferOptions, Mask as MaskType, PropertiesMask } from './mask.js'
|
4
4
|
|
5
5
|
// Test 1: InferOptions with unknown should accept all option types
|
6
6
|
{
|
@@ -12,7 +12,7 @@ import type { InferOptions, Mask as MaskType, PropertiesMask } from './mask.ts'
|
|
12
12
|
// All of these should be valid options
|
13
13
|
const option1: Options = true
|
14
14
|
const option2: Options = false
|
15
|
-
const option3: Options = [
|
15
|
+
const option3: Options = [`name`, `age`]
|
16
16
|
const option4: Options = []
|
17
17
|
const option5: Options = { name: true, age: false }
|
18
18
|
const option6: Options = {}
|
@@ -28,9 +28,9 @@ import type { InferOptions, Mask as MaskType, PropertiesMask } from './mask.ts'
|
|
28
28
|
Ts.assertEqual<MaskType<unknown>>()(mask2)
|
29
29
|
|
30
30
|
// Array options (no type parameter needed)
|
31
|
-
const mask3 = Mask.create([
|
31
|
+
const mask3 = Mask.create([`name`, `age`])
|
32
32
|
const mask4 = Mask.create([])
|
33
|
-
const mask5 = Mask.create([
|
33
|
+
const mask5 = Mask.create([`a`, `b`, `c`])
|
34
34
|
// Returns union type with inferred properties
|
35
35
|
Ts.assertEqual<MaskType<{ name: any; age: any }>>()(mask3)
|
36
36
|
Ts.assertEqual<MaskType<unknown>>()(mask4)
|
@@ -48,11 +48,15 @@ import type { InferOptions, Mask as MaskType, PropertiesMask } from './mask.ts'
|
|
48
48
|
|
49
49
|
// Test 3: With specific data type, options are constrained
|
50
50
|
{
|
51
|
-
|
51
|
+
interface User {
|
52
|
+
name: string
|
53
|
+
age: number
|
54
|
+
email: string
|
55
|
+
}
|
52
56
|
|
53
57
|
// Valid options
|
54
58
|
const mask1 = Mask.create<User>(true)
|
55
|
-
const mask2 = Mask.create<User>([
|
59
|
+
const mask2 = Mask.create<User>([`name`, `age`])
|
56
60
|
const mask3 = Mask.create<User>({ name: true, age: false, email: true })
|
57
61
|
|
58
62
|
// With explicit type parameter, still returns union type
|
@@ -81,18 +85,18 @@ import type { InferOptions, Mask as MaskType, PropertiesMask } from './mask.ts'
|
|
81
85
|
// Test 5: Test inference in practical scenarios
|
82
86
|
{
|
83
87
|
// Should infer PropertiesMask with object data type
|
84
|
-
const userMask = Mask.create([
|
88
|
+
const userMask = Mask.create([`name`, `email`, `password`])
|
85
89
|
Ts.assertEqual<MaskType<{ name: any; email: any; password: any }>>()(userMask)
|
86
90
|
|
87
91
|
// When mask is a union type, apply returns a union of possible results
|
88
|
-
const user1 = { name:
|
92
|
+
const user1 = { name: `John`, email: `john@example.com`, password: `secret`, extra: `data` }
|
89
93
|
const maskedUser1 = Mask.apply(user1, userMask)
|
90
94
|
// Result is a union type that includes the properties mask result
|
91
95
|
type MaskedUser1 = typeof maskedUser1
|
92
96
|
// Can't use assertSub with union types
|
93
97
|
|
94
98
|
// For partial data, use applyPartial
|
95
|
-
const user2 = { name:
|
99
|
+
const user2 = { name: `Jane`, email: `jane@example.com` }
|
96
100
|
const maskedUser2 = Mask.applyPartial(user2, userMask)
|
97
101
|
// Result is a union type
|
98
102
|
type MaskedUser2 = typeof maskedUser2
|
@@ -100,16 +104,20 @@ import type { InferOptions, Mask as MaskType, PropertiesMask } from './mask.ts'
|
|
100
104
|
|
101
105
|
// Test 6: Pick and omit helpers
|
102
106
|
{
|
103
|
-
const pick1 = Mask.pick([
|
104
|
-
const omit1 = Mask.omit([
|
107
|
+
const pick1 = Mask.pick([`name`, `email`])
|
108
|
+
const omit1 = Mask.omit([`password`, `secret`])
|
105
109
|
|
106
110
|
// Infers specific property types
|
107
111
|
Ts.assertEqual<PropertiesMask<{ name: any; email: any }>>()(pick1)
|
108
112
|
Ts.assertEqual<PropertiesMask<{ password: any; secret: any }>>()(omit1)
|
109
113
|
|
110
|
-
|
111
|
-
|
112
|
-
|
114
|
+
interface User {
|
115
|
+
name: string
|
116
|
+
email: string
|
117
|
+
password: string
|
118
|
+
}
|
119
|
+
const pick2 = Mask.pick<User>([`name`, `email`])
|
120
|
+
const omit2 = Mask.omit<User>([`password`])
|
113
121
|
|
114
122
|
Ts.assertEqual<PropertiesMask<User>>()(pick2)
|
115
123
|
Ts.assertEqual<PropertiesMask<User>>()(omit2)
|
@@ -117,8 +125,12 @@ import type { InferOptions, Mask as MaskType, PropertiesMask } from './mask.ts'
|
|
117
125
|
|
118
126
|
// Test 7: Apply type transformations
|
119
127
|
{
|
120
|
-
|
121
|
-
|
128
|
+
interface User {
|
129
|
+
name: string
|
130
|
+
email: string
|
131
|
+
password: string
|
132
|
+
}
|
133
|
+
const user: User = { name: `John`, email: `john@example.com`, password: `secret` }
|
122
134
|
|
123
135
|
// Binary mask
|
124
136
|
const showMask = Mask.create<User>(true)
|
@@ -131,7 +143,7 @@ import type { InferOptions, Mask as MaskType, PropertiesMask } from './mask.ts'
|
|
131
143
|
type HiddenType = typeof hidden // Omit<User, keyof User> | undefined
|
132
144
|
|
133
145
|
// Properties mask - allow mode
|
134
|
-
const allowMask = Mask.create<User>([
|
146
|
+
const allowMask = Mask.create<User>([`name`, `email`])
|
135
147
|
const allowed = Mask.apply(user, allowMask)
|
136
148
|
// Result is a union due to mask being a union type
|
137
149
|
type AllowedType = typeof allowed
|