@undefineds.co/drizzle-solid 0.2.6
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/CHANGELOG-DRAFT.md +444 -0
- package/LICENSE +21 -0
- package/README.md +563 -0
- package/dist/core/aggregates.d.ts +19 -0
- package/dist/core/aggregates.d.ts.map +1 -0
- package/dist/core/aggregates.js +51 -0
- package/dist/core/aggregates.js.map +1 -0
- package/dist/core/ast-to-sparql.d.ts +62 -0
- package/dist/core/ast-to-sparql.d.ts.map +1 -0
- package/dist/core/ast-to-sparql.js +107 -0
- package/dist/core/ast-to-sparql.js.map +1 -0
- package/dist/core/compile-time-types.d.ts +37 -0
- package/dist/core/compile-time-types.d.ts.map +1 -0
- package/dist/core/compile-time-types.js +71 -0
- package/dist/core/compile-time-types.js.map +1 -0
- package/dist/core/comunica-patch.d.ts +7 -0
- package/dist/core/comunica-patch.d.ts.map +1 -0
- package/dist/core/comunica-patch.js +76 -0
- package/dist/core/comunica-patch.js.map +1 -0
- package/dist/core/conflict-resolution.d.ts +110 -0
- package/dist/core/conflict-resolution.d.ts.map +1 -0
- package/dist/core/conflict-resolution.js +251 -0
- package/dist/core/conflict-resolution.js.map +1 -0
- package/dist/core/discovery/composite-discovery.d.ts +18 -0
- package/dist/core/discovery/composite-discovery.d.ts.map +1 -0
- package/dist/core/discovery/composite-discovery.js +118 -0
- package/dist/core/discovery/composite-discovery.js.map +1 -0
- package/dist/core/discovery/index.d.ts +7 -0
- package/dist/core/discovery/index.d.ts.map +1 -0
- package/dist/core/discovery/index.js +23 -0
- package/dist/core/discovery/index.js.map +1 -0
- package/dist/core/discovery/interop-discovery.d.ts +36 -0
- package/dist/core/discovery/interop-discovery.d.ts.map +1 -0
- package/dist/core/discovery/interop-discovery.js +646 -0
- package/dist/core/discovery/interop-discovery.js.map +1 -0
- package/dist/core/discovery/interop-tables.d.ts +37 -0
- package/dist/core/discovery/interop-tables.d.ts.map +1 -0
- package/dist/core/discovery/interop-tables.js +68 -0
- package/dist/core/discovery/interop-tables.js.map +1 -0
- package/dist/core/discovery/interop-types.d.ts +36 -0
- package/dist/core/discovery/interop-types.d.ts.map +1 -0
- package/dist/core/discovery/interop-types.js +42 -0
- package/dist/core/discovery/interop-types.js.map +1 -0
- package/dist/core/discovery/provider-cache.d.ts +99 -0
- package/dist/core/discovery/provider-cache.d.ts.map +1 -0
- package/dist/core/discovery/provider-cache.js +296 -0
- package/dist/core/discovery/provider-cache.js.map +1 -0
- package/dist/core/discovery/typeindex-discovery.d.ts +30 -0
- package/dist/core/discovery/typeindex-discovery.d.ts.map +1 -0
- package/dist/core/discovery/typeindex-discovery.js +136 -0
- package/dist/core/discovery/typeindex-discovery.js.map +1 -0
- package/dist/core/discovery/types.d.ts +128 -0
- package/dist/core/discovery/types.d.ts.map +1 -0
- package/dist/core/discovery/types.js +3 -0
- package/dist/core/discovery/types.js.map +1 -0
- package/dist/core/execution/index.d.ts +14 -0
- package/dist/core/execution/index.d.ts.map +1 -0
- package/dist/core/execution/index.js +20 -0
- package/dist/core/execution/index.js.map +1 -0
- package/dist/core/execution/ldp-executor.d.ts +66 -0
- package/dist/core/execution/ldp-executor.d.ts.map +1 -0
- package/dist/core/execution/ldp-executor.js +584 -0
- package/dist/core/execution/ldp-executor.js.map +1 -0
- package/dist/core/execution/ldp-strategy.d.ts +53 -0
- package/dist/core/execution/ldp-strategy.d.ts.map +1 -0
- package/dist/core/execution/ldp-strategy.js +104 -0
- package/dist/core/execution/ldp-strategy.js.map +1 -0
- package/dist/core/execution/pod-executor-types.d.ts +9 -0
- package/dist/core/execution/pod-executor-types.d.ts.map +1 -0
- package/dist/core/execution/pod-executor-types.js +3 -0
- package/dist/core/execution/pod-executor-types.js.map +1 -0
- package/dist/core/execution/pod-executor.d.ts +59 -0
- package/dist/core/execution/pod-executor.d.ts.map +1 -0
- package/dist/core/execution/pod-executor.js +221 -0
- package/dist/core/execution/pod-executor.js.map +1 -0
- package/dist/core/execution/sparql-strategy.d.ts +80 -0
- package/dist/core/execution/sparql-strategy.d.ts.map +1 -0
- package/dist/core/execution/sparql-strategy.js +306 -0
- package/dist/core/execution/sparql-strategy.js.map +1 -0
- package/dist/core/execution/strategy-factory.d.ts +54 -0
- package/dist/core/execution/strategy-factory.d.ts.map +1 -0
- package/dist/core/execution/strategy-factory.js +78 -0
- package/dist/core/execution/strategy-factory.js.map +1 -0
- package/dist/core/execution/types.d.ts +80 -0
- package/dist/core/execution/types.d.ts.map +1 -0
- package/dist/core/execution/types.js +8 -0
- package/dist/core/execution/types.js.map +1 -0
- package/dist/core/expressions.d.ts +35 -0
- package/dist/core/expressions.d.ts.map +1 -0
- package/dist/core/expressions.js +53 -0
- package/dist/core/expressions.js.map +1 -0
- package/dist/core/federated/executor.d.ts +95 -0
- package/dist/core/federated/executor.d.ts.map +1 -0
- package/dist/core/federated/executor.js +425 -0
- package/dist/core/federated/executor.js.map +1 -0
- package/dist/core/federated/index.d.ts +3 -0
- package/dist/core/federated/index.d.ts.map +1 -0
- package/dist/core/federated/index.js +19 -0
- package/dist/core/federated/index.js.map +1 -0
- package/dist/core/federated/types.d.ts +69 -0
- package/dist/core/federated/types.d.ts.map +1 -0
- package/dist/core/federated/types.js +8 -0
- package/dist/core/federated/types.js.map +1 -0
- package/dist/core/notifications/channels/base-channel.d.ts +29 -0
- package/dist/core/notifications/channels/base-channel.d.ts.map +1 -0
- package/dist/core/notifications/channels/base-channel.js +63 -0
- package/dist/core/notifications/channels/base-channel.js.map +1 -0
- package/dist/core/notifications/channels/index.d.ts +4 -0
- package/dist/core/notifications/channels/index.d.ts.map +1 -0
- package/dist/core/notifications/channels/index.js +11 -0
- package/dist/core/notifications/channels/index.js.map +1 -0
- package/dist/core/notifications/channels/sse-channel.d.ts +50 -0
- package/dist/core/notifications/channels/sse-channel.d.ts.map +1 -0
- package/dist/core/notifications/channels/sse-channel.js +210 -0
- package/dist/core/notifications/channels/sse-channel.js.map +1 -0
- package/dist/core/notifications/channels/websocket-channel.d.ts +16 -0
- package/dist/core/notifications/channels/websocket-channel.d.ts.map +1 -0
- package/dist/core/notifications/channels/websocket-channel.js +87 -0
- package/dist/core/notifications/channels/websocket-channel.js.map +1 -0
- package/dist/core/notifications/index.d.ts +3 -0
- package/dist/core/notifications/index.d.ts.map +1 -0
- package/dist/core/notifications/index.js +6 -0
- package/dist/core/notifications/index.js.map +1 -0
- package/dist/core/notifications/notifications-client.d.ts +87 -0
- package/dist/core/notifications/notifications-client.d.ts.map +1 -0
- package/dist/core/notifications/notifications-client.js +460 -0
- package/dist/core/notifications/notifications-client.js.map +1 -0
- package/dist/core/notifications/types.d.ts +228 -0
- package/dist/core/notifications/types.d.ts.map +1 -0
- package/dist/core/notifications/types.js +7 -0
- package/dist/core/notifications/types.js.map +1 -0
- package/dist/core/pod-database.d.ts +383 -0
- package/dist/core/pod-database.d.ts.map +1 -0
- package/dist/core/pod-database.js +1212 -0
- package/dist/core/pod-database.js.map +1 -0
- package/dist/core/pod-dialect.d.ts +294 -0
- package/dist/core/pod-dialect.d.ts.map +1 -0
- package/dist/core/pod-dialect.js +1300 -0
- package/dist/core/pod-dialect.js.map +1 -0
- package/dist/core/pod-discovery.d.ts +20 -0
- package/dist/core/pod-discovery.d.ts.map +1 -0
- package/dist/core/pod-discovery.js +115 -0
- package/dist/core/pod-discovery.js.map +1 -0
- package/dist/core/pod-session.d.ts +44 -0
- package/dist/core/pod-session.d.ts.map +1 -0
- package/dist/core/pod-session.js +116 -0
- package/dist/core/pod-session.js.map +1 -0
- package/dist/core/pod-table.d.ts +710 -0
- package/dist/core/pod-table.d.ts.map +1 -0
- package/dist/core/pod-table.js +1300 -0
- package/dist/core/pod-table.js.map +1 -0
- package/dist/core/profile-manager.d.ts +90 -0
- package/dist/core/profile-manager.d.ts.map +1 -0
- package/dist/core/profile-manager.js +168 -0
- package/dist/core/profile-manager.js.map +1 -0
- package/dist/core/publish-manager.d.ts +90 -0
- package/dist/core/publish-manager.d.ts.map +1 -0
- package/dist/core/publish-manager.js +147 -0
- package/dist/core/publish-manager.js.map +1 -0
- package/dist/core/query-builders/delete-query-builder.d.ts +36 -0
- package/dist/core/query-builders/delete-query-builder.d.ts.map +1 -0
- package/dist/core/query-builders/delete-query-builder.js +144 -0
- package/dist/core/query-builders/delete-query-builder.js.map +1 -0
- package/dist/core/query-builders/helpers.d.ts +4 -0
- package/dist/core/query-builders/helpers.d.ts.map +1 -0
- package/dist/core/query-builders/helpers.js +30 -0
- package/dist/core/query-builders/helpers.js.map +1 -0
- package/dist/core/query-builders/index.d.ts +6 -0
- package/dist/core/query-builders/index.d.ts.map +1 -0
- package/dist/core/query-builders/index.js +12 -0
- package/dist/core/query-builders/index.js.map +1 -0
- package/dist/core/query-builders/insert-query-builder.d.ts +27 -0
- package/dist/core/query-builders/insert-query-builder.d.ts.map +1 -0
- package/dist/core/query-builders/insert-query-builder.js +128 -0
- package/dist/core/query-builders/insert-query-builder.js.map +1 -0
- package/dist/core/query-builders/select-query-builder.d.ts +106 -0
- package/dist/core/query-builders/select-query-builder.d.ts.map +1 -0
- package/dist/core/query-builders/select-query-builder.js +1264 -0
- package/dist/core/query-builders/select-query-builder.js.map +1 -0
- package/dist/core/query-builders/types.d.ts +37 -0
- package/dist/core/query-builders/types.d.ts.map +1 -0
- package/dist/core/query-builders/types.js +3 -0
- package/dist/core/query-builders/types.js.map +1 -0
- package/dist/core/query-builders/update-query-builder.d.ts +38 -0
- package/dist/core/query-builders/update-query-builder.d.ts.map +1 -0
- package/dist/core/query-builders/update-query-builder.js +168 -0
- package/dist/core/query-builders/update-query-builder.js.map +1 -0
- package/dist/core/query-conditions.d.ts +52 -0
- package/dist/core/query-conditions.d.ts.map +1 -0
- package/dist/core/query-conditions.js +134 -0
- package/dist/core/query-conditions.js.map +1 -0
- package/dist/core/rdf-constants.d.ts +16 -0
- package/dist/core/rdf-constants.d.ts.map +1 -0
- package/dist/core/rdf-constants.js +38 -0
- package/dist/core/rdf-constants.js.map +1 -0
- package/dist/core/rdf-schema-parser.d.ts +34 -0
- package/dist/core/rdf-schema-parser.d.ts.map +1 -0
- package/dist/core/rdf-schema-parser.js +143 -0
- package/dist/core/rdf-schema-parser.js.map +1 -0
- package/dist/core/resource-resolver/base-resolver.d.ts +29 -0
- package/dist/core/resource-resolver/base-resolver.d.ts.map +1 -0
- package/dist/core/resource-resolver/base-resolver.js +82 -0
- package/dist/core/resource-resolver/base-resolver.js.map +1 -0
- package/dist/core/resource-resolver/document-resolver.d.ts +20 -0
- package/dist/core/resource-resolver/document-resolver.d.ts.map +1 -0
- package/dist/core/resource-resolver/document-resolver.js +105 -0
- package/dist/core/resource-resolver/document-resolver.js.map +1 -0
- package/dist/core/resource-resolver/factory.d.ts +27 -0
- package/dist/core/resource-resolver/factory.d.ts.map +1 -0
- package/dist/core/resource-resolver/factory.js +58 -0
- package/dist/core/resource-resolver/factory.js.map +1 -0
- package/dist/core/resource-resolver/fragment-resolver.d.ts +20 -0
- package/dist/core/resource-resolver/fragment-resolver.d.ts.map +1 -0
- package/dist/core/resource-resolver/fragment-resolver.js +60 -0
- package/dist/core/resource-resolver/fragment-resolver.js.map +1 -0
- package/dist/core/resource-resolver/index.d.ts +11 -0
- package/dist/core/resource-resolver/index.d.ts.map +1 -0
- package/dist/core/resource-resolver/index.js +18 -0
- package/dist/core/resource-resolver/index.js.map +1 -0
- package/dist/core/resource-resolver/types.d.ts +57 -0
- package/dist/core/resource-resolver/types.d.ts.map +1 -0
- package/dist/core/resource-resolver/types.js +9 -0
- package/dist/core/resource-resolver/types.js.map +1 -0
- package/dist/core/runtime/pod-runtime.d.ts +34 -0
- package/dist/core/runtime/pod-runtime.d.ts.map +1 -0
- package/dist/core/runtime/pod-runtime.js +125 -0
- package/dist/core/runtime/pod-runtime.js.map +1 -0
- package/dist/core/schema/columns.d.ts +74 -0
- package/dist/core/schema/columns.d.ts.map +1 -0
- package/dist/core/schema/columns.js +295 -0
- package/dist/core/schema/columns.js.map +1 -0
- package/dist/core/schema/defs.d.ts +92 -0
- package/dist/core/schema/defs.d.ts.map +1 -0
- package/dist/core/schema/defs.js +43 -0
- package/dist/core/schema/defs.js.map +1 -0
- package/dist/core/schema/factories.d.ts +29 -0
- package/dist/core/schema/factories.d.ts.map +1 -0
- package/dist/core/schema/factories.js +117 -0
- package/dist/core/schema/factories.js.map +1 -0
- package/dist/core/schema/index.d.ts +9 -0
- package/dist/core/schema/index.d.ts.map +1 -0
- package/dist/core/schema/index.js +25 -0
- package/dist/core/schema/index.js.map +1 -0
- package/dist/core/schema/pod-table.d.ts +93 -0
- package/dist/core/schema/pod-table.d.ts.map +1 -0
- package/dist/core/schema/pod-table.js +294 -0
- package/dist/core/schema/pod-table.js.map +1 -0
- package/dist/core/schema/relations.d.ts +26 -0
- package/dist/core/schema/relations.d.ts.map +1 -0
- package/dist/core/schema/relations.js +36 -0
- package/dist/core/schema/relations.js.map +1 -0
- package/dist/core/schema/solid-schema.d.ts +19 -0
- package/dist/core/schema/solid-schema.d.ts.map +1 -0
- package/dist/core/schema/solid-schema.js +93 -0
- package/dist/core/schema/solid-schema.js.map +1 -0
- package/dist/core/schema/types.d.ts +45 -0
- package/dist/core/schema/types.d.ts.map +1 -0
- package/dist/core/schema/types.js +3 -0
- package/dist/core/schema/types.js.map +1 -0
- package/dist/core/schema/utils.d.ts +15 -0
- package/dist/core/schema/utils.d.ts.map +1 -0
- package/dist/core/schema/utils.js +44 -0
- package/dist/core/schema/utils.js.map +1 -0
- package/dist/core/select-plan.d.ts +45 -0
- package/dist/core/select-plan.d.ts.map +1 -0
- package/dist/core/select-plan.js +3 -0
- package/dist/core/select-plan.js.map +1 -0
- package/dist/core/services/pod-services.d.ts +41 -0
- package/dist/core/services/pod-services.d.ts.map +1 -0
- package/dist/core/services/pod-services.js +79 -0
- package/dist/core/services/pod-services.js.map +1 -0
- package/dist/core/shape/generator.d.ts +12 -0
- package/dist/core/shape/generator.d.ts.map +1 -0
- package/dist/core/shape/generator.js +109 -0
- package/dist/core/shape/generator.js.map +1 -0
- package/dist/core/shape/index.d.ts +4 -0
- package/dist/core/shape/index.d.ts.map +1 -0
- package/dist/core/shape/index.js +20 -0
- package/dist/core/shape/index.js.map +1 -0
- package/dist/core/shape/manager.d.ts +45 -0
- package/dist/core/shape/manager.d.ts.map +1 -0
- package/dist/core/shape/manager.js +393 -0
- package/dist/core/shape/manager.js.map +1 -0
- package/dist/core/shape/shacl-parser.d.ts +19 -0
- package/dist/core/shape/shacl-parser.d.ts.map +1 -0
- package/dist/core/shape/shacl-parser.js +215 -0
- package/dist/core/shape/shacl-parser.js.map +1 -0
- package/dist/core/shape/shacl.d.ts +11 -0
- package/dist/core/shape/shacl.d.ts.map +1 -0
- package/dist/core/shape/shacl.js +130 -0
- package/dist/core/shape/shacl.js.map +1 -0
- package/dist/core/shape/types.d.ts +149 -0
- package/dist/core/shape/types.d.ts.map +1 -0
- package/dist/core/shape/types.js +45 -0
- package/dist/core/shape/types.js.map +1 -0
- package/dist/core/shape/validator.d.ts +11 -0
- package/dist/core/shape/validator.d.ts.map +1 -0
- package/dist/core/shape/validator.js +232 -0
- package/dist/core/shape/validator.js.map +1 -0
- package/dist/core/solid-n3-client.d.ts +86 -0
- package/dist/core/solid-n3-client.d.ts.map +1 -0
- package/dist/core/solid-n3-client.js +279 -0
- package/dist/core/solid-n3-client.js.map +1 -0
- package/dist/core/sparql/builder/expression-builder.d.ts +42 -0
- package/dist/core/sparql/builder/expression-builder.d.ts.map +1 -0
- package/dist/core/sparql/builder/expression-builder.js +259 -0
- package/dist/core/sparql/builder/expression-builder.js.map +1 -0
- package/dist/core/sparql/builder/select-builder.d.ts +35 -0
- package/dist/core/sparql/builder/select-builder.d.ts.map +1 -0
- package/dist/core/sparql/builder/select-builder.js +446 -0
- package/dist/core/sparql/builder/select-builder.js.map +1 -0
- package/dist/core/sparql/builder/update-builder.d.ts +33 -0
- package/dist/core/sparql/builder/update-builder.d.ts.map +1 -0
- package/dist/core/sparql/builder/update-builder.js +523 -0
- package/dist/core/sparql/builder/update-builder.js.map +1 -0
- package/dist/core/sparql/helpers.d.ts +19 -0
- package/dist/core/sparql/helpers.d.ts.map +1 -0
- package/dist/core/sparql/helpers.js +172 -0
- package/dist/core/sparql/helpers.js.map +1 -0
- package/dist/core/sparql/types.d.ts +10 -0
- package/dist/core/sparql/types.d.ts.map +1 -0
- package/dist/core/sparql/types.js +3 -0
- package/dist/core/sparql/types.js.map +1 -0
- package/dist/core/sparql-executor.d.ts +34 -0
- package/dist/core/sparql-executor.d.ts.map +1 -0
- package/dist/core/sparql-executor.js +712 -0
- package/dist/core/sparql-executor.js.map +1 -0
- package/dist/core/subject/index.d.ts +29 -0
- package/dist/core/subject/index.d.ts.map +1 -0
- package/dist/core/subject/index.js +51 -0
- package/dist/core/subject/index.js.map +1 -0
- package/dist/core/subject/resolver.d.ts +92 -0
- package/dist/core/subject/resolver.d.ts.map +1 -0
- package/dist/core/subject/resolver.js +359 -0
- package/dist/core/subject/resolver.js.map +1 -0
- package/dist/core/subject/types.d.ts +90 -0
- package/dist/core/subject/types.d.ts.map +1 -0
- package/dist/core/subject/types.js +8 -0
- package/dist/core/subject/types.js.map +1 -0
- package/dist/core/triple/builder.d.ts +86 -0
- package/dist/core/triple/builder.d.ts.map +1 -0
- package/dist/core/triple/builder.js +304 -0
- package/dist/core/triple/builder.js.map +1 -0
- package/dist/core/triple/handlers/array.d.ts +23 -0
- package/dist/core/triple/handlers/array.d.ts.map +1 -0
- package/dist/core/triple/handlers/array.js +119 -0
- package/dist/core/triple/handlers/array.js.map +1 -0
- package/dist/core/triple/handlers/default.d.ts +20 -0
- package/dist/core/triple/handlers/default.d.ts.map +1 -0
- package/dist/core/triple/handlers/default.js +96 -0
- package/dist/core/triple/handlers/default.js.map +1 -0
- package/dist/core/triple/handlers/index.d.ts +35 -0
- package/dist/core/triple/handlers/index.d.ts.map +1 -0
- package/dist/core/triple/handlers/index.js +67 -0
- package/dist/core/triple/handlers/index.js.map +1 -0
- package/dist/core/triple/handlers/inline.d.ts +35 -0
- package/dist/core/triple/handlers/inline.d.ts.map +1 -0
- package/dist/core/triple/handlers/inline.js +190 -0
- package/dist/core/triple/handlers/inline.js.map +1 -0
- package/dist/core/triple/handlers/inverse.d.ts +22 -0
- package/dist/core/triple/handlers/inverse.d.ts.map +1 -0
- package/dist/core/triple/handlers/inverse.js +68 -0
- package/dist/core/triple/handlers/inverse.js.map +1 -0
- package/dist/core/triple/handlers/uri.d.ts +28 -0
- package/dist/core/triple/handlers/uri.d.ts.map +1 -0
- package/dist/core/triple/handlers/uri.js +66 -0
- package/dist/core/triple/handlers/uri.js.map +1 -0
- package/dist/core/triple/index.d.ts +9 -0
- package/dist/core/triple/index.d.ts.map +1 -0
- package/dist/core/triple/index.js +21 -0
- package/dist/core/triple/index.js.map +1 -0
- package/dist/core/triple/types.d.ts +152 -0
- package/dist/core/triple/types.d.ts.map +1 -0
- package/dist/core/triple/types.js +8 -0
- package/dist/core/triple/types.js.map +1 -0
- package/dist/core/typeindex-manager.d.ts +124 -0
- package/dist/core/typeindex-manager.d.ts.map +1 -0
- package/dist/core/typeindex-manager.js +662 -0
- package/dist/core/typeindex-manager.js.map +1 -0
- package/dist/core/types.d.ts +57 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +4 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/uri/index.d.ts +8 -0
- package/dist/core/uri/index.d.ts.map +1 -0
- package/dist/core/uri/index.js +12 -0
- package/dist/core/uri/index.js.map +1 -0
- package/dist/core/uri/resolver.d.ts +79 -0
- package/dist/core/uri/resolver.d.ts.map +1 -0
- package/dist/core/uri/resolver.js +458 -0
- package/dist/core/uri/resolver.js.map +1 -0
- package/dist/core/uri/types.d.ts +143 -0
- package/dist/core/uri/types.d.ts.map +1 -0
- package/dist/core/uri/types.js +8 -0
- package/dist/core/uri/types.js.map +1 -0
- package/dist/core/utils/origin-auth.d.ts +28 -0
- package/dist/core/utils/origin-auth.d.ts.map +1 -0
- package/dist/core/utils/origin-auth.js +46 -0
- package/dist/core/utils/origin-auth.js.map +1 -0
- package/dist/core/utils/pod-root.d.ts +15 -0
- package/dist/core/utils/pod-root.d.ts.map +1 -0
- package/dist/core/utils/pod-root.js +72 -0
- package/dist/core/utils/pod-root.js.map +1 -0
- package/dist/core/zod-integration.d.ts +95 -0
- package/dist/core/zod-integration.d.ts.map +1 -0
- package/dist/core/zod-integration.js +236 -0
- package/dist/core/zod-integration.js.map +1 -0
- package/dist/driver.d.ts +23 -0
- package/dist/driver.d.ts.map +1 -0
- package/dist/driver.js +34 -0
- package/dist/driver.js.map +1 -0
- package/dist/esm/core/aggregates.d.ts +19 -0
- package/dist/esm/core/aggregates.d.ts.map +1 -0
- package/dist/esm/core/aggregates.js +43 -0
- package/dist/esm/core/aggregates.js.map +1 -0
- package/dist/esm/core/ast-to-sparql.d.ts +62 -0
- package/dist/esm/core/ast-to-sparql.d.ts.map +1 -0
- package/dist/esm/core/ast-to-sparql.js +103 -0
- package/dist/esm/core/ast-to-sparql.js.map +1 -0
- package/dist/esm/core/compile-time-types.d.ts +37 -0
- package/dist/esm/core/compile-time-types.d.ts.map +1 -0
- package/dist/esm/core/compile-time-types.js +64 -0
- package/dist/esm/core/compile-time-types.js.map +1 -0
- package/dist/esm/core/comunica-patch.d.ts +7 -0
- package/dist/esm/core/comunica-patch.d.ts.map +1 -0
- package/dist/esm/core/comunica-patch.js +76 -0
- package/dist/esm/core/comunica-patch.js.map +1 -0
- package/dist/esm/core/conflict-resolution.d.ts +110 -0
- package/dist/esm/core/conflict-resolution.d.ts.map +1 -0
- package/dist/esm/core/conflict-resolution.js +245 -0
- package/dist/esm/core/conflict-resolution.js.map +1 -0
- package/dist/esm/core/discovery/composite-discovery.d.ts +18 -0
- package/dist/esm/core/discovery/composite-discovery.d.ts.map +1 -0
- package/dist/esm/core/discovery/composite-discovery.js +114 -0
- package/dist/esm/core/discovery/composite-discovery.js.map +1 -0
- package/dist/esm/core/discovery/index.d.ts +7 -0
- package/dist/esm/core/discovery/index.d.ts.map +1 -0
- package/dist/esm/core/discovery/index.js +7 -0
- package/dist/esm/core/discovery/index.js.map +1 -0
- package/dist/esm/core/discovery/interop-discovery.d.ts +36 -0
- package/dist/esm/core/discovery/interop-discovery.d.ts.map +1 -0
- package/dist/esm/core/discovery/interop-discovery.js +642 -0
- package/dist/esm/core/discovery/interop-discovery.js.map +1 -0
- package/dist/esm/core/discovery/interop-tables.d.ts +37 -0
- package/dist/esm/core/discovery/interop-tables.d.ts.map +1 -0
- package/dist/esm/core/discovery/interop-tables.js +65 -0
- package/dist/esm/core/discovery/interop-tables.js.map +1 -0
- package/dist/esm/core/discovery/interop-types.d.ts +36 -0
- package/dist/esm/core/discovery/interop-types.d.ts.map +1 -0
- package/dist/esm/core/discovery/interop-types.js +39 -0
- package/dist/esm/core/discovery/interop-types.js.map +1 -0
- package/dist/esm/core/discovery/provider-cache.d.ts +99 -0
- package/dist/esm/core/discovery/provider-cache.d.ts.map +1 -0
- package/dist/esm/core/discovery/provider-cache.js +292 -0
- package/dist/esm/core/discovery/provider-cache.js.map +1 -0
- package/dist/esm/core/discovery/typeindex-discovery.d.ts +30 -0
- package/dist/esm/core/discovery/typeindex-discovery.d.ts.map +1 -0
- package/dist/esm/core/discovery/typeindex-discovery.js +132 -0
- package/dist/esm/core/discovery/typeindex-discovery.js.map +1 -0
- package/dist/esm/core/discovery/types.d.ts +128 -0
- package/dist/esm/core/discovery/types.d.ts.map +1 -0
- package/dist/esm/core/discovery/types.js +2 -0
- package/dist/esm/core/discovery/types.js.map +1 -0
- package/dist/esm/core/execution/index.d.ts +14 -0
- package/dist/esm/core/execution/index.d.ts.map +1 -0
- package/dist/esm/core/execution/index.js +13 -0
- package/dist/esm/core/execution/index.js.map +1 -0
- package/dist/esm/core/execution/ldp-executor.d.ts +66 -0
- package/dist/esm/core/execution/ldp-executor.d.ts.map +1 -0
- package/dist/esm/core/execution/ldp-executor.js +580 -0
- package/dist/esm/core/execution/ldp-executor.js.map +1 -0
- package/dist/esm/core/execution/ldp-strategy.d.ts +53 -0
- package/dist/esm/core/execution/ldp-strategy.d.ts.map +1 -0
- package/dist/esm/core/execution/ldp-strategy.js +100 -0
- package/dist/esm/core/execution/ldp-strategy.js.map +1 -0
- package/dist/esm/core/execution/pod-executor-types.d.ts +9 -0
- package/dist/esm/core/execution/pod-executor-types.d.ts.map +1 -0
- package/dist/esm/core/execution/pod-executor-types.js +2 -0
- package/dist/esm/core/execution/pod-executor-types.js.map +1 -0
- package/dist/esm/core/execution/pod-executor.d.ts +59 -0
- package/dist/esm/core/execution/pod-executor.d.ts.map +1 -0
- package/dist/esm/core/execution/pod-executor.js +217 -0
- package/dist/esm/core/execution/pod-executor.js.map +1 -0
- package/dist/esm/core/execution/sparql-strategy.d.ts +80 -0
- package/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -0
- package/dist/esm/core/execution/sparql-strategy.js +269 -0
- package/dist/esm/core/execution/sparql-strategy.js.map +1 -0
- package/dist/esm/core/execution/strategy-factory.d.ts +54 -0
- package/dist/esm/core/execution/strategy-factory.d.ts.map +1 -0
- package/dist/esm/core/execution/strategy-factory.js +74 -0
- package/dist/esm/core/execution/strategy-factory.js.map +1 -0
- package/dist/esm/core/execution/types.d.ts +80 -0
- package/dist/esm/core/execution/types.d.ts.map +1 -0
- package/dist/esm/core/execution/types.js +7 -0
- package/dist/esm/core/execution/types.js.map +1 -0
- package/dist/esm/core/expressions.d.ts +35 -0
- package/dist/esm/core/expressions.d.ts.map +1 -0
- package/dist/esm/core/expressions.js +45 -0
- package/dist/esm/core/expressions.js.map +1 -0
- package/dist/esm/core/federated/executor.d.ts +95 -0
- package/dist/esm/core/federated/executor.d.ts.map +1 -0
- package/dist/esm/core/federated/executor.js +421 -0
- package/dist/esm/core/federated/executor.js.map +1 -0
- package/dist/esm/core/federated/index.d.ts +3 -0
- package/dist/esm/core/federated/index.d.ts.map +1 -0
- package/dist/esm/core/federated/index.js +3 -0
- package/dist/esm/core/federated/index.js.map +1 -0
- package/dist/esm/core/federated/types.d.ts +69 -0
- package/dist/esm/core/federated/types.d.ts.map +1 -0
- package/dist/esm/core/federated/types.js +7 -0
- package/dist/esm/core/federated/types.js.map +1 -0
- package/dist/esm/core/notifications/channels/base-channel.d.ts +29 -0
- package/dist/esm/core/notifications/channels/base-channel.d.ts.map +1 -0
- package/dist/esm/core/notifications/channels/base-channel.js +58 -0
- package/dist/esm/core/notifications/channels/base-channel.js.map +1 -0
- package/dist/esm/core/notifications/channels/index.d.ts +4 -0
- package/dist/esm/core/notifications/channels/index.d.ts.map +1 -0
- package/dist/esm/core/notifications/channels/index.js +4 -0
- package/dist/esm/core/notifications/channels/index.js.map +1 -0
- package/dist/esm/core/notifications/channels/sse-channel.d.ts +50 -0
- package/dist/esm/core/notifications/channels/sse-channel.d.ts.map +1 -0
- package/dist/esm/core/notifications/channels/sse-channel.js +206 -0
- package/dist/esm/core/notifications/channels/sse-channel.js.map +1 -0
- package/dist/esm/core/notifications/channels/websocket-channel.d.ts +16 -0
- package/dist/esm/core/notifications/channels/websocket-channel.d.ts.map +1 -0
- package/dist/esm/core/notifications/channels/websocket-channel.js +83 -0
- package/dist/esm/core/notifications/channels/websocket-channel.js.map +1 -0
- package/dist/esm/core/notifications/index.d.ts +3 -0
- package/dist/esm/core/notifications/index.d.ts.map +1 -0
- package/dist/esm/core/notifications/index.js +2 -0
- package/dist/esm/core/notifications/index.js.map +1 -0
- package/dist/esm/core/notifications/notifications-client.d.ts +87 -0
- package/dist/esm/core/notifications/notifications-client.d.ts.map +1 -0
- package/dist/esm/core/notifications/notifications-client.js +456 -0
- package/dist/esm/core/notifications/notifications-client.js.map +1 -0
- package/dist/esm/core/notifications/types.d.ts +228 -0
- package/dist/esm/core/notifications/types.d.ts.map +1 -0
- package/dist/esm/core/notifications/types.js +6 -0
- package/dist/esm/core/notifications/types.js.map +1 -0
- package/dist/esm/core/pod-database.d.ts +383 -0
- package/dist/esm/core/pod-database.d.ts.map +1 -0
- package/dist/esm/core/pod-database.js +1175 -0
- package/dist/esm/core/pod-database.js.map +1 -0
- package/dist/esm/core/pod-dialect.d.ts +294 -0
- package/dist/esm/core/pod-dialect.d.ts.map +1 -0
- package/dist/esm/core/pod-dialect.js +1296 -0
- package/dist/esm/core/pod-dialect.js.map +1 -0
- package/dist/esm/core/pod-discovery.d.ts +20 -0
- package/dist/esm/core/pod-discovery.d.ts.map +1 -0
- package/dist/esm/core/pod-discovery.js +109 -0
- package/dist/esm/core/pod-discovery.js.map +1 -0
- package/dist/esm/core/pod-session.d.ts +44 -0
- package/dist/esm/core/pod-session.d.ts.map +1 -0
- package/dist/esm/core/pod-session.js +109 -0
- package/dist/esm/core/pod-session.js.map +1 -0
- package/dist/esm/core/pod-table.d.ts +710 -0
- package/dist/esm/core/pod-table.d.ts.map +1 -0
- package/dist/esm/core/pod-table.js +1249 -0
- package/dist/esm/core/pod-table.js.map +1 -0
- package/dist/esm/core/profile-manager.d.ts +90 -0
- package/dist/esm/core/profile-manager.d.ts.map +1 -0
- package/dist/esm/core/profile-manager.js +164 -0
- package/dist/esm/core/profile-manager.js.map +1 -0
- package/dist/esm/core/publish-manager.d.ts +90 -0
- package/dist/esm/core/publish-manager.d.ts.map +1 -0
- package/dist/esm/core/publish-manager.js +143 -0
- package/dist/esm/core/publish-manager.js.map +1 -0
- package/dist/esm/core/query-builders/delete-query-builder.d.ts +36 -0
- package/dist/esm/core/query-builders/delete-query-builder.d.ts.map +1 -0
- package/dist/esm/core/query-builders/delete-query-builder.js +140 -0
- package/dist/esm/core/query-builders/delete-query-builder.js.map +1 -0
- package/dist/esm/core/query-builders/helpers.d.ts +4 -0
- package/dist/esm/core/query-builders/helpers.d.ts.map +1 -0
- package/dist/esm/core/query-builders/helpers.js +26 -0
- package/dist/esm/core/query-builders/helpers.js.map +1 -0
- package/dist/esm/core/query-builders/index.d.ts +6 -0
- package/dist/esm/core/query-builders/index.d.ts.map +1 -0
- package/dist/esm/core/query-builders/index.js +5 -0
- package/dist/esm/core/query-builders/index.js.map +1 -0
- package/dist/esm/core/query-builders/insert-query-builder.d.ts +27 -0
- package/dist/esm/core/query-builders/insert-query-builder.d.ts.map +1 -0
- package/dist/esm/core/query-builders/insert-query-builder.js +124 -0
- package/dist/esm/core/query-builders/insert-query-builder.js.map +1 -0
- package/dist/esm/core/query-builders/select-query-builder.d.ts +106 -0
- package/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -0
- package/dist/esm/core/query-builders/select-query-builder.js +1260 -0
- package/dist/esm/core/query-builders/select-query-builder.js.map +1 -0
- package/dist/esm/core/query-builders/types.d.ts +37 -0
- package/dist/esm/core/query-builders/types.d.ts.map +1 -0
- package/dist/esm/core/query-builders/types.js +2 -0
- package/dist/esm/core/query-builders/types.js.map +1 -0
- package/dist/esm/core/query-builders/update-query-builder.d.ts +38 -0
- package/dist/esm/core/query-builders/update-query-builder.d.ts.map +1 -0
- package/dist/esm/core/query-builders/update-query-builder.js +164 -0
- package/dist/esm/core/query-builders/update-query-builder.js.map +1 -0
- package/dist/esm/core/query-conditions.d.ts +52 -0
- package/dist/esm/core/query-conditions.d.ts.map +1 -0
- package/dist/esm/core/query-conditions.js +111 -0
- package/dist/esm/core/query-conditions.js.map +1 -0
- package/dist/esm/core/rdf-constants.d.ts +16 -0
- package/dist/esm/core/rdf-constants.d.ts.map +1 -0
- package/dist/esm/core/rdf-constants.js +32 -0
- package/dist/esm/core/rdf-constants.js.map +1 -0
- package/dist/esm/core/rdf-schema-parser.d.ts +34 -0
- package/dist/esm/core/rdf-schema-parser.d.ts.map +1 -0
- package/dist/esm/core/rdf-schema-parser.js +136 -0
- package/dist/esm/core/rdf-schema-parser.js.map +1 -0
- package/dist/esm/core/resource-resolver/base-resolver.d.ts +29 -0
- package/dist/esm/core/resource-resolver/base-resolver.d.ts.map +1 -0
- package/dist/esm/core/resource-resolver/base-resolver.js +78 -0
- package/dist/esm/core/resource-resolver/base-resolver.js.map +1 -0
- package/dist/esm/core/resource-resolver/document-resolver.d.ts +20 -0
- package/dist/esm/core/resource-resolver/document-resolver.d.ts.map +1 -0
- package/dist/esm/core/resource-resolver/document-resolver.js +101 -0
- package/dist/esm/core/resource-resolver/document-resolver.js.map +1 -0
- package/dist/esm/core/resource-resolver/factory.d.ts +27 -0
- package/dist/esm/core/resource-resolver/factory.d.ts.map +1 -0
- package/dist/esm/core/resource-resolver/factory.js +53 -0
- package/dist/esm/core/resource-resolver/factory.js.map +1 -0
- package/dist/esm/core/resource-resolver/fragment-resolver.d.ts +20 -0
- package/dist/esm/core/resource-resolver/fragment-resolver.d.ts.map +1 -0
- package/dist/esm/core/resource-resolver/fragment-resolver.js +56 -0
- package/dist/esm/core/resource-resolver/fragment-resolver.js.map +1 -0
- package/dist/esm/core/resource-resolver/index.d.ts +11 -0
- package/dist/esm/core/resource-resolver/index.d.ts.map +1 -0
- package/dist/esm/core/resource-resolver/index.js +10 -0
- package/dist/esm/core/resource-resolver/index.js.map +1 -0
- package/dist/esm/core/resource-resolver/types.d.ts +57 -0
- package/dist/esm/core/resource-resolver/types.d.ts.map +1 -0
- package/dist/esm/core/resource-resolver/types.js +8 -0
- package/dist/esm/core/resource-resolver/types.js.map +1 -0
- package/dist/esm/core/runtime/pod-runtime.d.ts +34 -0
- package/dist/esm/core/runtime/pod-runtime.d.ts.map +1 -0
- package/dist/esm/core/runtime/pod-runtime.js +121 -0
- package/dist/esm/core/runtime/pod-runtime.js.map +1 -0
- package/dist/esm/core/schema/columns.d.ts +74 -0
- package/dist/esm/core/schema/columns.d.ts.map +1 -0
- package/dist/esm/core/schema/columns.js +282 -0
- package/dist/esm/core/schema/columns.js.map +1 -0
- package/dist/esm/core/schema/defs.d.ts +92 -0
- package/dist/esm/core/schema/defs.d.ts.map +1 -0
- package/dist/esm/core/schema/defs.js +36 -0
- package/dist/esm/core/schema/defs.js.map +1 -0
- package/dist/esm/core/schema/factories.d.ts +29 -0
- package/dist/esm/core/schema/factories.d.ts.map +1 -0
- package/dist/esm/core/schema/factories.js +89 -0
- package/dist/esm/core/schema/factories.js.map +1 -0
- package/dist/esm/core/schema/index.d.ts +9 -0
- package/dist/esm/core/schema/index.d.ts.map +1 -0
- package/dist/esm/core/schema/index.js +9 -0
- package/dist/esm/core/schema/index.js.map +1 -0
- package/dist/esm/core/schema/pod-table.d.ts +93 -0
- package/dist/esm/core/schema/pod-table.d.ts.map +1 -0
- package/dist/esm/core/schema/pod-table.js +289 -0
- package/dist/esm/core/schema/pod-table.js.map +1 -0
- package/dist/esm/core/schema/relations.d.ts +26 -0
- package/dist/esm/core/schema/relations.d.ts.map +1 -0
- package/dist/esm/core/schema/relations.js +33 -0
- package/dist/esm/core/schema/relations.js.map +1 -0
- package/dist/esm/core/schema/solid-schema.d.ts +19 -0
- package/dist/esm/core/schema/solid-schema.d.ts.map +1 -0
- package/dist/esm/core/schema/solid-schema.js +87 -0
- package/dist/esm/core/schema/solid-schema.js.map +1 -0
- package/dist/esm/core/schema/types.d.ts +45 -0
- package/dist/esm/core/schema/types.d.ts.map +1 -0
- package/dist/esm/core/schema/types.js +2 -0
- package/dist/esm/core/schema/types.js.map +1 -0
- package/dist/esm/core/schema/utils.d.ts +15 -0
- package/dist/esm/core/schema/utils.d.ts.map +1 -0
- package/dist/esm/core/schema/utils.js +40 -0
- package/dist/esm/core/schema/utils.js.map +1 -0
- package/dist/esm/core/select-plan.d.ts +45 -0
- package/dist/esm/core/select-plan.d.ts.map +1 -0
- package/dist/esm/core/select-plan.js +2 -0
- package/dist/esm/core/select-plan.js.map +1 -0
- package/dist/esm/core/services/pod-services.d.ts +41 -0
- package/dist/esm/core/services/pod-services.d.ts.map +1 -0
- package/dist/esm/core/services/pod-services.js +75 -0
- package/dist/esm/core/services/pod-services.js.map +1 -0
- package/dist/esm/core/shape/generator.d.ts +12 -0
- package/dist/esm/core/shape/generator.d.ts.map +1 -0
- package/dist/esm/core/shape/generator.js +106 -0
- package/dist/esm/core/shape/generator.js.map +1 -0
- package/dist/esm/core/shape/index.d.ts +4 -0
- package/dist/esm/core/shape/index.d.ts.map +1 -0
- package/dist/esm/core/shape/index.js +4 -0
- package/dist/esm/core/shape/index.js.map +1 -0
- package/dist/esm/core/shape/manager.d.ts +45 -0
- package/dist/esm/core/shape/manager.d.ts.map +1 -0
- package/dist/esm/core/shape/manager.js +389 -0
- package/dist/esm/core/shape/manager.js.map +1 -0
- package/dist/esm/core/shape/shacl-parser.d.ts +19 -0
- package/dist/esm/core/shape/shacl-parser.d.ts.map +1 -0
- package/dist/esm/core/shape/shacl-parser.js +210 -0
- package/dist/esm/core/shape/shacl-parser.js.map +1 -0
- package/dist/esm/core/shape/shacl.d.ts +11 -0
- package/dist/esm/core/shape/shacl.d.ts.map +1 -0
- package/dist/esm/core/shape/shacl.js +127 -0
- package/dist/esm/core/shape/shacl.js.map +1 -0
- package/dist/esm/core/shape/types.d.ts +149 -0
- package/dist/esm/core/shape/types.d.ts.map +1 -0
- package/dist/esm/core/shape/types.js +42 -0
- package/dist/esm/core/shape/types.js.map +1 -0
- package/dist/esm/core/shape/validator.d.ts +11 -0
- package/dist/esm/core/shape/validator.d.ts.map +1 -0
- package/dist/esm/core/shape/validator.js +229 -0
- package/dist/esm/core/shape/validator.js.map +1 -0
- package/dist/esm/core/solid-n3-client.d.ts +86 -0
- package/dist/esm/core/solid-n3-client.d.ts.map +1 -0
- package/dist/esm/core/solid-n3-client.js +275 -0
- package/dist/esm/core/solid-n3-client.js.map +1 -0
- package/dist/esm/core/sparql/builder/expression-builder.d.ts +42 -0
- package/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -0
- package/dist/esm/core/sparql/builder/expression-builder.js +255 -0
- package/dist/esm/core/sparql/builder/expression-builder.js.map +1 -0
- package/dist/esm/core/sparql/builder/select-builder.d.ts +35 -0
- package/dist/esm/core/sparql/builder/select-builder.d.ts.map +1 -0
- package/dist/esm/core/sparql/builder/select-builder.js +409 -0
- package/dist/esm/core/sparql/builder/select-builder.js.map +1 -0
- package/dist/esm/core/sparql/builder/update-builder.d.ts +33 -0
- package/dist/esm/core/sparql/builder/update-builder.d.ts.map +1 -0
- package/dist/esm/core/sparql/builder/update-builder.js +486 -0
- package/dist/esm/core/sparql/builder/update-builder.js.map +1 -0
- package/dist/esm/core/sparql/helpers.d.ts +19 -0
- package/dist/esm/core/sparql/helpers.d.ts.map +1 -0
- package/dist/esm/core/sparql/helpers.js +165 -0
- package/dist/esm/core/sparql/helpers.js.map +1 -0
- package/dist/esm/core/sparql/types.d.ts +10 -0
- package/dist/esm/core/sparql/types.d.ts.map +1 -0
- package/dist/esm/core/sparql/types.js +2 -0
- package/dist/esm/core/sparql/types.js.map +1 -0
- package/dist/esm/core/sparql-executor.d.ts +34 -0
- package/dist/esm/core/sparql-executor.d.ts.map +1 -0
- package/dist/esm/core/sparql-executor.js +708 -0
- package/dist/esm/core/sparql-executor.js.map +1 -0
- package/dist/esm/core/subject/index.d.ts +29 -0
- package/dist/esm/core/subject/index.d.ts.map +1 -0
- package/dist/esm/core/subject/index.js +49 -0
- package/dist/esm/core/subject/index.js.map +1 -0
- package/dist/esm/core/subject/resolver.d.ts +92 -0
- package/dist/esm/core/subject/resolver.d.ts.map +1 -0
- package/dist/esm/core/subject/resolver.js +355 -0
- package/dist/esm/core/subject/resolver.js.map +1 -0
- package/dist/esm/core/subject/types.d.ts +90 -0
- package/dist/esm/core/subject/types.d.ts.map +1 -0
- package/dist/esm/core/subject/types.js +7 -0
- package/dist/esm/core/subject/types.js.map +1 -0
- package/dist/esm/core/triple/builder.d.ts +86 -0
- package/dist/esm/core/triple/builder.d.ts.map +1 -0
- package/dist/esm/core/triple/builder.js +300 -0
- package/dist/esm/core/triple/builder.js.map +1 -0
- package/dist/esm/core/triple/handlers/array.d.ts +23 -0
- package/dist/esm/core/triple/handlers/array.d.ts.map +1 -0
- package/dist/esm/core/triple/handlers/array.js +115 -0
- package/dist/esm/core/triple/handlers/array.js.map +1 -0
- package/dist/esm/core/triple/handlers/default.d.ts +20 -0
- package/dist/esm/core/triple/handlers/default.d.ts.map +1 -0
- package/dist/esm/core/triple/handlers/default.js +92 -0
- package/dist/esm/core/triple/handlers/default.js.map +1 -0
- package/dist/esm/core/triple/handlers/index.d.ts +35 -0
- package/dist/esm/core/triple/handlers/index.d.ts.map +1 -0
- package/dist/esm/core/triple/handlers/index.js +59 -0
- package/dist/esm/core/triple/handlers/index.js.map +1 -0
- package/dist/esm/core/triple/handlers/inline.d.ts +35 -0
- package/dist/esm/core/triple/handlers/inline.d.ts.map +1 -0
- package/dist/esm/core/triple/handlers/inline.js +186 -0
- package/dist/esm/core/triple/handlers/inline.js.map +1 -0
- package/dist/esm/core/triple/handlers/inverse.d.ts +22 -0
- package/dist/esm/core/triple/handlers/inverse.d.ts.map +1 -0
- package/dist/esm/core/triple/handlers/inverse.js +64 -0
- package/dist/esm/core/triple/handlers/inverse.js.map +1 -0
- package/dist/esm/core/triple/handlers/uri.d.ts +28 -0
- package/dist/esm/core/triple/handlers/uri.d.ts.map +1 -0
- package/dist/esm/core/triple/handlers/uri.js +62 -0
- package/dist/esm/core/triple/handlers/uri.js.map +1 -0
- package/dist/esm/core/triple/index.d.ts +9 -0
- package/dist/esm/core/triple/index.d.ts.map +1 -0
- package/dist/esm/core/triple/index.js +10 -0
- package/dist/esm/core/triple/index.js.map +1 -0
- package/dist/esm/core/triple/types.d.ts +152 -0
- package/dist/esm/core/triple/types.d.ts.map +1 -0
- package/dist/esm/core/triple/types.js +7 -0
- package/dist/esm/core/triple/types.js.map +1 -0
- package/dist/esm/core/typeindex-manager.d.ts +124 -0
- package/dist/esm/core/typeindex-manager.d.ts.map +1 -0
- package/dist/esm/core/typeindex-manager.js +658 -0
- package/dist/esm/core/typeindex-manager.js.map +1 -0
- package/dist/esm/core/types.d.ts +57 -0
- package/dist/esm/core/types.d.ts.map +1 -0
- package/dist/esm/core/types.js +3 -0
- package/dist/esm/core/types.js.map +1 -0
- package/dist/esm/core/uri/index.d.ts +8 -0
- package/dist/esm/core/uri/index.d.ts.map +1 -0
- package/dist/esm/core/uri/index.js +8 -0
- package/dist/esm/core/uri/index.js.map +1 -0
- package/dist/esm/core/uri/resolver.d.ts +79 -0
- package/dist/esm/core/uri/resolver.d.ts.map +1 -0
- package/dist/esm/core/uri/resolver.js +454 -0
- package/dist/esm/core/uri/resolver.js.map +1 -0
- package/dist/esm/core/uri/types.d.ts +143 -0
- package/dist/esm/core/uri/types.d.ts.map +1 -0
- package/dist/esm/core/uri/types.js +7 -0
- package/dist/esm/core/uri/types.js.map +1 -0
- package/dist/esm/core/utils/origin-auth.d.ts +28 -0
- package/dist/esm/core/utils/origin-auth.d.ts.map +1 -0
- package/dist/esm/core/utils/origin-auth.js +42 -0
- package/dist/esm/core/utils/origin-auth.js.map +1 -0
- package/dist/esm/core/utils/pod-root.d.ts +15 -0
- package/dist/esm/core/utils/pod-root.d.ts.map +1 -0
- package/dist/esm/core/utils/pod-root.js +69 -0
- package/dist/esm/core/utils/pod-root.js.map +1 -0
- package/dist/esm/core/zod-integration.d.ts +95 -0
- package/dist/esm/core/zod-integration.d.ts.map +1 -0
- package/dist/esm/core/zod-integration.js +227 -0
- package/dist/esm/core/zod-integration.js.map +1 -0
- package/dist/esm/driver.d.ts +23 -0
- package/dist/esm/driver.d.ts.map +1 -0
- package/dist/esm/driver.js +30 -0
- package/dist/esm/driver.js.map +1 -0
- package/dist/esm/index.d.ts +23 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +44 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/solid.d.ts +21 -0
- package/dist/esm/solid.d.ts.map +1 -0
- package/dist/esm/solid.js +30 -0
- package/dist/esm/solid.js.map +1 -0
- package/dist/esm/test-utils/real-test-helpers.d.ts +5 -0
- package/dist/esm/test-utils/real-test-helpers.d.ts.map +1 -0
- package/dist/esm/test-utils/real-test-helpers.js +17 -0
- package/dist/esm/test-utils/real-test-helpers.js.map +1 -0
- package/dist/esm/types/sparql-types.d.ts +27 -0
- package/dist/esm/types/sparql-types.d.ts.map +1 -0
- package/dist/esm/types/sparql-types.js +3 -0
- package/dist/esm/types/sparql-types.js.map +1 -0
- package/dist/esm/utils/find-by-iri.d.ts +9 -0
- package/dist/esm/utils/find-by-iri.d.ts.map +1 -0
- package/dist/esm/utils/find-by-iri.js +22 -0
- package/dist/esm/utils/find-by-iri.js.map +1 -0
- package/dist/esm/utils/helpers.d.ts +17 -0
- package/dist/esm/utils/helpers.d.ts.map +1 -0
- package/dist/esm/utils/helpers.js +59 -0
- package/dist/esm/utils/helpers.js.map +1 -0
- package/dist/esm/utils/namespace.d.ts +4 -0
- package/dist/esm/utils/namespace.d.ts.map +1 -0
- package/dist/esm/utils/namespace.js +30 -0
- package/dist/esm/utils/namespace.js.map +1 -0
- package/dist/esm/utils/rdf-helpers.d.ts +17 -0
- package/dist/esm/utils/rdf-helpers.d.ts.map +1 -0
- package/dist/esm/utils/rdf-helpers.js +47 -0
- package/dist/esm/utils/rdf-helpers.js.map +1 -0
- package/dist/esm/utils/rdf-validation.d.ts +25 -0
- package/dist/esm/utils/rdf-validation.d.ts.map +1 -0
- package/dist/esm/utils/rdf-validation.js +288 -0
- package/dist/esm/utils/rdf-validation.js.map +1 -0
- package/dist/esm/utils/thing-operations.d.ts +28 -0
- package/dist/esm/utils/thing-operations.d.ts.map +1 -0
- package/dist/esm/utils/thing-operations.js +249 -0
- package/dist/esm/utils/thing-operations.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +156 -0
- package/dist/index.js.map +1 -0
- package/dist/solid.d.ts +21 -0
- package/dist/solid.d.ts.map +1 -0
- package/dist/solid.js +35 -0
- package/dist/solid.js.map +1 -0
- package/dist/test-utils/real-test-helpers.d.ts +5 -0
- package/dist/test-utils/real-test-helpers.d.ts.map +1 -0
- package/dist/test-utils/real-test-helpers.js +22 -0
- package/dist/test-utils/real-test-helpers.js.map +1 -0
- package/dist/types/sparql-types.d.ts +27 -0
- package/dist/types/sparql-types.d.ts.map +1 -0
- package/dist/types/sparql-types.js +4 -0
- package/dist/types/sparql-types.js.map +1 -0
- package/dist/utils/find-by-iri.d.ts +9 -0
- package/dist/utils/find-by-iri.d.ts.map +1 -0
- package/dist/utils/find-by-iri.js +25 -0
- package/dist/utils/find-by-iri.js.map +1 -0
- package/dist/utils/helpers.d.ts +17 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +65 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/namespace.d.ts +4 -0
- package/dist/utils/namespace.d.ts.map +1 -0
- package/dist/utils/namespace.js +33 -0
- package/dist/utils/namespace.js.map +1 -0
- package/dist/utils/rdf-helpers.d.ts +17 -0
- package/dist/utils/rdf-helpers.d.ts.map +1 -0
- package/dist/utils/rdf-helpers.js +53 -0
- package/dist/utils/rdf-helpers.js.map +1 -0
- package/dist/utils/rdf-validation.d.ts +25 -0
- package/dist/utils/rdf-validation.d.ts.map +1 -0
- package/dist/utils/rdf-validation.js +292 -0
- package/dist/utils/rdf-validation.js.map +1 -0
- package/dist/utils/thing-operations.d.ts +28 -0
- package/dist/utils/thing-operations.d.ts.map +1 -0
- package/dist/utils/thing-operations.js +256 -0
- package/dist/utils/thing-operations.js.map +1 -0
- package/package.json +98 -0
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* URI Resolver Implementation
|
|
4
|
+
*
|
|
5
|
+
* 统一的 URI 生成和解析
|
|
6
|
+
* 整合了 Subject URI 和 Object/Reference URI 的解析逻辑
|
|
7
|
+
*
|
|
8
|
+
* 设计原则:无状态,所有需要的上下文都通过参数传入
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.UriResolverImpl = void 0;
|
|
12
|
+
/**
|
|
13
|
+
* UUID 正则
|
|
14
|
+
*/
|
|
15
|
+
const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
16
|
+
/**
|
|
17
|
+
* 固定的单例 fragment 列表
|
|
18
|
+
*/
|
|
19
|
+
const SINGLETON_FRAGMENTS = new Set(['#me', '#this', '#profile', '#card']);
|
|
20
|
+
/**
|
|
21
|
+
* URI 解析器实现
|
|
22
|
+
*
|
|
23
|
+
* 无状态设计:所有上下文信息通过参数传入
|
|
24
|
+
*/
|
|
25
|
+
class UriResolverImpl {
|
|
26
|
+
constructor(podUrl = '') {
|
|
27
|
+
this.podUrl = podUrl.replace(/\/$/, '');
|
|
28
|
+
}
|
|
29
|
+
// ================= 配置方法 =================
|
|
30
|
+
setPodUrl(podUrl) {
|
|
31
|
+
this.podUrl = podUrl.replace(/\/$/, '');
|
|
32
|
+
}
|
|
33
|
+
// ================= Subject URI 解析 =================
|
|
34
|
+
resolveSubject(table, record, index) {
|
|
35
|
+
// Check if record has an absolute ID override
|
|
36
|
+
const explicitId = record['@id'] ?? record['id'] ?? record['uri'];
|
|
37
|
+
if (typeof explicitId === 'string') {
|
|
38
|
+
if (this.isAbsoluteUri(explicitId)) {
|
|
39
|
+
return explicitId;
|
|
40
|
+
}
|
|
41
|
+
// Check if it's a relative URI with fragment
|
|
42
|
+
const hashIndex = explicitId.indexOf('#');
|
|
43
|
+
if (hashIndex > 0) {
|
|
44
|
+
const mode = this.getResourceMode(table);
|
|
45
|
+
if (mode === 'fragment') {
|
|
46
|
+
record = { ...record, id: explicitId.slice(hashIndex + 1) };
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const pattern = this.getEffectivePattern(table);
|
|
51
|
+
const mode = this.getResourceMode(table);
|
|
52
|
+
const base = this.getSubjectBaseUrl(table);
|
|
53
|
+
// 单例模式 - 直接返回 base + pattern
|
|
54
|
+
if (this.isSingleton(table)) {
|
|
55
|
+
return this.combineBaseAndPattern(base, pattern);
|
|
56
|
+
}
|
|
57
|
+
// 应用模板变量
|
|
58
|
+
const applied = this.applyTemplate(pattern, record, index);
|
|
59
|
+
if (applied) {
|
|
60
|
+
if (this.isAbsoluteUri(applied)) {
|
|
61
|
+
return applied;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (!applied) {
|
|
65
|
+
// 如果模板应用失败,生成默认 URI
|
|
66
|
+
return this.generateFallbackUri(base, mode, index);
|
|
67
|
+
}
|
|
68
|
+
return this.combineBaseAndPattern(base, applied);
|
|
69
|
+
}
|
|
70
|
+
parseSubject(uri, table) {
|
|
71
|
+
if (!uri)
|
|
72
|
+
return null;
|
|
73
|
+
const hashIndex = uri.indexOf('#');
|
|
74
|
+
const hasFragment = hashIndex !== -1;
|
|
75
|
+
const resourceUrl = hasFragment ? uri.slice(0, hashIndex) : uri;
|
|
76
|
+
const fragment = hasFragment ? uri.slice(hashIndex + 1) : undefined;
|
|
77
|
+
const mode = this.getResourceMode(table);
|
|
78
|
+
const id = this.extractId(uri, table);
|
|
79
|
+
return {
|
|
80
|
+
uri,
|
|
81
|
+
resourceUrl,
|
|
82
|
+
fragment,
|
|
83
|
+
id,
|
|
84
|
+
mode,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
getResourceUrl(subjectUri) {
|
|
88
|
+
const hashIndex = subjectUri.indexOf('#');
|
|
89
|
+
return hashIndex !== -1 ? subjectUri.slice(0, hashIndex) : subjectUri;
|
|
90
|
+
}
|
|
91
|
+
getResourceMode(table) {
|
|
92
|
+
// 只有用户显式提供 subjectTemplate 时才用它来判断
|
|
93
|
+
const hasCustomTemplate = table.hasCustomTemplate?.() ?? false;
|
|
94
|
+
if (hasCustomTemplate) {
|
|
95
|
+
const pattern = table.config?.subjectTemplate ?? '';
|
|
96
|
+
if (pattern.startsWith('#')) {
|
|
97
|
+
return 'fragment';
|
|
98
|
+
}
|
|
99
|
+
if (pattern.includes('.ttl') || pattern.includes('.jsonld') || pattern.includes('.json')) {
|
|
100
|
+
return 'document';
|
|
101
|
+
}
|
|
102
|
+
return 'document';
|
|
103
|
+
}
|
|
104
|
+
const containerPath = table.getContainerPath();
|
|
105
|
+
const tableName = table.config?.name ?? '';
|
|
106
|
+
const normalizedContainer = containerPath.endsWith('/') ? containerPath : `${containerPath}/`;
|
|
107
|
+
if (normalizedContainer.endsWith(`${tableName}/`)) {
|
|
108
|
+
return 'document';
|
|
109
|
+
}
|
|
110
|
+
return 'fragment';
|
|
111
|
+
}
|
|
112
|
+
getDefaultPattern(table) {
|
|
113
|
+
const mode = this.getResourceMode(table);
|
|
114
|
+
return mode === 'fragment' ? '#{id}' : '{id}.ttl';
|
|
115
|
+
}
|
|
116
|
+
resolveInlineChild(parentSubject, columnName, value, index) {
|
|
117
|
+
// 优先使用显式 ID
|
|
118
|
+
const explicitId = value['@id'] ?? value['id'];
|
|
119
|
+
if (typeof explicitId === 'string') {
|
|
120
|
+
return explicitId;
|
|
121
|
+
}
|
|
122
|
+
// 生成 fragment URI
|
|
123
|
+
const resourceUrl = this.getResourceUrl(parentSubject);
|
|
124
|
+
return `${resourceUrl}#${columnName}-${index + 1}`;
|
|
125
|
+
}
|
|
126
|
+
isSingleton(table) {
|
|
127
|
+
const pattern = table.config?.subjectTemplate;
|
|
128
|
+
if (!pattern)
|
|
129
|
+
return false;
|
|
130
|
+
if (SINGLETON_FRAGMENTS.has(pattern)) {
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
if (!pattern.includes('{')) {
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
// ================= Object/Reference URI 解析 =================
|
|
139
|
+
/**
|
|
140
|
+
* 解析 reference 列的值为完整 URI
|
|
141
|
+
*
|
|
142
|
+
* @param value 原始值(可能是 UUID、相对路径或完整 URI)
|
|
143
|
+
* @param column 列定义(包含 reference 配置)
|
|
144
|
+
* @param context 解析上下文(包含 tableRegistry 等)
|
|
145
|
+
*/
|
|
146
|
+
resolveReference(value, column, context) {
|
|
147
|
+
// 1. 已经是绝对 URI,直接返回
|
|
148
|
+
if (this.isAbsoluteUri(value)) {
|
|
149
|
+
return value;
|
|
150
|
+
}
|
|
151
|
+
// 2. 相对路径(以 / 或 # 开头),用 baseUri 补全
|
|
152
|
+
if (value.startsWith('/') || value.startsWith('#')) {
|
|
153
|
+
const base = context?.baseUri || this.podUrl;
|
|
154
|
+
if (base) {
|
|
155
|
+
try {
|
|
156
|
+
return new URL(value, base).toString();
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
// URL 解析失败,继续尝试其他方式
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
throw new Error(`Cannot resolve relative URI "${value}": no baseUri configured`);
|
|
163
|
+
}
|
|
164
|
+
// 3. 尝试通过 referenceTable 解析(直接引用表对象,不需要 registry)
|
|
165
|
+
const referenceTable = column.getReferenceTable?.();
|
|
166
|
+
if (referenceTable) {
|
|
167
|
+
const uriInfo = this.getTableUriInfo(referenceTable);
|
|
168
|
+
if (uriInfo) {
|
|
169
|
+
return this.buildFullUri(value, uriInfo.baseUrl, uriInfo.subjectTemplate);
|
|
170
|
+
}
|
|
171
|
+
throw new Error(`Cannot resolve URI "${value}": referenced table "${referenceTable.config?.name}" has no base configured.`);
|
|
172
|
+
}
|
|
173
|
+
// 4. 尝试通过 referenceTableName 解析
|
|
174
|
+
const referenceTableName = column.getReferenceTableName?.();
|
|
175
|
+
if (referenceTableName) {
|
|
176
|
+
if (context?.tableNameRegistry) {
|
|
177
|
+
const targetTable = context.tableNameRegistry.get(referenceTableName);
|
|
178
|
+
if (targetTable) {
|
|
179
|
+
const uriInfo = this.getTableUriInfo(targetTable);
|
|
180
|
+
if (uriInfo) {
|
|
181
|
+
return this.buildFullUri(value, uriInfo.baseUrl, uriInfo.subjectTemplate);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
const availableTables = context?.tableNameRegistry
|
|
186
|
+
? Array.from(context.tableNameRegistry.keys()).join(', ')
|
|
187
|
+
: '(no tables registered)';
|
|
188
|
+
throw new Error(`Cannot resolve URI "${value}": table "${referenceTableName}" not found in schema. ` +
|
|
189
|
+
`Available tables: ${availableTables}`);
|
|
190
|
+
}
|
|
191
|
+
// 5. 尝试通过 referenceTarget (class URI) 解析
|
|
192
|
+
const referenceTarget = column.getReferenceTarget?.();
|
|
193
|
+
if (referenceTarget) {
|
|
194
|
+
if (!context?.tableRegistry) {
|
|
195
|
+
// 有 referenceTarget 但没有 tableRegistry,无法解析
|
|
196
|
+
throw new Error(`Cannot resolve URI "${value}" (references ${referenceTarget}): ` +
|
|
197
|
+
`tableRegistry not configured. Ensure the schema is properly registered.`);
|
|
198
|
+
}
|
|
199
|
+
const targetTables = context.tableRegistry.get(referenceTarget);
|
|
200
|
+
if (targetTables && targetTables.length > 0) {
|
|
201
|
+
if (targetTables.length > 1) {
|
|
202
|
+
const tableNames = targetTables
|
|
203
|
+
.map(t => t.config?.name || 'unknown')
|
|
204
|
+
.join(', ');
|
|
205
|
+
throw new Error(`Ambiguous reference: class "${referenceTarget}" has multiple tables [${tableNames}]. ` +
|
|
206
|
+
`Use .reference('tableName') or .reference(tableObject) to specify which table to use.`);
|
|
207
|
+
}
|
|
208
|
+
const targetTable = targetTables[0];
|
|
209
|
+
const uriInfo = this.getTableUriInfo(targetTable);
|
|
210
|
+
if (uriInfo) {
|
|
211
|
+
return this.buildFullUri(value, uriInfo.baseUrl, uriInfo.subjectTemplate);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
// referenceTarget 指定了但在 registry 中找不到对应的表
|
|
215
|
+
throw new Error(`Cannot resolve URI "${value}": class "${referenceTarget}" not found in tableRegistry. ` +
|
|
216
|
+
`Available classes: ${Array.from(context.tableRegistry.keys()).join(', ') || '(none)'}`);
|
|
217
|
+
}
|
|
218
|
+
// 6. 使用 baseUri fallback (仅当没有任何 reference 配置时)
|
|
219
|
+
const base = context?.baseUri || this.podUrl;
|
|
220
|
+
if (base && this.isAbsoluteUri(base)) {
|
|
221
|
+
const baseUrl = base.endsWith('/') ? base : `${base}/`;
|
|
222
|
+
return this.buildFullUri(value, baseUrl);
|
|
223
|
+
}
|
|
224
|
+
// 7. 无法解析,给出友好的错误信息
|
|
225
|
+
throw new Error(`Cannot resolve URI "${value}". ` +
|
|
226
|
+
`Either provide a full URI (https://...), or configure baseUri.`);
|
|
227
|
+
}
|
|
228
|
+
isAbsoluteUri(value) {
|
|
229
|
+
if (!value || typeof value !== 'string')
|
|
230
|
+
return false;
|
|
231
|
+
return value.includes(':') && (value.startsWith('http://') ||
|
|
232
|
+
value.startsWith('https://') ||
|
|
233
|
+
value.startsWith('urn:') ||
|
|
234
|
+
value.startsWith('did:') ||
|
|
235
|
+
value.startsWith('mailto:') ||
|
|
236
|
+
value.startsWith('tel:') ||
|
|
237
|
+
value.startsWith('file://') ||
|
|
238
|
+
/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(value));
|
|
239
|
+
}
|
|
240
|
+
isReferenceColumn(column) {
|
|
241
|
+
if (!column)
|
|
242
|
+
return false;
|
|
243
|
+
return column.dataType === 'uri' ||
|
|
244
|
+
column.isReference?.() ||
|
|
245
|
+
!!column.options?.referenceTarget ||
|
|
246
|
+
!!column.options?.referenceTableName ||
|
|
247
|
+
!!column.options?.referenceTable;
|
|
248
|
+
}
|
|
249
|
+
findTargetTable(column, context) {
|
|
250
|
+
// Priority 1: Direct table reference from column object
|
|
251
|
+
const referenceTable = column.getReferenceTable?.() || column.options?.referenceTable;
|
|
252
|
+
if (referenceTable) {
|
|
253
|
+
return referenceTable;
|
|
254
|
+
}
|
|
255
|
+
// Priority 2: Table name reference
|
|
256
|
+
const referenceTableName = column.getReferenceTableName?.() || column.options?.referenceTableName;
|
|
257
|
+
if (referenceTableName && context?.tableNameRegistry) {
|
|
258
|
+
const found = context.tableNameRegistry.get(referenceTableName);
|
|
259
|
+
if (found) {
|
|
260
|
+
return found;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
// Priority 3: Class URI reference (check for ambiguity)
|
|
264
|
+
const referenceTarget = column.getReferenceTarget?.() || column.options?.referenceTarget;
|
|
265
|
+
if (referenceTarget && context?.tableRegistry) {
|
|
266
|
+
const tables = context.tableRegistry.get(referenceTarget);
|
|
267
|
+
if (tables && tables.length === 1) {
|
|
268
|
+
return tables[0];
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return undefined;
|
|
272
|
+
}
|
|
273
|
+
// ================= Private Helpers =================
|
|
274
|
+
/**
|
|
275
|
+
* 从表获取基础 URL 和 subject template 信息
|
|
276
|
+
*/
|
|
277
|
+
getTableUriInfo(table) {
|
|
278
|
+
const subjectTemplate = table.config?.subjectTemplate || '{id}.ttl';
|
|
279
|
+
// Fragment Mode (#{id}) - 使用 resourcePath
|
|
280
|
+
if (subjectTemplate.startsWith('#')) {
|
|
281
|
+
const base = table.config?.base;
|
|
282
|
+
if (!base)
|
|
283
|
+
return undefined;
|
|
284
|
+
const baseUrl = base.endsWith('/') ? base.slice(0, -1) : base;
|
|
285
|
+
return { baseUrl: this.toAbsoluteUrl(baseUrl), subjectTemplate };
|
|
286
|
+
}
|
|
287
|
+
// Document Mode - 使用容器路径
|
|
288
|
+
const base = table.config?.containerPath || table.getContainerPath?.();
|
|
289
|
+
if (!base)
|
|
290
|
+
return undefined;
|
|
291
|
+
const baseUrl = base.endsWith('/') ? base : `${base}/`;
|
|
292
|
+
return { baseUrl: this.toAbsoluteUrl(baseUrl), subjectTemplate };
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* 构建完整 URI
|
|
296
|
+
*/
|
|
297
|
+
buildFullUri(value, baseUrl, subjectTemplate = '{id}.ttl') {
|
|
298
|
+
// 如果不是 UUID/ID 格式,直接拼接
|
|
299
|
+
if (!UUID_REGEX.test(value) && value.includes('/')) {
|
|
300
|
+
return `${baseUrl}${value}`;
|
|
301
|
+
}
|
|
302
|
+
// 用 value 替换模板中的 {id}
|
|
303
|
+
let result = subjectTemplate.replace(/\{id\}/g, value);
|
|
304
|
+
if (this.isAbsoluteUri(result)) {
|
|
305
|
+
return result;
|
|
306
|
+
}
|
|
307
|
+
// 如果模板以 # 开头,是 fragment 模式
|
|
308
|
+
if (result.startsWith('#')) {
|
|
309
|
+
const cleanBase = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;
|
|
310
|
+
return `${cleanBase}${result}`;
|
|
311
|
+
}
|
|
312
|
+
// Document 模式,直接拼接
|
|
313
|
+
return `${baseUrl}${result}`;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* 获取有效的 pattern
|
|
317
|
+
*/
|
|
318
|
+
getEffectivePattern(table) {
|
|
319
|
+
const hasCustomTemplate = table.hasCustomTemplate?.() ?? false;
|
|
320
|
+
if (hasCustomTemplate) {
|
|
321
|
+
const explicitPattern = table.config?.subjectTemplate;
|
|
322
|
+
if (explicitPattern && explicitPattern.trim().length > 0) {
|
|
323
|
+
return explicitPattern;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
return this.getDefaultPattern(table);
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* 获取 Subject base URL
|
|
330
|
+
*/
|
|
331
|
+
getSubjectBaseUrl(table) {
|
|
332
|
+
const mode = this.getResourceMode(table);
|
|
333
|
+
if (mode === 'document') {
|
|
334
|
+
const containerPath = table.getContainerPath();
|
|
335
|
+
return this.toAbsoluteUrl(containerPath);
|
|
336
|
+
}
|
|
337
|
+
const resourcePath = table.getResourcePath?.() ?? table.config?.base ?? '';
|
|
338
|
+
return this.toAbsoluteUrl(resourcePath);
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* 将路径转换为绝对 URL
|
|
342
|
+
*/
|
|
343
|
+
toAbsoluteUrl(path) {
|
|
344
|
+
if (!path) {
|
|
345
|
+
return this.podUrl;
|
|
346
|
+
}
|
|
347
|
+
if (this.isAbsoluteUri(path)) {
|
|
348
|
+
return path;
|
|
349
|
+
}
|
|
350
|
+
const normalizedPath = path.startsWith('/') ? path : `/${path}`;
|
|
351
|
+
return `${this.podUrl}${normalizedPath}`;
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* 合并 base 和 pattern
|
|
355
|
+
*/
|
|
356
|
+
combineBaseAndPattern(base, pattern) {
|
|
357
|
+
if (pattern.startsWith('#')) {
|
|
358
|
+
const cleanBase = base.endsWith('/') ? base.slice(0, -1) : base;
|
|
359
|
+
return `${cleanBase}${pattern}`;
|
|
360
|
+
}
|
|
361
|
+
if (base.endsWith('/')) {
|
|
362
|
+
return `${base}${pattern}`;
|
|
363
|
+
}
|
|
364
|
+
if ((base.endsWith('.ttl') || base.endsWith('.jsonld')) && pattern.startsWith('#')) {
|
|
365
|
+
return `${base}${pattern}`;
|
|
366
|
+
}
|
|
367
|
+
return `${base}/${pattern}`;
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* 应用模板变量
|
|
371
|
+
*/
|
|
372
|
+
applyTemplate(template, record, index) {
|
|
373
|
+
if (!template.includes('{')) {
|
|
374
|
+
return template;
|
|
375
|
+
}
|
|
376
|
+
const timeContext = this.createTimeContext(record);
|
|
377
|
+
let missingReplacement = false;
|
|
378
|
+
const replaced = template.replace(/(#?)\{([^}]+)\}/g, (match, prefix, key) => {
|
|
379
|
+
if (key in timeContext) {
|
|
380
|
+
return prefix + timeContext[key];
|
|
381
|
+
}
|
|
382
|
+
if (key === 'index' && index !== undefined) {
|
|
383
|
+
return prefix + String(index + 1);
|
|
384
|
+
}
|
|
385
|
+
let rawValue = record[key];
|
|
386
|
+
if (key === 'id' && (rawValue === undefined || rawValue === null)) {
|
|
387
|
+
rawValue = record['@id'] ?? record['uri'];
|
|
388
|
+
}
|
|
389
|
+
if (rawValue === undefined || rawValue === null) {
|
|
390
|
+
missingReplacement = true;
|
|
391
|
+
return '';
|
|
392
|
+
}
|
|
393
|
+
let value = String(rawValue);
|
|
394
|
+
if (prefix === '#' && value.startsWith('#')) {
|
|
395
|
+
value = value.slice(1);
|
|
396
|
+
}
|
|
397
|
+
return prefix + value;
|
|
398
|
+
});
|
|
399
|
+
return missingReplacement ? null : replaced;
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* 创建时间上下文
|
|
403
|
+
*/
|
|
404
|
+
createTimeContext(record) {
|
|
405
|
+
let date;
|
|
406
|
+
const createdAt = record['createdAt'] ?? record['created_at'] ?? record['dateCreated'];
|
|
407
|
+
if (createdAt instanceof Date) {
|
|
408
|
+
date = createdAt;
|
|
409
|
+
}
|
|
410
|
+
else if (typeof createdAt === 'string' || typeof createdAt === 'number') {
|
|
411
|
+
date = new Date(createdAt);
|
|
412
|
+
}
|
|
413
|
+
else {
|
|
414
|
+
date = new Date();
|
|
415
|
+
}
|
|
416
|
+
const yyyy = date.getUTCFullYear().toString();
|
|
417
|
+
const mm = (date.getUTCMonth() + 1).toString().padStart(2, '0');
|
|
418
|
+
const dd = date.getUTCDate().toString().padStart(2, '0');
|
|
419
|
+
const timestamp = Math.floor(date.getTime() / 1000).toString();
|
|
420
|
+
return { date, yyyy, mm, dd, timestamp };
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* 生成回退 URI
|
|
424
|
+
*/
|
|
425
|
+
generateFallbackUri(base, mode, index) {
|
|
426
|
+
const suffix = index !== undefined ? `row-${index + 1}` : `row-${Date.now()}`;
|
|
427
|
+
if (mode === 'fragment') {
|
|
428
|
+
const cleanBase = base.endsWith('/') ? base.slice(0, -1) : base;
|
|
429
|
+
return `${cleanBase}#${suffix}`;
|
|
430
|
+
}
|
|
431
|
+
const cleanBase = base.endsWith('/') ? base : `${base}/`;
|
|
432
|
+
return `${cleanBase}${suffix}.ttl`;
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* 从 URI 提取 ID
|
|
436
|
+
*/
|
|
437
|
+
extractId(uri, table) {
|
|
438
|
+
const mode = this.getResourceMode(table);
|
|
439
|
+
const hashIndex = uri.indexOf('#');
|
|
440
|
+
if (mode === 'fragment' && hashIndex !== -1) {
|
|
441
|
+
return uri.slice(hashIndex + 1);
|
|
442
|
+
}
|
|
443
|
+
const urlWithoutFragment = hashIndex !== -1 ? uri.slice(0, hashIndex) : uri;
|
|
444
|
+
const lastSlash = urlWithoutFragment.lastIndexOf('/');
|
|
445
|
+
if (lastSlash !== -1) {
|
|
446
|
+
let filename = urlWithoutFragment.slice(lastSlash + 1);
|
|
447
|
+
const extIndex = filename.lastIndexOf('.');
|
|
448
|
+
if (extIndex !== -1) {
|
|
449
|
+
filename = filename.slice(0, extIndex);
|
|
450
|
+
}
|
|
451
|
+
return filename;
|
|
452
|
+
}
|
|
453
|
+
return uri;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
exports.UriResolverImpl = UriResolverImpl;
|
|
457
|
+
// 默认单例实例
|
|
458
|
+
//# sourceMappingURL=resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/core/uri/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* URI Resolver Types
|
|
3
|
+
*
|
|
4
|
+
* 统一的 URI 解析类型定义
|
|
5
|
+
*/
|
|
6
|
+
import type { PodTable, PodColumnBase } from '../schema';
|
|
7
|
+
/**
|
|
8
|
+
* 资源模式
|
|
9
|
+
*
|
|
10
|
+
* - document: 每条记录一个独立文件,可单独 GET
|
|
11
|
+
* - fragment: 所有记录共享一个文件,用 URI fragment 区分
|
|
12
|
+
*/
|
|
13
|
+
export type ResourceMode = 'document' | 'fragment';
|
|
14
|
+
/**
|
|
15
|
+
* 解析后的主体 URI
|
|
16
|
+
*/
|
|
17
|
+
export interface ParsedSubject {
|
|
18
|
+
/** 完整 URI */
|
|
19
|
+
uri: string;
|
|
20
|
+
/** 资源 URL (不含 fragment) */
|
|
21
|
+
resourceUrl: string;
|
|
22
|
+
/** Fragment 部分 (如果有,不含 #) */
|
|
23
|
+
fragment?: string;
|
|
24
|
+
/** 提取的 ID */
|
|
25
|
+
id: string;
|
|
26
|
+
/** 资源模式 */
|
|
27
|
+
mode: ResourceMode;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 时间变量上下文
|
|
31
|
+
*/
|
|
32
|
+
export interface TimeContext {
|
|
33
|
+
/** 日期对象 */
|
|
34
|
+
date: Date;
|
|
35
|
+
/** 年份 (4位) */
|
|
36
|
+
yyyy: string;
|
|
37
|
+
/** 月份 (2位) */
|
|
38
|
+
mm: string;
|
|
39
|
+
/** 日期 (2位) */
|
|
40
|
+
dd: string;
|
|
41
|
+
/** Unix 时间戳 */
|
|
42
|
+
timestamp: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* URI 解析上下文
|
|
46
|
+
*
|
|
47
|
+
* 用于 reference 列的 URI 解析,作为参数传入而非内部状态
|
|
48
|
+
*/
|
|
49
|
+
export interface UriContext {
|
|
50
|
+
/** 基础 URI (Pod URL) */
|
|
51
|
+
baseUri?: string;
|
|
52
|
+
/** rdfClass -> tables[] 的映射 */
|
|
53
|
+
tableRegistry?: Map<string, PodTable[]>;
|
|
54
|
+
/** tableName -> table 的映射 */
|
|
55
|
+
tableNameRegistry?: Map<string, PodTable>;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* URI 解析器接口
|
|
59
|
+
*
|
|
60
|
+
* 无状态设计:除了 podUrl,所有上下文信息都通过参数传入
|
|
61
|
+
*/
|
|
62
|
+
export interface UriResolver {
|
|
63
|
+
/**
|
|
64
|
+
* 设置 Pod URL(用于相对路径解析)
|
|
65
|
+
*/
|
|
66
|
+
setPodUrl(podUrl: string): void;
|
|
67
|
+
/**
|
|
68
|
+
* 生成主体 URI
|
|
69
|
+
* @param table PodTable 定义
|
|
70
|
+
* @param record 数据记录
|
|
71
|
+
* @param index 批量插入时的索引 (可选)
|
|
72
|
+
*/
|
|
73
|
+
resolveSubject(table: PodTable, record: Record<string, unknown>, index?: number): string;
|
|
74
|
+
/**
|
|
75
|
+
* 解析主体 URI
|
|
76
|
+
* @param uri 主体 URI
|
|
77
|
+
* @param table PodTable 定义
|
|
78
|
+
*/
|
|
79
|
+
parseSubject(uri: string, table: PodTable): ParsedSubject | null;
|
|
80
|
+
/**
|
|
81
|
+
* 获取资源 URL (用于 HTTP 请求,去掉 fragment)
|
|
82
|
+
* @param subjectUri 主体 URI
|
|
83
|
+
*/
|
|
84
|
+
getResourceUrl(subjectUri: string): string;
|
|
85
|
+
/**
|
|
86
|
+
* 判断资源模式
|
|
87
|
+
* @param table PodTable 定义
|
|
88
|
+
*/
|
|
89
|
+
getResourceMode(table: PodTable): ResourceMode;
|
|
90
|
+
/**
|
|
91
|
+
* 获取默认的 subjectPattern
|
|
92
|
+
* @param table PodTable 定义
|
|
93
|
+
*/
|
|
94
|
+
getDefaultPattern(table: PodTable): string;
|
|
95
|
+
/**
|
|
96
|
+
* 生成内联对象的 URI (始终为 fragment)
|
|
97
|
+
* @param parentSubject 父实体 URI
|
|
98
|
+
* @param columnName 列名
|
|
99
|
+
* @param value 内联对象值
|
|
100
|
+
* @param index 数组索引
|
|
101
|
+
*/
|
|
102
|
+
resolveInlineChild(parentSubject: string, columnName: string, value: Record<string, unknown>, index: number): string;
|
|
103
|
+
/**
|
|
104
|
+
* 检查是否为单例模式 (如 #me, #this)
|
|
105
|
+
* @param table PodTable 定义
|
|
106
|
+
*/
|
|
107
|
+
isSingleton(table: PodTable): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* 解析 reference 列的值为完整 URI
|
|
110
|
+
*
|
|
111
|
+
* @param value 原始值(可能是 UUID、相对路径或完整 URI)
|
|
112
|
+
* @param column 列定义(包含 reference 配置)
|
|
113
|
+
* @param context 解析上下文(包含 tableRegistry 等),作为参数传入
|
|
114
|
+
* @returns 完整 URI
|
|
115
|
+
* @throws 如果无法解析且不能 fallback
|
|
116
|
+
*/
|
|
117
|
+
resolveReference(value: string, column: PodColumnBase, context?: UriContext): string;
|
|
118
|
+
/**
|
|
119
|
+
* 检查值是否为绝对 URI
|
|
120
|
+
*/
|
|
121
|
+
isAbsoluteUri(value: string): boolean;
|
|
122
|
+
/**
|
|
123
|
+
* 检查列是否为 reference 类型
|
|
124
|
+
*/
|
|
125
|
+
isReferenceColumn(column: PodColumnBase | any): boolean;
|
|
126
|
+
/**
|
|
127
|
+
* 根据 reference 配置查找目标表
|
|
128
|
+
*
|
|
129
|
+
* 解析优先级:
|
|
130
|
+
* 1. referenceTable(直接引用表对象)
|
|
131
|
+
* 2. referenceTableName(表名 -> tableNameRegistry)
|
|
132
|
+
* 3. referenceTarget(class URI -> tableRegistry,需无歧义)
|
|
133
|
+
*
|
|
134
|
+
* @param column 列定义
|
|
135
|
+
* @param context 解析上下文
|
|
136
|
+
*/
|
|
137
|
+
findTargetTable(column: PodColumnBase | any, context?: UriContext): PodTable | undefined;
|
|
138
|
+
}
|
|
139
|
+
export type SubjectResolver = Pick<UriResolver, 'resolveSubject' | 'parseSubject' | 'getResourceUrl' | 'getResourceMode' | 'getDefaultPattern' | 'resolveInlineChild' | 'isSingleton'> & {
|
|
140
|
+
resolve: UriResolver['resolveSubject'];
|
|
141
|
+
parse: UriResolver['parseSubject'];
|
|
142
|
+
};
|
|
143
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/uri/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/uri/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Origin-based Authentication Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides helpers for determining whether to use authenticated
|
|
5
|
+
* or unauthenticated fetch based on URL origin comparison.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Check if a URL is on the same origin as a reference URL
|
|
9
|
+
* Used to determine whether to use authenticated fetch for SPARQL endpoints
|
|
10
|
+
*
|
|
11
|
+
* @param url - The URL to check
|
|
12
|
+
* @param referenceUrl - The reference URL (usually the Pod URL)
|
|
13
|
+
* @returns true if both URLs share the same origin
|
|
14
|
+
*/
|
|
15
|
+
export declare function isSameOrigin(url: string, referenceUrl: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Get the appropriate fetch function for a URL based on origin
|
|
18
|
+
*
|
|
19
|
+
* - Same-origin URLs (e.g., CSS SPARQL sidecar): use authenticated session.fetch
|
|
20
|
+
* - Cross-origin URLs: use standard unauthenticated fetch
|
|
21
|
+
*
|
|
22
|
+
* @param url - The URL to fetch from
|
|
23
|
+
* @param podUrl - The Pod base URL for origin comparison
|
|
24
|
+
* @param sessionFetch - The authenticated fetch function from Solid session
|
|
25
|
+
* @returns The appropriate fetch function to use
|
|
26
|
+
*/
|
|
27
|
+
export declare function getFetchForOrigin(url: string, podUrl: string, sessionFetch: typeof fetch): typeof fetch;
|
|
28
|
+
//# sourceMappingURL=origin-auth.d.ts.map
|