@venizia/ignis-connectors 0.2.0-42 → 0.2.0-44
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/relational/core/datasources/base.d.ts.map +1 -1
- package/dist/cjs/relational/core/datasources/base.js +23 -4
- package/dist/cjs/relational/core/datasources/base.js.map +1 -1
- package/dist/cjs/relational/core/datasources/relation-pairing.d.ts +37 -0
- package/dist/cjs/relational/core/datasources/relation-pairing.d.ts.map +1 -0
- package/dist/cjs/relational/core/datasources/relation-pairing.js +58 -0
- package/dist/cjs/relational/core/datasources/relation-pairing.js.map +1 -0
- package/dist/cjs/relational/core/models/base.d.ts +3 -5
- package/dist/cjs/relational/core/models/base.d.ts.map +1 -1
- package/dist/cjs/relational/core/models/base.js +4 -4
- package/dist/cjs/relational/core/models/base.js.map +1 -1
- package/dist/cjs/relational/core/models/common/types.d.ts +45 -0
- package/dist/cjs/relational/core/models/common/types.d.ts.map +1 -1
- package/dist/cjs/relational/core/models/common/types.js.map +1 -1
- package/dist/cjs/relational/core/models/factory.d.ts +29 -0
- package/dist/cjs/relational/core/models/factory.d.ts.map +1 -0
- package/dist/cjs/relational/core/models/factory.js +41 -0
- package/dist/cjs/relational/core/models/factory.js.map +1 -0
- package/dist/cjs/relational/core/models/index.d.ts +2 -0
- package/dist/cjs/relational/core/models/index.d.ts.map +1 -1
- package/dist/cjs/relational/core/models/index.js +2 -0
- package/dist/cjs/relational/core/models/index.js.map +1 -1
- package/dist/cjs/relational/core/models/relations.d.ts +13 -0
- package/dist/cjs/relational/core/models/relations.d.ts.map +1 -0
- package/dist/cjs/relational/core/models/relations.js +23 -0
- package/dist/cjs/relational/core/models/relations.js.map +1 -0
- package/dist/cjs/relational/core/repositories/common/types.d.ts +2 -1
- package/dist/cjs/relational/core/repositories/common/types.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/dialect/index.d.ts +1 -1
- package/dist/cjs/relational/core/repositories/dialect/index.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/dialect/index.js +1 -1
- package/dist/cjs/relational/core/repositories/dialect/index.js.map +1 -1
- package/dist/cjs/relational/core/repositories/dialect/relations/common/constants.d.ts +12 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/common/constants.d.ts.map +1 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/common/constants.js +16 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/common/constants.js.map +1 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/common/index.d.ts +3 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/common/index.d.ts.map +1 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/common/index.js +19 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/common/index.js.map +1 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/common/types.d.ts +23 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/common/types.d.ts.map +1 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/common/types.js +3 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/common/types.js.map +1 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/create.d.ts +12 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/create.d.ts.map +1 -0
- package/dist/cjs/relational/core/repositories/dialect/{relation.js → relations/create.js} +12 -5
- package/dist/cjs/relational/core/repositories/dialect/relations/create.js.map +1 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/index.d.ts +2 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/index.d.ts.map +1 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/index.js +18 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/index.js.map +1 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/many.d.ts +13 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/many.d.ts.map +1 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/many.js +11 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/many.js.map +1 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/one.d.ts +53 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/one.d.ts.map +1 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/one.js +185 -0
- package/dist/cjs/relational/core/repositories/dialect/relations/one.js.map +1 -0
- package/dist/cjs/relational/core/repositories/index.d.ts +1 -0
- package/dist/cjs/relational/core/repositories/index.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/index.js +1 -0
- package/dist/cjs/relational/core/repositories/index.js.map +1 -1
- package/dist/cjs/relational/core/repositories/sqls/index.d.ts +2 -0
- package/dist/cjs/relational/core/repositories/sqls/index.d.ts.map +1 -0
- package/dist/cjs/relational/core/repositories/sqls/index.js +18 -0
- package/dist/cjs/relational/core/repositories/sqls/index.js.map +1 -0
- package/dist/cjs/relational/core/repositories/sqls/recursive-tree.d.ts +56 -0
- package/dist/cjs/relational/core/repositories/sqls/recursive-tree.d.ts.map +1 -0
- package/dist/cjs/relational/core/repositories/sqls/recursive-tree.js +148 -0
- package/dist/cjs/relational/core/repositories/sqls/recursive-tree.js.map +1 -0
- package/dist/cjs/relational/postgres/models/index.d.ts +4 -0
- package/dist/cjs/relational/postgres/models/index.d.ts.map +1 -1
- package/dist/cjs/relational/postgres/models/index.js +7 -1
- package/dist/cjs/relational/postgres/models/index.js.map +1 -1
- package/dist/cjs/relational/postgres/repositories/common/types.d.ts +1 -16
- package/dist/cjs/relational/postgres/repositories/common/types.d.ts.map +1 -1
- package/dist/cjs/relational/postgres/repositories/dialect/relation.d.ts +1 -1
- package/dist/cjs/relational/postgres/repositories/dialect/relation.d.ts.map +1 -1
- package/dist/cjs/relational/postgres/repositories/dialect/relation.js +2 -2
- package/dist/cjs/relational/postgres/repositories/dialect/relation.js.map +1 -1
- package/dist/cjs/relational/postgres/repositories/index.d.ts +1 -0
- package/dist/cjs/relational/postgres/repositories/index.d.ts.map +1 -1
- package/dist/cjs/relational/postgres/repositories/index.js +2 -0
- package/dist/cjs/relational/postgres/repositories/index.js.map +1 -1
- package/dist/cjs/relational/sqlite/models/index.d.ts +4 -0
- package/dist/cjs/relational/sqlite/models/index.d.ts.map +1 -1
- package/dist/cjs/relational/sqlite/models/index.js +7 -0
- package/dist/cjs/relational/sqlite/models/index.js.map +1 -1
- package/dist/cjs/relational/sqlite/repositories/index.d.ts +1 -0
- package/dist/cjs/relational/sqlite/repositories/index.d.ts.map +1 -1
- package/dist/cjs/relational/sqlite/repositories/index.js +2 -0
- package/dist/cjs/relational/sqlite/repositories/index.js.map +1 -1
- package/dist/cjs/search/core/controllers/factory.d.ts +2 -1
- package/dist/cjs/search/core/controllers/factory.d.ts.map +1 -1
- package/dist/cjs/search/core/datasources/abstract.d.ts +1 -1
- package/dist/cjs/search/core/datasources/abstract.d.ts.map +1 -1
- package/dist/cjs/search/core/datasources/abstract.js +2 -2
- package/dist/cjs/search/core/datasources/abstract.js.map +1 -1
- package/dist/cjs/search/core/datasources/base.d.ts.map +1 -1
- package/dist/cjs/search/core/datasources/base.js +5 -11
- package/dist/cjs/search/core/datasources/base.js.map +1 -1
- package/dist/cjs/search/core/datasources/guards.d.ts +4 -0
- package/dist/cjs/search/core/datasources/guards.d.ts.map +1 -0
- package/dist/cjs/search/core/datasources/guards.js +14 -0
- package/dist/cjs/search/core/datasources/guards.js.map +1 -0
- package/dist/cjs/search/core/index.d.ts +0 -1
- package/dist/cjs/search/core/index.d.ts.map +1 -1
- package/dist/cjs/search/core/index.js +2 -1
- package/dist/cjs/search/core/index.js.map +1 -1
- package/dist/cjs/search/core/internal/search-connector-internal.js +2 -2
- package/dist/cjs/search/core/internal/search-connector-internal.js.map +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 +2 -2
- package/dist/cjs/search/core/models/base.js.map +1 -1
- package/dist/cjs/search/core/models/zod-derivation.d.ts +1 -1
- package/dist/cjs/search/core/models/zod-derivation.d.ts.map +1 -1
- package/dist/cjs/search/core/models/zod-derivation.js +16 -16
- package/dist/cjs/search/core/models/zod-derivation.js.map +1 -1
- package/dist/cjs/search/core/repositories/common/constants.d.ts +1 -4
- package/dist/cjs/search/core/repositories/common/constants.d.ts.map +1 -1
- package/dist/cjs/search/core/repositories/common/constants.js +75 -100
- package/dist/cjs/search/core/repositories/common/constants.js.map +1 -1
- package/dist/cjs/search/core/repositories/common/index.d.ts +1 -0
- package/dist/cjs/search/core/repositories/common/index.d.ts.map +1 -1
- package/dist/cjs/search/core/repositories/common/index.js +1 -0
- package/dist/cjs/search/core/repositories/common/index.js.map +1 -1
- package/dist/cjs/search/core/repositories/common/query-params.d.ts +4 -0
- package/dist/cjs/search/core/repositories/common/query-params.d.ts.map +1 -0
- package/dist/cjs/search/core/repositories/common/query-params.js +29 -0
- package/dist/cjs/search/core/repositories/common/query-params.js.map +1 -0
- package/dist/cjs/search/core/repositories/core/base.d.ts +1 -1
- package/dist/cjs/search/core/repositories/core/base.d.ts.map +1 -1
- package/dist/cjs/search/core/repositories/core/base.js +7 -7
- package/dist/cjs/search/core/repositories/core/base.js.map +1 -1
- package/dist/cjs/search/core/repositories/core/guards.d.ts +5 -0
- package/dist/cjs/search/core/repositories/core/guards.d.ts.map +1 -0
- package/dist/cjs/search/core/repositories/core/guards.js +9 -0
- package/dist/cjs/search/core/repositories/core/guards.js.map +1 -0
- package/dist/cjs/search/core/repositories/core/persistable.d.ts.map +1 -1
- package/dist/cjs/search/core/repositories/core/persistable.js +4 -7
- package/dist/cjs/search/core/repositories/core/persistable.js.map +1 -1
- package/dist/cjs/search/core/repositories/core/readable.js +3 -3
- package/dist/cjs/search/core/repositories/core/readable.js.map +1 -1
- package/dist/cjs/search/meilisearch/connector.js +4 -4
- package/dist/cjs/search/meilisearch/connector.js.map +1 -1
- package/dist/esm/package.json +4 -0
- package/dist/esm/relational/core/datasources/base.d.ts.map +1 -1
- package/dist/esm/relational/core/datasources/base.js +22 -3
- package/dist/esm/relational/core/datasources/base.js.map +1 -1
- package/dist/esm/relational/core/datasources/relation-pairing.d.ts +37 -0
- package/dist/esm/relational/core/datasources/relation-pairing.d.ts.map +1 -0
- package/dist/esm/relational/core/datasources/relation-pairing.js +54 -0
- package/dist/esm/relational/core/datasources/relation-pairing.js.map +1 -0
- package/dist/esm/relational/core/models/base.d.ts +3 -5
- package/dist/esm/relational/core/models/base.d.ts.map +1 -1
- package/dist/esm/relational/core/models/base.js +4 -4
- package/dist/esm/relational/core/models/base.js.map +1 -1
- package/dist/esm/relational/core/models/common/types.d.ts +45 -0
- package/dist/esm/relational/core/models/common/types.d.ts.map +1 -1
- package/dist/esm/relational/core/models/common/types.js.map +1 -1
- package/dist/esm/relational/core/models/factory.d.ts +29 -0
- package/dist/esm/relational/core/models/factory.d.ts.map +1 -0
- package/dist/esm/relational/core/models/factory.js +37 -0
- package/dist/esm/relational/core/models/factory.js.map +1 -0
- package/dist/esm/relational/core/models/index.d.ts +2 -0
- package/dist/esm/relational/core/models/index.d.ts.map +1 -1
- package/dist/esm/relational/core/models/index.js +2 -0
- package/dist/esm/relational/core/models/index.js.map +1 -1
- package/dist/esm/relational/core/models/relations.d.ts +13 -0
- package/dist/esm/relational/core/models/relations.d.ts.map +1 -0
- package/dist/esm/relational/core/models/relations.js +17 -0
- package/dist/esm/relational/core/models/relations.js.map +1 -0
- package/dist/esm/relational/core/repositories/common/types.d.ts +2 -1
- package/dist/esm/relational/core/repositories/common/types.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/dialect/index.d.ts +1 -1
- package/dist/esm/relational/core/repositories/dialect/index.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/dialect/index.js +1 -1
- package/dist/esm/relational/core/repositories/dialect/index.js.map +1 -1
- package/dist/esm/relational/core/repositories/dialect/relations/common/constants.d.ts +12 -0
- package/dist/esm/relational/core/repositories/dialect/relations/common/constants.d.ts.map +1 -0
- package/dist/esm/relational/core/repositories/dialect/relations/common/constants.js +12 -0
- package/dist/esm/relational/core/repositories/dialect/relations/common/constants.js.map +1 -0
- package/dist/esm/relational/core/repositories/dialect/relations/common/index.d.ts +3 -0
- package/dist/esm/relational/core/repositories/dialect/relations/common/index.d.ts.map +1 -0
- package/dist/esm/relational/core/repositories/dialect/relations/common/index.js +3 -0
- package/dist/esm/relational/core/repositories/dialect/relations/common/index.js.map +1 -0
- package/dist/esm/relational/core/repositories/dialect/relations/common/types.d.ts +23 -0
- package/dist/esm/relational/core/repositories/dialect/relations/common/types.d.ts.map +1 -0
- package/dist/esm/relational/core/repositories/dialect/relations/common/types.js +2 -0
- package/dist/esm/relational/core/repositories/dialect/relations/common/types.js.map +1 -0
- package/dist/esm/relational/core/repositories/dialect/relations/create.d.ts +12 -0
- package/dist/esm/relational/core/repositories/dialect/relations/create.d.ts.map +1 -0
- package/dist/esm/relational/core/repositories/dialect/{relation.js → relations/create.js} +12 -5
- package/dist/esm/relational/core/repositories/dialect/relations/create.js.map +1 -0
- package/dist/esm/relational/core/repositories/dialect/relations/index.d.ts +2 -0
- package/dist/esm/relational/core/repositories/dialect/relations/index.d.ts.map +1 -0
- package/dist/esm/relational/core/repositories/dialect/relations/index.js +2 -0
- package/dist/esm/relational/core/repositories/dialect/relations/index.js.map +1 -0
- package/dist/esm/relational/core/repositories/dialect/relations/many.d.ts +13 -0
- package/dist/esm/relational/core/repositories/dialect/relations/many.d.ts.map +1 -0
- package/dist/esm/relational/core/repositories/dialect/relations/many.js +7 -0
- package/dist/esm/relational/core/repositories/dialect/relations/many.js.map +1 -0
- package/dist/esm/relational/core/repositories/dialect/relations/one.d.ts +53 -0
- package/dist/esm/relational/core/repositories/dialect/relations/one.d.ts.map +1 -0
- package/dist/esm/relational/core/repositories/dialect/relations/one.js +181 -0
- package/dist/esm/relational/core/repositories/dialect/relations/one.js.map +1 -0
- package/dist/esm/relational/core/repositories/index.d.ts +1 -0
- package/dist/esm/relational/core/repositories/index.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/index.js +1 -0
- package/dist/esm/relational/core/repositories/index.js.map +1 -1
- package/dist/esm/relational/core/repositories/sqls/index.d.ts +2 -0
- package/dist/esm/relational/core/repositories/sqls/index.d.ts.map +1 -0
- package/dist/esm/relational/core/repositories/sqls/index.js +2 -0
- package/dist/esm/relational/core/repositories/sqls/index.js.map +1 -0
- package/dist/esm/relational/core/repositories/sqls/recursive-tree.d.ts +56 -0
- package/dist/esm/relational/core/repositories/sqls/recursive-tree.d.ts.map +1 -0
- package/dist/esm/relational/core/repositories/sqls/recursive-tree.js +143 -0
- package/dist/esm/relational/core/repositories/sqls/recursive-tree.js.map +1 -0
- package/dist/esm/relational/postgres/models/index.d.ts +4 -0
- package/dist/esm/relational/postgres/models/index.d.ts.map +1 -1
- package/dist/esm/relational/postgres/models/index.js +2 -0
- package/dist/esm/relational/postgres/models/index.js.map +1 -1
- package/dist/esm/relational/postgres/repositories/common/types.d.ts +1 -16
- package/dist/esm/relational/postgres/repositories/common/types.d.ts.map +1 -1
- package/dist/esm/relational/postgres/repositories/dialect/relation.d.ts +1 -1
- package/dist/esm/relational/postgres/repositories/dialect/relation.d.ts.map +1 -1
- package/dist/esm/relational/postgres/repositories/dialect/relation.js +1 -1
- package/dist/esm/relational/postgres/repositories/dialect/relation.js.map +1 -1
- package/dist/esm/relational/postgres/repositories/index.d.ts +1 -0
- package/dist/esm/relational/postgres/repositories/index.d.ts.map +1 -1
- package/dist/esm/relational/postgres/repositories/index.js +2 -0
- package/dist/esm/relational/postgres/repositories/index.js.map +1 -1
- package/dist/esm/relational/sqlite/models/index.d.ts +4 -0
- package/dist/esm/relational/sqlite/models/index.d.ts.map +1 -1
- package/dist/esm/relational/sqlite/models/index.js +2 -0
- package/dist/esm/relational/sqlite/models/index.js.map +1 -1
- package/dist/esm/relational/sqlite/repositories/index.d.ts +1 -0
- package/dist/esm/relational/sqlite/repositories/index.d.ts.map +1 -1
- package/dist/esm/relational/sqlite/repositories/index.js +2 -0
- package/dist/esm/relational/sqlite/repositories/index.js.map +1 -1
- package/dist/esm/search/core/controllers/factory.d.ts +2 -1
- package/dist/esm/search/core/controllers/factory.d.ts.map +1 -1
- package/dist/esm/search/core/datasources/abstract.d.ts +1 -1
- package/dist/esm/search/core/datasources/abstract.d.ts.map +1 -1
- package/dist/esm/search/core/datasources/abstract.js +1 -1
- package/dist/esm/search/core/datasources/abstract.js.map +1 -1
- package/dist/esm/search/core/datasources/base.d.ts.map +1 -1
- package/dist/esm/search/core/datasources/base.js +2 -8
- package/dist/esm/search/core/datasources/base.js.map +1 -1
- package/dist/esm/search/core/datasources/guards.d.ts +4 -0
- package/dist/esm/search/core/datasources/guards.d.ts.map +1 -0
- package/dist/esm/search/core/datasources/guards.js +10 -0
- package/dist/esm/search/core/datasources/guards.js.map +1 -0
- package/dist/esm/search/core/index.d.ts +0 -1
- package/dist/esm/search/core/index.d.ts.map +1 -1
- package/dist/esm/search/core/index.js +2 -1
- package/dist/esm/search/core/index.js.map +1 -1
- package/dist/esm/search/core/internal/search-connector-internal.js +1 -1
- package/dist/esm/search/core/internal/search-connector-internal.js.map +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 +1 -1
- package/dist/esm/search/core/models/base.js.map +1 -1
- package/dist/esm/search/core/models/zod-derivation.d.ts +1 -1
- package/dist/esm/search/core/models/zod-derivation.d.ts.map +1 -1
- package/dist/esm/search/core/models/zod-derivation.js +2 -2
- package/dist/esm/search/core/models/zod-derivation.js.map +1 -1
- package/dist/esm/search/core/repositories/common/constants.d.ts +1 -4
- package/dist/esm/search/core/repositories/common/constants.d.ts.map +1 -1
- package/dist/esm/search/core/repositories/common/constants.js +13 -37
- package/dist/esm/search/core/repositories/common/constants.js.map +1 -1
- package/dist/esm/search/core/repositories/common/index.d.ts +1 -0
- package/dist/esm/search/core/repositories/common/index.d.ts.map +1 -1
- package/dist/esm/search/core/repositories/common/index.js +1 -0
- package/dist/esm/search/core/repositories/common/index.js.map +1 -1
- package/dist/esm/search/core/repositories/common/query-params.d.ts +4 -0
- package/dist/esm/search/core/repositories/common/query-params.d.ts.map +1 -0
- package/dist/esm/search/core/repositories/common/query-params.js +25 -0
- package/dist/esm/search/core/repositories/common/query-params.js.map +1 -0
- package/dist/esm/search/core/repositories/core/base.d.ts +1 -1
- package/dist/esm/search/core/repositories/core/base.d.ts.map +1 -1
- package/dist/esm/search/core/repositories/core/base.js +3 -3
- package/dist/esm/search/core/repositories/core/base.js.map +1 -1
- package/dist/esm/search/core/repositories/core/guards.d.ts +5 -0
- package/dist/esm/search/core/repositories/core/guards.d.ts.map +1 -0
- package/dist/esm/search/core/repositories/core/guards.js +5 -0
- package/dist/esm/search/core/repositories/core/guards.js.map +1 -0
- package/dist/esm/search/core/repositories/core/persistable.d.ts.map +1 -1
- package/dist/esm/search/core/repositories/core/persistable.js +2 -5
- package/dist/esm/search/core/repositories/core/persistable.js.map +1 -1
- package/dist/esm/search/core/repositories/core/readable.js +1 -1
- package/dist/esm/search/core/repositories/core/readable.js.map +1 -1
- package/dist/esm/search/meilisearch/connector.js +1 -1
- package/dist/esm/search/meilisearch/connector.js.map +1 -1
- package/package.json +5 -5
- package/dist/cjs/relational/core/repositories/dialect/relation.d.ts +0 -11
- package/dist/cjs/relational/core/repositories/dialect/relation.d.ts.map +0 -1
- package/dist/cjs/relational/core/repositories/dialect/relation.js.map +0 -1
- package/dist/esm/relational/core/repositories/dialect/relation.d.ts +0 -11
- package/dist/esm/relational/core/repositories/dialect/relation.d.ts.map +0 -1
- package/dist/esm/relational/core/repositories/dialect/relation.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/relational/core/datasources/base.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAO/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/relational/core/datasources/base.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAO/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAGtF,+EAA+E;AAC/E,8BAAsB,wBAAwB,CAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,EAC1D,mBAAmB,SAAS,MAAM,GAAG,EAAE,EACvC,MAAM,GAAG,OAAO,EAChB,UAAU,GAAG,OAAO,CACpB,SAAQ,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,CAAC;gBACnF,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAWrE,wEAAwE;IAC/D,SAAS,IAAI,MAAM;IAK5B,SAAS,CAAC,cAAc,IAAI,MAAM;IAgDlC,qBAAqB,IAAI,OAAO;IAKvB,eAAe;;;IAIT,gBAAgB,CAC7B,IAAI,CAAC,EAAE,6BAA6B,GACnC,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IA4D9C,2LAA2L;IAC3L,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,6BAA6B,GAAG,MAAM;CACrF"}
|
|
@@ -5,12 +5,13 @@ const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
|
5
5
|
const ignis_kernel_2 = require("@venizia/ignis-kernel");
|
|
6
6
|
const core_1 = require("@venizia/ignis-helpers/core");
|
|
7
7
|
// Deep import, not a barrel: `discoverSchema()` below is the only production call site that needs
|
|
8
|
-
// `createRelations`, so the install runs from here rather than `dialect/
|
|
8
|
+
// `createRelations`, so the install runs from here rather than `dialect/relations/create.ts` - nothing else
|
|
9
9
|
// value-imports that file's `createRelations` export, and a `sideEffects: false` bundler drops an
|
|
10
10
|
// unused export's module body even when it is reachable through a barrel `export *` chain (verified
|
|
11
11
|
// with `bun build --target=browser`, the tool `make purity` uses).
|
|
12
|
-
const
|
|
12
|
+
const create_1 = require("../repositories/dialect/relations/create");
|
|
13
13
|
const abstract_1 = require("./abstract");
|
|
14
|
+
const relation_pairing_1 = require("./relation-pairing");
|
|
14
15
|
/** Base DataSource with schema auto-discovery from registered repositories. */
|
|
15
16
|
class BaseRelationalDataSource extends abstract_1.AbstractRelationalDataSource {
|
|
16
17
|
constructor(opts) {
|
|
@@ -40,8 +41,26 @@ class BaseRelationalDataSource extends abstract_1.AbstractRelationalDataSource {
|
|
|
40
41
|
this.logger
|
|
41
42
|
.for(this.discoverSchema.name)
|
|
42
43
|
.debug('Detected model(s) | Name: %s | Count: %s | Models: %j', this.name, models.length, models);
|
|
44
|
+
const discovered = { ...schema, ...relations };
|
|
45
|
+
// An inverse one() nothing pairs fails here; any other relation drizzle cannot pair is only
|
|
46
|
+
// reported, so a model set that boots today keeps booting, and its first query still throws.
|
|
47
|
+
const { unpaired, outside } = relation_pairing_1.RelationPairing.inspect({
|
|
48
|
+
dataSource: this.constructor.name,
|
|
49
|
+
schema: discovered,
|
|
50
|
+
});
|
|
51
|
+
const fatal = unpaired.find(item => relation_pairing_1.RelationPairing.isInverseOne({ relation: item.relation }));
|
|
52
|
+
if (fatal) {
|
|
53
|
+
throw (0, core_1.getError)({ message: fatal.message });
|
|
54
|
+
}
|
|
55
|
+
const logger = this.logger.for(this.discoverSchema.name);
|
|
56
|
+
for (const item of unpaired) {
|
|
57
|
+
logger.warn(item.message);
|
|
58
|
+
}
|
|
59
|
+
if (outside.length > 0) {
|
|
60
|
+
logger.debug(relation_pairing_1.RelationPairing.describeOutside({ outside }));
|
|
61
|
+
}
|
|
43
62
|
// buildSchema() is shared by every connector so it returns Record<string, unknown>; the cast narrows back to the Drizzle schema shape.
|
|
44
|
-
return
|
|
63
|
+
return discovered;
|
|
45
64
|
}
|
|
46
65
|
hasDiscoverableModels() {
|
|
47
66
|
const registry = ignis_kernel_1.MetadataRegistry.getInstance();
|
|
@@ -104,5 +123,5 @@ exports.BaseRelationalDataSource = BaseRelationalDataSource;
|
|
|
104
123
|
// Runs once this module loads. Every engine (postgres, sqlite) extends `BaseRelationalDataSource`,
|
|
105
124
|
// and `discoverSchema()` above is the sole caller of `resolveModelRelations()`, so this is the one
|
|
106
125
|
// place guaranteed to load whenever relation building is actually needed.
|
|
107
|
-
ignis_kernel_2.RelationBuilderRegistry.set({ builder:
|
|
126
|
+
ignis_kernel_2.RelationBuilderRegistry.set({ builder: create_1.createRelations });
|
|
108
127
|
//# sourceMappingURL=base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/relational/core/datasources/base.ts"],"names":[],"mappings":";;;AAAA,wDAAyD;AACzD,wDAAuF;AAEvF,sDAAuD;AAEvD,kGAAkG;AAClG,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/relational/core/datasources/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Relation } from 'drizzle-orm';
|
|
2
|
+
/** A relation drizzle cannot pair, with the message that names it and its fix. */
|
|
3
|
+
interface IUnpairedRelation {
|
|
4
|
+
relation: Relation;
|
|
5
|
+
message: string;
|
|
6
|
+
}
|
|
7
|
+
/** What a datasource's schema discovery learns about its relations. */
|
|
8
|
+
interface IRelationPairingReport {
|
|
9
|
+
/** Relations drizzle cannot pair, though their target has a model on the datasource. */
|
|
10
|
+
unpaired: Array<IUnpairedRelation>;
|
|
11
|
+
/** `Entity.relation -> Table` for each relation whose table has no model on the datasource. */
|
|
12
|
+
outside: Array<string>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Pairs every relation the way drizzle does on the first query that includes it, so schema
|
|
16
|
+
* discovery can report - or refuse - what that query would hit. A relation whose table has no
|
|
17
|
+
* model on the datasource is kept apart: a datasource that carries a subset of models on purpose
|
|
18
|
+
* is a normal shape, not a defect.
|
|
19
|
+
*/
|
|
20
|
+
export declare class RelationPairing {
|
|
21
|
+
static inspect(opts: {
|
|
22
|
+
dataSource: string;
|
|
23
|
+
schema: Record<string, unknown>;
|
|
24
|
+
}): IRelationPairingReport;
|
|
25
|
+
/** An inverse one() - no fields of its own - exists only through the relation that pairs it. */
|
|
26
|
+
static isInverseOne(opts: {
|
|
27
|
+
relation: Relation;
|
|
28
|
+
}): boolean;
|
|
29
|
+
/** One line for every relation that points outside the datasource. */
|
|
30
|
+
static describeOutside(opts: {
|
|
31
|
+
outside: Array<string>;
|
|
32
|
+
}): string;
|
|
33
|
+
/** The fix for a relation drizzle cannot pair, in the entities' own names. */
|
|
34
|
+
private static buildUnpairedHint;
|
|
35
|
+
}
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=relation-pairing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-pairing.d.ts","sourceRoot":"","sources":["../../../../../src/relational/core/datasources/relation-pairing.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,kFAAkF;AAClF,UAAU,iBAAiB;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,uEAAuE;AACvE,UAAU,sBAAsB;IAC9B,wFAAwF;IACxF,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACnC,+FAA+F;IAC/F,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACxB;AAED;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,GAAG,sBAAsB;IAiC1B,gGAAgG;IAChG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO;IAI1D,sEAAsE;IACtE,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,MAAM;IAMhE,8EAA8E;IAC9E,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAYjC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RelationPairing = void 0;
|
|
4
|
+
const drizzle_orm_1 = require("drizzle-orm");
|
|
5
|
+
/**
|
|
6
|
+
* Pairs every relation the way drizzle does on the first query that includes it, so schema
|
|
7
|
+
* discovery can report - or refuse - what that query would hit. A relation whose table has no
|
|
8
|
+
* model on the datasource is kept apart: a datasource that carries a subset of models on purpose
|
|
9
|
+
* is a normal shape, not a defect.
|
|
10
|
+
*/
|
|
11
|
+
class RelationPairing {
|
|
12
|
+
static inspect(opts) {
|
|
13
|
+
const { dataSource, schema } = opts;
|
|
14
|
+
const { tables, tableNamesMap } = (0, drizzle_orm_1.extractTablesRelationalConfig)(schema, drizzle_orm_1.createTableRelationsHelpers);
|
|
15
|
+
const unpaired = [];
|
|
16
|
+
const outside = [];
|
|
17
|
+
for (const [entity, table] of Object.entries(tables)) {
|
|
18
|
+
for (const [name, relation] of Object.entries(table.relations)) {
|
|
19
|
+
const target = tableNamesMap[(0, drizzle_orm_1.getTableUniqueName)(relation.referencedTable)];
|
|
20
|
+
if (!target) {
|
|
21
|
+
outside.push(`${entity}.${name} -> ${(0, drizzle_orm_1.getTableName)(relation.referencedTable)}`);
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
(0, drizzle_orm_1.normalizeRelation)(tables, tableNamesMap, relation);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
29
|
+
unpaired.push({
|
|
30
|
+
relation,
|
|
31
|
+
message: `[${dataSource}][discoverSchema] Cannot resolve relation '${name}' on entity '${entity}': ${reason} | ${RelationPairing.buildUnpairedHint({ entity, target, relation })}`,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return { unpaired, outside };
|
|
37
|
+
}
|
|
38
|
+
/** An inverse one() - no fields of its own - exists only through the relation that pairs it. */
|
|
39
|
+
static isInverseOne(opts) {
|
|
40
|
+
return (0, drizzle_orm_1.is)(opts.relation, drizzle_orm_1.One) && !opts.relation.config;
|
|
41
|
+
}
|
|
42
|
+
/** One line for every relation that points outside the datasource. */
|
|
43
|
+
static describeOutside(opts) {
|
|
44
|
+
const { outside } = opts;
|
|
45
|
+
const count = outside.length === 1 ? '1 relation points' : `${outside.length} relations point`;
|
|
46
|
+
return `${count} to a table outside this datasource: ${outside.join(', ')} | A query that includes one fails here; bind that model to this datasource if you need it`;
|
|
47
|
+
}
|
|
48
|
+
/** The fix for a relation drizzle cannot pair, in the entities' own names. */
|
|
49
|
+
static buildUnpairedHint(opts) {
|
|
50
|
+
const { entity, target, relation } = opts;
|
|
51
|
+
if ((0, drizzle_orm_1.is)(relation, drizzle_orm_1.Many)) {
|
|
52
|
+
return `A many() pairs with the one() on '${target}' named '${relation.relationName}' - a one() is named by its key, or by its relationName if it sets one | Add that one() on '${target}', pointing back to '${entity}', or set relationName here to the name of the one() already there`;
|
|
53
|
+
}
|
|
54
|
+
return `'${target}' holds the foreign key, so this one() pairs with the one relation there that points back to '${entity}' - there must be exactly one | Add that one() on '${target}', or write fields and references on this side`;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.RelationPairing = RelationPairing;
|
|
58
|
+
//# sourceMappingURL=relation-pairing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-pairing.js","sourceRoot":"","sources":["../../../../../src/relational/core/datasources/relation-pairing.ts"],"names":[],"mappings":";;;AAAA,6CASqB;AAiBrB;;;;;GAKG;AACH,MAAa,eAAe;IAC1B,MAAM,CAAC,OAAO,CAAC,IAGd;QACC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACpC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,2CAA6B,EAC7D,MAAM,EACN,yCAA2B,CAC5B,CAAC;QAEF,MAAM,QAAQ,GAA6B,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAkB,EAAE,CAAC;QAElC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/D,MAAM,MAAM,GAAG,aAAa,CAAC,IAAA,gCAAkB,EAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC3E,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,IAAI,OAAO,IAAA,0BAAY,EAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;oBAC/E,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC;oBACH,IAAA,+BAAiB,EAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACrD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACtE,QAAQ,CAAC,IAAI,CAAC;wBACZ,QAAQ;wBACR,OAAO,EAAE,IAAI,UAAU,8CAA8C,IAAI,gBAAgB,MAAM,MAAM,MAAM,MAAM,eAAe,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;qBACnL,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED,gGAAgG;IAChG,MAAM,CAAC,YAAY,CAAC,IAA4B;QAC9C,OAAO,IAAA,gBAAE,EAAC,IAAI,CAAC,QAAQ,EAAE,iBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IACzD,CAAC;IAED,sEAAsE;IACtE,MAAM,CAAC,eAAe,CAAC,IAAgC;QACrD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,kBAAkB,CAAC;QAC/F,OAAO,GAAG,KAAK,wCAAwC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,4FAA4F,CAAC;IACxK,CAAC;IAED,8EAA8E;IACtE,MAAM,CAAC,iBAAiB,CAAC,IAIhC;QACC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAE1C,IAAI,IAAA,gBAAE,EAAC,QAAQ,EAAE,kBAAI,CAAC,EAAE,CAAC;YACvB,OAAO,qCAAqC,MAAM,YAAY,QAAQ,CAAC,YAAY,+FAA+F,MAAM,wBAAwB,MAAM,oEAAoE,CAAC;QAC7R,CAAC;QACD,OAAO,IAAI,MAAM,iGAAiG,MAAM,sDAAsD,MAAM,gDAAgD,CAAC;IACvO,CAAC;CACF;AA9DD,0CA8DC"}
|
|
@@ -2,7 +2,7 @@ import type { TIdSchemaType, TSchemaType } from '@venizia/ignis-kernel';
|
|
|
2
2
|
import { AbstractEntity } from '@venizia/ignis-kernel';
|
|
3
3
|
import type { TRelationConfig } from '../repositories/common';
|
|
4
4
|
import type { TValueOrResolver } from '@venizia/ignis-helpers/common';
|
|
5
|
-
import {
|
|
5
|
+
import type { Table } from 'drizzle-orm';
|
|
6
6
|
import type { IEntity, TTableInsert, TTableObject, TTableSchemaWithId } from './common';
|
|
7
7
|
/** Base entity with Drizzle ORM support. Supports static schema or constructor-based schema. */
|
|
8
8
|
export declare class BaseRelationalEntity<Schema extends TTableSchemaWithId = TTableSchemaWithId> extends AbstractEntity implements IEntity<Schema> {
|
|
@@ -11,11 +11,9 @@ export declare class BaseRelationalEntity<Schema extends TTableSchemaWithId = TT
|
|
|
11
11
|
readonly $inferPersist?: TTableInsert<Schema>;
|
|
12
12
|
static TABLE_NAME?: string;
|
|
13
13
|
static AUTHORIZATION_SUBJECT?: string;
|
|
14
|
-
static
|
|
14
|
+
/** A carrier, deliberately widened to `Table`: a factory-built entity knows its table precisely, and a narrower static would reject that precise type. The CONTRACT stays on the instance, typed `Schema`. */
|
|
15
|
+
static schema: Table;
|
|
15
16
|
static relations?: TValueOrResolver<Array<TRelationConfig>>;
|
|
16
|
-
/** Lazy singleton - shared across all BaseRelationalEntity instances. */
|
|
17
|
-
private static _schemaFactory?;
|
|
18
|
-
protected static get schemaFactory(): ReturnType<typeof createSchemaFactory>;
|
|
19
17
|
constructor(opts?: {
|
|
20
18
|
name?: string;
|
|
21
19
|
schema?: Schema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/relational/core/models/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAe,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/relational/core/models/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAe,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAQxF,gGAAgG;AAChG,qBAAa,oBAAoB,CAAC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,CACtF,SAAQ,cACR,YAAW,OAAO,CAAC,MAAM,CAAC;IAE1B,MAAM,EAAE,MAAM,CAAC;IAGf,SAAiB,UAAU,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACnD,SAAiB,aAAa,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAEtD,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAEtC,8MAA8M;IAC9M,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IACrB,MAAM,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;gBAEhD,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IASrD,6IAA6I;IACpI,SAAS,IAAI,aAAa;IAInC,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,GAAG,CAAC;CAoBvD"}
|
|
@@ -5,11 +5,11 @@ const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
|
5
5
|
const core_1 = require("@venizia/ignis-helpers/core");
|
|
6
6
|
const drizzle_zod_1 = require("drizzle-zod");
|
|
7
7
|
const common_1 = require("./common");
|
|
8
|
+
/** Lazy singleton, shared by every entity. */
|
|
9
|
+
let schemaFactory;
|
|
10
|
+
const getSchemaFactory = () => (schemaFactory ??= (0, drizzle_zod_1.createSchemaFactory)());
|
|
8
11
|
/** Base entity with Drizzle ORM support. Supports static schema or constructor-based schema. */
|
|
9
12
|
class BaseRelationalEntity extends ignis_kernel_1.AbstractEntity {
|
|
10
|
-
static get schemaFactory() {
|
|
11
|
-
return (BaseRelationalEntity._schemaFactory ??= (0, drizzle_zod_1.createSchemaFactory)());
|
|
12
|
-
}
|
|
13
13
|
constructor(opts) {
|
|
14
14
|
const ctor = new.target;
|
|
15
15
|
const name = opts?.name ?? ctor.TABLE_NAME ?? ctor.name;
|
|
@@ -21,7 +21,7 @@ class BaseRelationalEntity extends ignis_kernel_1.AbstractEntity {
|
|
|
21
21
|
return (0, common_1.getIdType)({ entity: this.schema }) === 'number' ? 'number' : 'string';
|
|
22
22
|
}
|
|
23
23
|
getSchema(opts) {
|
|
24
|
-
const factory =
|
|
24
|
+
const factory = getSchemaFactory();
|
|
25
25
|
switch (opts.type) {
|
|
26
26
|
case ignis_kernel_1.SchemaTypes.CREATE: {
|
|
27
27
|
return factory.createInsertSchema(this.schema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/relational/core/models/base.ts"],"names":[],"mappings":";;;AACA,wDAAoE;AAGpE,sDAAuD;AACvD,6CAAkD;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/relational/core/models/base.ts"],"names":[],"mappings":";;;AACA,wDAAoE;AAGpE,sDAAuD;AACvD,6CAAkD;AAGlD,qCAAmD;AAEnD,8CAA8C;AAC9C,IAAI,aAAiE,CAAC;AACtE,MAAM,gBAAgB,GAAG,GAA2C,EAAE,CACpE,CAAC,aAAa,KAAK,IAAA,iCAAmB,GAAE,CAAC,CAAC;AAE5C,gGAAgG;AAChG,MAAa,oBACX,SAAQ,6BAAc;IAgBtB,YAAY,IAAyC;QACnD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAqC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC;QAExD,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhB,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,IAAK,IAAI,CAAC,MAAiB,CAAC;IACxD,CAAC;IAED,6IAA6I;IACpI,SAAS;QAChB,OAAO,IAAA,kBAAU,EAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChF,CAAC;IAED,SAAS,CAAc,IAA2B;QAChD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QAEnC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,0BAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxB,OAAO,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAM,CAAC;YACtD,CAAC;YACD,KAAK,0BAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxB,OAAO,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAM,CAAC;YACtD,CAAC;YACD,KAAK,0BAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxB,OAAO,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAM,CAAC;YACtD,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,IAAA,eAAQ,EAAC;oBACb,OAAO,EAAE,2CAA2C,IAAI,CAAC,IAAI,aAAa,CAAC,0BAAW,CAAC,MAAM,EAAE,0BAAW,CAAC,MAAM,EAAE,0BAAW,CAAC,MAAM,CAAC,EAAE;iBACzI,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAnDD,oDAmDC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { IdType } from '@venizia/ignis-kernel';
|
|
2
|
+
import { RelationTypes } from '@venizia/ignis-kernel';
|
|
2
3
|
import type { TRelationConfig } from '../../repositories/common';
|
|
3
4
|
import type { TValueOrResolver } from '@venizia/ignis-helpers/common';
|
|
4
5
|
import type { AnyColumn, ColumnBuilderBase, IsPrimaryKey, NotNull, Table, TableConfig } from 'drizzle-orm';
|
|
@@ -27,4 +28,48 @@ export interface IEntity<Schema extends TTableSchemaWithId = TTableSchemaWithId>
|
|
|
27
28
|
schema: Schema;
|
|
28
29
|
relations?: TValueOrResolver<Array<TRelationConfig>>;
|
|
29
30
|
}
|
|
31
|
+
/** The drizzle relation options for a given relation type, as its helper declares them. */
|
|
32
|
+
export type TRelationMetadata<Type extends TRelationConfig['type']> = Extract<TRelationConfig, {
|
|
33
|
+
type: Type;
|
|
34
|
+
}>['metadata'];
|
|
35
|
+
export interface IManyRelation<Schema extends TTableSchemaWithId = TTableSchemaWithId> {
|
|
36
|
+
type: typeof RelationTypes.MANY;
|
|
37
|
+
schema: Schema;
|
|
38
|
+
metadata?: TRelationMetadata<typeof RelationTypes.MANY>;
|
|
39
|
+
}
|
|
40
|
+
export interface IOneRelation<Schema extends TTableSchemaWithId = TTableSchemaWithId> {
|
|
41
|
+
type: typeof RelationTypes.ONE;
|
|
42
|
+
schema: Schema;
|
|
43
|
+
metadata?: TRelationMetadata<typeof RelationTypes.ONE>;
|
|
44
|
+
}
|
|
45
|
+
export type TRelationDefinition = IManyRelation | IOneRelation;
|
|
46
|
+
/**
|
|
47
|
+
* Relations keyed by name. Each points at a SCHEMA, never at another entity: an entity reference
|
|
48
|
+
* across two files that import each other collapses to `any` under TS7022, silently.
|
|
49
|
+
*/
|
|
50
|
+
export type TRelationDefinitions = Record<string, TRelationDefinition>;
|
|
51
|
+
/**
|
|
52
|
+
* The entity shape {@link TEntityObject} reads: a class whose instances carry their row type, plus
|
|
53
|
+
* its relations. The row is read off the INSTANCE - the class's static `schema` is widened to
|
|
54
|
+
* `Table` on the base, and a row read through it would take `Table`'s index signature and let
|
|
55
|
+
* every unknown key through.
|
|
56
|
+
*/
|
|
57
|
+
export interface IDefinedEntity<Relations extends TRelationDefinitions = TRelationDefinitions> {
|
|
58
|
+
new (...args: never): {
|
|
59
|
+
$inferData?: unknown;
|
|
60
|
+
};
|
|
61
|
+
/** Undefined when the entity declares no relations. */
|
|
62
|
+
relationDefinitions: Relations | undefined;
|
|
63
|
+
}
|
|
64
|
+
type TRowOf<Entity> = Entity extends new (...args: never) => {
|
|
65
|
+
$inferData?: infer Row;
|
|
66
|
+
} ? NonNullable<Row> : never;
|
|
67
|
+
type TDefinitionsOf<Entity extends IDefinedEntity> = NonNullable<Entity['relationDefinitions']>;
|
|
68
|
+
/** A row of the entity plus its relations, so a relation is declared once instead of twice. */
|
|
69
|
+
export type TEntityObject<Entity extends IDefinedEntity> = TRowOf<Entity> & {
|
|
70
|
+
[Name in keyof TDefinitionsOf<Entity>]?: TDefinitionsOf<Entity>[Name] extends {
|
|
71
|
+
type: typeof RelationTypes.MANY;
|
|
72
|
+
} ? Array<TTableObject<TDefinitionsOf<Entity>[Name]['schema']>> : TTableObject<TDefinitionsOf<Entity>[Name]['schema']>;
|
|
73
|
+
};
|
|
74
|
+
export {};
|
|
30
75
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/models/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EACV,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,KAAK,EACL,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAClD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,iBAAiB,CAAC;CAC7C,CAAC;AACF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,iBAAiB,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhF,qMAAqM;AACrM,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEpD,sIAAsI;AACtI,MAAM,MAAM,kBAAkB,CAAC,EAAE,SAAS,WAAW,GAAG,WAAW,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG;IACjF,EAAE,EAAE,SAAS,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,kBAAkB,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AAC3E,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,kBAAkB,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AAC3E,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,kBAAkB,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAE7E,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,kBAAkB,EAAE,MAAM;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,yCAE1E,CAAC;AAEF,wEAAwE;AACxE,MAAM,WAAW,OAAO,CAAC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;CACtD"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/models/common/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/relational/core/models/common/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/relational/core/models/common/types.ts"],"names":[],"mappings":";;;AA+BO,MAAM,SAAS,GAAG,CAA+B,IAAmB,EAAE,EAAE;IAC7E,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,IAAI,SAAS,CAAC;AAChD,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { TValueOrResolver } from '@venizia/ignis-helpers/common';
|
|
2
|
+
import type { TRelationConfig } from '../repositories/common';
|
|
3
|
+
import { BaseRelationalEntity } from './base';
|
|
4
|
+
import type { TRelationDefinitions, TTableSchemaWithId } from './common';
|
|
5
|
+
/**
|
|
6
|
+
* The class `defineEntity` returns: every static and instance member of a hand-written
|
|
7
|
+
* `BaseRelationalEntity<Schema>`, with the table and the relations typed precisely. Named, so a
|
|
8
|
+
* consumer's declaration output can reference it.
|
|
9
|
+
*/
|
|
10
|
+
export type TDefinedEntityClass<Schema extends TTableSchemaWithId, Relations extends TRelationDefinitions> = typeof BaseRelationalEntity<Schema> & {
|
|
11
|
+
readonly TABLE_NAME: string;
|
|
12
|
+
readonly schema: Schema;
|
|
13
|
+
/** Undefined when the entity declares no relations. */
|
|
14
|
+
readonly relationDefinitions: Relations | undefined;
|
|
15
|
+
readonly relations: TValueOrResolver<Array<TRelationConfig>>;
|
|
16
|
+
};
|
|
17
|
+
/** Builds an entity class from its table, so a model states each fact once. */
|
|
18
|
+
export declare class ModelFactory {
|
|
19
|
+
/**
|
|
20
|
+
* The table comes first, as a plain drizzle table (`pgTable`, `pgSchema(...).table`,
|
|
21
|
+
* `sqliteTable`): relations point at TABLES, so two entities that relate to each other never
|
|
22
|
+
* import each other, and the compiler keeps both row types.
|
|
23
|
+
*/
|
|
24
|
+
static defineEntity<Schema extends TTableSchemaWithId, Relations extends TRelationDefinitions = {}>(opts: {
|
|
25
|
+
table: Schema;
|
|
26
|
+
relations?: () => Relations;
|
|
27
|
+
}): TDefinedEntityClass<Schema, Relations>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/relational/core/models/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGzE;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,CAC7B,MAAM,SAAS,kBAAkB,EACjC,SAAS,SAAS,oBAAoB,IACpC,OAAO,oBAAoB,CAAC,MAAM,CAAC,GAAG;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,mBAAmB,EAAE,SAAS,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,+EAA+E;AAC/E,qBAAa,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,YAAY,CACjB,MAAM,SAAS,kBAAkB,EACjC,SAAS,SAAS,oBAAoB,GAAG,EAAE,EAC3C,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,SAAS,CAAA;KAAE,GAAG,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC;CA+BhG"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModelFactory = void 0;
|
|
4
|
+
const drizzle_orm_1 = require("drizzle-orm");
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
const relations_1 = require("./relations");
|
|
7
|
+
/** Builds an entity class from its table, so a model states each fact once. */
|
|
8
|
+
class ModelFactory {
|
|
9
|
+
/**
|
|
10
|
+
* The table comes first, as a plain drizzle table (`pgTable`, `pgSchema(...).table`,
|
|
11
|
+
* `sqliteTable`): relations point at TABLES, so two entities that relate to each other never
|
|
12
|
+
* import each other, and the compiler keeps both row types.
|
|
13
|
+
*/
|
|
14
|
+
static defineEntity(opts) {
|
|
15
|
+
const { table, relations } = opts;
|
|
16
|
+
// Read on first use, not here: a thunk run at definition time throws for a table declared
|
|
17
|
+
// later in the file, or on the far side of a circular import.
|
|
18
|
+
let definitions;
|
|
19
|
+
let configs;
|
|
20
|
+
const readDefinitions = () => {
|
|
21
|
+
if (definitions === undefined && relations) {
|
|
22
|
+
definitions = relations();
|
|
23
|
+
}
|
|
24
|
+
return definitions;
|
|
25
|
+
};
|
|
26
|
+
class DefinedEntity extends base_1.BaseRelationalEntity {
|
|
27
|
+
static { this.TABLE_NAME = (0, drizzle_orm_1.getTableName)(table); }
|
|
28
|
+
static { this.schema = table; }
|
|
29
|
+
static get relationDefinitions() {
|
|
30
|
+
return readDefinitions();
|
|
31
|
+
}
|
|
32
|
+
static { this.relations = () => {
|
|
33
|
+
configs ??= (0, relations_1.toRelationConfigs)({ relations: readDefinitions() ?? {} });
|
|
34
|
+
return configs;
|
|
35
|
+
}; }
|
|
36
|
+
}
|
|
37
|
+
return DefinedEntity;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.ModelFactory = ModelFactory;
|
|
41
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../src/relational/core/models/factory.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAE3C,iCAA8C;AAE9C,2CAAgD;AAkBhD,+EAA+E;AAC/E,MAAa,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAGjB,IAAoD;QACpD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAElC,0FAA0F;QAC1F,8DAA8D;QAC9D,IAAI,WAAkC,CAAC;QACvC,IAAI,OAA2C,CAAC;QAEhD,MAAM,eAAe,GAAG,GAA0B,EAAE;YAClD,IAAI,WAAW,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC;gBAC3C,WAAW,GAAG,SAAS,EAAE,CAAC;YAC5B,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAEF,MAAM,aAAc,SAAQ,2BAA4B;qBAC7B,eAAU,GAAW,IAAA,0BAAY,EAAC,KAAK,CAAC,CAAC;qBACzC,WAAM,GAAW,KAAK,CAAC;YAEhD,MAAM,KAAK,mBAAmB;gBAC5B,OAAO,eAAe,EAAE,CAAC;YAC3B,CAAC;qBAEwB,cAAS,GAA6C,GAAG,EAAE;gBAClF,OAAO,KAAK,IAAA,6BAAiB,EAAC,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBACtE,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC;;QAGJ,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAxCD,oCAwCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/relational/core/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/relational/core/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
|
|
@@ -17,4 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./base"), exports);
|
|
18
18
|
__exportStar(require("./common"), exports);
|
|
19
19
|
__exportStar(require("./enrichers"), exports);
|
|
20
|
+
__exportStar(require("./factory"), exports);
|
|
21
|
+
__exportStar(require("./relations"), exports);
|
|
20
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/relational/core/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,2CAAyB;AACzB,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/relational/core/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,2CAAyB;AACzB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RelationTypes } from '@venizia/ignis-kernel';
|
|
2
|
+
import type { TRelationConfig } from '../repositories/common';
|
|
3
|
+
import type { TTableSchemaWithId } from './common';
|
|
4
|
+
import type { IManyRelation, IOneRelation, TRelationDefinitions, TRelationMetadata } from './common';
|
|
5
|
+
/** Declares a to-many relation to `schema`. */
|
|
6
|
+
export declare const many: <Schema extends TTableSchemaWithId>(schema: Schema, metadata?: TRelationMetadata<typeof RelationTypes.MANY>) => IManyRelation<Schema>;
|
|
7
|
+
/** Declares a to-one relation to `schema`. */
|
|
8
|
+
export declare const one: <Schema extends TTableSchemaWithId>(schema: Schema, metadata?: TRelationMetadata<typeof RelationTypes.ONE>) => IOneRelation<Schema>;
|
|
9
|
+
/** Flattens the keyed form into the array shape the query dialect reads, taking each relation's name from its key. */
|
|
10
|
+
export declare const toRelationConfigs: (opts: {
|
|
11
|
+
relations: TRelationDefinitions;
|
|
12
|
+
}) => Array<TRelationConfig>;
|
|
13
|
+
//# sourceMappingURL=relations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../../../src/relational/core/models/relations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,+CAA+C;AAC/C,eAAO,MAAM,IAAI,GAAI,MAAM,SAAS,kBAAkB,EACpD,QAAQ,MAAM,EACd,WAAW,iBAAiB,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,KACtD,aAAa,CAAC,MAAM,CAAqD,CAAC;AAE7E,8CAA8C;AAC9C,eAAO,MAAM,GAAG,GAAI,MAAM,SAAS,kBAAkB,EACnD,QAAQ,MAAM,EACd,WAAW,iBAAiB,CAAC,OAAO,aAAa,CAAC,GAAG,CAAC,KACrD,YAAY,CAAC,MAAM,CAAoD,CAAC;AAE3E,sHAAsH;AACtH,eAAO,MAAM,iBAAiB,GAAI,MAAM;IACtC,SAAS,EAAE,oBAAoB,CAAC;CACjC,KAAG,KAAK,CAAC,eAAe,CAaxB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toRelationConfigs = exports.one = exports.many = void 0;
|
|
4
|
+
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
5
|
+
/** Declares a to-many relation to `schema`. */
|
|
6
|
+
const many = (schema, metadata) => ({ type: ignis_kernel_1.RelationTypes.MANY, schema, metadata });
|
|
7
|
+
exports.many = many;
|
|
8
|
+
/** Declares a to-one relation to `schema`. */
|
|
9
|
+
const one = (schema, metadata) => ({ type: ignis_kernel_1.RelationTypes.ONE, schema, metadata });
|
|
10
|
+
exports.one = one;
|
|
11
|
+
/** Flattens the keyed form into the array shape the query dialect reads, taking each relation's name from its key. */
|
|
12
|
+
const toRelationConfigs = (opts) => {
|
|
13
|
+
const { relations } = opts;
|
|
14
|
+
const configs = [];
|
|
15
|
+
for (const [name, relation] of Object.entries(relations)) {
|
|
16
|
+
configs.push(relation.type === ignis_kernel_1.RelationTypes.MANY
|
|
17
|
+
? { name, type: ignis_kernel_1.RelationTypes.MANY, schema: relation.schema, metadata: relation.metadata }
|
|
18
|
+
: { name, type: ignis_kernel_1.RelationTypes.ONE, schema: relation.schema, metadata: relation.metadata });
|
|
19
|
+
}
|
|
20
|
+
return configs;
|
|
21
|
+
};
|
|
22
|
+
exports.toRelationConfigs = toRelationConfigs;
|
|
23
|
+
//# sourceMappingURL=relations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relations.js","sourceRoot":"","sources":["../../../../../src/relational/core/models/relations.ts"],"names":[],"mappings":";;;AAAA,wDAAsD;AAUtD,+CAA+C;AACxC,MAAM,IAAI,GAAG,CAClB,MAAc,EACd,QAAuD,EAChC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,4BAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAHhE,QAAA,IAAI,QAG4D;AAE7E,8CAA8C;AACvC,MAAM,GAAG,GAAG,CACjB,MAAc,EACd,QAAsD,EAChC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,4BAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAH9D,QAAA,GAAG,OAG2D;AAE3E,sHAAsH;AAC/G,MAAM,iBAAiB,GAAG,CAAC,IAEjC,EAA0B,EAAE;IAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC3B,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,IAAI,CACV,QAAQ,CAAC,IAAI,KAAK,4BAAa,CAAC,IAAI;YAClC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,4BAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;YAC1F,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,4BAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAC5F,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAfW,QAAA,iBAAiB,qBAe5B"}
|
|
@@ -8,7 +8,8 @@ export type TRelationConfig = {
|
|
|
8
8
|
} & ({
|
|
9
9
|
type: typeof RelationTypes.ONE;
|
|
10
10
|
schema: TTableSchemaWithId;
|
|
11
|
-
|
|
11
|
+
/** `fields` and `references` may be left out: they are read off the table's foreign key. */
|
|
12
|
+
metadata?: Partial<NonNullable<Parameters<ReturnType<typeof createTableRelationsHelpers>[typeof RelationTypes.ONE]>[1]>>;
|
|
12
13
|
} | {
|
|
13
14
|
type: typeof RelationTypes.MANY;
|
|
14
15
|
schema: TTableSchemaWithId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,OAAO,EACP,MAAM,EACP,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,KAAK,EAAE,2BAA2B,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAErF,0FAA0F;AAC1F,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,CACA;IACE,IAAI,EAAE,OAAO,aAAa,CAAC,GAAG,CAAC;IAC/B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/common/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/dialect/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AAGzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/dialect/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AAGzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
|
|
@@ -18,6 +18,6 @@ __exportStar(require("./filter"), exports);
|
|
|
18
18
|
// Exported despite living under internal/: a second engine composes its own path syntax on the same
|
|
19
19
|
// parse and column checks.
|
|
20
20
|
__exportStar(require("./internal/json-utils"), exports);
|
|
21
|
-
__exportStar(require("./
|
|
21
|
+
__exportStar(require("./relations"), exports);
|
|
22
22
|
__exportStar(require("./update"), exports);
|
|
23
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/dialect/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,oGAAoG;AACpG,2BAA2B;AAC3B,wDAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/dialect/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,oGAAoG;AACpG,2BAA2B;AAC3B,wDAAsC;AACtC,8CAA4B;AAC5B,2CAAyB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { TConstValue } from '@venizia/ignis-helpers/common';
|
|
2
|
+
/** The side of a `one` relation a declaration resolves to. */
|
|
3
|
+
export declare class OneRelationSides {
|
|
4
|
+
/** Carries fields and references - written, or read off this table's foreign key. */
|
|
5
|
+
static readonly OWNING = "owning";
|
|
6
|
+
/** Carries nothing: the key is on the target, and drizzle pairs this side from there. */
|
|
7
|
+
static readonly INVERSE = "inverse";
|
|
8
|
+
static readonly SCHEME_SET: Set<string>;
|
|
9
|
+
static isValid(value: string): value is TOneRelationSide;
|
|
10
|
+
}
|
|
11
|
+
export type TOneRelationSide = TConstValue<typeof OneRelationSides>;
|
|
12
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../../../src/relational/core/repositories/dialect/relations/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,8DAA8D;AAC9D,qBAAa,gBAAgB;IAC3B,qFAAqF;IACrF,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAClC,yFAAyF;IACzF,MAAM,CAAC,QAAQ,CAAC,OAAO,aAAa;IAEpC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAAgD;IAE1E,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,gBAAgB;CAGzD;AAED,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OneRelationSides = void 0;
|
|
4
|
+
/** The side of a `one` relation a declaration resolves to. */
|
|
5
|
+
class OneRelationSides {
|
|
6
|
+
/** Carries fields and references - written, or read off this table's foreign key. */
|
|
7
|
+
static { this.OWNING = 'owning'; }
|
|
8
|
+
/** Carries nothing: the key is on the target, and drizzle pairs this side from there. */
|
|
9
|
+
static { this.INVERSE = 'inverse'; }
|
|
10
|
+
static { this.SCHEME_SET = new Set([this.OWNING, this.INVERSE]); }
|
|
11
|
+
static isValid(value) {
|
|
12
|
+
return this.SCHEME_SET.has(value);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.OneRelationSides = OneRelationSides;
|
|
16
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../../../src/relational/core/repositories/dialect/relations/common/constants.ts"],"names":[],"mappings":";;;AAEA,8DAA8D;AAC9D,MAAa,gBAAgB;IAC3B,qFAAqF;aACrE,WAAM,GAAG,QAAQ,CAAC;IAClC,yFAAyF;aACzE,YAAO,GAAG,SAAS,CAAC;aAEpB,eAAU,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1E,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAVH,4CAWC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/relational/core/repositories/dialect/relations/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|