@venizia/ignis-connectors 0.2.0-4 → 0.2.0-40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/common/index.d.ts +2 -0
- package/dist/cjs/common/index.d.ts.map +1 -0
- package/dist/cjs/common/index.js +18 -0
- package/dist/cjs/common/index.js.map +1 -0
- package/dist/cjs/common/scope-filter.d.ts +10 -0
- package/dist/cjs/common/scope-filter.d.ts.map +1 -0
- package/dist/cjs/common/scope-filter.js +53 -0
- package/dist/cjs/common/scope-filter.js.map +1 -0
- package/dist/cjs/http/common/types.d.ts +62 -0
- package/dist/cjs/http/common/types.d.ts.map +1 -0
- package/dist/cjs/http/common/types.js +3 -0
- package/dist/cjs/http/common/types.js.map +1 -0
- package/dist/cjs/http/datasource.d.ts +75 -0
- package/dist/cjs/http/datasource.d.ts.map +1 -0
- package/dist/cjs/http/datasource.js +175 -0
- package/dist/cjs/http/datasource.js.map +1 -0
- package/dist/cjs/http/index.d.ts +4 -0
- package/dist/cjs/http/index.d.ts.map +1 -0
- package/dist/cjs/http/index.js +20 -0
- package/dist/cjs/http/index.js.map +1 -0
- package/dist/cjs/http/repository.d.ts +72 -0
- package/dist/cjs/http/repository.d.ts.map +1 -0
- package/dist/cjs/http/repository.js +110 -0
- package/dist/cjs/http/repository.js.map +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/relational/core/datasources/abstract.d.ts +3 -3
- package/dist/cjs/relational/core/datasources/base.js +1 -1
- package/dist/cjs/relational/core/datasources/common/types.d.ts +1 -1
- package/dist/cjs/relational/core/models/base.d.ts +1 -1
- package/dist/cjs/relational/core/models/common/types.d.ts +1 -1
- package/dist/cjs/relational/core/repositories/common/executor.d.ts +1 -1
- package/dist/cjs/relational/core/repositories/common/index.d.ts +1 -0
- package/dist/cjs/relational/core/repositories/common/index.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/common/index.js +1 -0
- package/dist/cjs/relational/core/repositories/common/index.js.map +1 -1
- package/dist/cjs/relational/core/repositories/common/scope-filter.d.ts +11 -0
- package/dist/cjs/relational/core/repositories/common/scope-filter.d.ts.map +1 -0
- package/dist/cjs/relational/core/repositories/common/scope-filter.js +17 -0
- package/dist/cjs/relational/core/repositories/common/scope-filter.js.map +1 -0
- package/dist/cjs/relational/core/repositories/common/shared.d.ts +1 -1
- package/dist/cjs/relational/core/repositories/common/types.d.ts +2 -2
- package/dist/cjs/relational/core/repositories/core/base.d.ts +31 -6
- package/dist/cjs/relational/core/repositories/core/base.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/core/base.js +61 -6
- package/dist/cjs/relational/core/repositories/core/base.js.map +1 -1
- package/dist/cjs/relational/core/repositories/core/default.d.ts +2 -2
- package/dist/cjs/relational/core/repositories/core/persistable.d.ts +7 -8
- package/dist/cjs/relational/core/repositories/core/persistable.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/core/persistable.js +3 -3
- package/dist/cjs/relational/core/repositories/core/persistable.js.map +1 -1
- package/dist/cjs/relational/core/repositories/core/readable.d.ts +9 -8
- package/dist/cjs/relational/core/repositories/core/readable.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/core/readable.js +16 -8
- package/dist/cjs/relational/core/repositories/core/readable.js.map +1 -1
- package/dist/cjs/relational/core/repositories/core/soft-deletable.d.ts +7 -8
- package/dist/cjs/relational/core/repositories/core/soft-deletable.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/core/soft-deletable.js +1 -1
- package/dist/cjs/relational/core/repositories/core/soft-deletable.js.map +1 -1
- package/dist/cjs/relational/core/repositories/dialect/filter.d.ts +14 -2
- package/dist/cjs/relational/core/repositories/dialect/filter.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/dialect/filter.js +58 -16
- package/dist/cjs/relational/core/repositories/dialect/filter.js.map +1 -1
- package/dist/cjs/relational/core/repositories/dialect/internal/index.d.ts +2 -0
- package/dist/cjs/relational/core/repositories/dialect/internal/index.d.ts.map +1 -0
- package/dist/cjs/relational/core/repositories/dialect/internal/index.js +18 -0
- package/dist/cjs/relational/core/repositories/dialect/internal/index.js.map +1 -0
- package/dist/cjs/relational/core/repositories/dialect/relation.d.ts +1 -1
- package/dist/cjs/relational/core/repositories/dialect/update.d.ts +1 -1
- package/dist/cjs/relational/core/repositories/dialect/update.js +5 -5
- package/dist/cjs/relational/core/repositories/dialect/update.js.map +1 -1
- package/dist/cjs/relational/postgres/datasources/abstract.d.ts +3 -3
- package/dist/cjs/relational/postgres/datasources/abstract.js +3 -3
- package/dist/cjs/relational/postgres/datasources/common/guards.js +1 -1
- package/dist/cjs/relational/postgres/datasources/common/types.d.ts +2 -2
- package/dist/cjs/relational/postgres/drivers/driver.d.ts +3 -3
- package/dist/cjs/relational/postgres/drivers/node-postgres.d.ts +1 -1
- package/dist/cjs/relational/postgres/drivers/pglite.d.ts +1 -1
- package/dist/cjs/relational/postgres/drivers/postgres-js.d.ts +1 -1
- package/dist/cjs/relational/postgres/models/base.d.ts +1 -1
- package/dist/cjs/relational/postgres/models/base.js +1 -1
- package/dist/cjs/relational/postgres/models/common/columns.d.ts +8 -2
- package/dist/cjs/relational/postgres/models/common/columns.d.ts.map +1 -1
- package/dist/cjs/relational/postgres/models/common/columns.js +6 -1
- package/dist/cjs/relational/postgres/models/common/columns.js.map +1 -1
- package/dist/cjs/relational/postgres/models/common/{types.d.ts → types/enrichers.d.ts} +2 -27
- package/dist/cjs/relational/postgres/models/common/types/enrichers.d.ts.map +1 -0
- package/dist/cjs/relational/postgres/models/common/types/enrichers.js +3 -0
- package/dist/cjs/relational/postgres/models/common/types/enrichers.js.map +1 -0
- package/dist/cjs/relational/postgres/models/common/types/index.d.ts +3 -0
- package/dist/cjs/relational/postgres/models/common/types/index.d.ts.map +1 -0
- package/dist/cjs/relational/postgres/models/common/types/index.js +19 -0
- package/dist/cjs/relational/postgres/models/common/types/index.js.map +1 -0
- package/dist/cjs/relational/postgres/models/common/types/table.d.ts +27 -0
- package/dist/cjs/relational/postgres/models/common/types/table.d.ts.map +1 -0
- package/dist/cjs/relational/postgres/models/common/{types.js → types/table.js} +2 -2
- package/dist/cjs/relational/postgres/models/common/types/table.js.map +1 -0
- package/dist/cjs/relational/postgres/models/enrichers/user-audit.enricher.js +1 -1
- package/dist/cjs/relational/postgres/repositories/common/shared.d.ts +1 -1
- package/dist/cjs/relational/postgres/repositories/common/shared.js +1 -1
- package/dist/cjs/relational/postgres/repositories/common/types.d.ts +4 -4
- package/dist/cjs/relational/postgres/repositories/core/base.d.ts +5 -5
- package/dist/cjs/relational/postgres/repositories/core/base.js +1 -1
- package/dist/cjs/relational/postgres/repositories/core/default.d.ts +5 -5
- package/dist/cjs/relational/postgres/repositories/core/default.js +1 -1
- package/dist/cjs/relational/postgres/repositories/core/persistable.d.ts +5 -5
- package/dist/cjs/relational/postgres/repositories/core/persistable.js +1 -1
- package/dist/cjs/relational/postgres/repositories/core/readable.d.ts +5 -5
- package/dist/cjs/relational/postgres/repositories/core/readable.js +1 -1
- package/dist/cjs/relational/postgres/repositories/core/soft-deletable.d.ts +7 -7
- package/dist/cjs/relational/postgres/repositories/core/soft-deletable.js +1 -1
- package/dist/cjs/relational/postgres/repositories/dialect/filter.d.ts +2 -2
- package/dist/cjs/relational/postgres/repositories/dialect/filter.js +1 -1
- package/dist/cjs/relational/postgres/repositories/dialect/query-dialect.d.ts +2 -2
- package/dist/cjs/relational/postgres/repositories/dialect/relation.d.ts +1 -1
- package/dist/cjs/relational/postgres/repositories/dialect/relation.js +1 -1
- package/dist/cjs/relational/postgres/repositories/dialect/update.d.ts +1 -1
- package/dist/cjs/relational/postgres/repositories/dialect/update.js +1 -1
- package/dist/cjs/relational/postgres/repositories/executor.d.ts +2 -2
- package/dist/cjs/relational/postgres/repositories/executor.d.ts.map +1 -1
- package/dist/cjs/relational/postgres/repositories/executor.js +2 -5
- package/dist/cjs/relational/postgres/repositories/executor.js.map +1 -1
- package/dist/cjs/relational/postgres/supabase/rls.d.ts +1 -1
- package/dist/cjs/relational/sqlite/datasources/abstract.d.ts +3 -3
- package/dist/cjs/relational/sqlite/datasources/abstract.js +3 -3
- package/dist/cjs/relational/sqlite/datasources/common/guards.js +1 -1
- package/dist/cjs/relational/sqlite/datasources/common/types.d.ts +3 -3
- package/dist/cjs/relational/sqlite/drivers/driver.d.ts +2 -2
- package/dist/cjs/relational/sqlite/models/base.d.ts +1 -1
- package/dist/cjs/relational/sqlite/models/base.js +1 -1
- package/dist/cjs/relational/sqlite/models/common/columns.d.ts +6 -3
- package/dist/cjs/relational/sqlite/models/common/columns.d.ts.map +1 -1
- package/dist/cjs/relational/sqlite/models/common/columns.js +4 -2
- package/dist/cjs/relational/sqlite/models/common/columns.js.map +1 -1
- package/dist/cjs/relational/sqlite/models/common/{types.d.ts → types/enrichers.d.ts} +1 -27
- package/dist/cjs/relational/sqlite/models/common/types/enrichers.d.ts.map +1 -0
- package/dist/cjs/relational/sqlite/models/common/types/enrichers.js +3 -0
- package/dist/cjs/relational/sqlite/models/common/types/enrichers.js.map +1 -0
- package/dist/cjs/relational/sqlite/models/common/types/index.d.ts +3 -0
- package/dist/cjs/relational/sqlite/models/common/types/index.d.ts.map +1 -0
- package/dist/cjs/relational/sqlite/models/common/types/index.js +19 -0
- package/dist/cjs/relational/sqlite/models/common/types/index.js.map +1 -0
- package/dist/cjs/relational/sqlite/models/common/types/table.d.ts +27 -0
- package/dist/cjs/relational/sqlite/models/common/types/table.d.ts.map +1 -0
- package/dist/cjs/relational/sqlite/models/common/{types.js → types/table.js} +2 -2
- package/dist/cjs/relational/sqlite/models/common/types/table.js.map +1 -0
- package/dist/cjs/relational/sqlite/models/enrichers/user-audit.enricher.js +1 -1
- package/dist/cjs/relational/sqlite/repositories/common/types.d.ts +4 -4
- package/dist/cjs/relational/sqlite/repositories/core/base.d.ts +5 -5
- package/dist/cjs/relational/sqlite/repositories/core/base.js +1 -1
- package/dist/cjs/relational/sqlite/repositories/core/default.d.ts +5 -5
- package/dist/cjs/relational/sqlite/repositories/core/default.js +1 -1
- package/dist/cjs/relational/sqlite/repositories/core/persistable.d.ts +5 -5
- package/dist/cjs/relational/sqlite/repositories/core/persistable.js +1 -1
- package/dist/cjs/relational/sqlite/repositories/core/readable.d.ts +5 -5
- package/dist/cjs/relational/sqlite/repositories/core/readable.js +1 -1
- package/dist/cjs/relational/sqlite/repositories/core/soft-deletable.d.ts +7 -7
- package/dist/cjs/relational/sqlite/repositories/core/soft-deletable.js +1 -1
- package/dist/cjs/relational/sqlite/repositories/dialect/filter.d.ts +2 -2
- package/dist/cjs/relational/sqlite/repositories/dialect/filter.d.ts.map +1 -1
- package/dist/cjs/relational/sqlite/repositories/dialect/filter.js +5 -6
- package/dist/cjs/relational/sqlite/repositories/dialect/filter.js.map +1 -1
- package/dist/cjs/relational/sqlite/repositories/dialect/internal/index.d.ts +3 -0
- package/dist/cjs/relational/sqlite/repositories/dialect/internal/index.d.ts.map +1 -0
- package/dist/cjs/relational/sqlite/repositories/dialect/internal/index.js +19 -0
- package/dist/cjs/relational/sqlite/repositories/dialect/internal/index.js.map +1 -0
- package/dist/cjs/relational/sqlite/repositories/dialect/internal/json-column.d.ts +1 -1
- package/dist/cjs/relational/sqlite/repositories/dialect/query-dialect.d.ts +2 -2
- package/dist/cjs/relational/sqlite/repositories/dialect/update.d.ts +3 -3
- package/dist/cjs/relational/sqlite/repositories/dialect/update.d.ts.map +1 -1
- package/dist/cjs/relational/sqlite/repositories/dialect/update.js +5 -6
- package/dist/cjs/relational/sqlite/repositories/dialect/update.js.map +1 -1
- package/dist/cjs/relational/sqlite/repositories/executor.d.ts +2 -2
- package/dist/cjs/relational/sqlite/repositories/executor.d.ts.map +1 -1
- package/dist/cjs/relational/sqlite/repositories/executor.js +2 -5
- package/dist/cjs/relational/sqlite/repositories/executor.js.map +1 -1
- package/dist/cjs/search/core/connector.d.ts +1 -1
- package/dist/cjs/search/core/controllers/abstract.d.ts +1 -1
- package/dist/cjs/search/core/controllers/abstract.d.ts.map +1 -1
- package/dist/cjs/search/core/controllers/abstract.js +28 -1
- package/dist/cjs/search/core/controllers/abstract.js.map +1 -1
- package/dist/cjs/search/core/controllers/definition.d.ts +1 -1
- package/dist/cjs/search/core/controllers/definition.d.ts.map +1 -1
- package/dist/cjs/search/core/controllers/definition.js +1 -1
- package/dist/cjs/search/core/controllers/factory.d.ts +33 -2
- package/dist/cjs/search/core/controllers/factory.d.ts.map +1 -1
- package/dist/cjs/search/core/datasources/abstract.d.ts +3 -3
- package/dist/cjs/search/core/datasources/base.d.ts +4 -4
- package/dist/cjs/search/core/datasources/base.js +1 -1
- package/dist/cjs/search/core/internal/search-connector-internal.js +1 -1
- package/dist/cjs/search/core/models/base.d.ts +2 -2
- package/dist/cjs/search/core/models/base.d.ts.map +1 -1
- package/dist/cjs/search/core/models/base.js.map +1 -1
- package/dist/cjs/search/core/models/common/constants.d.ts +25 -0
- package/dist/cjs/search/core/models/common/constants.d.ts.map +1 -0
- package/dist/cjs/search/core/models/{types.js → common/constants.js} +1 -1
- package/dist/cjs/search/core/models/common/constants.js.map +1 -0
- package/dist/cjs/search/core/models/common/index.d.ts +3 -0
- package/dist/cjs/search/core/models/common/index.d.ts.map +1 -0
- package/dist/cjs/search/core/models/common/index.js +19 -0
- package/dist/cjs/search/core/models/common/index.js.map +1 -0
- package/dist/cjs/search/core/models/common/types/collection.d.ts +25 -0
- package/dist/cjs/search/core/models/common/types/collection.d.ts.map +1 -0
- package/dist/cjs/search/core/models/common/types/collection.js +3 -0
- package/dist/cjs/search/core/models/common/types/collection.js.map +1 -0
- package/dist/cjs/search/core/models/common/types/document.d.ts +25 -0
- package/dist/cjs/search/core/models/common/types/document.d.ts.map +1 -0
- package/dist/cjs/search/core/models/common/types/document.js +3 -0
- package/dist/cjs/search/core/models/common/types/document.js.map +1 -0
- package/dist/cjs/search/core/models/common/types/embedding.d.ts +21 -0
- package/dist/cjs/search/core/models/common/types/embedding.d.ts.map +1 -0
- package/dist/cjs/search/core/models/common/types/embedding.js +3 -0
- package/dist/cjs/search/core/models/common/types/embedding.js.map +1 -0
- package/dist/cjs/search/core/models/common/types/field.d.ts +19 -0
- package/dist/cjs/search/core/models/common/types/field.d.ts.map +1 -0
- package/dist/cjs/search/core/models/common/types/field.js +3 -0
- package/dist/cjs/search/core/models/common/types/field.js.map +1 -0
- package/dist/cjs/search/core/models/common/types/index.d.ts +5 -0
- package/dist/cjs/search/core/models/common/types/index.d.ts.map +1 -0
- package/dist/cjs/search/core/models/common/types/index.js +21 -0
- package/dist/cjs/search/core/models/common/types/index.js.map +1 -0
- package/dist/cjs/search/core/models/define-search-collection.d.ts +2 -2
- package/dist/cjs/search/core/models/define-search-collection.d.ts.map +1 -1
- package/dist/cjs/search/core/models/define-search-collection.js +13 -13
- package/dist/cjs/search/core/models/define-search-collection.js.map +1 -1
- package/dist/cjs/search/core/models/index.d.ts +1 -1
- package/dist/cjs/search/core/models/index.d.ts.map +1 -1
- package/dist/cjs/search/core/models/index.js +1 -1
- package/dist/cjs/search/core/models/index.js.map +1 -1
- package/dist/cjs/search/core/models/zod-derivation.d.ts +2 -2
- package/dist/cjs/search/core/models/zod-derivation.d.ts.map +1 -1
- package/dist/cjs/search/core/models/zod-derivation.js +12 -15
- package/dist/cjs/search/core/models/zod-derivation.js.map +1 -1
- package/dist/cjs/search/core/repositories/common/dialect-helpers.js +1 -1
- package/dist/cjs/search/core/repositories/core/base.d.ts +3 -3
- package/dist/cjs/search/core/repositories/core/base.js +2 -2
- package/dist/cjs/search/core/repositories/core/default.d.ts +1 -1
- package/dist/cjs/search/core/repositories/core/persistable.d.ts +3 -3
- package/dist/cjs/search/core/repositories/core/persistable.js +1 -1
- package/dist/cjs/search/core/repositories/core/readable.d.ts +4 -4
- package/dist/cjs/search/core/repositories/core/readable.js +1 -1
- package/dist/cjs/search/meilisearch/common/index.d.ts +2 -0
- package/dist/cjs/search/meilisearch/common/index.d.ts.map +1 -0
- package/dist/cjs/search/meilisearch/common/index.js +18 -0
- package/dist/cjs/search/meilisearch/common/index.js.map +1 -0
- package/dist/cjs/search/meilisearch/common/types.d.ts +85 -0
- package/dist/cjs/search/meilisearch/common/types.d.ts.map +1 -0
- package/dist/cjs/search/meilisearch/common/types.js.map +1 -0
- package/dist/cjs/search/meilisearch/compiler.d.ts +1 -1
- package/dist/cjs/search/meilisearch/compiler.d.ts.map +1 -1
- package/dist/cjs/search/meilisearch/compiler.js +3 -6
- package/dist/cjs/search/meilisearch/compiler.js.map +1 -1
- package/dist/cjs/search/meilisearch/connector.d.ts +6 -48
- package/dist/cjs/search/meilisearch/connector.d.ts.map +1 -1
- package/dist/cjs/search/meilisearch/connector.js +31 -101
- package/dist/cjs/search/meilisearch/connector.js.map +1 -1
- package/dist/cjs/search/meilisearch/datasources/datasource.d.ts +4 -4
- package/dist/cjs/search/meilisearch/datasources/datasource.d.ts.map +1 -1
- package/dist/cjs/search/meilisearch/datasources/datasource.js +1 -1
- package/dist/cjs/search/meilisearch/index.d.ts +1 -1
- package/dist/cjs/search/meilisearch/index.d.ts.map +1 -1
- package/dist/cjs/search/meilisearch/index.js +1 -1
- package/dist/cjs/search/meilisearch/index.js.map +1 -1
- package/dist/cjs/search/meilisearch/internal/connector-internal.d.ts +12 -0
- package/dist/cjs/search/meilisearch/internal/connector-internal.d.ts.map +1 -1
- package/dist/cjs/search/meilisearch/internal/connector-internal.js +78 -1
- package/dist/cjs/search/meilisearch/internal/connector-internal.js.map +1 -1
- package/dist/cjs/search/meilisearch/repositories/common/types.d.ts +1 -1
- package/dist/cjs/search/meilisearch/repositories/dialect/query-dialect.d.ts +5 -3
- package/dist/cjs/search/meilisearch/repositories/dialect/query-dialect.d.ts.map +1 -1
- package/dist/cjs/search/meilisearch/repositories/dialect/query-dialect.js +23 -17
- package/dist/cjs/search/meilisearch/repositories/dialect/query-dialect.js.map +1 -1
- package/dist/cjs/search/typesense/common/constants.d.ts +20 -0
- package/dist/cjs/search/typesense/common/constants.d.ts.map +1 -0
- package/dist/cjs/search/typesense/{types.js → common/constants.js} +1 -1
- package/dist/cjs/search/typesense/common/constants.js.map +1 -0
- package/dist/cjs/search/typesense/common/index.d.ts +3 -0
- package/dist/cjs/search/typesense/common/index.d.ts.map +1 -0
- package/dist/cjs/search/typesense/common/index.js +19 -0
- package/dist/cjs/search/typesense/common/index.js.map +1 -0
- package/dist/cjs/search/typesense/common/types/client.d.ts +61 -0
- package/dist/cjs/search/typesense/common/types/client.d.ts.map +1 -0
- package/dist/cjs/search/typesense/common/types/client.js +3 -0
- package/dist/cjs/search/typesense/common/types/client.js.map +1 -0
- package/dist/cjs/search/typesense/common/types/index.d.ts +5 -0
- package/dist/cjs/search/typesense/common/types/index.d.ts.map +1 -0
- package/dist/cjs/search/typesense/common/types/index.js +21 -0
- package/dist/cjs/search/typesense/common/types/index.js.map +1 -0
- package/dist/cjs/search/typesense/common/types/options.d.ts +22 -0
- package/dist/cjs/search/typesense/common/types/options.d.ts.map +1 -0
- package/dist/cjs/search/typesense/common/types/options.js +3 -0
- package/dist/cjs/search/typesense/common/types/options.js.map +1 -0
- package/dist/cjs/search/typesense/common/types/schema.d.ts +8 -0
- package/dist/cjs/search/typesense/common/types/schema.d.ts.map +1 -0
- package/dist/cjs/search/typesense/common/types/schema.js +3 -0
- package/dist/cjs/search/typesense/common/types/schema.js.map +1 -0
- package/dist/cjs/search/typesense/common/types/search.d.ts +13 -0
- package/dist/cjs/search/typesense/common/types/search.d.ts.map +1 -0
- package/dist/cjs/search/typesense/common/types/search.js +3 -0
- package/dist/cjs/search/typesense/common/types/search.js.map +1 -0
- package/dist/cjs/search/typesense/compiler.d.ts +1 -1
- package/dist/cjs/search/typesense/compiler.js +1 -1
- package/dist/cjs/search/typesense/connector.d.ts +5 -59
- package/dist/cjs/search/typesense/connector.d.ts.map +1 -1
- package/dist/cjs/search/typesense/connector.js +57 -220
- package/dist/cjs/search/typesense/connector.js.map +1 -1
- package/dist/cjs/search/typesense/controllers/index.d.ts +1 -1
- package/dist/cjs/search/typesense/controllers/index.js +1 -1
- package/dist/cjs/search/typesense/datasources/datasource.d.ts +4 -4
- package/dist/cjs/search/typesense/datasources/datasource.d.ts.map +1 -1
- package/dist/cjs/search/typesense/datasources/datasource.js +1 -1
- package/dist/cjs/search/typesense/index.d.ts +2 -2
- package/dist/cjs/search/typesense/index.d.ts.map +1 -1
- package/dist/cjs/search/typesense/index.js +2 -2
- package/dist/cjs/search/typesense/index.js.map +1 -1
- package/dist/cjs/search/typesense/internal/connector-internal.d.ts +1 -21
- package/dist/cjs/search/typesense/internal/connector-internal.d.ts.map +1 -1
- package/dist/cjs/search/typesense/internal/connector-internal.js +5 -19
- package/dist/cjs/search/typesense/internal/connector-internal.js.map +1 -1
- package/dist/cjs/search/typesense/internal/guards.d.ts +18 -0
- package/dist/cjs/search/typesense/internal/guards.d.ts.map +1 -0
- package/dist/cjs/search/typesense/internal/guards.js +30 -0
- package/dist/cjs/search/typesense/internal/guards.js.map +1 -0
- package/dist/cjs/search/typesense/internal/index.d.ts +4 -0
- package/dist/cjs/search/typesense/internal/index.d.ts.map +1 -1
- package/dist/cjs/search/typesense/internal/index.js +4 -0
- package/dist/cjs/search/typesense/internal/index.js.map +1 -1
- package/dist/cjs/search/typesense/internal/mappers.d.ts +22 -0
- package/dist/cjs/search/typesense/internal/mappers.d.ts.map +1 -0
- package/dist/cjs/search/typesense/internal/mappers.js +66 -0
- package/dist/cjs/search/typesense/internal/mappers.js.map +1 -0
- package/dist/cjs/search/typesense/internal/outcomes.d.ts +22 -0
- package/dist/cjs/search/typesense/internal/outcomes.d.ts.map +1 -0
- package/dist/cjs/search/typesense/internal/outcomes.js +19 -0
- package/dist/cjs/search/typesense/internal/outcomes.js.map +1 -0
- package/dist/cjs/search/typesense/internal/pagination-windows.d.ts +41 -0
- package/dist/cjs/search/typesense/internal/pagination-windows.d.ts.map +1 -0
- package/dist/cjs/search/typesense/internal/pagination-windows.js +96 -0
- package/dist/cjs/search/typesense/internal/pagination-windows.js.map +1 -0
- package/dist/cjs/search/typesense/repositories/common/types.d.ts +1 -1
- package/dist/cjs/search/typesense/repositories/dialect/query-dialect.d.ts +6 -4
- package/dist/cjs/search/typesense/repositories/dialect/query-dialect.d.ts.map +1 -1
- package/dist/cjs/search/typesense/repositories/dialect/query-dialect.js +32 -17
- package/dist/cjs/search/typesense/repositories/dialect/query-dialect.js.map +1 -1
- package/dist/cjs/search/typesense/repositories/index.d.ts +1 -1
- package/dist/cjs/search/typesense/repositories/index.js +1 -1
- package/dist/esm/common/index.d.ts +2 -0
- package/dist/esm/common/index.d.ts.map +1 -0
- package/dist/esm/common/index.js +2 -0
- package/dist/esm/common/index.js.map +1 -0
- package/dist/esm/common/scope-filter.d.ts +10 -0
- package/dist/esm/common/scope-filter.d.ts.map +1 -0
- package/dist/esm/common/scope-filter.js +49 -0
- package/dist/esm/common/scope-filter.js.map +1 -0
- package/dist/esm/http/common/types.d.ts +62 -0
- package/dist/esm/http/common/types.d.ts.map +1 -0
- package/dist/esm/http/common/types.js +2 -0
- package/dist/esm/http/common/types.js.map +1 -0
- package/dist/esm/http/datasource.d.ts +75 -0
- package/dist/esm/http/datasource.d.ts.map +1 -0
- package/dist/esm/http/datasource.js +171 -0
- package/dist/esm/http/datasource.js.map +1 -0
- package/dist/esm/http/index.d.ts +4 -0
- package/dist/esm/http/index.d.ts.map +1 -0
- package/dist/esm/http/index.js +4 -0
- package/dist/esm/http/index.js.map +1 -0
- package/dist/esm/http/repository.d.ts +72 -0
- package/dist/esm/http/repository.d.ts.map +1 -0
- package/dist/esm/http/repository.js +105 -0
- package/dist/esm/http/repository.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/relational/core/datasources/abstract.d.ts +3 -3
- package/dist/esm/relational/core/datasources/base.js +1 -1
- package/dist/esm/relational/core/datasources/common/types.d.ts +1 -1
- package/dist/esm/relational/core/models/base.d.ts +1 -1
- package/dist/esm/relational/core/models/common/types.d.ts +1 -1
- package/dist/esm/relational/core/repositories/common/executor.d.ts +1 -1
- package/dist/esm/relational/core/repositories/common/index.d.ts +1 -0
- package/dist/esm/relational/core/repositories/common/index.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/common/index.js +1 -0
- package/dist/esm/relational/core/repositories/common/index.js.map +1 -1
- package/dist/esm/relational/core/repositories/common/scope-filter.d.ts +11 -0
- package/dist/esm/relational/core/repositories/common/scope-filter.d.ts.map +1 -0
- package/dist/esm/relational/core/repositories/common/scope-filter.js +13 -0
- package/dist/esm/relational/core/repositories/common/scope-filter.js.map +1 -0
- package/dist/esm/relational/core/repositories/common/shared.d.ts +1 -1
- package/dist/esm/relational/core/repositories/common/types.d.ts +2 -2
- package/dist/esm/relational/core/repositories/core/base.d.ts +31 -6
- package/dist/esm/relational/core/repositories/core/base.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/core/base.js +62 -7
- package/dist/esm/relational/core/repositories/core/base.js.map +1 -1
- package/dist/esm/relational/core/repositories/core/default.d.ts +2 -2
- package/dist/esm/relational/core/repositories/core/persistable.d.ts +7 -8
- package/dist/esm/relational/core/repositories/core/persistable.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/core/persistable.js +3 -3
- package/dist/esm/relational/core/repositories/core/persistable.js.map +1 -1
- package/dist/esm/relational/core/repositories/core/readable.d.ts +9 -8
- package/dist/esm/relational/core/repositories/core/readable.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/core/readable.js +16 -5
- package/dist/esm/relational/core/repositories/core/readable.js.map +1 -1
- package/dist/esm/relational/core/repositories/core/soft-deletable.d.ts +7 -8
- package/dist/esm/relational/core/repositories/core/soft-deletable.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/core/soft-deletable.js +1 -1
- package/dist/esm/relational/core/repositories/core/soft-deletable.js.map +1 -1
- package/dist/esm/relational/core/repositories/dialect/filter.d.ts +14 -2
- package/dist/esm/relational/core/repositories/dialect/filter.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/dialect/filter.js +56 -11
- package/dist/esm/relational/core/repositories/dialect/filter.js.map +1 -1
- package/dist/esm/relational/core/repositories/dialect/internal/index.d.ts +2 -0
- package/dist/esm/relational/core/repositories/dialect/internal/index.d.ts.map +1 -0
- package/dist/esm/relational/core/repositories/dialect/internal/index.js +2 -0
- package/dist/esm/relational/core/repositories/dialect/internal/index.js.map +1 -0
- package/dist/esm/relational/core/repositories/dialect/relation.d.ts +1 -1
- package/dist/esm/relational/core/repositories/dialect/update.d.ts +1 -1
- package/dist/esm/relational/core/repositories/dialect/update.js +1 -1
- package/dist/esm/relational/core/repositories/dialect/update.js.map +1 -1
- package/dist/esm/relational/postgres/datasources/abstract.d.ts +3 -3
- package/dist/esm/relational/postgres/datasources/abstract.js +3 -3
- package/dist/esm/relational/postgres/datasources/common/guards.js +1 -1
- package/dist/esm/relational/postgres/datasources/common/types.d.ts +2 -2
- package/dist/esm/relational/postgres/drivers/driver.d.ts +3 -3
- package/dist/esm/relational/postgres/drivers/node-postgres.d.ts +1 -1
- package/dist/esm/relational/postgres/drivers/pglite.d.ts +1 -1
- package/dist/esm/relational/postgres/drivers/postgres-js.d.ts +1 -1
- package/dist/esm/relational/postgres/models/base.d.ts +1 -1
- package/dist/esm/relational/postgres/models/base.js +1 -1
- package/dist/esm/relational/postgres/models/common/columns.d.ts +8 -2
- package/dist/esm/relational/postgres/models/common/columns.d.ts.map +1 -1
- package/dist/esm/relational/postgres/models/common/columns.js +6 -1
- package/dist/esm/relational/postgres/models/common/columns.js.map +1 -1
- package/dist/esm/relational/postgres/models/common/index.d.ts +1 -1
- package/dist/esm/relational/postgres/models/common/index.js +1 -1
- package/dist/esm/relational/postgres/models/common/{types.d.ts → types/enrichers.d.ts} +2 -27
- package/dist/esm/relational/postgres/models/common/types/enrichers.d.ts.map +1 -0
- package/dist/esm/relational/postgres/models/common/types/enrichers.js +2 -0
- package/dist/esm/relational/postgres/models/common/types/enrichers.js.map +1 -0
- package/dist/esm/relational/postgres/models/common/types/index.d.ts +3 -0
- package/dist/esm/relational/postgres/models/common/types/index.d.ts.map +1 -0
- package/dist/esm/relational/postgres/models/common/types/index.js +3 -0
- package/dist/esm/relational/postgres/models/common/types/index.js.map +1 -0
- package/dist/esm/relational/postgres/models/common/types/table.d.ts +27 -0
- package/dist/esm/relational/postgres/models/common/types/table.d.ts.map +1 -0
- package/dist/esm/relational/postgres/models/common/{types.js → types/table.js} +2 -2
- package/dist/esm/relational/postgres/models/common/types/table.js.map +1 -0
- package/dist/esm/relational/postgres/models/enrichers/data-type.enricher.d.ts +1 -1
- package/dist/esm/relational/postgres/models/enrichers/id.enricher.d.ts +1 -1
- package/dist/esm/relational/postgres/models/enrichers/principal.enricher.d.ts +1 -1
- package/dist/esm/relational/postgres/models/enrichers/tz.enricher.d.ts +1 -1
- package/dist/esm/relational/postgres/models/enrichers/user-audit.enricher.d.ts +1 -1
- package/dist/esm/relational/postgres/models/enrichers/user-audit.enricher.js +1 -1
- package/dist/esm/relational/postgres/repositories/common/shared.d.ts +1 -1
- package/dist/esm/relational/postgres/repositories/common/shared.js +1 -1
- package/dist/esm/relational/postgres/repositories/common/types.d.ts +4 -4
- package/dist/esm/relational/postgres/repositories/core/base.d.ts +5 -5
- package/dist/esm/relational/postgres/repositories/core/base.js +1 -1
- package/dist/esm/relational/postgres/repositories/core/default.d.ts +5 -5
- package/dist/esm/relational/postgres/repositories/core/default.js +1 -1
- package/dist/esm/relational/postgres/repositories/core/persistable.d.ts +5 -5
- package/dist/esm/relational/postgres/repositories/core/persistable.js +1 -1
- package/dist/esm/relational/postgres/repositories/core/readable.d.ts +5 -5
- package/dist/esm/relational/postgres/repositories/core/readable.js +1 -1
- package/dist/esm/relational/postgres/repositories/core/soft-deletable.d.ts +7 -7
- package/dist/esm/relational/postgres/repositories/core/soft-deletable.js +1 -1
- package/dist/esm/relational/postgres/repositories/dialect/filter.d.ts +2 -2
- package/dist/esm/relational/postgres/repositories/dialect/filter.js +1 -1
- package/dist/esm/relational/postgres/repositories/dialect/query-dialect.d.ts +2 -2
- package/dist/esm/relational/postgres/repositories/dialect/relation.d.ts +1 -1
- package/dist/esm/relational/postgres/repositories/dialect/relation.js +1 -1
- package/dist/esm/relational/postgres/repositories/dialect/update.d.ts +1 -1
- package/dist/esm/relational/postgres/repositories/dialect/update.js +1 -1
- package/dist/esm/relational/postgres/repositories/executor.d.ts +2 -2
- package/dist/esm/relational/postgres/repositories/executor.d.ts.map +1 -1
- package/dist/esm/relational/postgres/repositories/executor.js +2 -2
- package/dist/esm/relational/postgres/repositories/executor.js.map +1 -1
- package/dist/esm/relational/postgres/supabase/rls.d.ts +1 -1
- package/dist/esm/relational/sqlite/datasources/abstract.d.ts +3 -3
- package/dist/esm/relational/sqlite/datasources/abstract.js +3 -3
- package/dist/esm/relational/sqlite/datasources/common/guards.js +1 -1
- package/dist/esm/relational/sqlite/datasources/common/types.d.ts +3 -3
- package/dist/esm/relational/sqlite/drivers/driver.d.ts +2 -2
- package/dist/esm/relational/sqlite/models/base.d.ts +1 -1
- package/dist/esm/relational/sqlite/models/base.js +1 -1
- package/dist/esm/relational/sqlite/models/common/columns.d.ts +6 -3
- package/dist/esm/relational/sqlite/models/common/columns.d.ts.map +1 -1
- package/dist/esm/relational/sqlite/models/common/columns.js +4 -2
- package/dist/esm/relational/sqlite/models/common/columns.js.map +1 -1
- package/dist/esm/relational/sqlite/models/common/index.d.ts +1 -1
- package/dist/esm/relational/sqlite/models/common/index.js +1 -1
- package/dist/esm/relational/sqlite/models/common/{types.d.ts → types/enrichers.d.ts} +1 -27
- package/dist/esm/relational/sqlite/models/common/types/enrichers.d.ts.map +1 -0
- package/dist/esm/relational/sqlite/models/common/types/enrichers.js +2 -0
- package/dist/esm/relational/sqlite/models/common/types/enrichers.js.map +1 -0
- package/dist/esm/relational/sqlite/models/common/types/index.d.ts +3 -0
- package/dist/esm/relational/sqlite/models/common/types/index.d.ts.map +1 -0
- package/dist/esm/relational/sqlite/models/common/types/index.js +3 -0
- package/dist/esm/relational/sqlite/models/common/types/index.js.map +1 -0
- package/dist/esm/relational/sqlite/models/common/types/table.d.ts +27 -0
- package/dist/esm/relational/sqlite/models/common/types/table.d.ts.map +1 -0
- package/dist/esm/relational/sqlite/models/common/{types.js → types/table.js} +2 -2
- package/dist/esm/relational/sqlite/models/common/types/table.js.map +1 -0
- package/dist/esm/relational/sqlite/models/enrichers/data-type.enricher.d.ts +1 -1
- package/dist/esm/relational/sqlite/models/enrichers/id.enricher.d.ts +1 -1
- package/dist/esm/relational/sqlite/models/enrichers/principal.enricher.d.ts +1 -1
- package/dist/esm/relational/sqlite/models/enrichers/tz.enricher.d.ts +1 -1
- package/dist/esm/relational/sqlite/models/enrichers/user-audit.enricher.d.ts +1 -1
- package/dist/esm/relational/sqlite/models/enrichers/user-audit.enricher.js +1 -1
- package/dist/esm/relational/sqlite/repositories/common/types.d.ts +4 -4
- package/dist/esm/relational/sqlite/repositories/core/base.d.ts +5 -5
- package/dist/esm/relational/sqlite/repositories/core/base.js +1 -1
- package/dist/esm/relational/sqlite/repositories/core/default.d.ts +5 -5
- package/dist/esm/relational/sqlite/repositories/core/default.js +1 -1
- package/dist/esm/relational/sqlite/repositories/core/persistable.d.ts +5 -5
- package/dist/esm/relational/sqlite/repositories/core/persistable.js +1 -1
- package/dist/esm/relational/sqlite/repositories/core/readable.d.ts +5 -5
- package/dist/esm/relational/sqlite/repositories/core/readable.js +1 -1
- package/dist/esm/relational/sqlite/repositories/core/soft-deletable.d.ts +7 -7
- package/dist/esm/relational/sqlite/repositories/core/soft-deletable.js +1 -1
- package/dist/esm/relational/sqlite/repositories/dialect/filter.d.ts +2 -2
- package/dist/esm/relational/sqlite/repositories/dialect/filter.d.ts.map +1 -1
- package/dist/esm/relational/sqlite/repositories/dialect/filter.js +2 -3
- package/dist/esm/relational/sqlite/repositories/dialect/filter.js.map +1 -1
- package/dist/esm/relational/sqlite/repositories/dialect/internal/index.d.ts +3 -0
- package/dist/esm/relational/sqlite/repositories/dialect/internal/index.d.ts.map +1 -0
- package/dist/esm/relational/sqlite/repositories/dialect/internal/index.js +3 -0
- package/dist/esm/relational/sqlite/repositories/dialect/internal/index.js.map +1 -0
- package/dist/esm/relational/sqlite/repositories/dialect/internal/json-column.d.ts +1 -1
- package/dist/esm/relational/sqlite/repositories/dialect/query-dialect.d.ts +2 -2
- package/dist/esm/relational/sqlite/repositories/dialect/update.d.ts +3 -3
- package/dist/esm/relational/sqlite/repositories/dialect/update.d.ts.map +1 -1
- package/dist/esm/relational/sqlite/repositories/dialect/update.js +3 -4
- package/dist/esm/relational/sqlite/repositories/dialect/update.js.map +1 -1
- package/dist/esm/relational/sqlite/repositories/executor.d.ts +2 -2
- package/dist/esm/relational/sqlite/repositories/executor.d.ts.map +1 -1
- package/dist/esm/relational/sqlite/repositories/executor.js +2 -2
- package/dist/esm/relational/sqlite/repositories/executor.js.map +1 -1
- package/dist/esm/search/core/connector.d.ts +1 -1
- package/dist/esm/search/core/controllers/abstract.d.ts +1 -1
- package/dist/esm/search/core/controllers/abstract.d.ts.map +1 -1
- package/dist/esm/search/core/controllers/abstract.js +29 -2
- package/dist/esm/search/core/controllers/abstract.js.map +1 -1
- package/dist/esm/search/core/controllers/definition.d.ts +1 -1
- package/dist/esm/search/core/controllers/definition.d.ts.map +1 -1
- package/dist/esm/search/core/controllers/definition.js +1 -1
- package/dist/esm/search/core/controllers/factory.d.ts +33 -2
- package/dist/esm/search/core/controllers/factory.d.ts.map +1 -1
- package/dist/esm/search/core/datasources/abstract.d.ts +3 -3
- package/dist/esm/search/core/datasources/base.d.ts +4 -4
- package/dist/esm/search/core/datasources/base.js +1 -1
- package/dist/esm/search/core/internal/search-connector-internal.js +1 -1
- package/dist/esm/search/core/models/base.d.ts +2 -2
- package/dist/esm/search/core/models/base.d.ts.map +1 -1
- package/dist/esm/search/core/models/base.js.map +1 -1
- package/dist/esm/search/core/models/common/constants.d.ts +25 -0
- package/dist/esm/search/core/models/common/constants.d.ts.map +1 -0
- package/dist/esm/search/core/models/{types.js → common/constants.js} +1 -1
- package/dist/esm/search/core/models/common/constants.js.map +1 -0
- package/dist/esm/search/core/models/common/index.d.ts +3 -0
- package/dist/esm/search/core/models/common/index.d.ts.map +1 -0
- package/dist/esm/search/core/models/common/index.js +3 -0
- package/dist/esm/search/core/models/common/index.js.map +1 -0
- package/dist/esm/search/core/models/common/types/collection.d.ts +25 -0
- package/dist/esm/search/core/models/common/types/collection.d.ts.map +1 -0
- package/dist/esm/search/core/models/common/types/collection.js +2 -0
- package/dist/esm/search/core/models/common/types/collection.js.map +1 -0
- package/dist/esm/search/core/models/common/types/document.d.ts +25 -0
- package/dist/esm/search/core/models/common/types/document.d.ts.map +1 -0
- package/dist/esm/search/core/models/common/types/document.js +2 -0
- package/dist/esm/search/core/models/common/types/document.js.map +1 -0
- package/dist/esm/search/core/models/common/types/embedding.d.ts +21 -0
- package/dist/esm/search/core/models/common/types/embedding.d.ts.map +1 -0
- package/dist/esm/search/core/models/common/types/embedding.js +2 -0
- package/dist/esm/search/core/models/common/types/embedding.js.map +1 -0
- package/dist/esm/search/core/models/common/types/field.d.ts +19 -0
- package/dist/esm/search/core/models/common/types/field.d.ts.map +1 -0
- package/dist/esm/search/core/models/common/types/field.js +2 -0
- package/dist/esm/search/core/models/common/types/field.js.map +1 -0
- package/dist/esm/search/core/models/common/types/index.d.ts +5 -0
- package/dist/esm/search/core/models/common/types/index.d.ts.map +1 -0
- package/dist/esm/search/core/models/common/types/index.js +5 -0
- package/dist/esm/search/core/models/common/types/index.js.map +1 -0
- package/dist/esm/search/core/models/define-search-collection.d.ts +2 -2
- package/dist/esm/search/core/models/define-search-collection.d.ts.map +1 -1
- package/dist/esm/search/core/models/define-search-collection.js +1 -1
- package/dist/esm/search/core/models/define-search-collection.js.map +1 -1
- package/dist/esm/search/core/models/index.d.ts +1 -1
- package/dist/esm/search/core/models/index.d.ts.map +1 -1
- package/dist/esm/search/core/models/index.js +1 -1
- package/dist/esm/search/core/models/index.js.map +1 -1
- package/dist/esm/search/core/models/zod-derivation.d.ts +2 -2
- package/dist/esm/search/core/models/zod-derivation.d.ts.map +1 -1
- package/dist/esm/search/core/models/zod-derivation.js +3 -3
- package/dist/esm/search/core/models/zod-derivation.js.map +1 -1
- package/dist/esm/search/core/repositories/common/dialect-helpers.js +1 -1
- package/dist/esm/search/core/repositories/core/base.d.ts +3 -3
- package/dist/esm/search/core/repositories/core/base.js +2 -2
- package/dist/esm/search/core/repositories/core/default.d.ts +1 -1
- package/dist/esm/search/core/repositories/core/persistable.d.ts +3 -3
- package/dist/esm/search/core/repositories/core/persistable.js +1 -1
- package/dist/esm/search/core/repositories/core/readable.d.ts +4 -4
- package/dist/esm/search/core/repositories/core/readable.js +1 -1
- package/dist/esm/search/meilisearch/common/index.d.ts +2 -0
- package/dist/esm/search/meilisearch/common/index.d.ts.map +1 -0
- package/dist/esm/search/meilisearch/common/index.js +2 -0
- package/dist/esm/search/meilisearch/common/index.js.map +1 -0
- package/dist/esm/search/meilisearch/common/types.d.ts +85 -0
- package/dist/esm/search/meilisearch/common/types.d.ts.map +1 -0
- package/dist/esm/search/meilisearch/common/types.js.map +1 -0
- package/dist/esm/search/meilisearch/compiler.d.ts +1 -1
- package/dist/esm/search/meilisearch/compiler.d.ts.map +1 -1
- package/dist/esm/search/meilisearch/compiler.js +3 -3
- package/dist/esm/search/meilisearch/compiler.js.map +1 -1
- package/dist/esm/search/meilisearch/connector.d.ts +6 -48
- package/dist/esm/search/meilisearch/connector.d.ts.map +1 -1
- package/dist/esm/search/meilisearch/connector.js +16 -86
- package/dist/esm/search/meilisearch/connector.js.map +1 -1
- package/dist/esm/search/meilisearch/datasources/datasource.d.ts +4 -4
- package/dist/esm/search/meilisearch/datasources/datasource.d.ts.map +1 -1
- package/dist/esm/search/meilisearch/datasources/datasource.js +1 -1
- package/dist/esm/search/meilisearch/index.d.ts +1 -1
- package/dist/esm/search/meilisearch/index.d.ts.map +1 -1
- package/dist/esm/search/meilisearch/index.js +1 -1
- package/dist/esm/search/meilisearch/index.js.map +1 -1
- package/dist/esm/search/meilisearch/internal/connector-internal.d.ts +12 -0
- package/dist/esm/search/meilisearch/internal/connector-internal.d.ts.map +1 -1
- package/dist/esm/search/meilisearch/internal/connector-internal.js +73 -0
- package/dist/esm/search/meilisearch/internal/connector-internal.js.map +1 -1
- package/dist/esm/search/meilisearch/repositories/common/types.d.ts +1 -1
- package/dist/esm/search/meilisearch/repositories/dialect/query-dialect.d.ts +5 -3
- package/dist/esm/search/meilisearch/repositories/dialect/query-dialect.d.ts.map +1 -1
- package/dist/esm/search/meilisearch/repositories/dialect/query-dialect.js +11 -5
- package/dist/esm/search/meilisearch/repositories/dialect/query-dialect.js.map +1 -1
- package/dist/esm/search/typesense/common/constants.d.ts +20 -0
- package/dist/esm/search/typesense/common/constants.d.ts.map +1 -0
- package/dist/esm/search/typesense/{types.js → common/constants.js} +1 -1
- package/dist/esm/search/typesense/common/constants.js.map +1 -0
- package/dist/esm/search/typesense/common/index.d.ts +3 -0
- package/dist/esm/search/typesense/common/index.d.ts.map +1 -0
- package/dist/esm/search/typesense/common/index.js +3 -0
- package/dist/esm/search/typesense/common/index.js.map +1 -0
- package/dist/esm/search/typesense/common/types/client.d.ts +61 -0
- package/dist/esm/search/typesense/common/types/client.d.ts.map +1 -0
- package/dist/esm/search/typesense/common/types/client.js +2 -0
- package/dist/esm/search/typesense/common/types/client.js.map +1 -0
- package/dist/esm/search/typesense/common/types/index.d.ts +5 -0
- package/dist/esm/search/typesense/common/types/index.d.ts.map +1 -0
- package/dist/esm/search/typesense/common/types/index.js +5 -0
- package/dist/esm/search/typesense/common/types/index.js.map +1 -0
- package/dist/esm/search/typesense/common/types/options.d.ts +22 -0
- package/dist/esm/search/typesense/common/types/options.d.ts.map +1 -0
- package/dist/esm/search/typesense/common/types/options.js +2 -0
- package/dist/esm/search/typesense/common/types/options.js.map +1 -0
- package/dist/esm/search/typesense/common/types/schema.d.ts +8 -0
- package/dist/esm/search/typesense/common/types/schema.d.ts.map +1 -0
- package/dist/esm/search/typesense/common/types/schema.js +2 -0
- package/dist/esm/search/typesense/common/types/schema.js.map +1 -0
- package/dist/esm/search/typesense/common/types/search.d.ts +13 -0
- package/dist/esm/search/typesense/common/types/search.d.ts.map +1 -0
- package/dist/esm/search/typesense/common/types/search.js +2 -0
- package/dist/esm/search/typesense/common/types/search.js.map +1 -0
- package/dist/esm/search/typesense/compiler.d.ts +1 -1
- package/dist/esm/search/typesense/compiler.js +1 -1
- package/dist/esm/search/typesense/connector.d.ts +5 -59
- package/dist/esm/search/typesense/connector.d.ts.map +1 -1
- package/dist/esm/search/typesense/connector.js +27 -190
- package/dist/esm/search/typesense/connector.js.map +1 -1
- package/dist/esm/search/typesense/controllers/index.d.ts +1 -1
- package/dist/esm/search/typesense/controllers/index.js +1 -1
- package/dist/esm/search/typesense/datasources/datasource.d.ts +4 -4
- package/dist/esm/search/typesense/datasources/datasource.d.ts.map +1 -1
- package/dist/esm/search/typesense/datasources/datasource.js +1 -1
- package/dist/esm/search/typesense/index.d.ts +2 -2
- package/dist/esm/search/typesense/index.d.ts.map +1 -1
- package/dist/esm/search/typesense/index.js +2 -2
- package/dist/esm/search/typesense/index.js.map +1 -1
- package/dist/esm/search/typesense/internal/connector-internal.d.ts +1 -21
- package/dist/esm/search/typesense/internal/connector-internal.d.ts.map +1 -1
- package/dist/esm/search/typesense/internal/connector-internal.js +1 -14
- package/dist/esm/search/typesense/internal/connector-internal.js.map +1 -1
- package/dist/esm/search/typesense/internal/guards.d.ts +18 -0
- package/dist/esm/search/typesense/internal/guards.d.ts.map +1 -0
- package/dist/esm/search/typesense/internal/guards.js +23 -0
- package/dist/esm/search/typesense/internal/guards.js.map +1 -0
- package/dist/esm/search/typesense/internal/index.d.ts +4 -0
- package/dist/esm/search/typesense/internal/index.d.ts.map +1 -1
- package/dist/esm/search/typesense/internal/index.js +4 -0
- package/dist/esm/search/typesense/internal/index.js.map +1 -1
- package/dist/esm/search/typesense/internal/mappers.d.ts +22 -0
- package/dist/esm/search/typesense/internal/mappers.d.ts.map +1 -0
- package/dist/esm/search/typesense/internal/mappers.js +59 -0
- package/dist/esm/search/typesense/internal/mappers.js.map +1 -0
- package/dist/esm/search/typesense/internal/outcomes.d.ts +22 -0
- package/dist/esm/search/typesense/internal/outcomes.d.ts.map +1 -0
- package/dist/esm/search/typesense/internal/outcomes.js +15 -0
- package/dist/esm/search/typesense/internal/outcomes.js.map +1 -0
- package/dist/esm/search/typesense/internal/pagination-windows.d.ts +41 -0
- package/dist/esm/search/typesense/internal/pagination-windows.d.ts.map +1 -0
- package/dist/esm/search/typesense/internal/pagination-windows.js +89 -0
- package/dist/esm/search/typesense/internal/pagination-windows.js.map +1 -0
- package/dist/esm/search/typesense/repositories/common/types.d.ts +1 -1
- package/dist/esm/search/typesense/repositories/dialect/query-dialect.d.ts +6 -4
- package/dist/esm/search/typesense/repositories/dialect/query-dialect.d.ts.map +1 -1
- package/dist/esm/search/typesense/repositories/dialect/query-dialect.js +20 -5
- package/dist/esm/search/typesense/repositories/dialect/query-dialect.js.map +1 -1
- package/dist/esm/search/typesense/repositories/index.d.ts +1 -1
- package/dist/esm/search/typesense/repositories/index.js +1 -1
- package/package.json +19 -14
- package/dist/cjs/relational/postgres/models/common/types.d.ts.map +0 -1
- package/dist/cjs/relational/postgres/models/common/types.js.map +0 -1
- package/dist/cjs/relational/sqlite/models/common/types.d.ts.map +0 -1
- package/dist/cjs/relational/sqlite/models/common/types.js.map +0 -1
- package/dist/cjs/search/core/models/types.d.ts +0 -106
- package/dist/cjs/search/core/models/types.d.ts.map +0 -1
- package/dist/cjs/search/core/models/types.js.map +0 -1
- package/dist/cjs/search/meilisearch/types.d.ts +0 -42
- package/dist/cjs/search/meilisearch/types.d.ts.map +0 -1
- package/dist/cjs/search/meilisearch/types.js.map +0 -1
- package/dist/cjs/search/typesense/types.d.ts +0 -62
- package/dist/cjs/search/typesense/types.d.ts.map +0 -1
- package/dist/cjs/search/typesense/types.js.map +0 -1
- package/dist/esm/relational/postgres/models/common/types.d.ts.map +0 -1
- package/dist/esm/relational/postgres/models/common/types.js.map +0 -1
- package/dist/esm/relational/sqlite/models/common/types.d.ts.map +0 -1
- package/dist/esm/relational/sqlite/models/common/types.js.map +0 -1
- package/dist/esm/search/core/models/types.d.ts +0 -106
- package/dist/esm/search/core/models/types.d.ts.map +0 -1
- package/dist/esm/search/core/models/types.js.map +0 -1
- package/dist/esm/search/meilisearch/types.d.ts +0 -42
- package/dist/esm/search/meilisearch/types.d.ts.map +0 -1
- package/dist/esm/search/meilisearch/types.js.map +0 -1
- package/dist/esm/search/typesense/types.d.ts +0 -62
- package/dist/esm/search/typesense/types.d.ts.map +0 -1
- package/dist/esm/search/typesense/types.js.map +0 -1
- /package/dist/cjs/search/meilisearch/{types.js → common/types.js} +0 -0
- /package/dist/esm/search/meilisearch/{types.js → common/types.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./scope-filter"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refuses to boot when `settings.scopeFilter` is declared where it cannot be honoured. Both cases
|
|
3
|
+
* are silent at runtime and fail in OPPOSITE directions: a search-backed model returns more rows,
|
|
4
|
+
* a context-less one returns none. The caller supplies `asyncContextEnabled` so no application
|
|
5
|
+
* config type reaches into this tier.
|
|
6
|
+
*/
|
|
7
|
+
export declare const assertScopeFilterSupported: (opts: {
|
|
8
|
+
asyncContextEnabled: boolean;
|
|
9
|
+
}) => void;
|
|
10
|
+
//# sourceMappingURL=scope-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-filter.d.ts","sourceRoot":"","sources":["../../../src/common/scope-filter.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,GAAI,MAAM;IAAE,mBAAmB,EAAE,OAAO,CAAA;CAAE,KAAG,IA4CnF,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertScopeFilterSupported = void 0;
|
|
4
|
+
const common_1 = require("@venizia/ignis-helpers/common");
|
|
5
|
+
const core_1 = require("@venizia/ignis-helpers/core");
|
|
6
|
+
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
7
|
+
const models_1 = require("../search/core/models");
|
|
8
|
+
/**
|
|
9
|
+
* Refuses to boot when `settings.scopeFilter` is declared where it cannot be honoured. Both cases
|
|
10
|
+
* are silent at runtime and fail in OPPOSITE directions: a search-backed model returns more rows,
|
|
11
|
+
* a context-less one returns none. The caller supplies `asyncContextEnabled` so no application
|
|
12
|
+
* config type reaches into this tier.
|
|
13
|
+
*/
|
|
14
|
+
const assertScopeFilterSupported = (opts) => {
|
|
15
|
+
const models = ignis_kernel_1.MetadataRegistry.getInstance().getAllModels();
|
|
16
|
+
const searchBacked = [];
|
|
17
|
+
const withoutAmbientContext = [];
|
|
18
|
+
for (const [name, entry] of models) {
|
|
19
|
+
if (!entry.metadata?.settings?.scopeFilter) {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
const modelClass = (0, common_1.resolveValue)(entry.target);
|
|
23
|
+
if (modelClass === models_1.BaseSearchEntity || modelClass.prototype instanceof models_1.BaseSearchEntity) {
|
|
24
|
+
searchBacked.push(name);
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
if (!opts.asyncContextEnabled) {
|
|
28
|
+
withoutAmbientContext.push(name);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (searchBacked.length > 0) {
|
|
32
|
+
throw (0, core_1.getError)({
|
|
33
|
+
message: [
|
|
34
|
+
`[assertScopeFilterSupported] settings.scopeFilter on a search-backed model | models: ${searchBacked.join(', ')}`,
|
|
35
|
+
'Search repositories never read this setting, so no row scope is applied.',
|
|
36
|
+
'Unlike the relational path, a missing scope here returns MORE rows rather than none - nothing fails, the result is just wider.',
|
|
37
|
+
'Scope the search query in the application, and remove settings.scopeFilter from the model.',
|
|
38
|
+
].join(' | '),
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
if (withoutAmbientContext.length > 0) {
|
|
42
|
+
throw (0, core_1.getError)({
|
|
43
|
+
message: [
|
|
44
|
+
`[assertScopeFilterSupported] settings.scopeFilter declared while asyncContext.enable is false | models: ${withoutAmbientContext.join(', ')}`,
|
|
45
|
+
'scopeFilter.resolve() takes no arguments, so the ambient request context is its only input.',
|
|
46
|
+
'With no context store every resolve() returns undefined, onMissing denies by default, and EVERY query on these models matches zero rows - with nothing naming the flag as the cause.',
|
|
47
|
+
'Set asyncContext.enable to true, or remove settings.scopeFilter.',
|
|
48
|
+
].join(' | '),
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
exports.assertScopeFilterSupported = assertScopeFilterSupported;
|
|
53
|
+
//# sourceMappingURL=scope-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-filter.js","sourceRoot":"","sources":["../../../src/common/scope-filter.ts"],"names":[],"mappings":";;;AAAA,0DAA6D;AAC7D,sDAAuD;AACvD,wDAAyD;AACzD,iDAAwD;AAExD;;;;;GAKG;AACI,MAAM,0BAA0B,GAAG,CAAC,IAAsC,EAAQ,EAAE;IACzF,MAAM,MAAM,GAAG,+BAAgB,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;IAE7D,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,qBAAqB,GAAa,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;YAC3C,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,qBAAY,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,UAAU,KAAK,yBAAgB,IAAI,UAAU,CAAC,SAAS,YAAY,yBAAgB,EAAE,CAAC;YACxF,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAA,eAAQ,EAAC;YACb,OAAO,EAAE;gBACP,wFAAwF,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACjH,0EAA0E;gBAC1E,gIAAgI;gBAChI,4FAA4F;aAC7F,CAAC,IAAI,CAAC,KAAK,CAAC;SACd,CAAC,CAAC;IACL,CAAC;IAED,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,IAAA,eAAQ,EAAC;YACb,OAAO,EAAE;gBACP,2GAA2G,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC7I,6FAA6F;gBAC7F,sLAAsL;gBACtL,kEAAkE;aACnE,CAAC,IAAI,CAAC,KAAK,CAAC;SACd,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AA5CW,QAAA,0BAA0B,8BA4CrC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { TFilter } from '@venizia/ignis-filter';
|
|
2
|
+
/** What a caller hands the resolver seam: the token and, optionally, which provider issued it. */
|
|
3
|
+
export interface IAuthToken {
|
|
4
|
+
value: string;
|
|
5
|
+
type?: string;
|
|
6
|
+
provider?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Where the token comes from when the datasource was not given one outright.
|
|
10
|
+
*
|
|
11
|
+
* A seam, not a guard: a browser resolver reads storage, a server resolver reads a secret, and
|
|
12
|
+
* neither is baked into the transport. Returning `undefined` means "no token", which is different
|
|
13
|
+
* from an empty one.
|
|
14
|
+
*/
|
|
15
|
+
export type TAuthTokenResolver = () => IAuthToken | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Every shape `Headers` accepts. Not `Record<string, string>`: header names are case-INSENSITIVE,
|
|
18
|
+
* so a plain object lets two spellings of one name coexist, and merging them APPENDS rather than
|
|
19
|
+
* overrides - `{ 'x-request-count': 'false', 'X-Request-Count': 'true' }` reaches the wire as
|
|
20
|
+
* `x-request-count: "false, true"`, which parses as neither.
|
|
21
|
+
*/
|
|
22
|
+
export type THttpHeaders = Headers | Array<[string, string]> | Record<string, string>;
|
|
23
|
+
export interface IHttpDataSourceSettings {
|
|
24
|
+
baseUrl: string;
|
|
25
|
+
/** Sent on every request, merged through `Headers` so a caller value overrides a default. */
|
|
26
|
+
headers?: THttpHeaders;
|
|
27
|
+
/** A fixed token. Consulted BEFORE `authTokenResolver` - an explicit value is never overridden by a lookup. */
|
|
28
|
+
authToken?: IAuthToken;
|
|
29
|
+
authTokenResolver?: TAuthTokenResolver;
|
|
30
|
+
/**
|
|
31
|
+
* Runs on a 401, and its ANSWER decides: `true` retries the request once, `false` lets the 401
|
|
32
|
+
* stand. Absent means no retry at all.
|
|
33
|
+
*
|
|
34
|
+
* A hook rather than a boolean, because "recover from a 401" is the host's policy, not the
|
|
35
|
+
* transport's: one host refreshes a token then retries, another logs the user out, a third does
|
|
36
|
+
* both in an order only it knows. A boolean could only mean "ask the resolver again", which reads
|
|
37
|
+
* like recovery and is not - someone would wire it expecting a refresh and get a silent loop.
|
|
38
|
+
*
|
|
39
|
+
* The transport's part is the seam and the single retry. Whatever the hook does to make the next
|
|
40
|
+
* attempt work - refresh, re-login, nothing - happens before it answers, and the retry re-resolves
|
|
41
|
+
* the token afterwards.
|
|
42
|
+
*/
|
|
43
|
+
onUnauthorized?: () => Promise<boolean> | boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* One response, with the total kept apart from the rows.
|
|
47
|
+
*
|
|
48
|
+
* `hasRange` is the whole point: a list with no `Content-Range` has NO total, which is a different
|
|
49
|
+
* answer from "the total equals this page". Folding the two is how a count of 7000 reports 1 and
|
|
50
|
+
* every screen reading it looks healthy.
|
|
51
|
+
*/
|
|
52
|
+
export interface IHttpReadResult<R> {
|
|
53
|
+
data: R;
|
|
54
|
+
hasRange: boolean;
|
|
55
|
+
total?: number;
|
|
56
|
+
skip?: number;
|
|
57
|
+
dataLength: number;
|
|
58
|
+
}
|
|
59
|
+
export type THttpQuery<E extends object> = {
|
|
60
|
+
filter?: TFilter<E>;
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/http/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,kGAAkG;AAClG,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,UAAU,GAAG,SAAS,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACtF,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAEhB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,+GAA+G;IAC/G,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IAEvC;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CACnD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/http/common/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { AbstractDataSource } from '@venizia/ignis-kernel/repository';
|
|
2
|
+
import { NodeFetchNetworkRequest } from '@venizia/ignis-helpers/core';
|
|
3
|
+
import type { IAuthToken, IHttpDataSourceSettings, IHttpReadResult } from './common/types';
|
|
4
|
+
/**
|
|
5
|
+
* A datasource whose transport is HTTP.
|
|
6
|
+
*
|
|
7
|
+
* A repository talks to a datasource, and `AbstractDataSource` is engine-neutral - its only required
|
|
8
|
+
* member is `configure()`. So "a request to another IGNIS server" is a datasource in the same sense
|
|
9
|
+
* Drizzle-over-Postgres is one: same role, different transport, and the same
|
|
10
|
+
* `@venizia/ignis-filter` vocabulary on the way in.
|
|
11
|
+
*
|
|
12
|
+
* It targets the IGNIS REST contract - a list route that answers `Content-Range` - and promises
|
|
13
|
+
* nothing about an arbitrary REST API. How a filter serialises and which header carries the total
|
|
14
|
+
* are one API's CONVENTIONS; IGNIS talking to IGNIS is both ends speaking its own.
|
|
15
|
+
*/
|
|
16
|
+
export declare class HttpDataSource extends AbstractDataSource<IHttpDataSourceSettings> {
|
|
17
|
+
name: string;
|
|
18
|
+
settings: IHttpDataSourceSettings;
|
|
19
|
+
/** A remote API publishes no schema to this process. An empty object where a caller expects table metadata is worse than nothing. */
|
|
20
|
+
schema: never;
|
|
21
|
+
/** The framework's own HTTP layer, not a bare `fetch`: timeout, abort, secret redaction and scoped logging come with it, and one HTTP path in the framework beats two. */
|
|
22
|
+
protected network: NodeFetchNetworkRequest;
|
|
23
|
+
constructor(opts: IHttpDataSourceSettings & {
|
|
24
|
+
name?: string;
|
|
25
|
+
});
|
|
26
|
+
/** Nothing to open. Holding no connection is what makes this one safe to construct anywhere. */
|
|
27
|
+
configure(): Promise<void>;
|
|
28
|
+
/** No transactions over REST. The root probes capabilities rather than assuming them. */
|
|
29
|
+
getCapabilities(): {
|
|
30
|
+
transactions: boolean;
|
|
31
|
+
};
|
|
32
|
+
/** Explicit token first, resolver only when there is none - a caller that supplied one is never overridden by a lookup. */
|
|
33
|
+
protected resolveAuthToken(): IAuthToken | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Built through `Headers` rather than a plain object, so a caller's value genuinely OVERRIDES a
|
|
36
|
+
* default. Two spellings of one name in an object both survive the merge and `Headers` then
|
|
37
|
+
* APPENDS them - `x-request-count: "false, true"` - which parses as neither.
|
|
38
|
+
*/
|
|
39
|
+
protected buildHeaders(opts: {
|
|
40
|
+
token?: IAuthToken;
|
|
41
|
+
}): Headers;
|
|
42
|
+
buildUrl(opts: {
|
|
43
|
+
paths: Array<string>;
|
|
44
|
+
query?: Record<string, unknown>;
|
|
45
|
+
}): string;
|
|
46
|
+
/**
|
|
47
|
+
* One request, with the total read from `Content-Range` and REPORTED as absent when the header is
|
|
48
|
+
* not there.
|
|
49
|
+
*
|
|
50
|
+
* Goes through {@link HttpDataSource.request}, so auth, the 401 hook and the single retry live in
|
|
51
|
+
* ONE place - a second header-building path is where a guard gets forgotten.
|
|
52
|
+
*/
|
|
53
|
+
/**
|
|
54
|
+
* One request, answered RAW.
|
|
55
|
+
*
|
|
56
|
+
* `read` is about rows and cannot express a response that is not JSON - an export endpoint returns
|
|
57
|
+
* bytes and a filename. Rather than invent a blob shape on the repository, whose contract is rows,
|
|
58
|
+
* the transport stays reachable: a caller gets the `Response` and reads `.blob()` and
|
|
59
|
+
* `content-disposition` itself.
|
|
60
|
+
*
|
|
61
|
+
* Auth, the 401 hook and the single retry apply here exactly as they do to `read`.
|
|
62
|
+
*/
|
|
63
|
+
request(opts: {
|
|
64
|
+
paths: Array<string>;
|
|
65
|
+
query?: Record<string, unknown>;
|
|
66
|
+
method?: string;
|
|
67
|
+
}): Promise<Response>;
|
|
68
|
+
read<R>(opts: {
|
|
69
|
+
paths: Array<string>;
|
|
70
|
+
query?: Record<string, unknown>;
|
|
71
|
+
/** What the caller asked for. `one` is never unwrapped - see {@link unwrapBody}. */
|
|
72
|
+
shape?: 'list' | 'one';
|
|
73
|
+
}): Promise<IHttpReadResult<R>>;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=datasource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datasource.d.ts","sourceRoot":"","sources":["../../../src/http/datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,KAAK,EAAE,UAAU,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAiD3F;;;;;;;;;;;GAWG;AACH,qBAAa,cAAe,SAAQ,kBAAkB,CAAC,uBAAuB,CAAC;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,qIAAqI;IAC5H,MAAM,EAAS,KAAK,CAAC;IAE9B,0KAA0K;IAC1K,SAAS,CAAC,OAAO,EAAE,uBAAuB,CAAC;gBAE/B,IAAI,EAAE,uBAAuB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAY7D,gGAAgG;IAC1F,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAEhC,yFAAyF;IAChF,eAAe;;;IAIxB,2HAA2H;IAC3H,SAAS,CAAC,gBAAgB,IAAI,UAAU,GAAG,SAAS;IAIpD;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,UAAU,CAAA;KAAE,GAAG,OAAO;IA4B7D,QAAQ,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,MAAM;IAkBjF;;;;;;OAMG;IACH;;;;;;;;;OASG;IACG,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAuBf,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE;QAClB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,oFAAoF;QACpF,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;KACxB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;CAsBhC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HttpDataSource = void 0;
|
|
4
|
+
const repository_1 = require("@venizia/ignis-kernel/repository");
|
|
5
|
+
const common_1 = require("@venizia/ignis-helpers/common");
|
|
6
|
+
const core_1 = require("@venizia/ignis-helpers/core");
|
|
7
|
+
const core_2 = require("@venizia/ignis-helpers/core");
|
|
8
|
+
/**
|
|
9
|
+
* Both list shapes IGNIS itself answers with, told apart by structure.
|
|
10
|
+
*
|
|
11
|
+
* `x-request-count` decides it, and its DEFAULT is on (`rest/base.ts`: `?? 'true'`), so an IGNIS
|
|
12
|
+
* list route answers the count envelope unless asked otherwise. This datasource asks for the bare
|
|
13
|
+
* array, but a hand-written route that never reaches `normalizeCountData` can still answer the
|
|
14
|
+
* envelope - so both are accepted rather than one assumed. Treating an envelope as a row is the
|
|
15
|
+
* failure that reports one record where there were fifty, with no error anywhere.
|
|
16
|
+
*
|
|
17
|
+
* The envelope `count` is the rows of THAT response, never the total - the total is only ever in
|
|
18
|
+
* `Content-Range`.
|
|
19
|
+
*
|
|
20
|
+
* `shape` is asked for rather than sniffed. Structure alone cannot tell an envelope from a record
|
|
21
|
+
* that happens to carry a `data` column and a `count` column, and guessing wrong there unwraps a
|
|
22
|
+
* row into whatever its `data` field held.
|
|
23
|
+
*/
|
|
24
|
+
const unwrapBody = (opts) => {
|
|
25
|
+
const { body, shape } = opts;
|
|
26
|
+
if (shape === 'one' || Array.isArray(body)) {
|
|
27
|
+
return body;
|
|
28
|
+
}
|
|
29
|
+
if (body && typeof body === 'object' && 'data' in body && 'count' in body) {
|
|
30
|
+
return body.data;
|
|
31
|
+
}
|
|
32
|
+
return body;
|
|
33
|
+
};
|
|
34
|
+
/** `items 0-24/137` -> `{ skip: 0, total: 137 }`. Absent or unparseable answers `undefined`, never a guess. */
|
|
35
|
+
const readContentRange = (opts) => {
|
|
36
|
+
const { header } = opts;
|
|
37
|
+
if (!header) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
const match = header.match(/(\d+)\s*-\s*(\d+)\s*\/\s*(\d+)/);
|
|
41
|
+
if (!match) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
return { skip: Number(match[1]), total: Number(match[3]) };
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* A datasource whose transport is HTTP.
|
|
48
|
+
*
|
|
49
|
+
* A repository talks to a datasource, and `AbstractDataSource` is engine-neutral - its only required
|
|
50
|
+
* member is `configure()`. So "a request to another IGNIS server" is a datasource in the same sense
|
|
51
|
+
* Drizzle-over-Postgres is one: same role, different transport, and the same
|
|
52
|
+
* `@venizia/ignis-filter` vocabulary on the way in.
|
|
53
|
+
*
|
|
54
|
+
* It targets the IGNIS REST contract - a list route that answers `Content-Range` - and promises
|
|
55
|
+
* nothing about an arbitrary REST API. How a filter serialises and which header carries the total
|
|
56
|
+
* are one API's CONVENTIONS; IGNIS talking to IGNIS is both ends speaking its own.
|
|
57
|
+
*/
|
|
58
|
+
class HttpDataSource extends repository_1.AbstractDataSource {
|
|
59
|
+
constructor(opts) {
|
|
60
|
+
super({ scope: opts.name ?? HttpDataSource.name });
|
|
61
|
+
/** A remote API publishes no schema to this process. An empty object where a caller expects table metadata is worse than nothing. */
|
|
62
|
+
this.schema = {};
|
|
63
|
+
const { name = 'http', ...settings } = opts;
|
|
64
|
+
this.name = name;
|
|
65
|
+
this.settings = settings;
|
|
66
|
+
this.network = new core_1.NodeFetchNetworkRequest({
|
|
67
|
+
name,
|
|
68
|
+
networkOptions: { baseUrl: settings.baseUrl },
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/** Nothing to open. Holding no connection is what makes this one safe to construct anywhere. */
|
|
72
|
+
async configure() { }
|
|
73
|
+
/** No transactions over REST. The root probes capabilities rather than assuming them. */
|
|
74
|
+
getCapabilities() {
|
|
75
|
+
return { transactions: false };
|
|
76
|
+
}
|
|
77
|
+
/** Explicit token first, resolver only when there is none - a caller that supplied one is never overridden by a lookup. */
|
|
78
|
+
resolveAuthToken() {
|
|
79
|
+
return this.settings.authToken ?? this.settings.authTokenResolver?.();
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Built through `Headers` rather than a plain object, so a caller's value genuinely OVERRIDES a
|
|
83
|
+
* default. Two spellings of one name in an object both survive the merge and `Headers` then
|
|
84
|
+
* APPENDS them - `x-request-count: "false, true"` - which parses as neither.
|
|
85
|
+
*/
|
|
86
|
+
buildHeaders(opts) {
|
|
87
|
+
const { token } = opts;
|
|
88
|
+
const headers = new Headers();
|
|
89
|
+
// Asked explicitly: the server default is the count envelope, and a list that answers rows is
|
|
90
|
+
// one less shape to tell apart. Set FIRST so a caller can override it.
|
|
91
|
+
headers.set(common_1.HTTP.Headers.REQUEST_COUNT_DATA, 'false');
|
|
92
|
+
const configured = [...new Headers(this.settings.headers).entries()];
|
|
93
|
+
for (const [name, value] of configured) {
|
|
94
|
+
headers.set(name, value);
|
|
95
|
+
}
|
|
96
|
+
if (!token) {
|
|
97
|
+
return headers;
|
|
98
|
+
}
|
|
99
|
+
headers.set(common_1.HTTP.Headers.AUTHORIZATION, `${token.type ?? 'Bearer'} ${token.value}`);
|
|
100
|
+
// Only when there IS one. Setting it unconditionally sends the string "undefined", which a
|
|
101
|
+
// server reads as a provider by that name.
|
|
102
|
+
if (token.provider) {
|
|
103
|
+
headers.set('x-auth-provider', token.provider);
|
|
104
|
+
}
|
|
105
|
+
return headers;
|
|
106
|
+
}
|
|
107
|
+
buildUrl(opts) {
|
|
108
|
+
const { paths, query } = opts;
|
|
109
|
+
// Path joining belongs to the network helper - it already normalises leading slashes and
|
|
110
|
+
// refuses an unset base url with a catalogued error.
|
|
111
|
+
const url = new URL(this.network.getRequestUrl({ paths }));
|
|
112
|
+
const parameters = Object.entries(query ?? {});
|
|
113
|
+
for (const [key, value] of parameters) {
|
|
114
|
+
if (value === undefined) {
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
url.searchParams.set(key, typeof value === 'string' ? value : JSON.stringify(value));
|
|
118
|
+
}
|
|
119
|
+
return url.toString();
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* One request, with the total read from `Content-Range` and REPORTED as absent when the header is
|
|
123
|
+
* not there.
|
|
124
|
+
*
|
|
125
|
+
* Goes through {@link HttpDataSource.request}, so auth, the 401 hook and the single retry live in
|
|
126
|
+
* ONE place - a second header-building path is where a guard gets forgotten.
|
|
127
|
+
*/
|
|
128
|
+
/**
|
|
129
|
+
* One request, answered RAW.
|
|
130
|
+
*
|
|
131
|
+
* `read` is about rows and cannot express a response that is not JSON - an export endpoint returns
|
|
132
|
+
* bytes and a filename. Rather than invent a blob shape on the repository, whose contract is rows,
|
|
133
|
+
* the transport stays reachable: a caller gets the `Response` and reads `.blob()` and
|
|
134
|
+
* `content-disposition` itself.
|
|
135
|
+
*
|
|
136
|
+
* Auth, the 401 hook and the single retry apply here exactly as they do to `read`.
|
|
137
|
+
*/
|
|
138
|
+
async request(opts) {
|
|
139
|
+
const url = this.buildUrl(opts);
|
|
140
|
+
const send = () => this.network.getNetworkService().send({
|
|
141
|
+
url,
|
|
142
|
+
method: (opts.method ?? common_1.HTTP.Methods.GET),
|
|
143
|
+
headers: this.buildHeaders({ token: this.resolveAuthToken() }),
|
|
144
|
+
});
|
|
145
|
+
let response = await send();
|
|
146
|
+
if (response.status === common_1.HTTP.ResultCodes.RS_4.Unauthorized && this.settings.onUnauthorized) {
|
|
147
|
+
const shouldRetry = await this.settings.onUnauthorized();
|
|
148
|
+
if (shouldRetry) {
|
|
149
|
+
response = await send();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return response;
|
|
153
|
+
}
|
|
154
|
+
async read(opts) {
|
|
155
|
+
const response = await this.request(opts);
|
|
156
|
+
if (!response.ok) {
|
|
157
|
+
throw (0, core_2.getError)({
|
|
158
|
+
statusCode: response.status,
|
|
159
|
+
message: `[${this.name}][read] ${response.status} | ${this.buildUrl(opts)}`,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
const body = await response.json();
|
|
163
|
+
const range = readContentRange({ header: response.headers.get(common_1.HTTP.Headers.CONTENT_RANGE) });
|
|
164
|
+
const data = unwrapBody({ body, shape: opts.shape ?? 'list' });
|
|
165
|
+
return {
|
|
166
|
+
data,
|
|
167
|
+
hasRange: range !== undefined,
|
|
168
|
+
total: range?.total,
|
|
169
|
+
skip: range?.skip,
|
|
170
|
+
dataLength: Array.isArray(data) ? data.length : 1,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
exports.HttpDataSource = HttpDataSource;
|
|
175
|
+
//# sourceMappingURL=datasource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../../src/http/datasource.ts"],"names":[],"mappings":";;;AAAA,iEAAsE;AACtE,0DAAqD;AACrD,sDAAsE;AACtE,sDAAuD;AAGvD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,GAAG,CAAI,IAA8C,EAAK,EAAE;IAC1E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAE7B,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAS,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QAC1E,OAAQ,IAAoB,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,OAAO,IAAS,CAAC;AACnB,CAAC,CAAC;AACF,+GAA+G;AAC/G,MAAM,gBAAgB,GAAG,CAAC,IAEzB,EAA+C,EAAE;IAChD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAExB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAa,cAAe,SAAQ,+BAA2C;IAS7E,YAAY,IAAiD;QAC3D,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAPrD,qIAAqI;QAC5H,WAAM,GAAG,EAAW,CAAC;QAQ5B,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,8BAAuB,CAAC;YACzC,IAAI;YACJ,cAAc,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,gGAAgG;IAChG,KAAK,CAAC,SAAS,KAAmB,CAAC;IAEnC,yFAAyF;IAChF,eAAe;QACtB,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,2HAA2H;IACjH,gBAAgB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC;IACxE,CAAC;IAED;;;;OAIG;IACO,YAAY,CAAC,IAA4B;QACjD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAE9B,8FAA8F;QAC9F,uEAAuE;QACvE,OAAO,CAAC,GAAG,CAAC,aAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAEtD,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,aAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAEpF,2FAA2F;QAC3F,2CAA2C;QAC3C,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,IAA+D;QACtE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC9B,yFAAyF;QACzF,qDAAqD;QACrD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAE3D,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;YACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACH;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,CAAC,IAIb;QACC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEhC,MAAM,IAAI,GAAG,GAAG,EAAE,CAChB,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC;YACpC,GAAG;YACH,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,aAAI,CAAC,OAAO,CAAC,GAAG,CAAU;YAClD,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;SAC/D,CAAC,CAAC;QAEL,IAAI,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;QAE5B,IAAI,QAAQ,CAAC,MAAM,KAAK,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC3F,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAEzD,IAAI,WAAW,EAAE,CAAC;gBAChB,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,IAKb;QACC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAA,eAAQ,EAAC;gBACb,UAAU,EAAE,QAAQ,CAAC,MAAM;gBAC3B,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,WAAW,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;aAC5E,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC7F,MAAM,IAAI,GAAG,UAAU,CAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC;QAElE,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE,KAAK,KAAK,SAAS;YAC7B,KAAK,EAAE,KAAK,EAAE,KAAK;YACnB,IAAI,EAAE,KAAK,EAAE,IAAI;YACjB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAClD,CAAC;IACJ,CAAC;CACF;AA5JD,wCA4JC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./common/types"), exports);
|
|
18
|
+
__exportStar(require("./datasource"), exports);
|
|
19
|
+
__exportStar(require("./repository"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,+CAA6B;AAC7B,+CAA6B"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { AbstractEntity } from '@venizia/ignis-kernel/repository';
|
|
2
|
+
import type { IReadableRepository, TCount, TDataWithRange, TFilter, TSchemaType, TWhere } from '@venizia/ignis-kernel/repository';
|
|
3
|
+
import type { AnyType } from '@venizia/ignis-helpers/common';
|
|
4
|
+
import type { HttpDataSource } from './datasource';
|
|
5
|
+
/** The entity a remote resource stands for. `AbstractEntity` wants a name and a schema accessor; a resource over HTTP has the first and cannot honestly claim the second. */
|
|
6
|
+
export declare class HttpResourceEntity extends AbstractEntity {
|
|
7
|
+
getSchema<T = unknown>(_opts: {
|
|
8
|
+
type: TSchemaType;
|
|
9
|
+
}): T;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Read access to one remote resource, through {@link HttpDataSource}.
|
|
13
|
+
*
|
|
14
|
+
* `IReadableRepository` rather than `AbstractRepository`: the abstract class demands twelve members,
|
|
15
|
+
* so a resource that cannot be written would have to stub `create`, `updateById` and `deleteById`
|
|
16
|
+
* with throws. Five real methods say more than twelve where seven are lies.
|
|
17
|
+
*
|
|
18
|
+
* Every query leaves as the `@venizia/ignis-filter` vocabulary - the same language an IGNIS
|
|
19
|
+
* repository speaks to Drizzle. One query language, two transports.
|
|
20
|
+
*/
|
|
21
|
+
export declare class HttpRepository<E extends object = AnyType> implements IReadableRepository<E, {}> {
|
|
22
|
+
dataSource: HttpDataSource;
|
|
23
|
+
entity: AbstractEntity;
|
|
24
|
+
protected resource: string;
|
|
25
|
+
/** An API that publishes a count route names it here. Absent, the total comes from `Content-Range`. */
|
|
26
|
+
protected countPath?: string;
|
|
27
|
+
constructor(opts: {
|
|
28
|
+
dataSource: HttpDataSource;
|
|
29
|
+
resource: string;
|
|
30
|
+
countPath?: string;
|
|
31
|
+
});
|
|
32
|
+
getEntity(): AbstractEntity;
|
|
33
|
+
/**
|
|
34
|
+
* How many rows match, asked of the list route rather than of one that may not exist.
|
|
35
|
+
*
|
|
36
|
+
* The default reads the total out of `Content-Range` - MECHANISM, because a route that pages at
|
|
37
|
+
* all reports what it is paging over. A dedicated count route is CONVENTION: one API publishes
|
|
38
|
+
* `/count`, another `/search/count`, another deleted it and told callers to read the header. So it
|
|
39
|
+
* is opt-in through `countPath`.
|
|
40
|
+
*
|
|
41
|
+
* With no header there is NO total, and this says so rather than answering with the page size - a
|
|
42
|
+
* count of 1 for a table of 7000 reads as healthy in every screen that consumes it.
|
|
43
|
+
*/
|
|
44
|
+
count(opts: {
|
|
45
|
+
where: TWhere<E>;
|
|
46
|
+
options?: {};
|
|
47
|
+
}): Promise<TCount>;
|
|
48
|
+
existsWith(opts: {
|
|
49
|
+
where: TWhere<E>;
|
|
50
|
+
options?: {};
|
|
51
|
+
}): Promise<boolean>;
|
|
52
|
+
find<R = E>(opts: {
|
|
53
|
+
filter: TFilter<E>;
|
|
54
|
+
options: {
|
|
55
|
+
shouldQueryRange: true;
|
|
56
|
+
};
|
|
57
|
+
}): Promise<TDataWithRange<R>>;
|
|
58
|
+
find<R = E>(opts: {
|
|
59
|
+
filter?: TFilter<E>;
|
|
60
|
+
options?: {};
|
|
61
|
+
}): Promise<Array<R>>;
|
|
62
|
+
findOne<R = E>(opts: {
|
|
63
|
+
filter?: TFilter<E>;
|
|
64
|
+
options?: {};
|
|
65
|
+
}): Promise<R | null>;
|
|
66
|
+
findById<R = E>(opts: {
|
|
67
|
+
id: string | number;
|
|
68
|
+
filter?: TFilter<E>;
|
|
69
|
+
options?: {};
|
|
70
|
+
}): Promise<R | null>;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/http/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAkB,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EACV,mBAAmB,EACnB,MAAM,EACN,cAAc,EACd,OAAO,EACP,WAAW,EACX,MAAM,EACP,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,6KAA6K;AAC7K,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,GAAG,CAAC;CAGxD;AAED;;;;;;;;;GASG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,CAAE,YAAW,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC;IAC3F,UAAU,EAAE,cAAc,CAAC;IAC3B,MAAM,EAAE,cAAc,CAAC;IAEvB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,uGAAuG;IACvG,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEjB,IAAI,EAAE;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAOtF,SAAS,IAAI,cAAc;IAI3B;;;;;;;;;;OAUG;IACG,KAAK,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BhE,UAAU,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAWtE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACtB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,EAAE;YAAE,gBAAgB,EAAE,IAAI,CAAA;SAAE,CAAC;KACrC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAgC3E,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAK9E,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAC1B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,EAAE,EAAE,CAAC;KACd,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;CAStB"}
|