semola 0.5.3 → 0.6.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/README.md +18 -45
- package/dist/chunk-CKQMccvm.cjs +28 -0
- package/dist/lib/api/index.cjs +536 -4
- package/dist/lib/api/index.d.cts +270 -4
- package/dist/lib/api/index.d.mts +270 -4
- package/dist/lib/api/index.mjs +534 -2
- package/dist/lib/cache/index.cjs +47 -22
- package/dist/lib/cache/index.d.cts +14 -23
- package/dist/lib/cache/index.d.mts +14 -23
- package/dist/lib/cache/index.mjs +48 -25
- package/dist/lib/cron/index.cjs +734 -12
- package/dist/lib/cron/index.d.cts +145 -3
- package/dist/lib/cron/index.d.mts +145 -3
- package/dist/lib/cron/index.mjs +725 -3
- package/dist/lib/errors/index.d.cts +4 -4
- package/dist/lib/errors/index.d.mts +4 -4
- package/dist/lib/errors/index.mjs +0 -2
- package/dist/lib/i18n/index.d.cts +12 -4
- package/dist/lib/i18n/index.d.mts +12 -4
- package/dist/lib/i18n/index.mjs +0 -2
- package/dist/lib/logging/index.cjs +387 -17
- package/dist/lib/logging/index.d.cts +107 -6
- package/dist/lib/logging/index.d.mts +107 -6
- package/dist/lib/logging/index.mjs +373 -4
- package/dist/lib/orm/index.cjs +1641 -19
- package/dist/lib/orm/index.d.cts +402 -7
- package/dist/lib/orm/index.d.mts +402 -7
- package/dist/lib/orm/index.mjs +1630 -6
- package/dist/lib/policy/index.cjs +206 -20
- package/dist/lib/policy/index.d.cts +61 -5
- package/dist/lib/policy/index.d.mts +61 -5
- package/dist/lib/policy/index.mjs +187 -3
- package/dist/lib/prompts/index.cjs +374 -14
- package/dist/lib/prompts/index.d.cts +73 -29
- package/dist/lib/prompts/index.d.mts +73 -29
- package/dist/lib/prompts/index.mjs +361 -4
- package/dist/lib/pubsub/index.cjs +43 -19
- package/dist/lib/pubsub/index.d.cts +12 -22
- package/dist/lib/pubsub/index.d.mts +12 -22
- package/dist/lib/pubsub/index.mjs +44 -22
- package/dist/lib/queue/index.cjs +40 -10
- package/dist/lib/queue/index.d.cts +57 -8
- package/dist/lib/queue/index.d.mts +57 -8
- package/dist/lib/queue/index.mjs +39 -13
- package/dist/lib/workflow/index.cjs +285 -282
- package/dist/lib/workflow/index.d.cts +147 -4
- package/dist/lib/workflow/index.d.mts +147 -4
- package/dist/lib/workflow/index.mjs +278 -286
- package/package.json +11 -1
- package/dist/api/core/index.cjs +0 -206
- package/dist/api/core/index.d.cts +0 -21
- package/dist/api/core/index.d.cts.map +0 -1
- package/dist/api/core/index.d.mts +0 -21
- package/dist/api/core/index.d.mts.map +0 -1
- package/dist/api/core/index.mjs +0 -208
- package/dist/api/core/index.mjs.map +0 -1
- package/dist/api/core/types.d.cts +0 -107
- package/dist/api/core/types.d.cts.map +0 -1
- package/dist/api/core/types.d.mts +0 -107
- package/dist/api/core/types.d.mts.map +0 -1
- package/dist/api/middleware/index.cjs +0 -8
- package/dist/api/middleware/index.d.cts +0 -11
- package/dist/api/middleware/index.d.cts.map +0 -1
- package/dist/api/middleware/index.d.mts +0 -11
- package/dist/api/middleware/index.d.mts.map +0 -1
- package/dist/api/middleware/index.mjs +0 -10
- package/dist/api/middleware/index.mjs.map +0 -1
- package/dist/api/middleware/types.d.cts +0 -16
- package/dist/api/middleware/types.d.cts.map +0 -1
- package/dist/api/middleware/types.d.mts +0 -16
- package/dist/api/middleware/types.d.mts.map +0 -1
- package/dist/api/openapi/index.cjs +0 -254
- package/dist/api/openapi/index.mjs +0 -256
- package/dist/api/openapi/index.mjs.map +0 -1
- package/dist/api/openapi/types.d.cts +0 -60
- package/dist/api/openapi/types.d.cts.map +0 -1
- package/dist/api/openapi/types.d.mts +0 -60
- package/dist/api/openapi/types.d.mts.map +0 -1
- package/dist/api/validation/index.cjs +0 -64
- package/dist/api/validation/index.mjs +0 -61
- package/dist/api/validation/index.mjs.map +0 -1
- package/dist/cache/types.d.cts +0 -17
- package/dist/cache/types.d.cts.map +0 -1
- package/dist/cache/types.d.mts +0 -17
- package/dist/cache/types.d.mts.map +0 -1
- package/dist/cron/builder/index.cjs +0 -166
- package/dist/cron/builder/index.d.cts +0 -28
- package/dist/cron/builder/index.d.cts.map +0 -1
- package/dist/cron/builder/index.d.mts +0 -28
- package/dist/cron/builder/index.d.mts.map +0 -1
- package/dist/cron/builder/index.mjs +0 -163
- package/dist/cron/builder/index.mjs.map +0 -1
- package/dist/cron/builder/types.cjs +0 -27
- package/dist/cron/builder/types.d.cts +0 -79
- package/dist/cron/builder/types.d.cts.map +0 -1
- package/dist/cron/builder/types.d.mts +0 -79
- package/dist/cron/builder/types.d.mts.map +0 -1
- package/dist/cron/builder/types.mjs +0 -28
- package/dist/cron/builder/types.mjs.map +0 -1
- package/dist/cron/core/index.cjs +0 -308
- package/dist/cron/core/index.d.cts +0 -39
- package/dist/cron/core/index.d.cts.map +0 -1
- package/dist/cron/core/index.d.mts +0 -39
- package/dist/cron/core/index.d.mts.map +0 -1
- package/dist/cron/core/index.mjs +0 -310
- package/dist/cron/core/index.mjs.map +0 -1
- package/dist/cron/core/scanner.cjs +0 -237
- package/dist/cron/core/scanner.mjs +0 -238
- package/dist/cron/core/scanner.mjs.map +0 -1
- package/dist/cron/core/types.d.cts +0 -11
- package/dist/cron/core/types.d.cts.map +0 -1
- package/dist/cron/core/types.d.mts +0 -11
- package/dist/cron/core/types.d.mts.map +0 -1
- package/dist/errors/types.d.cts +0 -5
- package/dist/errors/types.d.cts.map +0 -1
- package/dist/errors/types.d.mts +0 -5
- package/dist/errors/types.d.mts.map +0 -1
- package/dist/i18n/types.d.cts +0 -13
- package/dist/i18n/types.d.cts.map +0 -1
- package/dist/i18n/types.d.mts +0 -13
- package/dist/i18n/types.d.mts.map +0 -1
- package/dist/lib/cache/index.d.cts.map +0 -1
- package/dist/lib/cache/index.d.mts.map +0 -1
- package/dist/lib/cache/index.mjs.map +0 -1
- package/dist/lib/errors/index.d.cts.map +0 -1
- package/dist/lib/errors/index.d.mts.map +0 -1
- package/dist/lib/errors/index.mjs.map +0 -1
- package/dist/lib/i18n/index.d.cts.map +0 -1
- package/dist/lib/i18n/index.d.mts.map +0 -1
- package/dist/lib/i18n/index.mjs.map +0 -1
- package/dist/lib/policy/index.d.cts.map +0 -1
- package/dist/lib/policy/index.d.mts.map +0 -1
- package/dist/lib/policy/index.mjs.map +0 -1
- package/dist/lib/prompts/index.d.cts.map +0 -1
- package/dist/lib/prompts/index.d.mts.map +0 -1
- package/dist/lib/prompts/index.mjs.map +0 -1
- package/dist/lib/pubsub/index.d.cts.map +0 -1
- package/dist/lib/pubsub/index.d.mts.map +0 -1
- package/dist/lib/pubsub/index.mjs.map +0 -1
- package/dist/lib/queue/index.d.cts.map +0 -1
- package/dist/lib/queue/index.d.mts.map +0 -1
- package/dist/lib/queue/index.mjs.map +0 -1
- package/dist/lib/workflow/index.d.cts.map +0 -1
- package/dist/lib/workflow/index.d.mts.map +0 -1
- package/dist/lib/workflow/index.mjs.map +0 -1
- package/dist/logging/core/index.cjs +0 -99
- package/dist/logging/core/index.d.cts +0 -26
- package/dist/logging/core/index.d.cts.map +0 -1
- package/dist/logging/core/index.d.mts +0 -26
- package/dist/logging/core/index.d.mts.map +0 -1
- package/dist/logging/core/index.mjs +0 -99
- package/dist/logging/core/index.mjs.map +0 -1
- package/dist/logging/core/types.cjs +0 -10
- package/dist/logging/core/types.d.cts +0 -22
- package/dist/logging/core/types.d.cts.map +0 -1
- package/dist/logging/core/types.d.mts +0 -22
- package/dist/logging/core/types.d.mts.map +0 -1
- package/dist/logging/core/types.mjs +0 -12
- package/dist/logging/core/types.mjs.map +0 -1
- package/dist/logging/formatter/index.cjs +0 -119
- package/dist/logging/formatter/index.d.cts +0 -27
- package/dist/logging/formatter/index.d.cts.map +0 -1
- package/dist/logging/formatter/index.d.mts +0 -27
- package/dist/logging/formatter/index.d.mts.map +0 -1
- package/dist/logging/formatter/index.mjs +0 -115
- package/dist/logging/formatter/index.mjs.map +0 -1
- package/dist/logging/formatter/types.d.cts +0 -5
- package/dist/logging/formatter/types.d.cts.map +0 -1
- package/dist/logging/formatter/types.d.mts +0 -5
- package/dist/logging/formatter/types.d.mts.map +0 -1
- package/dist/logging/provider/index.cjs +0 -165
- package/dist/logging/provider/index.d.cts +0 -28
- package/dist/logging/provider/index.d.cts.map +0 -1
- package/dist/logging/provider/index.d.mts +0 -28
- package/dist/logging/provider/index.d.mts.map +0 -1
- package/dist/logging/provider/index.mjs +0 -165
- package/dist/logging/provider/index.mjs.map +0 -1
- package/dist/logging/provider/types.d.cts +0 -23
- package/dist/logging/provider/types.d.cts.map +0 -1
- package/dist/logging/provider/types.d.mts +0 -23
- package/dist/logging/provider/types.d.mts.map +0 -1
- package/dist/node_modules/@standard-schema/spec/dist/index.d.cts +0 -80
- package/dist/node_modules/@standard-schema/spec/dist/index.d.cts.map +0 -1
- package/dist/node_modules/@standard-schema/spec/dist/index.d.mts +0 -80
- package/dist/node_modules/@standard-schema/spec/dist/index.d.mts.map +0 -1
- package/dist/orm/column.cjs +0 -137
- package/dist/orm/column.d.cts +0 -121
- package/dist/orm/column.d.cts.map +0 -1
- package/dist/orm/column.d.mts +0 -121
- package/dist/orm/column.d.mts.map +0 -1
- package/dist/orm/column.mjs +0 -132
- package/dist/orm/column.mjs.map +0 -1
- package/dist/orm/dialect/index.cjs +0 -14
- package/dist/orm/dialect/index.mjs +0 -16
- package/dist/orm/dialect/index.mjs.map +0 -1
- package/dist/orm/dialect/mysql.cjs +0 -31
- package/dist/orm/dialect/mysql.mjs +0 -33
- package/dist/orm/dialect/mysql.mjs.map +0 -1
- package/dist/orm/dialect/postgres.cjs +0 -23
- package/dist/orm/dialect/postgres.mjs +0 -25
- package/dist/orm/dialect/postgres.mjs.map +0 -1
- package/dist/orm/dialect/sqlite.cjs +0 -31
- package/dist/orm/dialect/sqlite.mjs +0 -33
- package/dist/orm/dialect/sqlite.mjs.map +0 -1
- package/dist/orm/dialect/utils.cjs +0 -8
- package/dist/orm/dialect/utils.mjs +0 -10
- package/dist/orm/dialect/utils.mjs.map +0 -1
- package/dist/orm/internal/table-columns.cjs +0 -31
- package/dist/orm/internal/table-columns.mjs +0 -32
- package/dist/orm/internal/table-columns.mjs.map +0 -1
- package/dist/orm/internal/table-lookup.cjs +0 -35
- package/dist/orm/internal/table-lookup.mjs +0 -35
- package/dist/orm/internal/table-lookup.mjs.map +0 -1
- package/dist/orm/internal/table-relations.cjs +0 -28
- package/dist/orm/internal/table-relations.mjs +0 -29
- package/dist/orm/internal/table-relations.mjs.map +0 -1
- package/dist/orm/migration/config.cjs +0 -7
- package/dist/orm/migration/config.d.cts +0 -7
- package/dist/orm/migration/config.d.cts.map +0 -1
- package/dist/orm/migration/config.d.mts +0 -7
- package/dist/orm/migration/config.d.mts.map +0 -1
- package/dist/orm/migration/config.mjs +0 -8
- package/dist/orm/migration/config.mjs.map +0 -1
- package/dist/orm/migration/types.d.cts +0 -20
- package/dist/orm/migration/types.d.cts.map +0 -1
- package/dist/orm/migration/types.d.mts +0 -20
- package/dist/orm/migration/types.d.mts.map +0 -1
- package/dist/orm/orm.cjs +0 -41
- package/dist/orm/orm.d.cts +0 -18
- package/dist/orm/orm.d.cts.map +0 -1
- package/dist/orm/orm.d.mts +0 -18
- package/dist/orm/orm.d.mts.map +0 -1
- package/dist/orm/orm.mjs +0 -43
- package/dist/orm/orm.mjs.map +0 -1
- package/dist/orm/relation.cjs +0 -18
- package/dist/orm/relation.d.cts +0 -8
- package/dist/orm/relation.d.cts.map +0 -1
- package/dist/orm/relation.d.mts +0 -8
- package/dist/orm/relation.d.mts.map +0 -1
- package/dist/orm/relation.mjs +0 -19
- package/dist/orm/relation.mjs.map +0 -1
- package/dist/orm/runtime/builders/mutations.cjs +0 -29
- package/dist/orm/runtime/builders/mutations.mjs +0 -28
- package/dist/orm/runtime/builders/mutations.mjs.map +0 -1
- package/dist/orm/runtime/builders/select.cjs +0 -18
- package/dist/orm/runtime/builders/select.mjs +0 -19
- package/dist/orm/runtime/builders/select.mjs.map +0 -1
- package/dist/orm/runtime/client.cjs +0 -90
- package/dist/orm/runtime/client.mjs +0 -92
- package/dist/orm/runtime/client.mjs.map +0 -1
- package/dist/orm/runtime/context.cjs +0 -49
- package/dist/orm/runtime/context.mjs +0 -51
- package/dist/orm/runtime/context.mjs.map +0 -1
- package/dist/orm/runtime/dialect/index.cjs +0 -11
- package/dist/orm/runtime/dialect/index.mjs +0 -13
- package/dist/orm/runtime/dialect/index.mjs.map +0 -1
- package/dist/orm/runtime/dialect/mysql.cjs +0 -95
- package/dist/orm/runtime/dialect/mysql.mjs +0 -97
- package/dist/orm/runtime/dialect/mysql.mjs.map +0 -1
- package/dist/orm/runtime/dialect/postgres.cjs +0 -51
- package/dist/orm/runtime/dialect/postgres.mjs +0 -53
- package/dist/orm/runtime/dialect/postgres.mjs.map +0 -1
- package/dist/orm/runtime/dialect/sqlite.cjs +0 -4
- package/dist/orm/runtime/dialect/sqlite.mjs +0 -7
- package/dist/orm/runtime/dialect/sqlite.mjs.map +0 -1
- package/dist/orm/runtime/errors.cjs +0 -19
- package/dist/orm/runtime/errors.mjs +0 -21
- package/dist/orm/runtime/errors.mjs.map +0 -1
- package/dist/orm/runtime/hydrate/many.cjs +0 -46
- package/dist/orm/runtime/hydrate/many.mjs +0 -48
- package/dist/orm/runtime/hydrate/many.mjs.map +0 -1
- package/dist/orm/runtime/hydrate/one.cjs +0 -38
- package/dist/orm/runtime/hydrate/one.mjs +0 -40
- package/dist/orm/runtime/hydrate/one.mjs.map +0 -1
- package/dist/orm/runtime/hydrate.cjs +0 -49
- package/dist/orm/runtime/hydrate.mjs +0 -51
- package/dist/orm/runtime/hydrate.mjs.map +0 -1
- package/dist/orm/runtime/rows.cjs +0 -30
- package/dist/orm/runtime/rows.mjs +0 -31
- package/dist/orm/runtime/rows.mjs.map +0 -1
- package/dist/orm/runtime/utils.cjs +0 -27
- package/dist/orm/runtime/utils.mjs +0 -27
- package/dist/orm/runtime/utils.mjs.map +0 -1
- package/dist/orm/sql/parse-array.cjs +0 -64
- package/dist/orm/sql/parse-array.mjs +0 -66
- package/dist/orm/sql/parse-array.mjs.map +0 -1
- package/dist/orm/sql/plan/select.cjs +0 -36
- package/dist/orm/sql/plan/select.mjs +0 -38
- package/dist/orm/sql/plan/select.mjs.map +0 -1
- package/dist/orm/sql/plan/where/operators.cjs +0 -95
- package/dist/orm/sql/plan/where/operators.mjs +0 -97
- package/dist/orm/sql/plan/where/operators.mjs.map +0 -1
- package/dist/orm/sql/plan/where.cjs +0 -59
- package/dist/orm/sql/plan/where.mjs +0 -61
- package/dist/orm/sql/plan/where.mjs.map +0 -1
- package/dist/orm/sql/serialize/clauses.cjs +0 -36
- package/dist/orm/sql/serialize/clauses.mjs +0 -37
- package/dist/orm/sql/serialize/clauses.mjs.map +0 -1
- package/dist/orm/sql/serialize/joins.cjs +0 -31
- package/dist/orm/sql/serialize/joins.mjs +0 -33
- package/dist/orm/sql/serialize/joins.mjs.map +0 -1
- package/dist/orm/sql/serialize/values.cjs +0 -30
- package/dist/orm/sql/serialize/values.mjs +0 -32
- package/dist/orm/sql/serialize/values.mjs.map +0 -1
- package/dist/orm/sql/serialize/where/predicate.cjs +0 -73
- package/dist/orm/sql/serialize/where/predicate.mjs +0 -75
- package/dist/orm/sql/serialize/where/predicate.mjs.map +0 -1
- package/dist/orm/sql/serialize/where/tree.cjs +0 -26
- package/dist/orm/sql/serialize/where/tree.mjs +0 -28
- package/dist/orm/sql/serialize/where/tree.mjs.map +0 -1
- package/dist/orm/sql/serialize/where.cjs +0 -10
- package/dist/orm/sql/serialize/where.mjs +0 -12
- package/dist/orm/sql/serialize/where.mjs.map +0 -1
- package/dist/orm/sql/serialize.cjs +0 -24
- package/dist/orm/sql/serialize.mjs +0 -25
- package/dist/orm/sql/serialize.mjs.map +0 -1
- package/dist/orm/table.cjs +0 -12
- package/dist/orm/table.d.cts +0 -12
- package/dist/orm/table.d.cts.map +0 -1
- package/dist/orm/table.d.mts +0 -12
- package/dist/orm/table.d.mts.map +0 -1
- package/dist/orm/table.mjs +0 -14
- package/dist/orm/table.mjs.map +0 -1
- package/dist/orm/types.d.cts +0 -183
- package/dist/orm/types.d.cts.map +0 -1
- package/dist/orm/types.d.mts +0 -183
- package/dist/orm/types.d.mts.map +0 -1
- package/dist/policy/helpers.cjs +0 -206
- package/dist/policy/helpers.d.cts +0 -50
- package/dist/policy/helpers.d.cts.map +0 -1
- package/dist/policy/helpers.d.mts +0 -50
- package/dist/policy/helpers.d.mts.map +0 -1
- package/dist/policy/helpers.mjs +0 -190
- package/dist/policy/helpers.mjs.map +0 -1
- package/dist/policy/types.d.cts +0 -16
- package/dist/policy/types.d.cts.map +0 -1
- package/dist/policy/types.d.mts +0 -16
- package/dist/policy/types.d.mts.map +0 -1
- package/dist/prompts/core/keys.cjs +0 -165
- package/dist/prompts/core/keys.mjs +0 -167
- package/dist/prompts/core/keys.mjs.map +0 -1
- package/dist/prompts/core/runtime.cjs +0 -104
- package/dist/prompts/core/runtime.mjs +0 -106
- package/dist/prompts/core/runtime.mjs.map +0 -1
- package/dist/prompts/core/session.cjs +0 -98
- package/dist/prompts/core/session.mjs +0 -100
- package/dist/prompts/core/session.mjs.map +0 -1
- package/dist/prompts/core/types.d.cts +0 -21
- package/dist/prompts/core/types.d.cts.map +0 -1
- package/dist/prompts/core/types.d.mts +0 -21
- package/dist/prompts/core/types.d.mts.map +0 -1
- package/dist/prompts/types.d.cts +0 -52
- package/dist/prompts/types.d.cts.map +0 -1
- package/dist/prompts/types.d.mts +0 -52
- package/dist/prompts/types.d.mts.map +0 -1
- package/dist/pubsub/types.d.cts +0 -10
- package/dist/pubsub/types.d.cts.map +0 -1
- package/dist/pubsub/types.d.mts +0 -10
- package/dist/pubsub/types.d.mts.map +0 -1
- package/dist/queue/types.d.cts +0 -47
- package/dist/queue/types.d.cts.map +0 -1
- package/dist/queue/types.d.mts +0 -47
- package/dist/queue/types.d.mts.map +0 -1
- package/dist/workflow/types.d.cts +0 -83
- package/dist/workflow/types.d.cts.map +0 -1
- package/dist/workflow/types.d.mts +0 -83
- package/dist/workflow/types.d.mts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.mts","names":[],"sources":["../../../src/lib/orm/migration/config.ts"],"mappings":";;;iBAIgB,YAAA,CAAa,MAAA,EAAQ,YAAA,GAAY,YAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.mjs","names":[],"sources":["../../../src/lib/orm/migration/config.ts"],"sourcesContent":["import { resolve } from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nimport type { ResolvedSemolaConfig, SemolaConfig } from \"./types.js\";\n\nexport function defineConfig(config: SemolaConfig) {\n return config;\n}\n\nconst defaultMigrationDir = \"migrations\";\nconst defaultIntrospectOutput = \"orm.generated.ts\";\n\nasync function findConfigPath(cwd: string) {\n const candidates = [\n \"semola.config.ts\",\n \"semola.config.js\",\n \"semola.config.mjs\",\n ];\n for (const candidate of candidates) {\n const configPath = resolve(cwd, candidate);\n const exists = await Bun.file(configPath).exists();\n if (exists) {\n return configPath;\n }\n }\n return null;\n}\n\nexport async function loadConfig(cwd = process.cwd()) {\n const configPath = await findConfigPath(cwd);\n\n if (!configPath) {\n throw new Error(\"Could not find semola.config.ts in current directory\");\n }\n\n const configUrl = pathToFileURL(configPath).href;\n const mod = await import(`${configUrl}?t=${Date.now()}`);\n\n const loadedConfig = Reflect.get(mod, \"default\");\n\n if (typeof loadedConfig !== \"object\") {\n throw new Error(\"semola.config.ts must export a default config object\");\n }\n\n if (loadedConfig === null) {\n throw new Error(\"semola.config.ts must export a default config object\");\n }\n\n const orm = Reflect.get(loadedConfig, \"orm\");\n\n if (typeof orm !== \"object\") {\n throw new Error(\"semola.config.ts must contain an orm section\");\n }\n\n if (orm === null) {\n throw new Error(\"semola.config.ts must contain an orm section\");\n }\n\n const schema = Reflect.get(orm, \"schema\");\n\n if (typeof schema !== \"string\") {\n throw new Error(\"semola.config.ts must define orm.schema\");\n }\n\n const migrations = Reflect.get(orm, \"migrations\");\n const introspect = Reflect.get(orm, \"introspect\");\n\n const migrationDirValue =\n typeof migrations === \"object\" && migrations !== null\n ? Reflect.get(migrations, \"dir\")\n : null;\n\n const migrationDir =\n typeof migrationDirValue === \"string\"\n ? migrationDirValue\n : defaultMigrationDir;\n\n const transactionalValue =\n typeof migrations === \"object\" && migrations !== null\n ? Reflect.get(migrations, \"transactional\")\n : null;\n\n const transactional =\n typeof transactionalValue === \"boolean\" ? transactionalValue : true;\n\n const introspectOutputValue =\n typeof introspect === \"object\" && introspect !== null\n ? Reflect.get(introspect, \"output\")\n : null;\n\n const introspectOutput =\n typeof introspectOutputValue === \"string\"\n ? introspectOutputValue\n : defaultIntrospectOutput;\n\n const introspectUrlValue =\n typeof introspect === \"object\" && introspect !== null\n ? Reflect.get(introspect, \"url\")\n : null;\n\n const introspectUrl =\n typeof introspectUrlValue === \"string\" ? introspectUrlValue : null;\n\n const introspectDialectValue =\n typeof introspect === \"object\" && introspect !== null\n ? Reflect.get(introspect, \"dialect\")\n : null;\n\n const introspectDialect =\n introspectDialectValue === \"postgres\" ||\n introspectDialectValue === \"mysql\" ||\n introspectDialectValue === \"sqlite\"\n ? introspectDialectValue\n : null;\n\n const resolved: ResolvedSemolaConfig = {\n cwd,\n configPath,\n orm: {\n schema: resolve(cwd, schema),\n migrations: {\n dir: resolve(cwd, migrationDir),\n transactional,\n },\n introspect: {\n output: resolve(cwd, introspectOutput),\n url: introspectUrl,\n dialect: introspectDialect,\n },\n },\n };\n\n return resolved;\n}\n"],"mappings":";AAIA,SAAgB,aAAa,QAAsB;AACjD,QAAO"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Dialect } from "../types.cjs";
|
|
2
|
-
|
|
3
|
-
//#region src/lib/orm/migration/types.d.ts
|
|
4
|
-
type SemolaConfig = {
|
|
5
|
-
orm: {
|
|
6
|
-
schema: string;
|
|
7
|
-
migrations?: {
|
|
8
|
-
dir?: string;
|
|
9
|
-
transactional?: boolean;
|
|
10
|
-
};
|
|
11
|
-
introspect?: {
|
|
12
|
-
output?: string;
|
|
13
|
-
url?: string;
|
|
14
|
-
dialect?: Dialect;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
//#endregion
|
|
19
|
-
export { SemolaConfig };
|
|
20
|
-
//# sourceMappingURL=types.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.cts","names":[],"sources":["../../../src/lib/orm/migration/types.ts"],"mappings":";;;KAEY,YAAA;EACV,GAAA;IACE,MAAA;IACA,UAAA;MACE,GAAA;MACA,aAAA;IAAA;IAEF,UAAA;MACE,MAAA;MACA,GAAA;MACA,OAAA,GAAU,OAAA;IAAA;EAAA;AAAA"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Dialect } from "../types.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/lib/orm/migration/types.d.ts
|
|
4
|
-
type SemolaConfig = {
|
|
5
|
-
orm: {
|
|
6
|
-
schema: string;
|
|
7
|
-
migrations?: {
|
|
8
|
-
dir?: string;
|
|
9
|
-
transactional?: boolean;
|
|
10
|
-
};
|
|
11
|
-
introspect?: {
|
|
12
|
-
output?: string;
|
|
13
|
-
url?: string;
|
|
14
|
-
dialect?: Dialect;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
//#endregion
|
|
19
|
-
export { SemolaConfig };
|
|
20
|
-
//# sourceMappingURL=types.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/lib/orm/migration/types.ts"],"mappings":";;;KAEY,YAAA;EACV,GAAA;IACE,MAAA;IACA,UAAA;MACE,GAAA;MACA,aAAA;IAAA;IAEF,UAAA;MACE,MAAA;MACA,GAAA;MACA,OAAA,GAAU,OAAA;IAAA;EAAA;AAAA"}
|
package/dist/orm/orm.cjs
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
const require_index = require("./dialect/index.cjs");
|
|
2
|
-
const require_utils = require("./dialect/utils.cjs");
|
|
3
|
-
const require_client = require("./runtime/client.cjs");
|
|
4
|
-
let bun = require("bun");
|
|
5
|
-
//#region src/lib/orm/orm.ts
|
|
6
|
-
function createOrm(options) {
|
|
7
|
-
const sql = new bun.SQL(options.url);
|
|
8
|
-
const dialect = options.dialect ?? require_utils.inferDialectFromUrl(options.url);
|
|
9
|
-
const dialectAdapter = require_index.getDialectAdapter(dialect);
|
|
10
|
-
const makeModels = (sqlOrTx) => {
|
|
11
|
-
const out = {};
|
|
12
|
-
for (const key of Object.keys(options.tables)) {
|
|
13
|
-
const table = options.tables[key];
|
|
14
|
-
if (!table) continue;
|
|
15
|
-
out[key] = require_client.createTableClient(sqlOrTx, table, options.relations?.[key] ?? {}, dialectAdapter, options.tables, options.relations ?? {});
|
|
16
|
-
}
|
|
17
|
-
return out;
|
|
18
|
-
};
|
|
19
|
-
const client = {
|
|
20
|
-
...makeModels(sql),
|
|
21
|
-
$transaction(fn) {
|
|
22
|
-
return sql.begin((tx) => fn(makeModels(tx)));
|
|
23
|
-
},
|
|
24
|
-
$raw(strings, ...values) {
|
|
25
|
-
return sql(strings, ...values);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(client, "__semolaOrm", {
|
|
29
|
-
value: {
|
|
30
|
-
options: { url: options.url },
|
|
31
|
-
dialect,
|
|
32
|
-
tables: options.tables
|
|
33
|
-
},
|
|
34
|
-
enumerable: false,
|
|
35
|
-
writable: false,
|
|
36
|
-
configurable: false
|
|
37
|
-
});
|
|
38
|
-
return client;
|
|
39
|
-
}
|
|
40
|
-
//#endregion
|
|
41
|
-
exports.createOrm = createOrm;
|
package/dist/orm/orm.d.cts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Table } from "./table.cjs";
|
|
2
|
-
import { ColDefs, Dialect, RelationDefs, TinyTableClient } from "./types.cjs";
|
|
3
|
-
|
|
4
|
-
//#region src/lib/orm/orm.d.ts
|
|
5
|
-
type OrmOptions<TTables extends Record<string, Table<ColDefs>>, TRels extends Partial<Record<keyof TTables, RelationDefs>>> = {
|
|
6
|
-
url: string;
|
|
7
|
-
tables: TTables;
|
|
8
|
-
relations?: TRels;
|
|
9
|
-
dialect?: Dialect;
|
|
10
|
-
};
|
|
11
|
-
type OrmModels<TTables extends Record<string, Table<ColDefs>>, TRels extends Partial<Record<keyof TTables, RelationDefs>>> = { [K in keyof TTables]: TinyTableClient<TTables[K] extends Table<infer C> ? C : never, K extends keyof TRels ? NonNullable<TRels[K]> : Record<never, never>> };
|
|
12
|
-
declare function createOrm<TTables extends Record<string, Table<ColDefs>>, TRels extends Partial<Record<keyof TTables, RelationDefs>>>(options: OrmOptions<TTables, TRels>): OrmModels<TTables, TRels> & {
|
|
13
|
-
$transaction<T>(fn: (tx: ReturnType<(sqlOrTx: SQL | TransactionSQL) => OrmModels<TTables, TRels>>) => Promise<T>): Promise<SQL.ContextCallbackResult<T>>;
|
|
14
|
-
$raw(strings: TemplateStringsArray, ...values: unknown[]): SQL.Query<any>;
|
|
15
|
-
};
|
|
16
|
-
//#endregion
|
|
17
|
-
export { createOrm };
|
|
18
|
-
//# sourceMappingURL=orm.d.cts.map
|
package/dist/orm/orm.d.cts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"orm.d.cts","names":[],"sources":["../../src/lib/orm/orm.ts"],"mappings":";;;;KAaK,UAAA,iBACa,MAAA,SAAe,KAAA,CAAM,OAAA,kBACvB,OAAA,CAAQ,MAAA,OAAa,OAAA,EAAS,YAAA;EAE5C,GAAA;EACA,MAAA,EAAQ,OAAA;EACR,SAAA,GAAY,KAAA;EACZ,OAAA,GAAU,OAAA;AAAA;AAAA,KAGP,SAAA,iBACa,MAAA,SAAe,KAAA,CAAM,OAAA,kBACvB,OAAA,CAAQ,MAAA,OAAa,OAAA,EAAS,YAAA,oBAEhC,OAAA,GAAU,eAAA,CACpB,OAAA,CAAQ,CAAA,UAAW,KAAA,YAAiB,CAAA,UACpC,CAAA,eAAgB,KAAA,GAAQ,WAAA,CAAY,KAAA,CAAM,CAAA,KAAM,MAAA;AAAA,iBA6BpC,SAAA,iBACE,MAAA,SAAe,KAAA,CAAM,OAAA,kBACvB,OAAA,CAAQ,MAAA,OAAa,OAAA,EAAS,YAAA,GAAA,CAC5C,OAAA,EAAS,UAAA,CAAW,OAAA,EAAS,KAAA,IAAM,SAAA,CAAA,OAAA,EAAA,KAAA;kBAqCnB,EAAA,GAAO,EAAA,EAAI,UAAA,EAAU,OAAA,EA/B1B,GAAA,GAAM,cAAA,KACd,SAAA,CAAU,OAAA,EAAS,KAAA,OA8BuC,OAAA,CAAQ,CAAA,IAAE,OAAA,CAAA,GAAA,CAAA,qBAAA,CAAA,CAAA;gBAIvD,oBAAA,KAAoB,MAAA,cAAsB,GAAA,CAAA,KAAA;AAAA"}
|
package/dist/orm/orm.d.mts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Table } from "./table.mjs";
|
|
2
|
-
import { ColDefs, Dialect, RelationDefs, TinyTableClient } from "./types.mjs";
|
|
3
|
-
|
|
4
|
-
//#region src/lib/orm/orm.d.ts
|
|
5
|
-
type OrmOptions<TTables extends Record<string, Table<ColDefs>>, TRels extends Partial<Record<keyof TTables, RelationDefs>>> = {
|
|
6
|
-
url: string;
|
|
7
|
-
tables: TTables;
|
|
8
|
-
relations?: TRels;
|
|
9
|
-
dialect?: Dialect;
|
|
10
|
-
};
|
|
11
|
-
type OrmModels<TTables extends Record<string, Table<ColDefs>>, TRels extends Partial<Record<keyof TTables, RelationDefs>>> = { [K in keyof TTables]: TinyTableClient<TTables[K] extends Table<infer C> ? C : never, K extends keyof TRels ? NonNullable<TRels[K]> : Record<never, never>> };
|
|
12
|
-
declare function createOrm<TTables extends Record<string, Table<ColDefs>>, TRels extends Partial<Record<keyof TTables, RelationDefs>>>(options: OrmOptions<TTables, TRels>): OrmModels<TTables, TRels> & {
|
|
13
|
-
$transaction<T>(fn: (tx: ReturnType<(sqlOrTx: SQL | TransactionSQL) => OrmModels<TTables, TRels>>) => Promise<T>): Promise<SQL.ContextCallbackResult<T>>;
|
|
14
|
-
$raw(strings: TemplateStringsArray, ...values: unknown[]): SQL.Query<any>;
|
|
15
|
-
};
|
|
16
|
-
//#endregion
|
|
17
|
-
export { createOrm };
|
|
18
|
-
//# sourceMappingURL=orm.d.mts.map
|
package/dist/orm/orm.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"orm.d.mts","names":[],"sources":["../../src/lib/orm/orm.ts"],"mappings":";;;;KAaK,UAAA,iBACa,MAAA,SAAe,KAAA,CAAM,OAAA,kBACvB,OAAA,CAAQ,MAAA,OAAa,OAAA,EAAS,YAAA;EAE5C,GAAA;EACA,MAAA,EAAQ,OAAA;EACR,SAAA,GAAY,KAAA;EACZ,OAAA,GAAU,OAAA;AAAA;AAAA,KAGP,SAAA,iBACa,MAAA,SAAe,KAAA,CAAM,OAAA,kBACvB,OAAA,CAAQ,MAAA,OAAa,OAAA,EAAS,YAAA,oBAEhC,OAAA,GAAU,eAAA,CACpB,OAAA,CAAQ,CAAA,UAAW,KAAA,YAAiB,CAAA,UACpC,CAAA,eAAgB,KAAA,GAAQ,WAAA,CAAY,KAAA,CAAM,CAAA,KAAM,MAAA;AAAA,iBA6BpC,SAAA,iBACE,MAAA,SAAe,KAAA,CAAM,OAAA,kBACvB,OAAA,CAAQ,MAAA,OAAa,OAAA,EAAS,YAAA,GAAA,CAC5C,OAAA,EAAS,UAAA,CAAW,OAAA,EAAS,KAAA,IAAM,SAAA,CAAA,OAAA,EAAA,KAAA;kBAqCnB,EAAA,GAAO,EAAA,EAAI,UAAA,EAAU,OAAA,EA/B1B,GAAA,GAAM,cAAA,KACd,SAAA,CAAU,OAAA,EAAS,KAAA,OA8BuC,OAAA,CAAQ,CAAA,IAAE,OAAA,CAAA,GAAA,CAAA,qBAAA,CAAA,CAAA;gBAIvD,oBAAA,KAAoB,MAAA,cAAsB,GAAA,CAAA,KAAA;AAAA"}
|
package/dist/orm/orm.mjs
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { getDialectAdapter } from "./dialect/index.mjs";
|
|
2
|
-
import { inferDialectFromUrl } from "./dialect/utils.mjs";
|
|
3
|
-
import { createTableClient } from "./runtime/client.mjs";
|
|
4
|
-
import { SQL } from "bun";
|
|
5
|
-
//#region src/lib/orm/orm.ts
|
|
6
|
-
function createOrm(options) {
|
|
7
|
-
const sql = new SQL(options.url);
|
|
8
|
-
const dialect = options.dialect ?? inferDialectFromUrl(options.url);
|
|
9
|
-
const dialectAdapter = getDialectAdapter(dialect);
|
|
10
|
-
const makeModels = (sqlOrTx) => {
|
|
11
|
-
const out = {};
|
|
12
|
-
for (const key of Object.keys(options.tables)) {
|
|
13
|
-
const table = options.tables[key];
|
|
14
|
-
if (!table) continue;
|
|
15
|
-
out[key] = createTableClient(sqlOrTx, table, options.relations?.[key] ?? {}, dialectAdapter, options.tables, options.relations ?? {});
|
|
16
|
-
}
|
|
17
|
-
return out;
|
|
18
|
-
};
|
|
19
|
-
const client = {
|
|
20
|
-
...makeModels(sql),
|
|
21
|
-
$transaction(fn) {
|
|
22
|
-
return sql.begin((tx) => fn(makeModels(tx)));
|
|
23
|
-
},
|
|
24
|
-
$raw(strings, ...values) {
|
|
25
|
-
return sql(strings, ...values);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(client, "__semolaOrm", {
|
|
29
|
-
value: {
|
|
30
|
-
options: { url: options.url },
|
|
31
|
-
dialect,
|
|
32
|
-
tables: options.tables
|
|
33
|
-
},
|
|
34
|
-
enumerable: false,
|
|
35
|
-
writable: false,
|
|
36
|
-
configurable: false
|
|
37
|
-
});
|
|
38
|
-
return client;
|
|
39
|
-
}
|
|
40
|
-
//#endregion
|
|
41
|
-
export { createOrm };
|
|
42
|
-
|
|
43
|
-
//# sourceMappingURL=orm.mjs.map
|
package/dist/orm/orm.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"orm.mjs","names":[],"sources":["../../src/lib/orm/orm.ts"],"sourcesContent":["import type { TransactionSQL } from \"bun\";\nimport { SQL } from \"bun\";\nimport { getDialectAdapter } from \"./dialect/index.js\";\nimport { createTableClient } from \"./runtime/client.js\";\nimport { inferDialectFromUrl } from \"./runtime/errors.js\";\nimport type { Table } from \"./table.js\";\nimport type {\n ColDefs,\n Dialect,\n RelationDefs,\n TinyTableClient,\n} from \"./types.js\";\n\ntype OrmOptions<\n TTables extends Record<string, Table<ColDefs>>,\n TRels extends Partial<Record<keyof TTables, RelationDefs>>,\n> = {\n url: string;\n tables: TTables;\n relations?: TRels;\n dialect?: Dialect;\n};\n\ntype OrmModels<\n TTables extends Record<string, Table<ColDefs>>,\n TRels extends Partial<Record<keyof TTables, RelationDefs>>,\n> = {\n [K in keyof TTables]: TinyTableClient<\n TTables[K] extends Table<infer C> ? C : never,\n K extends keyof TRels ? NonNullable<TRels[K]> : Record<never, never>\n >;\n};\n\nexport class Orm {\n public constructor(\n public readonly options: OrmOptions<\n Record<string, Table<ColDefs>>,\n Record<string, RelationDefs>\n >,\n ) {}\n\n public get dialect(): Dialect {\n if (this.options.dialect) {\n return this.options.dialect;\n }\n\n return inferDialectFromUrl(this.options.url);\n }\n\n public get tables() {\n return this.options.tables;\n }\n\n public get relations() {\n return this.options.relations;\n }\n}\n\nexport function createOrm<\n TTables extends Record<string, Table<ColDefs>>,\n TRels extends Partial<Record<keyof TTables, RelationDefs>>,\n>(options: OrmOptions<TTables, TRels>) {\n const sql = new SQL(options.url);\n const dialect = options.dialect ?? inferDialectFromUrl(options.url);\n const dialectAdapter = getDialectAdapter(dialect);\n\n const makeModels = (\n sqlOrTx: SQL | TransactionSQL,\n ): OrmModels<TTables, TRels> => {\n const out: Record<string, TinyTableClient<ColDefs, RelationDefs>> = {};\n\n for (const key of Object.keys(options.tables)) {\n const table = options.tables[key];\n\n if (!table) {\n continue;\n }\n\n const rels = options.relations?.[key as keyof TRels];\n const relationDefs: RelationDefs = rels ?? {};\n\n out[key] = createTableClient(\n sqlOrTx,\n table,\n relationDefs,\n dialectAdapter,\n options.tables as Record<string, Table<ColDefs>>,\n (options.relations ?? {}) as Partial<Record<string, RelationDefs>>,\n );\n }\n\n // TypeScript cannot verify the dynamic key-to-type mapping at compile time\n return out as unknown as OrmModels<TTables, TRels>;\n };\n\n const client = {\n ...makeModels(sql),\n\n $transaction<T>(fn: (tx: ReturnType<typeof makeModels>) => Promise<T>) {\n return sql.begin((tx) => fn(makeModels(tx)));\n },\n\n $raw(strings: TemplateStringsArray, ...values: unknown[]) {\n return sql(strings, ...values);\n },\n };\n\n Object.defineProperty(client, \"__semolaOrm\", {\n value: {\n options: { url: options.url },\n dialect,\n tables: options.tables,\n },\n enumerable: false,\n writable: false,\n configurable: false,\n });\n\n return client;\n}\n"],"mappings":";;;;;AA0DA,SAAgB,UAGd,SAAqC;CACrC,MAAM,MAAM,IAAI,IAAI,QAAQ,IAAI;CAChC,MAAM,UAAU,QAAQ,WAAW,oBAAoB,QAAQ,IAAI;CACnE,MAAM,iBAAiB,kBAAkB,QAAQ;CAEjD,MAAM,cACJ,YAC8B;EAC9B,MAAM,MAA8D,EAAE;AAEtE,OAAK,MAAM,OAAO,OAAO,KAAK,QAAQ,OAAO,EAAE;GAC7C,MAAM,QAAQ,QAAQ,OAAO;AAE7B,OAAI,CAAC,MACH;AAMF,OAAI,OAAO,kBACT,SACA,OALW,QAAQ,YAAY,QACU,EAAE,EAM3C,gBACA,QAAQ,QACP,QAAQ,aAAa,EAAE,CACzB;;AAIH,SAAO;;CAGT,MAAM,SAAS;EACb,GAAG,WAAW,IAAI;EAElB,aAAgB,IAAuD;AACrE,UAAO,IAAI,OAAO,OAAO,GAAG,WAAW,GAAG,CAAC,CAAC;;EAG9C,KAAK,SAA+B,GAAG,QAAmB;AACxD,UAAO,IAAI,SAAS,GAAG,OAAO;;EAEjC;AAED,QAAO,eAAe,QAAQ,eAAe;EAC3C,OAAO;GACL,SAAS,EAAE,KAAK,QAAQ,KAAK;GAC7B;GACA,QAAQ,QAAQ;GACjB;EACD,YAAY;EACZ,UAAU;EACV,cAAc;EACf,CAAC;AAEF,QAAO"}
|
package/dist/orm/relation.cjs
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
//#region src/lib/orm/relation.ts
|
|
2
|
-
function many(table, foreignKey) {
|
|
3
|
-
return {
|
|
4
|
-
kind: "many",
|
|
5
|
-
table,
|
|
6
|
-
foreignKey
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
function one(foreignKey, table) {
|
|
10
|
-
return {
|
|
11
|
-
kind: "one",
|
|
12
|
-
foreignKey,
|
|
13
|
-
table
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
//#endregion
|
|
17
|
-
exports.many = many;
|
|
18
|
-
exports.one = one;
|
package/dist/orm/relation.d.cts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ManyRelation, OneRelation } from "./types.cjs";
|
|
2
|
-
|
|
3
|
-
//#region src/lib/orm/relation.d.ts
|
|
4
|
-
declare function many<TTable>(table: () => TTable, foreignKey?: string): ManyRelation<TTable>;
|
|
5
|
-
declare function one<TTable>(foreignKey: string, table: () => TTable): OneRelation<TTable>;
|
|
6
|
-
//#endregion
|
|
7
|
-
export { many, one };
|
|
8
|
-
//# sourceMappingURL=relation.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relation.d.cts","names":[],"sources":["../../src/lib/orm/relation.ts"],"mappings":";;;iBAEgB,IAAA,QAAA,CACd,KAAA,QAAa,MAAA,EACb,UAAA,YACC,YAAA,CAAa,MAAA;AAAA,iBAIA,GAAA,QAAA,CACd,UAAA,UACA,KAAA,QAAa,MAAA,GACZ,WAAA,CAAY,MAAA"}
|
package/dist/orm/relation.d.mts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ManyRelation, OneRelation } from "./types.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/lib/orm/relation.d.ts
|
|
4
|
-
declare function many<TTable>(table: () => TTable, foreignKey?: string): ManyRelation<TTable>;
|
|
5
|
-
declare function one<TTable>(foreignKey: string, table: () => TTable): OneRelation<TTable>;
|
|
6
|
-
//#endregion
|
|
7
|
-
export { many, one };
|
|
8
|
-
//# sourceMappingURL=relation.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relation.d.mts","names":[],"sources":["../../src/lib/orm/relation.ts"],"mappings":";;;iBAEgB,IAAA,QAAA,CACd,KAAA,QAAa,MAAA,EACb,UAAA,YACC,YAAA,CAAa,MAAA;AAAA,iBAIA,GAAA,QAAA,CACd,UAAA,UACA,KAAA,QAAa,MAAA,GACZ,WAAA,CAAY,MAAA"}
|
package/dist/orm/relation.mjs
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
//#region src/lib/orm/relation.ts
|
|
2
|
-
function many(table, foreignKey) {
|
|
3
|
-
return {
|
|
4
|
-
kind: "many",
|
|
5
|
-
table,
|
|
6
|
-
foreignKey
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
function one(foreignKey, table) {
|
|
10
|
-
return {
|
|
11
|
-
kind: "one",
|
|
12
|
-
foreignKey,
|
|
13
|
-
table
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
//#endregion
|
|
17
|
-
export { many, one };
|
|
18
|
-
|
|
19
|
-
//# sourceMappingURL=relation.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relation.mjs","names":[],"sources":["../../src/lib/orm/relation.ts"],"sourcesContent":["import type { ManyRelation, OneRelation } from \"./types.js\";\n\nexport function many<TTable>(\n table: () => TTable,\n foreignKey?: string,\n): ManyRelation<TTable> {\n return { kind: \"many\", table, foreignKey };\n}\n\nexport function one<TTable>(\n foreignKey: string,\n table: () => TTable,\n): OneRelation<TTable> {\n return { kind: \"one\", foreignKey, table };\n}\n"],"mappings":";AAEA,SAAgB,KACd,OACA,YACsB;AACtB,QAAO;EAAE,MAAM;EAAQ;EAAO;EAAY;;AAG5C,SAAgB,IACd,YACA,OACqB;AACrB,QAAO;EAAE,MAAM;EAAO;EAAY;EAAO"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
const require_table_columns = require("../../internal/table-columns.cjs");
|
|
2
|
-
const require_values = require("../../sql/serialize/values.cjs");
|
|
3
|
-
const require_serialize = require("../../sql/serialize.cjs");
|
|
4
|
-
//#region src/lib/orm/runtime/builders/mutations.ts
|
|
5
|
-
function createInsertQuery(sql, table, input, dialectAdapter, supportsReturning) {
|
|
6
|
-
const row = require_values.mapDataToSqlRow(table, input.data, dialectAdapter);
|
|
7
|
-
if (supportsReturning && input.returning === true) return sql`INSERT INTO ${sql(table.tableName)} ${sql(row)} RETURNING ${require_table_columns.buildReturningColumns(sql, table)}`;
|
|
8
|
-
return sql`INSERT INTO ${sql(table.tableName)} ${sql(row)}`;
|
|
9
|
-
}
|
|
10
|
-
function createInsertManyQuery(sql, table, rows, supportsReturning) {
|
|
11
|
-
if (supportsReturning) return sql`INSERT INTO ${sql(table.tableName)} ${sql(rows)} RETURNING ${require_table_columns.buildReturningColumns(sql, table)}`;
|
|
12
|
-
return sql`INSERT INTO ${sql(table.tableName)} ${sql(rows)}`;
|
|
13
|
-
}
|
|
14
|
-
function createUpdateQuery(sql, table, input, dialectAdapter, supportsReturning) {
|
|
15
|
-
const where = require_serialize.serializeWhereInput(sql, table, input.where, dialectAdapter);
|
|
16
|
-
const row = require_values.mapDataToSqlRow(table, input.data, dialectAdapter);
|
|
17
|
-
if (supportsReturning && input.returning === true) return sql`UPDATE ${sql(table.tableName)} SET ${sql(row)} ${where} RETURNING ${require_table_columns.buildReturningColumns(sql, table)}`;
|
|
18
|
-
return sql`UPDATE ${sql(table.tableName)} SET ${sql(row)} ${where}`;
|
|
19
|
-
}
|
|
20
|
-
function createDeleteQuery(sql, table, input, dialectAdapter, supportsReturning) {
|
|
21
|
-
const where = require_serialize.serializeWhereInput(sql, table, input.where, dialectAdapter);
|
|
22
|
-
if (supportsReturning && input.returning === true) return sql`DELETE FROM ${sql(table.tableName)} ${where} RETURNING ${require_table_columns.buildReturningColumns(sql, table)}`;
|
|
23
|
-
return sql`DELETE FROM ${sql(table.tableName)} ${where}`;
|
|
24
|
-
}
|
|
25
|
-
//#endregion
|
|
26
|
-
exports.createDeleteQuery = createDeleteQuery;
|
|
27
|
-
exports.createInsertManyQuery = createInsertManyQuery;
|
|
28
|
-
exports.createInsertQuery = createInsertQuery;
|
|
29
|
-
exports.createUpdateQuery = createUpdateQuery;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { buildReturningColumns } from "../../internal/table-columns.mjs";
|
|
2
|
-
import { mapDataToSqlRow } from "../../sql/serialize/values.mjs";
|
|
3
|
-
import { serializeWhereInput } from "../../sql/serialize.mjs";
|
|
4
|
-
//#region src/lib/orm/runtime/builders/mutations.ts
|
|
5
|
-
function createInsertQuery(sql, table, input, dialectAdapter, supportsReturning) {
|
|
6
|
-
const row = mapDataToSqlRow(table, input.data, dialectAdapter);
|
|
7
|
-
if (supportsReturning && input.returning === true) return sql`INSERT INTO ${sql(table.tableName)} ${sql(row)} RETURNING ${buildReturningColumns(sql, table)}`;
|
|
8
|
-
return sql`INSERT INTO ${sql(table.tableName)} ${sql(row)}`;
|
|
9
|
-
}
|
|
10
|
-
function createInsertManyQuery(sql, table, rows, supportsReturning) {
|
|
11
|
-
if (supportsReturning) return sql`INSERT INTO ${sql(table.tableName)} ${sql(rows)} RETURNING ${buildReturningColumns(sql, table)}`;
|
|
12
|
-
return sql`INSERT INTO ${sql(table.tableName)} ${sql(rows)}`;
|
|
13
|
-
}
|
|
14
|
-
function createUpdateQuery(sql, table, input, dialectAdapter, supportsReturning) {
|
|
15
|
-
const where = serializeWhereInput(sql, table, input.where, dialectAdapter);
|
|
16
|
-
const row = mapDataToSqlRow(table, input.data, dialectAdapter);
|
|
17
|
-
if (supportsReturning && input.returning === true) return sql`UPDATE ${sql(table.tableName)} SET ${sql(row)} ${where} RETURNING ${buildReturningColumns(sql, table)}`;
|
|
18
|
-
return sql`UPDATE ${sql(table.tableName)} SET ${sql(row)} ${where}`;
|
|
19
|
-
}
|
|
20
|
-
function createDeleteQuery(sql, table, input, dialectAdapter, supportsReturning) {
|
|
21
|
-
const where = serializeWhereInput(sql, table, input.where, dialectAdapter);
|
|
22
|
-
if (supportsReturning && input.returning === true) return sql`DELETE FROM ${sql(table.tableName)} ${where} RETURNING ${buildReturningColumns(sql, table)}`;
|
|
23
|
-
return sql`DELETE FROM ${sql(table.tableName)} ${where}`;
|
|
24
|
-
}
|
|
25
|
-
//#endregion
|
|
26
|
-
export { createDeleteQuery, createInsertManyQuery, createInsertQuery, createUpdateQuery };
|
|
27
|
-
|
|
28
|
-
//# sourceMappingURL=mutations.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mutations.mjs","names":[],"sources":["../../../../src/lib/orm/runtime/builders/mutations.ts"],"sourcesContent":["import type { SQL, TransactionSQL } from \"bun\";\nimport { buildReturningColumns } from \"../../internal/table.js\";\nimport { mapDataToSqlRow, serializeWhereInput } from \"../../sql/serialize.js\";\nimport type { Table } from \"../../table.js\";\nimport type {\n ColDefs,\n DeleteBuilderInput,\n DialectAdapter,\n InsertInput,\n TableRow,\n UpdateBuilderInput,\n} from \"../../types.js\";\n\nexport function createInsertQuery<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n input: InsertInput<T> & { returning: true },\n dialectAdapter: DialectAdapter,\n supportsReturning: boolean,\n): SQL.Query<TableRow<T>[]>;\n\nexport function createInsertQuery<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n input: InsertInput<T>,\n dialectAdapter: DialectAdapter,\n supportsReturning: boolean,\n): SQL.Query<unknown>;\n\nexport function createInsertQuery<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n input: InsertInput<T>,\n dialectAdapter: DialectAdapter,\n supportsReturning: boolean,\n) {\n const row = mapDataToSqlRow(\n table,\n input.data as Record<string, unknown>,\n dialectAdapter,\n );\n\n if (supportsReturning && input.returning === true) {\n return sql`INSERT INTO ${sql(table.tableName)} ${sql(row)} RETURNING ${buildReturningColumns(sql, table)}`;\n }\n\n return sql`INSERT INTO ${sql(table.tableName)} ${sql(row)}`;\n}\n\nexport function createInsertManyQuery<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n rows: Array<Record<string, unknown>>,\n supportsReturning: true,\n): SQL.Query<TableRow<T>[]>;\n\nexport function createInsertManyQuery<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n rows: Array<Record<string, unknown>>,\n supportsReturning: boolean,\n): SQL.Query<unknown>;\n\nexport function createInsertManyQuery<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n rows: Array<Record<string, unknown>>,\n supportsReturning: boolean,\n) {\n if (supportsReturning) {\n return sql`INSERT INTO ${sql(table.tableName)} ${sql(rows)} RETURNING ${buildReturningColumns(sql, table)}`;\n }\n\n return sql`INSERT INTO ${sql(table.tableName)} ${sql(rows)}`;\n}\n\nexport function createUpdateQuery<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n input: UpdateBuilderInput<T> & { returning: true },\n dialectAdapter: DialectAdapter,\n supportsReturning: boolean,\n): SQL.Query<TableRow<T>[]>;\n\nexport function createUpdateQuery<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n input: UpdateBuilderInput<T>,\n dialectAdapter: DialectAdapter,\n supportsReturning: boolean,\n): SQL.Query<unknown>;\n\nexport function createUpdateQuery<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n input: UpdateBuilderInput<T>,\n dialectAdapter: DialectAdapter,\n supportsReturning: boolean,\n) {\n const where = serializeWhereInput(sql, table, input.where, dialectAdapter);\n const row = mapDataToSqlRow(\n table,\n input.data as Record<string, unknown>,\n dialectAdapter,\n );\n\n if (supportsReturning && input.returning === true) {\n return sql`UPDATE ${sql(table.tableName)} SET ${sql(row)} ${where} RETURNING ${buildReturningColumns(sql, table)}`;\n }\n\n return sql`UPDATE ${sql(table.tableName)} SET ${sql(row)} ${where}`;\n}\n\nexport function createDeleteQuery<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n input: DeleteBuilderInput<T> & { returning: true },\n dialectAdapter: DialectAdapter,\n supportsReturning: boolean,\n): SQL.Query<TableRow<T>[]>;\n\nexport function createDeleteQuery<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n input: DeleteBuilderInput<T>,\n dialectAdapter: DialectAdapter,\n supportsReturning: boolean,\n): SQL.Query<unknown>;\n\nexport function createDeleteQuery<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n input: DeleteBuilderInput<T>,\n dialectAdapter: DialectAdapter,\n supportsReturning: boolean,\n) {\n const where = serializeWhereInput(sql, table, input.where, dialectAdapter);\n\n if (supportsReturning && input.returning === true) {\n return sql`DELETE FROM ${sql(table.tableName)} ${where} RETURNING ${buildReturningColumns(sql, table)}`;\n }\n\n return sql`DELETE FROM ${sql(table.tableName)} ${where}`;\n}\n"],"mappings":";;;;AA6BA,SAAgB,kBACd,KACA,OACA,OACA,gBACA,mBACA;CACA,MAAM,MAAM,gBACV,OACA,MAAM,MACN,eACD;AAED,KAAI,qBAAqB,MAAM,cAAc,KAC3C,QAAO,GAAG,eAAe,IAAI,MAAM,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,aAAa,sBAAsB,KAAK,MAAM;AAG1G,QAAO,GAAG,eAAe,IAAI,MAAM,UAAU,CAAC,GAAG,IAAI,IAAI;;AAiB3D,SAAgB,sBACd,KACA,OACA,MACA,mBACA;AACA,KAAI,kBACF,QAAO,GAAG,eAAe,IAAI,MAAM,UAAU,CAAC,GAAG,IAAI,KAAK,CAAC,aAAa,sBAAsB,KAAK,MAAM;AAG3G,QAAO,GAAG,eAAe,IAAI,MAAM,UAAU,CAAC,GAAG,IAAI,KAAK;;AAmB5D,SAAgB,kBACd,KACA,OACA,OACA,gBACA,mBACA;CACA,MAAM,QAAQ,oBAAoB,KAAK,OAAO,MAAM,OAAO,eAAe;CAC1E,MAAM,MAAM,gBACV,OACA,MAAM,MACN,eACD;AAED,KAAI,qBAAqB,MAAM,cAAc,KAC3C,QAAO,GAAG,UAAU,IAAI,MAAM,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,MAAM,aAAa,sBAAsB,KAAK,MAAM;AAGlH,QAAO,GAAG,UAAU,IAAI,MAAM,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG;;AAmB9D,SAAgB,kBACd,KACA,OACA,OACA,gBACA,mBACA;CACA,MAAM,QAAQ,oBAAoB,KAAK,OAAO,MAAM,OAAO,eAAe;AAE1E,KAAI,qBAAqB,MAAM,cAAc,KAC3C,QAAO,GAAG,eAAe,IAAI,MAAM,UAAU,CAAC,GAAG,MAAM,aAAa,sBAAsB,KAAK,MAAM;AAGvG,QAAO,GAAG,eAAe,IAAI,MAAM,UAAU,CAAC,GAAG"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
const require_serialize = require("../../sql/serialize.cjs");
|
|
2
|
-
//#region src/lib/orm/runtime/builders/select.ts
|
|
3
|
-
function mapFindInputToSelect(input) {
|
|
4
|
-
if (!input) return {};
|
|
5
|
-
return {
|
|
6
|
-
where: input.where,
|
|
7
|
-
include: input.include,
|
|
8
|
-
orderBy: input.orderBy,
|
|
9
|
-
limit: input.take,
|
|
10
|
-
offset: input.skip
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
function createSelectQuery(sql, table, relations, input, dialectAdapter) {
|
|
14
|
-
return require_serialize.serializeSelectInput(sql, table, relations, input, dialectAdapter);
|
|
15
|
-
}
|
|
16
|
-
//#endregion
|
|
17
|
-
exports.createSelectQuery = createSelectQuery;
|
|
18
|
-
exports.mapFindInputToSelect = mapFindInputToSelect;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { serializeSelectInput } from "../../sql/serialize.mjs";
|
|
2
|
-
//#region src/lib/orm/runtime/builders/select.ts
|
|
3
|
-
function mapFindInputToSelect(input) {
|
|
4
|
-
if (!input) return {};
|
|
5
|
-
return {
|
|
6
|
-
where: input.where,
|
|
7
|
-
include: input.include,
|
|
8
|
-
orderBy: input.orderBy,
|
|
9
|
-
limit: input.take,
|
|
10
|
-
offset: input.skip
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
function createSelectQuery(sql, table, relations, input, dialectAdapter) {
|
|
14
|
-
return serializeSelectInput(sql, table, relations, input, dialectAdapter);
|
|
15
|
-
}
|
|
16
|
-
//#endregion
|
|
17
|
-
export { createSelectQuery, mapFindInputToSelect };
|
|
18
|
-
|
|
19
|
-
//# sourceMappingURL=select.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select.mjs","names":[],"sources":["../../../../src/lib/orm/runtime/builders/select.ts"],"sourcesContent":["import type { SQL, TransactionSQL } from \"bun\";\nimport { serializeSelectInput } from \"../../sql/serialize.js\";\nimport type { Table } from \"../../table.js\";\nimport type {\n ColDefs,\n DialectAdapter,\n FindManyInput,\n RelationDefs,\n SelectInput,\n} from \"../../types.js\";\n\nexport function mapFindInputToSelect<\n T extends ColDefs,\n TRels extends RelationDefs,\n>(input?: FindManyInput<T, TRels>) {\n if (!input) {\n return {};\n }\n\n return {\n where: input.where,\n include: input.include,\n orderBy: input.orderBy,\n limit: input.take,\n offset: input.skip,\n };\n}\n\nexport function createSelectQuery<\n T extends ColDefs,\n TRels extends RelationDefs,\n>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n relations: TRels,\n input: SelectInput<T, TRels>,\n dialectAdapter: DialectAdapter,\n) {\n return serializeSelectInput(sql, table, relations, input, dialectAdapter);\n}\n"],"mappings":";;AAWA,SAAgB,qBAGd,OAAiC;AACjC,KAAI,CAAC,MACH,QAAO,EAAE;AAGX,QAAO;EACL,OAAO,MAAM;EACb,SAAS,MAAM;EACf,SAAS,MAAM;EACf,OAAO,MAAM;EACb,QAAQ,MAAM;EACf;;AAGH,SAAgB,kBAId,KACA,OACA,WACA,OACA,gBACA;AACA,QAAO,qBAAqB,KAAK,OAAO,WAAW,OAAO,eAAe"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
const require_select = require("./builders/select.cjs");
|
|
2
|
-
const require_context = require("./context.cjs");
|
|
3
|
-
const require_utils = require("./utils.cjs");
|
|
4
|
-
const require_index = require("./dialect/index.cjs");
|
|
5
|
-
const require_errors = require("./errors.cjs");
|
|
6
|
-
const require_hydrate = require("./hydrate.cjs");
|
|
7
|
-
const require_rows = require("./rows.cjs");
|
|
8
|
-
//#region src/lib/orm/runtime/client.ts
|
|
9
|
-
function createTableClient(sql, table, relations, dialectAdapter, allTables, allRelations) {
|
|
10
|
-
const supportsReturning = dialectAdapter.dialect !== "mysql";
|
|
11
|
-
const normalizeCurrentRows = (rows) => require_rows.normalizeRows(dialectAdapter.dialect, table, rows);
|
|
12
|
-
const normalizeTargetRows = (targetTable, rows) => require_rows.normalizeRowsForTable(dialectAdapter.dialect, targetTable, rows);
|
|
13
|
-
const context = require_context.createRuntimeDialectContext({
|
|
14
|
-
runner: sql,
|
|
15
|
-
table,
|
|
16
|
-
relations,
|
|
17
|
-
dialectAdapter,
|
|
18
|
-
supportsReturning,
|
|
19
|
-
normalizeCurrentRows,
|
|
20
|
-
executeOrThrow: require_errors.executeOrThrow
|
|
21
|
-
});
|
|
22
|
-
function insertQuery(input) {
|
|
23
|
-
if (input.returning === true) return context.insertReturning({
|
|
24
|
-
...input,
|
|
25
|
-
returning: true
|
|
26
|
-
});
|
|
27
|
-
return context.insert(input);
|
|
28
|
-
}
|
|
29
|
-
function updateQuery(input) {
|
|
30
|
-
if (input.returning === true) return context.updateReturning({
|
|
31
|
-
...input,
|
|
32
|
-
returning: true
|
|
33
|
-
});
|
|
34
|
-
return context.update(input);
|
|
35
|
-
}
|
|
36
|
-
function deleteQuery(input) {
|
|
37
|
-
if (input.returning === true) return context.deleteReturning({
|
|
38
|
-
...input,
|
|
39
|
-
returning: true
|
|
40
|
-
});
|
|
41
|
-
return context.deleteByWhere(input);
|
|
42
|
-
}
|
|
43
|
-
const hydrateIncludedRelations = require_hydrate.createRelationHydrator({
|
|
44
|
-
sql,
|
|
45
|
-
table,
|
|
46
|
-
relations,
|
|
47
|
-
allTables,
|
|
48
|
-
allRelations,
|
|
49
|
-
normalizeRowsForTable: normalizeTargetRows,
|
|
50
|
-
executeOrThrow: require_errors.executeOrThrow
|
|
51
|
-
});
|
|
52
|
-
const runtimeDialect = require_index.getRuntimeDialect(dialectAdapter.dialect);
|
|
53
|
-
return {
|
|
54
|
-
select: context.select,
|
|
55
|
-
async findMany(input) {
|
|
56
|
-
return hydrateIncludedRelations(await context.selectRows(require_select.mapFindInputToSelect(input)), input?.include);
|
|
57
|
-
},
|
|
58
|
-
async findFirst(input) {
|
|
59
|
-
const rows = await context.selectRows({
|
|
60
|
-
...require_select.mapFindInputToSelect(input),
|
|
61
|
-
limit: 1
|
|
62
|
-
});
|
|
63
|
-
if (input?.include) await hydrateIncludedRelations(rows, input.include);
|
|
64
|
-
return rows[0] ?? null;
|
|
65
|
-
},
|
|
66
|
-
async findUnique(input) {
|
|
67
|
-
return (await context.selectRows({
|
|
68
|
-
where: require_utils.toWhereInput(input.where),
|
|
69
|
-
limit: 1
|
|
70
|
-
}))[0] ?? null;
|
|
71
|
-
},
|
|
72
|
-
insert: insertQuery,
|
|
73
|
-
async create(input) {
|
|
74
|
-
return runtimeDialect.create(context, input);
|
|
75
|
-
},
|
|
76
|
-
async createMany(input) {
|
|
77
|
-
return runtimeDialect.createMany(context, input);
|
|
78
|
-
},
|
|
79
|
-
update: updateQuery,
|
|
80
|
-
async updateMany(input) {
|
|
81
|
-
return runtimeDialect.updateMany(context, input);
|
|
82
|
-
},
|
|
83
|
-
delete: deleteQuery,
|
|
84
|
-
async deleteMany(input) {
|
|
85
|
-
return runtimeDialect.deleteMany(context, input);
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
//#endregion
|
|
90
|
-
exports.createTableClient = createTableClient;
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { mapFindInputToSelect } from "./builders/select.mjs";
|
|
2
|
-
import { createRuntimeDialectContext } from "./context.mjs";
|
|
3
|
-
import { toWhereInput } from "./utils.mjs";
|
|
4
|
-
import { getRuntimeDialect } from "./dialect/index.mjs";
|
|
5
|
-
import { executeOrThrow } from "./errors.mjs";
|
|
6
|
-
import { createRelationHydrator } from "./hydrate.mjs";
|
|
7
|
-
import { normalizeRows, normalizeRowsForTable } from "./rows.mjs";
|
|
8
|
-
//#region src/lib/orm/runtime/client.ts
|
|
9
|
-
function createTableClient(sql, table, relations, dialectAdapter, allTables, allRelations) {
|
|
10
|
-
const supportsReturning = dialectAdapter.dialect !== "mysql";
|
|
11
|
-
const normalizeCurrentRows = (rows) => normalizeRows(dialectAdapter.dialect, table, rows);
|
|
12
|
-
const normalizeTargetRows = (targetTable, rows) => normalizeRowsForTable(dialectAdapter.dialect, targetTable, rows);
|
|
13
|
-
const context = createRuntimeDialectContext({
|
|
14
|
-
runner: sql,
|
|
15
|
-
table,
|
|
16
|
-
relations,
|
|
17
|
-
dialectAdapter,
|
|
18
|
-
supportsReturning,
|
|
19
|
-
normalizeCurrentRows,
|
|
20
|
-
executeOrThrow
|
|
21
|
-
});
|
|
22
|
-
function insertQuery(input) {
|
|
23
|
-
if (input.returning === true) return context.insertReturning({
|
|
24
|
-
...input,
|
|
25
|
-
returning: true
|
|
26
|
-
});
|
|
27
|
-
return context.insert(input);
|
|
28
|
-
}
|
|
29
|
-
function updateQuery(input) {
|
|
30
|
-
if (input.returning === true) return context.updateReturning({
|
|
31
|
-
...input,
|
|
32
|
-
returning: true
|
|
33
|
-
});
|
|
34
|
-
return context.update(input);
|
|
35
|
-
}
|
|
36
|
-
function deleteQuery(input) {
|
|
37
|
-
if (input.returning === true) return context.deleteReturning({
|
|
38
|
-
...input,
|
|
39
|
-
returning: true
|
|
40
|
-
});
|
|
41
|
-
return context.deleteByWhere(input);
|
|
42
|
-
}
|
|
43
|
-
const hydrateIncludedRelations = createRelationHydrator({
|
|
44
|
-
sql,
|
|
45
|
-
table,
|
|
46
|
-
relations,
|
|
47
|
-
allTables,
|
|
48
|
-
allRelations,
|
|
49
|
-
normalizeRowsForTable: normalizeTargetRows,
|
|
50
|
-
executeOrThrow
|
|
51
|
-
});
|
|
52
|
-
const runtimeDialect = getRuntimeDialect(dialectAdapter.dialect);
|
|
53
|
-
return {
|
|
54
|
-
select: context.select,
|
|
55
|
-
async findMany(input) {
|
|
56
|
-
return hydrateIncludedRelations(await context.selectRows(mapFindInputToSelect(input)), input?.include);
|
|
57
|
-
},
|
|
58
|
-
async findFirst(input) {
|
|
59
|
-
const rows = await context.selectRows({
|
|
60
|
-
...mapFindInputToSelect(input),
|
|
61
|
-
limit: 1
|
|
62
|
-
});
|
|
63
|
-
if (input?.include) await hydrateIncludedRelations(rows, input.include);
|
|
64
|
-
return rows[0] ?? null;
|
|
65
|
-
},
|
|
66
|
-
async findUnique(input) {
|
|
67
|
-
return (await context.selectRows({
|
|
68
|
-
where: toWhereInput(input.where),
|
|
69
|
-
limit: 1
|
|
70
|
-
}))[0] ?? null;
|
|
71
|
-
},
|
|
72
|
-
insert: insertQuery,
|
|
73
|
-
async create(input) {
|
|
74
|
-
return runtimeDialect.create(context, input);
|
|
75
|
-
},
|
|
76
|
-
async createMany(input) {
|
|
77
|
-
return runtimeDialect.createMany(context, input);
|
|
78
|
-
},
|
|
79
|
-
update: updateQuery,
|
|
80
|
-
async updateMany(input) {
|
|
81
|
-
return runtimeDialect.updateMany(context, input);
|
|
82
|
-
},
|
|
83
|
-
delete: deleteQuery,
|
|
84
|
-
async deleteMany(input) {
|
|
85
|
-
return runtimeDialect.deleteMany(context, input);
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
//#endregion
|
|
90
|
-
export { createTableClient };
|
|
91
|
-
|
|
92
|
-
//# sourceMappingURL=client.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.mjs","names":[],"sources":["../../../src/lib/orm/runtime/client.ts"],"sourcesContent":["import type { SQL, TransactionSQL } from \"bun\";\nimport type { Table } from \"../table.js\";\nimport type {\n ColDefs,\n CreateInput,\n CreateManyInput,\n DeleteBuilderInput,\n DeleteManyInput,\n DialectAdapter,\n FindFirstInput,\n FindManyInput,\n FindUniqueInput,\n InsertInput,\n RelationDefs,\n TableRow,\n TinyTableClient,\n UpdateBuilderInput,\n UpdateManyInput,\n} from \"../types.js\";\nimport { mapFindInputToSelect } from \"./builders.js\";\nimport { createRuntimeDialectContext } from \"./context.js\";\nimport { getRuntimeDialect } from \"./dialect/index.js\";\nimport { executeOrThrow } from \"./errors.js\";\nimport { createRelationHydrator } from \"./hydrate.js\";\nimport { normalizeRows, normalizeRowsForTable } from \"./rows.js\";\nimport { toWhereInput } from \"./utils.js\";\n\nexport function createTableClient<\n T extends ColDefs,\n TRels extends RelationDefs,\n>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n relations: TRels,\n dialectAdapter: DialectAdapter,\n allTables: Record<string, Table<ColDefs>>,\n allRelations: Partial<Record<string, RelationDefs>>,\n): TinyTableClient<T, TRels> {\n const supportsReturning = dialectAdapter.dialect !== \"mysql\";\n\n const normalizeCurrentRows = (rows: TableRow<T>[]) =>\n normalizeRows(dialectAdapter.dialect, table, rows);\n\n const normalizeTargetRows = (\n targetTable: Table<ColDefs>,\n rows: Record<string, unknown>[],\n ) => normalizeRowsForTable(dialectAdapter.dialect, targetTable, rows);\n\n const context = createRuntimeDialectContext({\n runner: sql,\n table,\n relations,\n dialectAdapter,\n supportsReturning,\n normalizeCurrentRows,\n executeOrThrow,\n });\n\n function insertQuery(\n input: InsertInput<T> & { returning: true },\n ): SQL.Query<TableRow<T>[]>;\n function insertQuery(input: InsertInput<T>): SQL.Query<unknown>;\n function insertQuery(input: InsertInput<T>) {\n if (input.returning === true) {\n return context.insertReturning({ ...input, returning: true });\n }\n\n return context.insert(input);\n }\n\n function updateQuery(\n input: UpdateBuilderInput<T> & { returning: true },\n ): SQL.Query<TableRow<T>[]>;\n function updateQuery(input: UpdateBuilderInput<T>): SQL.Query<unknown>;\n function updateQuery(input: UpdateBuilderInput<T>) {\n if (input.returning === true) {\n return context.updateReturning({ ...input, returning: true });\n }\n\n return context.update(input);\n }\n\n function deleteQuery(\n input: DeleteBuilderInput<T> & { returning: true },\n ): SQL.Query<TableRow<T>[]>;\n function deleteQuery(input: DeleteBuilderInput<T>): SQL.Query<unknown>;\n function deleteQuery(input: DeleteBuilderInput<T>) {\n if (input.returning === true) {\n return context.deleteReturning({ ...input, returning: true });\n }\n\n return context.deleteByWhere(input);\n }\n\n const hydrateIncludedRelations = createRelationHydrator({\n sql,\n table,\n relations,\n allTables,\n allRelations,\n normalizeRowsForTable: normalizeTargetRows,\n executeOrThrow,\n });\n\n const runtimeDialect = getRuntimeDialect<T, TRels>(dialectAdapter.dialect);\n\n return {\n select: context.select,\n\n async findMany(input?: FindManyInput<T, TRels>) {\n const rows = await context.selectRows(mapFindInputToSelect(input));\n return hydrateIncludedRelations(rows, input?.include);\n },\n\n async findFirst(input?: FindFirstInput<T, TRels>) {\n const rows = await context.selectRows({\n ...mapFindInputToSelect(input),\n limit: 1,\n });\n\n if (input?.include) {\n await hydrateIncludedRelations(rows, input.include);\n }\n\n return rows[0] ?? null;\n },\n\n async findUnique(input: FindUniqueInput<T>) {\n const rows = await context.selectRows({\n where: toWhereInput<T>(input.where) as FindManyInput<\n T,\n Record<never, never>\n >[\"where\"],\n limit: 1,\n });\n return rows[0] ?? null;\n },\n\n insert: insertQuery,\n\n async create(input: CreateInput<T>) {\n return runtimeDialect.create(context, input);\n },\n\n async createMany(input: CreateManyInput<T>) {\n return runtimeDialect.createMany(context, input);\n },\n\n update: updateQuery,\n\n async updateMany(input: UpdateManyInput<T>) {\n return runtimeDialect.updateMany(context, input);\n },\n\n delete: deleteQuery,\n\n async deleteMany(input: DeleteManyInput<T>) {\n return runtimeDialect.deleteMany(context, input);\n },\n };\n}\n"],"mappings":";;;;;;;;AA2BA,SAAgB,kBAId,KACA,OACA,WACA,gBACA,WACA,cAC2B;CAC3B,MAAM,oBAAoB,eAAe,YAAY;CAErD,MAAM,wBAAwB,SAC5B,cAAc,eAAe,SAAS,OAAO,KAAK;CAEpD,MAAM,uBACJ,aACA,SACG,sBAAsB,eAAe,SAAS,aAAa,KAAK;CAErE,MAAM,UAAU,4BAA4B;EAC1C,QAAQ;EACR;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;CAMF,SAAS,YAAY,OAAuB;AAC1C,MAAI,MAAM,cAAc,KACtB,QAAO,QAAQ,gBAAgB;GAAE,GAAG;GAAO,WAAW;GAAM,CAAC;AAG/D,SAAO,QAAQ,OAAO,MAAM;;CAO9B,SAAS,YAAY,OAA8B;AACjD,MAAI,MAAM,cAAc,KACtB,QAAO,QAAQ,gBAAgB;GAAE,GAAG;GAAO,WAAW;GAAM,CAAC;AAG/D,SAAO,QAAQ,OAAO,MAAM;;CAO9B,SAAS,YAAY,OAA8B;AACjD,MAAI,MAAM,cAAc,KACtB,QAAO,QAAQ,gBAAgB;GAAE,GAAG;GAAO,WAAW;GAAM,CAAC;AAG/D,SAAO,QAAQ,cAAc,MAAM;;CAGrC,MAAM,2BAA2B,uBAAuB;EACtD;EACA;EACA;EACA;EACA;EACA,uBAAuB;EACvB;EACD,CAAC;CAEF,MAAM,iBAAiB,kBAA4B,eAAe,QAAQ;AAE1E,QAAO;EACL,QAAQ,QAAQ;EAEhB,MAAM,SAAS,OAAiC;AAE9C,UAAO,yBADM,MAAM,QAAQ,WAAW,qBAAqB,MAAM,CAAC,EAC5B,OAAO,QAAQ;;EAGvD,MAAM,UAAU,OAAkC;GAChD,MAAM,OAAO,MAAM,QAAQ,WAAW;IACpC,GAAG,qBAAqB,MAAM;IAC9B,OAAO;IACR,CAAC;AAEF,OAAI,OAAO,QACT,OAAM,yBAAyB,MAAM,MAAM,QAAQ;AAGrD,UAAO,KAAK,MAAM;;EAGpB,MAAM,WAAW,OAA2B;AAQ1C,WAPa,MAAM,QAAQ,WAAW;IACpC,OAAO,aAAgB,MAAM,MAAM;IAInC,OAAO;IACR,CAAC,EACU,MAAM;;EAGpB,QAAQ;EAER,MAAM,OAAO,OAAuB;AAClC,UAAO,eAAe,OAAO,SAAS,MAAM;;EAG9C,MAAM,WAAW,OAA2B;AAC1C,UAAO,eAAe,WAAW,SAAS,MAAM;;EAGlD,QAAQ;EAER,MAAM,WAAW,OAA2B;AAC1C,UAAO,eAAe,WAAW,SAAS,MAAM;;EAGlD,QAAQ;EAER,MAAM,WAAW,OAA2B;AAC1C,UAAO,eAAe,WAAW,SAAS,MAAM;;EAEnD"}
|