uql-orm 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +521 -0
- package/LICENSE.md +22 -0
- package/README.md +560 -0
- package/dist/browser/cc-BEf4wTUm.js +535 -0
- package/dist/browser/cc-BEf4wTUm.js.map +1 -0
- package/dist/browser/http/bus.d.ts +4 -0
- package/dist/browser/http/bus.d.ts.map +1 -0
- package/dist/browser/http/bus.js +14 -0
- package/dist/browser/http/bus.js.map +1 -0
- package/dist/browser/http/http.d.ts +7 -0
- package/dist/browser/http/http.d.ts.map +1 -0
- package/dist/browser/http/http.js +45 -0
- package/dist/browser/http/http.js.map +1 -0
- package/dist/browser/http/index.d.ts +3 -0
- package/dist/browser/http/index.d.ts.map +1 -0
- package/dist/browser/http/index.js +3 -0
- package/dist/browser/http/index.js.map +1 -0
- package/dist/browser/index.d.ts +5 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +5 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/options.d.ts +5 -0
- package/dist/browser/options.d.ts.map +1 -0
- package/dist/browser/options.js +14 -0
- package/dist/browser/options.js.map +1 -0
- package/dist/browser/querier/httpQuerier.d.ts +20 -0
- package/dist/browser/querier/httpQuerier.d.ts.map +1 -0
- package/dist/browser/querier/httpQuerier.js +68 -0
- package/dist/browser/querier/httpQuerier.js.map +1 -0
- package/dist/browser/querier/index.d.ts +3 -0
- package/dist/browser/querier/index.d.ts.map +1 -0
- package/dist/browser/querier/index.js +3 -0
- package/dist/browser/querier/index.js.map +1 -0
- package/dist/browser/querier/querier.util.d.ts +3 -0
- package/dist/browser/querier/querier.util.d.ts.map +1 -0
- package/dist/browser/querier/querier.util.js +17 -0
- package/dist/browser/querier/querier.util.js.map +1 -0
- package/dist/browser/type/clientQuerier.d.ts +24 -0
- package/dist/browser/type/clientQuerier.d.ts.map +1 -0
- package/dist/browser/type/clientQuerier.js +2 -0
- package/dist/browser/type/clientQuerier.js.map +1 -0
- package/dist/browser/type/clientQuerierPool.d.ts +5 -0
- package/dist/browser/type/clientQuerierPool.d.ts.map +1 -0
- package/dist/browser/type/clientQuerierPool.js +2 -0
- package/dist/browser/type/clientQuerierPool.js.map +1 -0
- package/dist/browser/type/index.d.ts +4 -0
- package/dist/browser/type/index.d.ts.map +1 -0
- package/dist/browser/type/index.js +4 -0
- package/dist/browser/type/index.js.map +1 -0
- package/dist/browser/type/request.d.ts +29 -0
- package/dist/browser/type/request.d.ts.map +1 -0
- package/dist/browser/type/request.js +2 -0
- package/dist/browser/type/request.js.map +1 -0
- package/dist/browser/uql-browser.min.js +4818 -0
- package/dist/browser/uql-browser.min.js.map +1 -0
- package/dist/d1/d1Querier.d.ts +45 -0
- package/dist/d1/d1Querier.d.ts.map +1 -0
- package/dist/d1/d1Querier.js +31 -0
- package/dist/d1/d1Querier.js.map +1 -0
- package/dist/d1/d1QuerierPool.d.ts +10 -0
- package/dist/d1/d1QuerierPool.d.ts.map +1 -0
- package/dist/d1/d1QuerierPool.js +16 -0
- package/dist/d1/d1QuerierPool.js.map +1 -0
- package/dist/d1/index.d.ts +3 -0
- package/dist/d1/index.d.ts.map +1 -0
- package/dist/d1/index.js +3 -0
- package/dist/d1/index.js.map +1 -0
- package/dist/dialect/abstractDialect.d.ts +22 -0
- package/dist/dialect/abstractDialect.d.ts.map +1 -0
- package/dist/dialect/abstractDialect.js +37 -0
- package/dist/dialect/abstractDialect.js.map +1 -0
- package/dist/dialect/abstractSqlDialect.d.ts +140 -0
- package/dist/dialect/abstractSqlDialect.d.ts.map +1 -0
- package/dist/dialect/abstractSqlDialect.js +957 -0
- package/dist/dialect/abstractSqlDialect.js.map +1 -0
- package/dist/dialect/dialectConfig.d.ts +23 -0
- package/dist/dialect/dialectConfig.d.ts.map +1 -0
- package/dist/dialect/dialectConfig.js +96 -0
- package/dist/dialect/dialectConfig.js.map +1 -0
- package/dist/dialect/index.d.ts +5 -0
- package/dist/dialect/index.d.ts.map +1 -0
- package/dist/dialect/index.js +5 -0
- package/dist/dialect/index.js.map +1 -0
- package/dist/dialect/queryContext.d.ts +49 -0
- package/dist/dialect/queryContext.d.ts.map +1 -0
- package/dist/dialect/queryContext.js +65 -0
- package/dist/dialect/queryContext.js.map +1 -0
- package/dist/entity/decorator/definition.d.ts +11 -0
- package/dist/entity/decorator/definition.d.ts.map +1 -0
- package/dist/entity/decorator/definition.js +247 -0
- package/dist/entity/decorator/definition.js.map +1 -0
- package/dist/entity/decorator/entity.d.ts +3 -0
- package/dist/entity/decorator/entity.d.ts.map +1 -0
- package/dist/entity/decorator/entity.js +7 -0
- package/dist/entity/decorator/entity.js.map +1 -0
- package/dist/entity/decorator/field.d.ts +3 -0
- package/dist/entity/decorator/field.d.ts.map +1 -0
- package/dist/entity/decorator/field.js +8 -0
- package/dist/entity/decorator/field.js.map +1 -0
- package/dist/entity/decorator/hook.d.ts +8 -0
- package/dist/entity/decorator/hook.d.ts.map +1 -0
- package/dist/entity/decorator/hook.js +15 -0
- package/dist/entity/decorator/hook.js.map +1 -0
- package/dist/entity/decorator/id.d.ts +3 -0
- package/dist/entity/decorator/id.d.ts.map +1 -0
- package/dist/entity/decorator/id.js +8 -0
- package/dist/entity/decorator/id.js.map +1 -0
- package/dist/entity/decorator/index-decorator.d.ts +36 -0
- package/dist/entity/decorator/index-decorator.d.ts.map +1 -0
- package/dist/entity/decorator/index-decorator.js +52 -0
- package/dist/entity/decorator/index-decorator.js.map +1 -0
- package/dist/entity/decorator/index.d.ts +8 -0
- package/dist/entity/decorator/index.d.ts.map +1 -0
- package/dist/entity/decorator/index.js +8 -0
- package/dist/entity/decorator/index.js.map +1 -0
- package/dist/entity/decorator/relation.d.ts +9 -0
- package/dist/entity/decorator/relation.d.ts.map +1 -0
- package/dist/entity/decorator/relation.js +20 -0
- package/dist/entity/decorator/relation.js.map +1 -0
- package/dist/entity/index.d.ts +2 -0
- package/dist/entity/index.d.ts.map +1 -0
- package/dist/entity/index.js +2 -0
- package/dist/entity/index.js.map +1 -0
- package/dist/express/index.d.ts +3 -0
- package/dist/express/index.d.ts.map +1 -0
- package/dist/express/index.js +3 -0
- package/dist/express/index.js.map +1 -0
- package/dist/express/querierMiddleware.d.ts +26 -0
- package/dist/express/querierMiddleware.d.ts.map +1 -0
- package/dist/express/querierMiddleware.js +149 -0
- package/dist/express/querierMiddleware.js.map +1 -0
- package/dist/express/query.util.d.ts +7 -0
- package/dist/express/query.util.d.ts.map +1 -0
- package/dist/express/query.util.js +28 -0
- package/dist/express/query.util.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/libsql/index.d.ts +3 -0
- package/dist/libsql/index.d.ts.map +1 -0
- package/dist/libsql/index.js +3 -0
- package/dist/libsql/index.js.map +1 -0
- package/dist/libsql/libsqlQuerier.d.ts +17 -0
- package/dist/libsql/libsqlQuerier.d.ts.map +1 -0
- package/dist/libsql/libsqlQuerier.js +71 -0
- package/dist/libsql/libsqlQuerier.js.map +1 -0
- package/dist/libsql/libsqlQuerierPool.d.ts +12 -0
- package/dist/libsql/libsqlQuerierPool.d.ts.map +1 -0
- package/dist/libsql/libsqlQuerierPool.js +19 -0
- package/dist/libsql/libsqlQuerierPool.js.map +1 -0
- package/dist/maria/index.d.ts +4 -0
- package/dist/maria/index.d.ts.map +1 -0
- package/dist/maria/index.js +4 -0
- package/dist/maria/index.js.map +1 -0
- package/dist/maria/mariaDialect.d.ts +10 -0
- package/dist/maria/mariaDialect.d.ts.map +1 -0
- package/dist/maria/mariaDialect.js +41 -0
- package/dist/maria/mariaDialect.js.map +1 -0
- package/dist/maria/mariadbQuerier.d.ts +10 -0
- package/dist/maria/mariadbQuerier.d.ts.map +1 -0
- package/dist/maria/mariadbQuerier.js +20 -0
- package/dist/maria/mariadbQuerier.js.map +1 -0
- package/dist/maria/mariadbQuerierPool.d.ts +11 -0
- package/dist/maria/mariadbQuerierPool.d.ts.map +1 -0
- package/dist/maria/mariadbQuerierPool.js +17 -0
- package/dist/maria/mariadbQuerierPool.js.map +1 -0
- package/dist/migrate/bin.d.ts +3 -0
- package/dist/migrate/bin.d.ts.map +1 -0
- package/dist/migrate/bin.js +7 -0
- package/dist/migrate/bin.js.map +1 -0
- package/dist/migrate/builder/columnBuilder.d.ts +79 -0
- package/dist/migrate/builder/columnBuilder.d.ts.map +1 -0
- package/dist/migrate/builder/columnBuilder.js +159 -0
- package/dist/migrate/builder/columnBuilder.js.map +1 -0
- package/dist/migrate/builder/expressions.d.ts +87 -0
- package/dist/migrate/builder/expressions.d.ts.map +1 -0
- package/dist/migrate/builder/expressions.js +150 -0
- package/dist/migrate/builder/expressions.js.map +1 -0
- package/dist/migrate/builder/index.d.ts +6 -0
- package/dist/migrate/builder/index.d.ts.map +1 -0
- package/dist/migrate/builder/index.js +6 -0
- package/dist/migrate/builder/index.js.map +1 -0
- package/dist/migrate/builder/migrationBuilder.d.ts +109 -0
- package/dist/migrate/builder/migrationBuilder.d.ts.map +1 -0
- package/dist/migrate/builder/migrationBuilder.js +463 -0
- package/dist/migrate/builder/migrationBuilder.js.map +1 -0
- package/dist/migrate/builder/tableBuilder.d.ts +51 -0
- package/dist/migrate/builder/tableBuilder.d.ts.map +1 -0
- package/dist/migrate/builder/tableBuilder.js +291 -0
- package/dist/migrate/builder/tableBuilder.js.map +1 -0
- package/dist/migrate/builder/types.d.ts +466 -0
- package/dist/migrate/builder/types.d.ts.map +1 -0
- package/dist/migrate/builder/types.js +8 -0
- package/dist/migrate/builder/types.js.map +1 -0
- package/dist/migrate/cli-config.d.ts +3 -0
- package/dist/migrate/cli-config.d.ts.map +1 -0
- package/dist/migrate/cli-config.js +35 -0
- package/dist/migrate/cli-config.js.map +1 -0
- package/dist/migrate/cli.d.ts +16 -0
- package/dist/migrate/cli.d.ts.map +1 -0
- package/dist/migrate/cli.js +394 -0
- package/dist/migrate/cli.js.map +1 -0
- package/dist/migrate/codegen/entityCodeGenerator.d.ts +137 -0
- package/dist/migrate/codegen/entityCodeGenerator.d.ts.map +1 -0
- package/dist/migrate/codegen/entityCodeGenerator.js +405 -0
- package/dist/migrate/codegen/entityCodeGenerator.js.map +1 -0
- package/dist/migrate/codegen/entityMerger.d.ts +115 -0
- package/dist/migrate/codegen/entityMerger.d.ts.map +1 -0
- package/dist/migrate/codegen/entityMerger.js +294 -0
- package/dist/migrate/codegen/entityMerger.js.map +1 -0
- package/dist/migrate/codegen/index.d.ts +10 -0
- package/dist/migrate/codegen/index.d.ts.map +1 -0
- package/dist/migrate/codegen/index.js +14 -0
- package/dist/migrate/codegen/index.js.map +1 -0
- package/dist/migrate/codegen/migrationCodeGenerator.d.ts +62 -0
- package/dist/migrate/codegen/migrationCodeGenerator.d.ts.map +1 -0
- package/dist/migrate/codegen/migrationCodeGenerator.js +356 -0
- package/dist/migrate/codegen/migrationCodeGenerator.js.map +1 -0
- package/dist/migrate/codegen/smartRelationDetector.d.ts +48 -0
- package/dist/migrate/codegen/smartRelationDetector.d.ts.map +1 -0
- package/dist/migrate/codegen/smartRelationDetector.js +135 -0
- package/dist/migrate/codegen/smartRelationDetector.js.map +1 -0
- package/dist/migrate/drift/driftDetector.d.ts +81 -0
- package/dist/migrate/drift/driftDetector.d.ts.map +1 -0
- package/dist/migrate/drift/driftDetector.js +248 -0
- package/dist/migrate/drift/driftDetector.js.map +1 -0
- package/dist/migrate/drift/index.d.ts +7 -0
- package/dist/migrate/drift/index.d.ts.map +1 -0
- package/dist/migrate/drift/index.js +7 -0
- package/dist/migrate/drift/index.js.map +1 -0
- package/dist/migrate/generator/index.d.ts +3 -0
- package/dist/migrate/generator/index.d.ts.map +1 -0
- package/dist/migrate/generator/index.js +3 -0
- package/dist/migrate/generator/index.js.map +1 -0
- package/dist/migrate/generator/mongoSchemaGenerator.d.ts +39 -0
- package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -0
- package/dist/migrate/generator/mongoSchemaGenerator.js +183 -0
- package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -0
- package/dist/migrate/index.d.ts +13 -0
- package/dist/migrate/index.d.ts.map +1 -0
- package/dist/migrate/index.js +20 -0
- package/dist/migrate/index.js.map +1 -0
- package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts +77 -0
- package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js +156 -0
- package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js.map +1 -0
- package/dist/migrate/introspection/baseSqlIntrospector.d.ts +28 -0
- package/dist/migrate/introspection/baseSqlIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/baseSqlIntrospector.js +135 -0
- package/dist/migrate/introspection/baseSqlIntrospector.js.map +1 -0
- package/dist/migrate/introspection/index.d.ts +6 -0
- package/dist/migrate/introspection/index.d.ts.map +1 -0
- package/dist/migrate/introspection/index.js +6 -0
- package/dist/migrate/introspection/index.js.map +1 -0
- package/dist/migrate/introspection/mongoIntrospector.d.ts +15 -0
- package/dist/migrate/introspection/mongoIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/mongoIntrospector.js +100 -0
- package/dist/migrate/introspection/mongoIntrospector.js.map +1 -0
- package/dist/migrate/introspection/mysqlIntrospector.d.ts +59 -0
- package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/mysqlIntrospector.js +175 -0
- package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -0
- package/dist/migrate/introspection/postgresIntrospector.d.ts +55 -0
- package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/postgresIntrospector.js +226 -0
- package/dist/migrate/introspection/postgresIntrospector.js.map +1 -0
- package/dist/migrate/introspection/sqliteIntrospector.d.ts +60 -0
- package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/sqliteIntrospector.js +180 -0
- package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -0
- package/dist/migrate/migrator.d.ts +176 -0
- package/dist/migrate/migrator.d.ts.map +1 -0
- package/dist/migrate/migrator.js +624 -0
- package/dist/migrate/migrator.js.map +1 -0
- package/dist/migrate/schemaGenerator.d.ts +132 -0
- package/dist/migrate/schemaGenerator.d.ts.map +1 -0
- package/dist/migrate/schemaGenerator.js +628 -0
- package/dist/migrate/schemaGenerator.js.map +1 -0
- package/dist/migrate/storage/databaseStorage.d.ts +25 -0
- package/dist/migrate/storage/databaseStorage.d.ts.map +1 -0
- package/dist/migrate/storage/databaseStorage.js +77 -0
- package/dist/migrate/storage/databaseStorage.js.map +1 -0
- package/dist/migrate/storage/index.d.ts +3 -0
- package/dist/migrate/storage/index.d.ts.map +1 -0
- package/dist/migrate/storage/index.js +3 -0
- package/dist/migrate/storage/index.js.map +1 -0
- package/dist/migrate/storage/jsonStorage.d.ts +16 -0
- package/dist/migrate/storage/jsonStorage.d.ts.map +1 -0
- package/dist/migrate/storage/jsonStorage.js +43 -0
- package/dist/migrate/storage/jsonStorage.js.map +1 -0
- package/dist/migrate/sync/index.d.ts +7 -0
- package/dist/migrate/sync/index.d.ts.map +1 -0
- package/dist/migrate/sync/index.js +7 -0
- package/dist/migrate/sync/index.js.map +1 -0
- package/dist/migrate/sync/schemaSync.d.ts +132 -0
- package/dist/migrate/sync/schemaSync.d.ts.map +1 -0
- package/dist/migrate/sync/schemaSync.js +260 -0
- package/dist/migrate/sync/schemaSync.js.map +1 -0
- package/dist/mongo/index.d.ts +4 -0
- package/dist/mongo/index.d.ts.map +1 -0
- package/dist/mongo/index.js +4 -0
- package/dist/mongo/index.js.map +1 -0
- package/dist/mongo/mongoDialect.d.ts +47 -0
- package/dist/mongo/mongoDialect.d.ts.map +1 -0
- package/dist/mongo/mongoDialect.js +299 -0
- package/dist/mongo/mongoDialect.js.map +1 -0
- package/dist/mongo/mongodbQuerier.d.ts +32 -0
- package/dist/mongo/mongodbQuerier.d.ts.map +1 -0
- package/dist/mongo/mongodbQuerier.js +267 -0
- package/dist/mongo/mongodbQuerier.js.map +1 -0
- package/dist/mongo/mongodbQuerierPool.d.ts +11 -0
- package/dist/mongo/mongodbQuerierPool.d.ts.map +1 -0
- package/dist/mongo/mongodbQuerierPool.js +20 -0
- package/dist/mongo/mongodbQuerierPool.js.map +1 -0
- package/dist/mysql/index.d.ts +4 -0
- package/dist/mysql/index.d.ts.map +1 -0
- package/dist/mysql/index.js +4 -0
- package/dist/mysql/index.js.map +1 -0
- package/dist/mysql/mysql2Querier.d.ts +14 -0
- package/dist/mysql/mysql2Querier.d.ts.map +1 -0
- package/dist/mysql/mysql2Querier.js +25 -0
- package/dist/mysql/mysql2Querier.js.map +1 -0
- package/dist/mysql/mysql2QuerierPool.d.ts +11 -0
- package/dist/mysql/mysql2QuerierPool.d.ts.map +1 -0
- package/dist/mysql/mysql2QuerierPool.js +17 -0
- package/dist/mysql/mysql2QuerierPool.js.map +1 -0
- package/dist/mysql/mysqlDialect.d.ts +19 -0
- package/dist/mysql/mysqlDialect.d.ts.map +1 -0
- package/dist/mysql/mysqlDialect.js +97 -0
- package/dist/mysql/mysqlDialect.js.map +1 -0
- package/dist/namingStrategy/defaultNamingStrategy.d.ts +10 -0
- package/dist/namingStrategy/defaultNamingStrategy.d.ts.map +1 -0
- package/dist/namingStrategy/defaultNamingStrategy.js +15 -0
- package/dist/namingStrategy/defaultNamingStrategy.js.map +1 -0
- package/dist/namingStrategy/index.d.ts +3 -0
- package/dist/namingStrategy/index.d.ts.map +1 -0
- package/dist/namingStrategy/index.js +3 -0
- package/dist/namingStrategy/index.js.map +1 -0
- package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts +9 -0
- package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts.map +1 -0
- package/dist/namingStrategy/snakeCaseNamingStrategy.js +14 -0
- package/dist/namingStrategy/snakeCaseNamingStrategy.js.map +1 -0
- package/dist/neon/index.d.ts +3 -0
- package/dist/neon/index.d.ts.map +1 -0
- package/dist/neon/index.js +3 -0
- package/dist/neon/index.js.map +1 -0
- package/dist/neon/neonQuerier.d.ts +10 -0
- package/dist/neon/neonQuerier.d.ts.map +1 -0
- package/dist/neon/neonQuerier.js +20 -0
- package/dist/neon/neonQuerier.js.map +1 -0
- package/dist/neon/neonQuerierPool.d.ts +11 -0
- package/dist/neon/neonQuerierPool.d.ts.map +1 -0
- package/dist/neon/neonQuerierPool.js +17 -0
- package/dist/neon/neonQuerierPool.js.map +1 -0
- package/dist/options.d.ts +5 -0
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +14 -0
- package/dist/options.js.map +1 -0
- package/dist/postgres/index.d.ts +4 -0
- package/dist/postgres/index.d.ts.map +1 -0
- package/dist/postgres/index.js +4 -0
- package/dist/postgres/index.js.map +1 -0
- package/dist/postgres/pgQuerier.d.ts +10 -0
- package/dist/postgres/pgQuerier.d.ts.map +1 -0
- package/dist/postgres/pgQuerier.js +20 -0
- package/dist/postgres/pgQuerier.js.map +1 -0
- package/dist/postgres/pgQuerierPool.d.ts +11 -0
- package/dist/postgres/pgQuerierPool.d.ts.map +1 -0
- package/dist/postgres/pgQuerierPool.js +17 -0
- package/dist/postgres/pgQuerierPool.js.map +1 -0
- package/dist/postgres/postgresDialect.d.ts +36 -0
- package/dist/postgres/postgresDialect.d.ts.map +1 -0
- package/dist/postgres/postgresDialect.js +201 -0
- package/dist/postgres/postgresDialect.js.map +1 -0
- package/dist/querier/abstractPoolQuerier.d.ts +13 -0
- package/dist/querier/abstractPoolQuerier.d.ts.map +1 -0
- package/dist/querier/abstractPoolQuerier.js +25 -0
- package/dist/querier/abstractPoolQuerier.js.map +1 -0
- package/dist/querier/abstractQuerier.d.ts +109 -0
- package/dist/querier/abstractQuerier.d.ts.map +1 -0
- package/dist/querier/abstractQuerier.js +378 -0
- package/dist/querier/abstractQuerier.js.map +1 -0
- package/dist/querier/abstractQuerierPool.d.ts +23 -0
- package/dist/querier/abstractQuerierPool.d.ts.map +1 -0
- package/dist/querier/abstractQuerierPool.js +28 -0
- package/dist/querier/abstractQuerierPool.js.map +1 -0
- package/dist/querier/abstractSqlQuerier.d.ts +38 -0
- package/dist/querier/abstractSqlQuerier.d.ts.map +1 -0
- package/dist/querier/abstractSqlQuerier.js +169 -0
- package/dist/querier/abstractSqlQuerier.js.map +1 -0
- package/dist/querier/decorator/index.d.ts +5 -0
- package/dist/querier/decorator/index.d.ts.map +1 -0
- package/dist/querier/decorator/index.js +5 -0
- package/dist/querier/decorator/index.js.map +1 -0
- package/dist/querier/decorator/injectQuerier.d.ts +4 -0
- package/dist/querier/decorator/injectQuerier.d.ts.map +1 -0
- package/dist/querier/decorator/injectQuerier.js +33 -0
- package/dist/querier/decorator/injectQuerier.js.map +1 -0
- package/dist/querier/decorator/log.d.ts +7 -0
- package/dist/querier/decorator/log.d.ts.map +1 -0
- package/dist/querier/decorator/log.js +27 -0
- package/dist/querier/decorator/log.js.map +1 -0
- package/dist/querier/decorator/serialized.d.ts +7 -0
- package/dist/querier/decorator/serialized.d.ts.map +1 -0
- package/dist/querier/decorator/serialized.js +14 -0
- package/dist/querier/decorator/serialized.js.map +1 -0
- package/dist/querier/decorator/transactional.d.ts +6 -0
- package/dist/querier/decorator/transactional.d.ts.map +1 -0
- package/dist/querier/decorator/transactional.js +48 -0
- package/dist/querier/decorator/transactional.js.map +1 -0
- package/dist/querier/index.d.ts +5 -0
- package/dist/querier/index.d.ts.map +1 -0
- package/dist/querier/index.js +5 -0
- package/dist/querier/index.js.map +1 -0
- package/dist/schema/canonicalType.d.ts +42 -0
- package/dist/schema/canonicalType.d.ts.map +1 -0
- package/dist/schema/canonicalType.js +524 -0
- package/dist/schema/canonicalType.js.map +1 -0
- package/dist/schema/index.d.ts +28 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +29 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/schemaAST.d.ts +155 -0
- package/dist/schema/schemaAST.d.ts.map +1 -0
- package/dist/schema/schemaAST.js +496 -0
- package/dist/schema/schemaAST.js.map +1 -0
- package/dist/schema/schemaASTBuilder.d.ts +58 -0
- package/dist/schema/schemaASTBuilder.d.ts.map +1 -0
- package/dist/schema/schemaASTBuilder.js +224 -0
- package/dist/schema/schemaASTBuilder.js.map +1 -0
- package/dist/schema/schemaASTDiffer.d.ts +84 -0
- package/dist/schema/schemaASTDiffer.d.ts.map +1 -0
- package/dist/schema/schemaASTDiffer.js +431 -0
- package/dist/schema/schemaASTDiffer.js.map +1 -0
- package/dist/schema/types.d.ts +347 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/schema/types.js +11 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/sqlite/abstractSqliteQuerier.d.ts +6 -0
- package/dist/sqlite/abstractSqliteQuerier.d.ts.map +1 -0
- package/dist/sqlite/abstractSqliteQuerier.js +13 -0
- package/dist/sqlite/abstractSqliteQuerier.js.map +1 -0
- package/dist/sqlite/index.d.ts +4 -0
- package/dist/sqlite/index.d.ts.map +1 -0
- package/dist/sqlite/index.js +4 -0
- package/dist/sqlite/index.js.map +1 -0
- package/dist/sqlite/sqliteDialect.d.ts +42 -0
- package/dist/sqlite/sqliteDialect.d.ts.map +1 -0
- package/dist/sqlite/sqliteDialect.js +129 -0
- package/dist/sqlite/sqliteDialect.js.map +1 -0
- package/dist/sqlite/sqliteQuerier.d.ts +12 -0
- package/dist/sqlite/sqliteQuerier.d.ts.map +1 -0
- package/dist/sqlite/sqliteQuerier.js +25 -0
- package/dist/sqlite/sqliteQuerier.js.map +1 -0
- package/dist/sqlite/sqliteQuerierPool.d.ts +13 -0
- package/dist/sqlite/sqliteQuerierPool.d.ts.map +1 -0
- package/dist/sqlite/sqliteQuerierPool.js +34 -0
- package/dist/sqlite/sqliteQuerierPool.js.map +1 -0
- package/dist/type/config.d.ts +46 -0
- package/dist/type/config.d.ts.map +1 -0
- package/dist/type/config.js +2 -0
- package/dist/type/config.js.map +1 -0
- package/dist/type/entity.d.ts +289 -0
- package/dist/type/entity.d.ts.map +1 -0
- package/dist/type/entity.js +5 -0
- package/dist/type/entity.js.map +1 -0
- package/dist/type/index.d.ts +11 -0
- package/dist/type/index.d.ts.map +1 -0
- package/dist/type/index.js +11 -0
- package/dist/type/index.js.map +1 -0
- package/dist/type/logger.d.ts +61 -0
- package/dist/type/logger.d.ts.map +1 -0
- package/dist/type/logger.js +2 -0
- package/dist/type/logger.js.map +1 -0
- package/dist/type/migration.d.ts +268 -0
- package/dist/type/migration.d.ts.map +1 -0
- package/dist/type/migration.js +2 -0
- package/dist/type/migration.js.map +1 -0
- package/dist/type/namingStrategy.d.ts +18 -0
- package/dist/type/namingStrategy.d.ts.map +1 -0
- package/dist/type/namingStrategy.js +2 -0
- package/dist/type/namingStrategy.js.map +1 -0
- package/dist/type/querier.d.ts +154 -0
- package/dist/type/querier.d.ts.map +1 -0
- package/dist/type/querier.js +11 -0
- package/dist/type/querier.js.map +1 -0
- package/dist/type/querierPool.d.ts +31 -0
- package/dist/type/querierPool.d.ts.map +1 -0
- package/dist/type/querierPool.js +2 -0
- package/dist/type/querierPool.js.map +1 -0
- package/dist/type/query.d.ts +475 -0
- package/dist/type/query.d.ts.map +1 -0
- package/dist/type/query.js +11 -0
- package/dist/type/query.js.map +1 -0
- package/dist/type/universalQuerier.d.ts +120 -0
- package/dist/type/universalQuerier.d.ts.map +1 -0
- package/dist/type/universalQuerier.js +2 -0
- package/dist/type/universalQuerier.js.map +1 -0
- package/dist/type/utility.d.ts +33 -0
- package/dist/type/utility.d.ts.map +1 -0
- package/dist/type/utility.js +2 -0
- package/dist/type/utility.js.map +1 -0
- package/dist/util/dialect.util.d.ts +13 -0
- package/dist/util/dialect.util.d.ts.map +1 -0
- package/dist/util/dialect.util.js +82 -0
- package/dist/util/dialect.util.js.map +1 -0
- package/dist/util/field.util.d.ts +14 -0
- package/dist/util/field.util.d.ts.map +1 -0
- package/dist/util/field.util.js +57 -0
- package/dist/util/field.util.js.map +1 -0
- package/dist/util/hook.util.d.ts +15 -0
- package/dist/util/hook.util.d.ts.map +1 -0
- package/dist/util/hook.util.js +20 -0
- package/dist/util/hook.util.js.map +1 -0
- package/dist/util/index.d.ts +9 -0
- package/dist/util/index.d.ts.map +1 -0
- package/dist/util/index.js +9 -0
- package/dist/util/index.js.map +1 -0
- package/dist/util/logger.d.ts +34 -0
- package/dist/util/logger.d.ts.map +1 -0
- package/dist/util/logger.js +129 -0
- package/dist/util/logger.js.map +1 -0
- package/dist/util/object.util.d.ts +8 -0
- package/dist/util/object.util.d.ts.map +1 -0
- package/dist/util/object.util.js +19 -0
- package/dist/util/object.util.js.map +1 -0
- package/dist/util/raw.d.ts +9 -0
- package/dist/util/raw.d.ts.map +1 -0
- package/dist/util/raw.js +11 -0
- package/dist/util/raw.js.map +1 -0
- package/dist/util/sql.util.d.ts +22 -0
- package/dist/util/sql.util.d.ts.map +1 -0
- package/dist/util/sql.util.js +88 -0
- package/dist/util/sql.util.js.map +1 -0
- package/dist/util/string.util.d.ts +29 -0
- package/dist/util/string.util.d.ts.map +1 -0
- package/dist/util/string.util.js +91 -0
- package/dist/util/string.util.js.map +1 -0
- package/package.json +146 -0
|
@@ -0,0 +1,475 @@
|
|
|
1
|
+
import type { FieldKey, IdValue, JsonFieldPaths, RelationKey, UpdatePayload } from './entity.js';
|
|
2
|
+
import type { BooleanLike, ExpandScalar, Scalar, Type, Unpacked } from './utility.js';
|
|
3
|
+
export type QueryOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* use or omit `softDelete` attribute.
|
|
6
|
+
*/
|
|
7
|
+
softDelete?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* prefix the query with this.
|
|
10
|
+
*/
|
|
11
|
+
prefix?: string;
|
|
12
|
+
/**
|
|
13
|
+
* automatically infer the prefix for the query.
|
|
14
|
+
*/
|
|
15
|
+
autoPrefix?: boolean;
|
|
16
|
+
};
|
|
17
|
+
export type QuerySelectOptions = {
|
|
18
|
+
/**
|
|
19
|
+
* prefix the query with this.
|
|
20
|
+
*/
|
|
21
|
+
prefix?: string;
|
|
22
|
+
/**
|
|
23
|
+
* automatically add the prefix for the alias.
|
|
24
|
+
*/
|
|
25
|
+
autoPrefixAlias?: boolean;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* query selection as a map — field and relation selections combined.
|
|
29
|
+
* Uses intersection of two mapped types to enforce strict key validation.
|
|
30
|
+
*/
|
|
31
|
+
export type QuerySelect<E> = QuerySelectFieldMap<E> & QuerySelectRelationMap<E>;
|
|
32
|
+
/**
|
|
33
|
+
* query selection of fields as a map.
|
|
34
|
+
*/
|
|
35
|
+
export type QuerySelectFieldMap<E> = {
|
|
36
|
+
[K in FieldKey<E>]?: BooleanLike;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* query selection of relations as a map.
|
|
40
|
+
*/
|
|
41
|
+
export type QuerySelectRelationMap<E> = {
|
|
42
|
+
[K in RelationKey<E>]?: BooleanLike | QuerySelectRelationOptions<E[K]>;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* query conflict paths — subset of field keys used to detect upsert conflicts.
|
|
46
|
+
*/
|
|
47
|
+
export type QueryConflictPaths<E> = {
|
|
48
|
+
[K in FieldKey<E>]?: true;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* options to select a relation.
|
|
52
|
+
*/
|
|
53
|
+
export type QuerySelectRelationOptions<E> = (E extends unknown[] ? Query<Unpacked<E>> : QueryUnique<Unpacked<E>>) & {
|
|
54
|
+
$required?: boolean;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* options for full-text-search operator.
|
|
58
|
+
*/
|
|
59
|
+
export type QueryTextSearchOptions<E> = {
|
|
60
|
+
/**
|
|
61
|
+
* text to search for.
|
|
62
|
+
*/
|
|
63
|
+
$value: string;
|
|
64
|
+
/**
|
|
65
|
+
* list of fields to search on.
|
|
66
|
+
*/
|
|
67
|
+
$fields?: FieldKey<E>[];
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* comparison by fields.
|
|
71
|
+
*/
|
|
72
|
+
export type QueryWhereFieldMap<E> = {
|
|
73
|
+
[K in FieldKey<E>]?: QueryWhereFieldValue<E[K]>;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Field comparison, JSONB dot-path access, and relation filtering — all fully typed.
|
|
77
|
+
* Uses both a mapped type (IDE autocompletion) and a pattern index signature (EPC acceptance)
|
|
78
|
+
* for dot-paths because TypeScript's excess property checking cannot resolve recursive
|
|
79
|
+
* conditional types in mapped type key positions.
|
|
80
|
+
*/
|
|
81
|
+
export type QueryWhereMap<E> = QueryWhereFieldMap<E> & QueryWhereRootOperator<E> & {
|
|
82
|
+
[P in JsonFieldPaths<E>]?: QueryWhereFieldValue<unknown>;
|
|
83
|
+
} & {
|
|
84
|
+
[key: `${string}.${string}`]: QueryWhereFieldValue<unknown> | undefined;
|
|
85
|
+
} & {
|
|
86
|
+
[K in RelationKey<E>]?: QueryWhereMap<Unpacked<NonNullable<E[K]>>>;
|
|
87
|
+
};
|
|
88
|
+
export type QueryWhereRootOperator<E> = {
|
|
89
|
+
/**
|
|
90
|
+
* joins query clauses with a logical `AND`, returns records that match all the clauses.
|
|
91
|
+
*/
|
|
92
|
+
$and?: QueryWhereArray<E>;
|
|
93
|
+
/**
|
|
94
|
+
* joins query clauses with a logical `OR`, returns records that match any of the clauses.
|
|
95
|
+
*/
|
|
96
|
+
$or?: QueryWhereArray<E>;
|
|
97
|
+
/**
|
|
98
|
+
* joins query clauses with a logical `AND`, returns records that do not match all the clauses.
|
|
99
|
+
* @see {@link QueryWhereFieldOperatorMap.$not} for per-field negation.
|
|
100
|
+
*/
|
|
101
|
+
$not?: QueryWhereArray<E>;
|
|
102
|
+
/**
|
|
103
|
+
* joins query clauses with a logical `OR`, returns records that do not match any of the clauses.
|
|
104
|
+
*/
|
|
105
|
+
$nor?: QueryWhereArray<E>;
|
|
106
|
+
/**
|
|
107
|
+
* whether the specified fields match against a full-text search of the given string.
|
|
108
|
+
*/
|
|
109
|
+
$text?: QueryTextSearchOptions<E>;
|
|
110
|
+
/**
|
|
111
|
+
* whether the record exists in the given sub-query.
|
|
112
|
+
*/
|
|
113
|
+
$exists?: QueryRaw;
|
|
114
|
+
/**
|
|
115
|
+
* whether the record does not exists in the given sub-query.
|
|
116
|
+
*/
|
|
117
|
+
$nexists?: QueryRaw;
|
|
118
|
+
};
|
|
119
|
+
export type QueryWhereFieldOperatorMap<T> = {
|
|
120
|
+
/**
|
|
121
|
+
* whether a value is equal to the given value.
|
|
122
|
+
*/
|
|
123
|
+
$eq?: ExpandScalar<T> | null;
|
|
124
|
+
/**
|
|
125
|
+
* whether a value is not equal to the given value.
|
|
126
|
+
*/
|
|
127
|
+
$ne?: ExpandScalar<T> | null;
|
|
128
|
+
/**
|
|
129
|
+
* negates the given comparison for a single field.
|
|
130
|
+
* @see {@link QueryWhereRootOperator.$not} for root-level clause negation.
|
|
131
|
+
*/
|
|
132
|
+
$not?: QueryWhereFieldValue<T>;
|
|
133
|
+
/**
|
|
134
|
+
* whether a value is less than the given value.
|
|
135
|
+
*/
|
|
136
|
+
$lt?: ExpandScalar<T>;
|
|
137
|
+
/**
|
|
138
|
+
* whether a value is less than or equal to the given value.
|
|
139
|
+
*/
|
|
140
|
+
$lte?: ExpandScalar<T>;
|
|
141
|
+
/**
|
|
142
|
+
* whether a value is greater than the given value.
|
|
143
|
+
*/
|
|
144
|
+
$gt?: ExpandScalar<T>;
|
|
145
|
+
/**
|
|
146
|
+
* whether a value is greater than or equal to the given value.
|
|
147
|
+
*/
|
|
148
|
+
$gte?: ExpandScalar<T>;
|
|
149
|
+
/**
|
|
150
|
+
* whether a value is between two values (inclusive). Shorthand for $gte + $lte.
|
|
151
|
+
* @example { age: { $between: [18, 65] } }
|
|
152
|
+
*/
|
|
153
|
+
$between?: [ExpandScalar<T>, ExpandScalar<T>];
|
|
154
|
+
/**
|
|
155
|
+
* whether a string begins with the given string (case sensitive).
|
|
156
|
+
*/
|
|
157
|
+
$startsWith?: string;
|
|
158
|
+
/**
|
|
159
|
+
* whether a string begins with the given string (case insensitive).
|
|
160
|
+
*/
|
|
161
|
+
$istartsWith?: string;
|
|
162
|
+
/**
|
|
163
|
+
* whether a string ends with the given string (case sensitive).
|
|
164
|
+
*/
|
|
165
|
+
$endsWith?: string;
|
|
166
|
+
/**
|
|
167
|
+
* whether a string ends with the given string (case insensitive).
|
|
168
|
+
*/
|
|
169
|
+
$iendsWith?: string;
|
|
170
|
+
/**
|
|
171
|
+
* whether a string is contained within the given string (case sensitive).
|
|
172
|
+
*/
|
|
173
|
+
$includes?: string;
|
|
174
|
+
/**
|
|
175
|
+
* whether a string is contained within the given string (case insensitive).
|
|
176
|
+
*/
|
|
177
|
+
$iincludes?: string;
|
|
178
|
+
/**
|
|
179
|
+
* whether a string fulfills the given pattern (case sensitive).
|
|
180
|
+
*/
|
|
181
|
+
$like?: string;
|
|
182
|
+
/**
|
|
183
|
+
* whether a string fulfills the given pattern (case insensitive).
|
|
184
|
+
*/
|
|
185
|
+
$ilike?: string;
|
|
186
|
+
/**
|
|
187
|
+
* whether a string matches the given regular expression.
|
|
188
|
+
*/
|
|
189
|
+
$regex?: string;
|
|
190
|
+
/**
|
|
191
|
+
* whether a value matches any of the given values.
|
|
192
|
+
*/
|
|
193
|
+
$in?: ExpandScalar<T>[];
|
|
194
|
+
/**
|
|
195
|
+
* whether a value does not match any of the given values.
|
|
196
|
+
*/
|
|
197
|
+
$nin?: ExpandScalar<T>[];
|
|
198
|
+
/**
|
|
199
|
+
* whether a value is null.
|
|
200
|
+
* @example { deletedAt: { $isNull: true } }
|
|
201
|
+
*/
|
|
202
|
+
$isNull?: boolean;
|
|
203
|
+
/**
|
|
204
|
+
* whether a value is not null.
|
|
205
|
+
* @example { email: { $isNotNull: true } }
|
|
206
|
+
*/
|
|
207
|
+
$isNotNull?: boolean;
|
|
208
|
+
/**
|
|
209
|
+
* whether an array contains all the specified values.
|
|
210
|
+
* @example { tags: { $all: ['typescript', 'orm'] } }
|
|
211
|
+
*/
|
|
212
|
+
$all?: T extends (infer U)[] ? ExpandScalar<U>[] : unknown[];
|
|
213
|
+
/**
|
|
214
|
+
* whether an array has the specified length.
|
|
215
|
+
* @example { roles: { $size: 3 } }
|
|
216
|
+
*/
|
|
217
|
+
$size?: number;
|
|
218
|
+
/**
|
|
219
|
+
* whether an array contains at least one element matching all specified conditions.
|
|
220
|
+
* @example { addresses: { $elemMatch: { city: 'NYC', zip: '10001' } } }
|
|
221
|
+
*/
|
|
222
|
+
$elemMatch?: T extends (infer U)[] ? Partial<U> : Record<string, QueryWhereFieldValue<unknown>>;
|
|
223
|
+
};
|
|
224
|
+
/**
|
|
225
|
+
* Value for a field comparison.
|
|
226
|
+
*/
|
|
227
|
+
export type QueryWhereFieldValue<T> = T | T[] | QueryWhereFieldOperatorMap<T> | QueryRaw;
|
|
228
|
+
/**
|
|
229
|
+
* query filter array — used for `$and`, `$or`, `$not`, `$nor` operators.
|
|
230
|
+
*/
|
|
231
|
+
export type QueryWhereArray<E> = (QueryWhereMap<E> | QueryRaw)[];
|
|
232
|
+
/**
|
|
233
|
+
* query filter.
|
|
234
|
+
*/
|
|
235
|
+
export type QueryWhere<E> = IdValue<E> | IdValue<E>[] | QueryWhereMap<E> | QueryWhereArray<E> | QueryRaw;
|
|
236
|
+
/**
|
|
237
|
+
* direction for the sort.
|
|
238
|
+
*/
|
|
239
|
+
export type QuerySortDirection = -1 | 1 | 'asc' | 'desc';
|
|
240
|
+
/**
|
|
241
|
+
* sort by map — supports field keys, JSON dot-notation paths, and relation sort.
|
|
242
|
+
* Uses both a mapped type (IDE autocompletion) and a pattern index signature (EPC acceptance)
|
|
243
|
+
* for dot-paths, matching the same approach used in `QueryWhereMap`.
|
|
244
|
+
*/
|
|
245
|
+
export type QuerySortMap<E> = {
|
|
246
|
+
[K in FieldKey<E>]?: QuerySortDirection;
|
|
247
|
+
} & {
|
|
248
|
+
[P in JsonFieldPaths<E>]?: QuerySortDirection;
|
|
249
|
+
} & {
|
|
250
|
+
[key: `${string}.${string}`]: QuerySortDirection | undefined;
|
|
251
|
+
} & {
|
|
252
|
+
[K in RelationKey<E>]?: QuerySortMap<NonNullable<Unpacked<E[K]>>>;
|
|
253
|
+
};
|
|
254
|
+
/**
|
|
255
|
+
* pager options.
|
|
256
|
+
*/
|
|
257
|
+
export type QueryPager = {
|
|
258
|
+
/**
|
|
259
|
+
* Index from where start the search
|
|
260
|
+
*/
|
|
261
|
+
$skip?: number;
|
|
262
|
+
/**
|
|
263
|
+
* Max number of records to retrieve
|
|
264
|
+
*/
|
|
265
|
+
$limit?: number;
|
|
266
|
+
};
|
|
267
|
+
/**
|
|
268
|
+
* search options.
|
|
269
|
+
*/
|
|
270
|
+
export type QuerySearch<E> = {
|
|
271
|
+
/**
|
|
272
|
+
* filtering options.
|
|
273
|
+
*/
|
|
274
|
+
$where?: QueryWhere<E>;
|
|
275
|
+
/**
|
|
276
|
+
* sorting options.
|
|
277
|
+
*/
|
|
278
|
+
$sort?: QuerySortMap<E>;
|
|
279
|
+
} & QueryPager;
|
|
280
|
+
/**
|
|
281
|
+
* criteria one options.
|
|
282
|
+
*/
|
|
283
|
+
/**
|
|
284
|
+
* query options.
|
|
285
|
+
*/
|
|
286
|
+
export type Query<E> = {
|
|
287
|
+
/**
|
|
288
|
+
* selection options.
|
|
289
|
+
*/
|
|
290
|
+
$select?: QuerySelect<E>;
|
|
291
|
+
} & QuerySearch<E>;
|
|
292
|
+
/**
|
|
293
|
+
* options to get a single record.
|
|
294
|
+
*/
|
|
295
|
+
export type QueryOne<E> = Omit<Query<E>, '$limit'>;
|
|
296
|
+
/**
|
|
297
|
+
* options to get an unique record.
|
|
298
|
+
*/
|
|
299
|
+
export type QueryUnique<E> = Pick<QueryOne<E>, '$select' | '$where'>;
|
|
300
|
+
/**
|
|
301
|
+
* stringified query.
|
|
302
|
+
*/
|
|
303
|
+
export type QueryStringified = {
|
|
304
|
+
[K in keyof Query<unknown>]?: string;
|
|
305
|
+
};
|
|
306
|
+
/**
|
|
307
|
+
* result of an update operation.
|
|
308
|
+
*/
|
|
309
|
+
export type QueryUpdateResult = {
|
|
310
|
+
/**
|
|
311
|
+
* number of affected records.
|
|
312
|
+
*/
|
|
313
|
+
changes?: number;
|
|
314
|
+
/**
|
|
315
|
+
* the inserted IDs.
|
|
316
|
+
*/
|
|
317
|
+
ids?: number[] | string[];
|
|
318
|
+
/**
|
|
319
|
+
* first inserted ID.
|
|
320
|
+
*/
|
|
321
|
+
firstId?: number | string;
|
|
322
|
+
};
|
|
323
|
+
/**
|
|
324
|
+
* options for the `raw` function.
|
|
325
|
+
*/
|
|
326
|
+
export type QueryRawFnOptions = {
|
|
327
|
+
/**
|
|
328
|
+
* the current dialect.
|
|
329
|
+
*/
|
|
330
|
+
dialect?: QueryDialect;
|
|
331
|
+
/**
|
|
332
|
+
* the prefix.
|
|
333
|
+
*/
|
|
334
|
+
prefix?: string;
|
|
335
|
+
/**
|
|
336
|
+
* the escaped prefix.
|
|
337
|
+
*/
|
|
338
|
+
escapedPrefix?: string;
|
|
339
|
+
/**
|
|
340
|
+
* the query context.
|
|
341
|
+
*/
|
|
342
|
+
ctx?: QueryContext;
|
|
343
|
+
};
|
|
344
|
+
/**
|
|
345
|
+
* a `raw` function
|
|
346
|
+
*/
|
|
347
|
+
export type QueryRawFn = (opts?: QueryRawFnOptions) => void | Scalar;
|
|
348
|
+
export declare const RAW_VALUE: unique symbol;
|
|
349
|
+
export declare const RAW_ALIAS: unique symbol;
|
|
350
|
+
export declare class QueryRaw {
|
|
351
|
+
readonly [RAW_VALUE]: Scalar | QueryRawFn;
|
|
352
|
+
readonly [RAW_ALIAS]?: string;
|
|
353
|
+
constructor(value: Scalar | QueryRawFn, alias?: string);
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* comparison options.
|
|
357
|
+
*/
|
|
358
|
+
export type QueryComparisonOptions = QueryOptions & {
|
|
359
|
+
/**
|
|
360
|
+
* use precedence for the comparison or not.
|
|
361
|
+
*/
|
|
362
|
+
usePrecedence?: boolean;
|
|
363
|
+
};
|
|
364
|
+
/**
|
|
365
|
+
* query filter options.
|
|
366
|
+
*/
|
|
367
|
+
export type QueryWhereOptions = QueryComparisonOptions & {
|
|
368
|
+
/**
|
|
369
|
+
* clause to be used in the filter.
|
|
370
|
+
*/
|
|
371
|
+
clause?: 'WHERE' | 'AND' | false;
|
|
372
|
+
};
|
|
373
|
+
export interface QueryContext {
|
|
374
|
+
append(sql: string): this;
|
|
375
|
+
addValue(value: unknown): this;
|
|
376
|
+
pushValue(value: unknown): this;
|
|
377
|
+
readonly sql: string;
|
|
378
|
+
readonly values: unknown[];
|
|
379
|
+
}
|
|
380
|
+
export interface QueryDialect {
|
|
381
|
+
/**
|
|
382
|
+
* obtains the records matching the given search parameters.
|
|
383
|
+
* @param ctx the query context
|
|
384
|
+
* @param entity the target entity
|
|
385
|
+
* @param q the criteria options
|
|
386
|
+
* @param opts the query options
|
|
387
|
+
*/
|
|
388
|
+
find<E>(ctx: QueryContext, entity: Type<E>, q: Query<E>, opts?: QueryOptions): void;
|
|
389
|
+
/**
|
|
390
|
+
* counts the number of records matching the given search parameters.
|
|
391
|
+
* @param ctx the query context
|
|
392
|
+
* @param entity the target entity
|
|
393
|
+
* @param q the criteria options
|
|
394
|
+
* @param opts the query options
|
|
395
|
+
*/
|
|
396
|
+
count<E>(ctx: QueryContext, entity: Type<E>, q: QuerySearch<E>, opts?: QueryOptions): void;
|
|
397
|
+
/**
|
|
398
|
+
* insert records.
|
|
399
|
+
* @param ctx the query context
|
|
400
|
+
* @param entity the target entity
|
|
401
|
+
* @param payload the payload
|
|
402
|
+
* @param opts the query options
|
|
403
|
+
*/
|
|
404
|
+
insert<E>(ctx: QueryContext, entity: Type<E>, payload: E | E[], opts?: QueryOptions): void;
|
|
405
|
+
/**
|
|
406
|
+
* update records.
|
|
407
|
+
* @param ctx the query context
|
|
408
|
+
* @param entity the target entity
|
|
409
|
+
* @param q the criteria options
|
|
410
|
+
* @param payload
|
|
411
|
+
* @param opts the query options
|
|
412
|
+
*/
|
|
413
|
+
update<E>(ctx: QueryContext, entity: Type<E>, q: QuerySearch<E>, payload: UpdatePayload<E>, opts?: QueryOptions): void;
|
|
414
|
+
/**
|
|
415
|
+
* upsert records.
|
|
416
|
+
* @param ctx the query context
|
|
417
|
+
* @param entity the target entity
|
|
418
|
+
* @param conflictPaths the conflict paths
|
|
419
|
+
* @param payload
|
|
420
|
+
*/
|
|
421
|
+
upsert<E>(ctx: QueryContext, entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E | E[]): void;
|
|
422
|
+
/**
|
|
423
|
+
* delete records.
|
|
424
|
+
* @param ctx the query context
|
|
425
|
+
* @param entity the target entity
|
|
426
|
+
* @param q the criteria options
|
|
427
|
+
* @param opts the query options
|
|
428
|
+
*/
|
|
429
|
+
delete<E>(ctx: QueryContext, entity: Type<E>, q: QuerySearch<E>, opts?: QueryOptions): void;
|
|
430
|
+
/**
|
|
431
|
+
* escape an identifier.
|
|
432
|
+
* @param val the value to be escaped
|
|
433
|
+
* @param forbidQualified don't escape dots
|
|
434
|
+
* @param addDot use a dot as suffix
|
|
435
|
+
*/
|
|
436
|
+
escapeId(val: string, forbidQualified?: boolean, addDot?: boolean): string;
|
|
437
|
+
/**
|
|
438
|
+
* escape a value.
|
|
439
|
+
* @param val the value to escape
|
|
440
|
+
*/
|
|
441
|
+
escape(val: unknown): string;
|
|
442
|
+
/**
|
|
443
|
+
* add a value to the query.
|
|
444
|
+
* @param values the values array
|
|
445
|
+
* @param value the value to add
|
|
446
|
+
*/
|
|
447
|
+
addValue(values: unknown[], value: unknown): string;
|
|
448
|
+
/**
|
|
449
|
+
* create a new query context.
|
|
450
|
+
*/
|
|
451
|
+
createContext(): QueryContext;
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* Supported SQL dialect identifiers.
|
|
455
|
+
*/
|
|
456
|
+
export type SqlDialect = 'postgres' | 'mysql' | 'mariadb' | 'sqlite';
|
|
457
|
+
/**
|
|
458
|
+
* Minimal dialect interface exposing escapeIdChar for SQL operations
|
|
459
|
+
*/
|
|
460
|
+
export interface SqlQueryDialect extends QueryDialect {
|
|
461
|
+
/**
|
|
462
|
+
* The SQL dialect name (postgres, mysql, mariadb, sqlite).
|
|
463
|
+
*/
|
|
464
|
+
readonly dialect: SqlDialect;
|
|
465
|
+
/**
|
|
466
|
+
* the escape character for identifiers.
|
|
467
|
+
*/
|
|
468
|
+
readonly escapeIdChar: '"' | '`';
|
|
469
|
+
/**
|
|
470
|
+
* Get the placeholder for a parameter at the given index (1-based).
|
|
471
|
+
* Default: '?' for MySQL/MariaDB/SQLite, '$n' for PostgreSQL.
|
|
472
|
+
*/
|
|
473
|
+
placeholder(index: number): string;
|
|
474
|
+
}
|
|
475
|
+
//# sourceMappingURL=query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/type/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const RAW_VALUE = Symbol('rawValue');
|
|
2
|
+
export const RAW_ALIAS = Symbol('rawAlias');
|
|
3
|
+
export class QueryRaw {
|
|
4
|
+
[RAW_VALUE];
|
|
5
|
+
[RAW_ALIAS];
|
|
6
|
+
constructor(value, alias) {
|
|
7
|
+
this[RAW_VALUE] = value;
|
|
8
|
+
this[RAW_ALIAS] = alias;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/type/query.ts"],"names":[],"mappings":"AAmXA,MAAM,CAAC,MAAM,SAAS,GAAkB,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,SAAS,GAAkB,MAAM,CAAC,UAAU,CAAC,CAAC;AAE3D,MAAM,OAAO,QAAQ;IACV,CAAC,SAAS,CAAC,CAAsB;IACjC,CAAC,SAAS,CAAC,CAAU;IAE9B,YAAY,KAA0B,EAAE,KAAc;QACpD,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import type { IdValue, UpdatePayload } from './entity.js';
|
|
2
|
+
import type { Query, QueryConflictPaths, QueryOne, QueryOptions, QuerySearch, QueryUpdateResult } from './query.js';
|
|
3
|
+
import type { Type } from './utility.js';
|
|
4
|
+
/**
|
|
5
|
+
* A `querier` allows to interact with the datasource to perform persistence operations on any entity.
|
|
6
|
+
*/
|
|
7
|
+
export interface UniversalQuerier {
|
|
8
|
+
/**
|
|
9
|
+
* obtains the record with the given primary key.
|
|
10
|
+
* @param entity the target entity
|
|
11
|
+
* @param id the primary key value
|
|
12
|
+
* @param q the additional criteria options
|
|
13
|
+
* @return the record
|
|
14
|
+
*/
|
|
15
|
+
findOneById<E extends object>(entity: Type<E>, id: IdValue<E>, q?: QueryOne<E>): Promise<E | undefined>;
|
|
16
|
+
/**
|
|
17
|
+
* obtains the first record matching the given search parameters.
|
|
18
|
+
* @param entity the target entity
|
|
19
|
+
* @param q the criteria options
|
|
20
|
+
* @return the record
|
|
21
|
+
*/
|
|
22
|
+
findOne<E extends object>(entity: Type<E>, q: QueryOne<E>): Promise<E | undefined>;
|
|
23
|
+
/**
|
|
24
|
+
* obtains the records matching the given search parameters.
|
|
25
|
+
* @param entity the target entity
|
|
26
|
+
* @param q the criteria options
|
|
27
|
+
* @return the records
|
|
28
|
+
*/
|
|
29
|
+
findMany<E extends object>(entity: Type<E>, q: Query<E>): Promise<E[]>;
|
|
30
|
+
/**
|
|
31
|
+
* obtains the records matching the given search parameters,
|
|
32
|
+
* also counts the number of matches ignoring pagination.
|
|
33
|
+
* @param entity the target entity
|
|
34
|
+
* @param q the criteria options
|
|
35
|
+
* @return the records and the count
|
|
36
|
+
*/
|
|
37
|
+
findManyAndCount<E extends object>(entity: Type<E>, q: Query<E>): Promise<[E[], number]>;
|
|
38
|
+
/**
|
|
39
|
+
* counts the number of records matching the given search parameters.
|
|
40
|
+
* @param entity the target entity
|
|
41
|
+
* @param q the search options
|
|
42
|
+
* @return the count
|
|
43
|
+
*/
|
|
44
|
+
count<E extends object>(entity: Type<E>, q: QuerySearch<E>): Promise<number>;
|
|
45
|
+
/**
|
|
46
|
+
* inserts a record.
|
|
47
|
+
* @param entity the entity to persist on
|
|
48
|
+
* @param payload the data to be persisted
|
|
49
|
+
* @return the ID
|
|
50
|
+
*/
|
|
51
|
+
insertOne<E extends object>(entity: Type<E>, payload: E): Promise<IdValue<E>>;
|
|
52
|
+
/**
|
|
53
|
+
* Inserts many records.
|
|
54
|
+
* @param entity the entity to persist on
|
|
55
|
+
* @param payload the data to be persisted
|
|
56
|
+
* @return the IDs
|
|
57
|
+
*/
|
|
58
|
+
insertMany?<E extends object>(entity: Type<E>, payload: E[]): Promise<IdValue<E>[]>;
|
|
59
|
+
/**
|
|
60
|
+
* updates a record partially.
|
|
61
|
+
* @param entity the entity to persist on
|
|
62
|
+
* @param id the primary key of the record to be updated
|
|
63
|
+
* @param payload the data to be persisted
|
|
64
|
+
* @return the number of affected records
|
|
65
|
+
*/
|
|
66
|
+
updateOneById<E extends object>(entity: Type<E>, id: IdValue<E>, payload: UpdatePayload<E>): Promise<number>;
|
|
67
|
+
/**
|
|
68
|
+
* updates many records partially.
|
|
69
|
+
* @param entity the entity to persist on
|
|
70
|
+
* @param q the criteria to look for the records
|
|
71
|
+
* @param payload the data to be persisted
|
|
72
|
+
* @return the number of affected records
|
|
73
|
+
*/
|
|
74
|
+
updateMany?<E extends object>(entity: Type<E>, q: QuerySearch<E>, payload: UpdatePayload<E>): Promise<number>;
|
|
75
|
+
/**
|
|
76
|
+
* Insert or update a record given a search criteria.
|
|
77
|
+
* @param entity the entity to persist on
|
|
78
|
+
* @param conflictPaths the keys to use for the unique search
|
|
79
|
+
* @param payload the data to be persisted
|
|
80
|
+
* @return void
|
|
81
|
+
*/
|
|
82
|
+
upsertOne?<E extends object>(entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E): Promise<QueryUpdateResult>;
|
|
83
|
+
/**
|
|
84
|
+
* Insert or update many records given a search criteria.
|
|
85
|
+
* @param entity the entity to persist on
|
|
86
|
+
* @param conflictPaths the keys to use for the unique search
|
|
87
|
+
* @param payload the data to be persisted
|
|
88
|
+
* @return void
|
|
89
|
+
*/
|
|
90
|
+
upsertMany?<E extends object>(entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E[]): Promise<QueryUpdateResult>;
|
|
91
|
+
/**
|
|
92
|
+
* insert or update a record.
|
|
93
|
+
* @param entity the entity to persist on
|
|
94
|
+
* @param payload the data to be persisted
|
|
95
|
+
* @return the ID
|
|
96
|
+
*/
|
|
97
|
+
saveOne<E extends object>(entity: Type<E>, payload: E): Promise<IdValue<E>>;
|
|
98
|
+
/**
|
|
99
|
+
* Insert or update records.
|
|
100
|
+
* @param entity the entity to persist on
|
|
101
|
+
* @param payload the data to be persisted
|
|
102
|
+
* @return the IDs
|
|
103
|
+
*/
|
|
104
|
+
saveMany?<E extends object>(entity: Type<E>, payload: E[]): Promise<IdValue<E>[]>;
|
|
105
|
+
/**
|
|
106
|
+
* delete or SoftDelete a record.
|
|
107
|
+
* @param entity the entity to persist on
|
|
108
|
+
* @param id the primary key of the record
|
|
109
|
+
* @return the number of affected records
|
|
110
|
+
*/
|
|
111
|
+
deleteOneById<E extends object>(entity: Type<E>, id: IdValue<E>, opts?: QueryOptions): Promise<number>;
|
|
112
|
+
/**
|
|
113
|
+
* delete or SoftDelete records.
|
|
114
|
+
* @param entity the entity to persist on
|
|
115
|
+
* @param q the criteria to look for the records
|
|
116
|
+
* @return the number of affected records
|
|
117
|
+
*/
|
|
118
|
+
deleteMany<E extends object>(entity: Type<E>, q: QuerySearch<E>, opts?: QueryOptions): Promise<number>;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=universalQuerier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"universalQuerier.d.ts","sourceRoot":"","sources":["../../src/type/universalQuerier.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"universalQuerier.js","sourceRoot":"","sources":["../../src/type/universalQuerier.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type Type<T> = (new (...args: unknown[]) => T) | (abstract new (...args: unknown[]) => T);
|
|
2
|
+
export type BooleanLike = boolean | 0 | 1;
|
|
3
|
+
export type MongoId = {
|
|
4
|
+
toHexString: () => string;
|
|
5
|
+
};
|
|
6
|
+
export type Scalar = string | number | boolean | bigint | Date | RegExp | Buffer | MongoId;
|
|
7
|
+
export type Primitive = string | number | symbol;
|
|
8
|
+
/**
|
|
9
|
+
* Marker type for JSON/JSONB fields.
|
|
10
|
+
* Wrapping a field's TypeScript type with `Json<T>` ensures it is classified as a `FieldKey`
|
|
11
|
+
* (not a `RelationKey`), enabling type-safe usage in `$where`, `$select`, and `$sort`.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* @Field({ type: 'jsonb' })
|
|
16
|
+
* settings?: Json<{ isArchived?: boolean }>;
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export type Json<T = unknown> = T & {
|
|
20
|
+
readonly __json?: never;
|
|
21
|
+
};
|
|
22
|
+
export type ExpandScalar<T> = T extends Date ? Date | string : T;
|
|
23
|
+
/**
|
|
24
|
+
* A raw database result row before entity mapping.
|
|
25
|
+
*/
|
|
26
|
+
export interface RawRow {
|
|
27
|
+
[key: string]: unknown;
|
|
28
|
+
}
|
|
29
|
+
export type Writable<T> = {
|
|
30
|
+
-readonly [K in keyof T]: T[K];
|
|
31
|
+
};
|
|
32
|
+
export type Unpacked<T> = T extends (infer U)[] ? U : T extends (...args: unknown[]) => infer U ? U : T extends Promise<infer U> ? U : T;
|
|
33
|
+
//# sourceMappingURL=utility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../src/type/utility.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAEjG,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAE1C,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,EAAE,MAAM,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3F,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhE,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE7D,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC3C,CAAC,GACD,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC,GACvC,CAAC,GACD,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GACxB,CAAC,GACD,CAAC,CAAC"}
|