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
package/dist/orm/column.mjs
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
//#region src/lib/orm/column.ts
|
|
2
|
-
var ColumnDef = class ColumnDef {
|
|
3
|
-
constructor(kind, meta) {
|
|
4
|
-
this.kind = kind;
|
|
5
|
-
this.meta = meta;
|
|
6
|
-
}
|
|
7
|
-
primaryKey() {
|
|
8
|
-
return new ColumnDef(this.kind, {
|
|
9
|
-
...this.meta,
|
|
10
|
-
isPrimaryKey: true,
|
|
11
|
-
isNotNull: true
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
asArray() {
|
|
15
|
-
return new ColumnDef(this.kind, {
|
|
16
|
-
...this.meta,
|
|
17
|
-
isSqlArray: true
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
notNull() {
|
|
21
|
-
return new ColumnDef(this.kind, {
|
|
22
|
-
...this.meta,
|
|
23
|
-
isNotNull: true
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
unique() {
|
|
27
|
-
return new ColumnDef(this.kind, {
|
|
28
|
-
...this.meta,
|
|
29
|
-
isUnique: true
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
references(fn) {
|
|
33
|
-
return new ColumnDef(this.kind, {
|
|
34
|
-
...this.meta,
|
|
35
|
-
references: fn
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
onDelete(action) {
|
|
39
|
-
return new ColumnDef(this.kind, {
|
|
40
|
-
...this.meta,
|
|
41
|
-
onDeleteAction: action
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
default(value) {
|
|
45
|
-
return new ColumnDef(this.kind, {
|
|
46
|
-
...this.meta,
|
|
47
|
-
hasDefault: true,
|
|
48
|
-
defaultKind: "value",
|
|
49
|
-
defaultValue: value,
|
|
50
|
-
defaultFn: null
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
defaultFn(fn) {
|
|
54
|
-
return new ColumnDef(this.kind, {
|
|
55
|
-
...this.meta,
|
|
56
|
-
hasDefault: true,
|
|
57
|
-
defaultKind: "fn",
|
|
58
|
-
defaultValue: void 0,
|
|
59
|
-
defaultFn: fn
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
const defaultMeta = {
|
|
64
|
-
isSqlArray: false,
|
|
65
|
-
isPrimaryKey: false,
|
|
66
|
-
isNotNull: false,
|
|
67
|
-
isUnique: false,
|
|
68
|
-
isEnum: false,
|
|
69
|
-
enumValues: null,
|
|
70
|
-
enumName: null,
|
|
71
|
-
hasDefault: false,
|
|
72
|
-
defaultKind: null,
|
|
73
|
-
defaultValue: void 0,
|
|
74
|
-
defaultFn: null,
|
|
75
|
-
references: null,
|
|
76
|
-
onDeleteAction: null
|
|
77
|
-
};
|
|
78
|
-
function uuid(sqlName) {
|
|
79
|
-
return new ColumnDef("uuid", {
|
|
80
|
-
...defaultMeta,
|
|
81
|
-
sqlName
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
function string(sqlName) {
|
|
85
|
-
return new ColumnDef("string", {
|
|
86
|
-
...defaultMeta,
|
|
87
|
-
sqlName
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
function enumeration(sqlName, enumName, values) {
|
|
91
|
-
return new ColumnDef("enum", {
|
|
92
|
-
...defaultMeta,
|
|
93
|
-
isEnum: true,
|
|
94
|
-
enumValues: values,
|
|
95
|
-
enumName,
|
|
96
|
-
sqlName
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
function number(sqlName) {
|
|
100
|
-
return new ColumnDef("number", {
|
|
101
|
-
...defaultMeta,
|
|
102
|
-
sqlName
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
function boolean(sqlName) {
|
|
106
|
-
return new ColumnDef("boolean", {
|
|
107
|
-
...defaultMeta,
|
|
108
|
-
sqlName
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
function date(sqlName) {
|
|
112
|
-
return new ColumnDef("date", {
|
|
113
|
-
...defaultMeta,
|
|
114
|
-
sqlName
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
function json(sqlName) {
|
|
118
|
-
return new ColumnDef("json", {
|
|
119
|
-
...defaultMeta,
|
|
120
|
-
sqlName
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
function jsonb(sqlName) {
|
|
124
|
-
return new ColumnDef("jsonb", {
|
|
125
|
-
...defaultMeta,
|
|
126
|
-
sqlName
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
//#endregion
|
|
130
|
-
export { boolean, date, enumeration, json, jsonb, number, string, uuid };
|
|
131
|
-
|
|
132
|
-
//# sourceMappingURL=column.mjs.map
|
package/dist/orm/column.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"column.mjs","names":[],"sources":["../../src/lib/orm/column.ts"],"sourcesContent":["import type { ColumnKind, ColumnMetaBase, KindToType } from \"./types.js\";\n\nexport class ColumnDef<\n K extends ColumnKind,\n TMeta extends ColumnMetaBase,\n TValue = KindToType<K>,\n> {\n public constructor(\n public readonly kind: K,\n public readonly meta: TMeta,\n ) {}\n\n public primaryKey() {\n return new ColumnDef<\n K,\n TMeta & { isPrimaryKey: true; isNotNull: true },\n TValue\n >(this.kind, {\n ...this.meta,\n isPrimaryKey: true as const,\n isNotNull: true as const,\n });\n }\n\n public asArray() {\n return new ColumnDef<\n K,\n TMeta & { isSqlArray: true },\n [TValue] extends [unknown[]] ? TValue : TValue[]\n >(this.kind, {\n ...this.meta,\n isSqlArray: true as const,\n });\n }\n\n public notNull() {\n return new ColumnDef<K, TMeta & { isNotNull: true }, TValue>(this.kind, {\n ...this.meta,\n isNotNull: true as const,\n });\n }\n\n public unique() {\n return new ColumnDef<K, TMeta & { isUnique: true }, TValue>(this.kind, {\n ...this.meta,\n isUnique: true as const,\n });\n }\n\n public references(fn: () => ColumnDef<ColumnKind, ColumnMetaBase, unknown>) {\n return new ColumnDef<\n K,\n TMeta & {\n references: () => ColumnDef<ColumnKind, ColumnMetaBase, unknown>;\n },\n TValue\n >(this.kind, { ...this.meta, references: fn });\n }\n\n public onDelete(action: \"CASCADE\" | \"RESTRICT\" | \"SET NULL\") {\n return new ColumnDef<\n K,\n TMeta & { onDeleteAction: \"CASCADE\" | \"RESTRICT\" | \"SET NULL\" },\n TValue\n >(this.kind, { ...this.meta, onDeleteAction: action });\n }\n\n public default(value: TValue) {\n return new ColumnDef<\n K,\n TMeta & { hasDefault: true; defaultKind: \"value\" },\n TValue\n >(this.kind, {\n ...this.meta,\n hasDefault: true as const,\n defaultKind: \"value\" as const,\n defaultValue: value,\n defaultFn: null,\n });\n }\n\n public defaultFn(fn: () => TValue) {\n return new ColumnDef<\n K,\n TMeta & { hasDefault: true; defaultKind: \"fn\" },\n TValue\n >(this.kind, {\n ...this.meta,\n hasDefault: true as const,\n defaultKind: \"fn\" as const,\n defaultValue: undefined,\n defaultFn: fn,\n });\n }\n}\n\n// Using explicit Omit<ColumnMetaBase, \"sqlName\"> annotation so boolean fields are typed\n// as `boolean` (not literal `false`). This is required for the chaining methods to work:\n// { isPrimaryKey: boolean } & { isPrimaryKey: true } = { isPrimaryKey: true }\n// vs { isPrimaryKey: false } & { isPrimaryKey: true } = { isPrimaryKey: never }\nconst defaultMeta: Omit<ColumnMetaBase, \"sqlName\"> = {\n isSqlArray: false,\n isPrimaryKey: false,\n isNotNull: false,\n isUnique: false,\n isEnum: false,\n enumValues: null,\n enumName: null,\n hasDefault: false,\n defaultKind: null,\n defaultValue: undefined,\n defaultFn: null,\n references: null,\n onDeleteAction: null,\n};\n\nexport function uuid(sqlName: string) {\n return new ColumnDef(\"uuid\", { ...defaultMeta, sqlName });\n}\n\nexport function string(sqlName: string) {\n return new ColumnDef(\"string\", { ...defaultMeta, sqlName });\n}\n\nexport function enumeration<const TValues extends string[]>(\n sqlName: string,\n enumName: string,\n values: TValues,\n) {\n return new ColumnDef<\"enum\", ColumnMetaBase, TValues[number]>(\"enum\", {\n ...defaultMeta,\n isEnum: true,\n enumValues: values,\n enumName,\n sqlName,\n });\n}\n\nexport { enumeration as enumColumn };\n\nexport function number(sqlName: string) {\n return new ColumnDef(\"number\", { ...defaultMeta, sqlName });\n}\n\nexport function boolean(sqlName: string) {\n return new ColumnDef(\"boolean\", { ...defaultMeta, sqlName });\n}\n\nexport function date(sqlName: string) {\n return new ColumnDef(\"date\", { ...defaultMeta, sqlName });\n}\n\nexport function json<const T>(sqlName: string) {\n return new ColumnDef<\"json\", ColumnMetaBase, T>(\"json\", {\n ...defaultMeta,\n sqlName,\n });\n}\n\nexport function jsonb<const T>(sqlName: string) {\n return new ColumnDef<\"jsonb\", ColumnMetaBase, T>(\"jsonb\", {\n ...defaultMeta,\n sqlName,\n });\n}\n"],"mappings":";AAEA,IAAa,YAAb,MAAa,UAIX;CACA,YACE,MACA,MACA;AAFgB,OAAA,OAAA;AACA,OAAA,OAAA;;CAGlB,aAAoB;AAClB,SAAO,IAAI,UAIT,KAAK,MAAM;GACX,GAAG,KAAK;GACR,cAAc;GACd,WAAW;GACZ,CAAC;;CAGJ,UAAiB;AACf,SAAO,IAAI,UAIT,KAAK,MAAM;GACX,GAAG,KAAK;GACR,YAAY;GACb,CAAC;;CAGJ,UAAiB;AACf,SAAO,IAAI,UAAkD,KAAK,MAAM;GACtE,GAAG,KAAK;GACR,WAAW;GACZ,CAAC;;CAGJ,SAAgB;AACd,SAAO,IAAI,UAAiD,KAAK,MAAM;GACrE,GAAG,KAAK;GACR,UAAU;GACX,CAAC;;CAGJ,WAAkB,IAA0D;AAC1E,SAAO,IAAI,UAMT,KAAK,MAAM;GAAE,GAAG,KAAK;GAAM,YAAY;GAAI,CAAC;;CAGhD,SAAgB,QAA6C;AAC3D,SAAO,IAAI,UAIT,KAAK,MAAM;GAAE,GAAG,KAAK;GAAM,gBAAgB;GAAQ,CAAC;;CAGxD,QAAe,OAAe;AAC5B,SAAO,IAAI,UAIT,KAAK,MAAM;GACX,GAAG,KAAK;GACR,YAAY;GACZ,aAAa;GACb,cAAc;GACd,WAAW;GACZ,CAAC;;CAGJ,UAAiB,IAAkB;AACjC,SAAO,IAAI,UAIT,KAAK,MAAM;GACX,GAAG,KAAK;GACR,YAAY;GACZ,aAAa;GACb,cAAc,KAAA;GACd,WAAW;GACZ,CAAC;;;AAQN,MAAM,cAA+C;CACnD,YAAY;CACZ,cAAc;CACd,WAAW;CACX,UAAU;CACV,QAAQ;CACR,YAAY;CACZ,UAAU;CACV,YAAY;CACZ,aAAa;CACb,cAAc,KAAA;CACd,WAAW;CACX,YAAY;CACZ,gBAAgB;CACjB;AAED,SAAgB,KAAK,SAAiB;AACpC,QAAO,IAAI,UAAU,QAAQ;EAAE,GAAG;EAAa;EAAS,CAAC;;AAG3D,SAAgB,OAAO,SAAiB;AACtC,QAAO,IAAI,UAAU,UAAU;EAAE,GAAG;EAAa;EAAS,CAAC;;AAG7D,SAAgB,YACd,SACA,UACA,QACA;AACA,QAAO,IAAI,UAAmD,QAAQ;EACpE,GAAG;EACH,QAAQ;EACR,YAAY;EACZ;EACA;EACD,CAAC;;AAKJ,SAAgB,OAAO,SAAiB;AACtC,QAAO,IAAI,UAAU,UAAU;EAAE,GAAG;EAAa;EAAS,CAAC;;AAG7D,SAAgB,QAAQ,SAAiB;AACvC,QAAO,IAAI,UAAU,WAAW;EAAE,GAAG;EAAa;EAAS,CAAC;;AAG9D,SAAgB,KAAK,SAAiB;AACpC,QAAO,IAAI,UAAU,QAAQ;EAAE,GAAG;EAAa;EAAS,CAAC;;AAG3D,SAAgB,KAAc,SAAiB;AAC7C,QAAO,IAAI,UAAqC,QAAQ;EACtD,GAAG;EACH;EACD,CAAC;;AAGJ,SAAgB,MAAe,SAAiB;AAC9C,QAAO,IAAI,UAAsC,SAAS;EACxD,GAAG;EACH;EACD,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
const require_mysql = require("./mysql.cjs");
|
|
2
|
-
const require_postgres = require("./postgres.cjs");
|
|
3
|
-
const require_sqlite = require("./sqlite.cjs");
|
|
4
|
-
//#region src/lib/orm/dialect/index.ts
|
|
5
|
-
const dialectAdapters = {
|
|
6
|
-
postgres: require_postgres.postgresDialectAdapter,
|
|
7
|
-
mysql: require_mysql.mysqlDialectAdapter,
|
|
8
|
-
sqlite: require_sqlite.sqliteDialectAdapter
|
|
9
|
-
};
|
|
10
|
-
function getDialectAdapter(dialect) {
|
|
11
|
-
return dialectAdapters[dialect];
|
|
12
|
-
}
|
|
13
|
-
//#endregion
|
|
14
|
-
exports.getDialectAdapter = getDialectAdapter;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { mysqlDialectAdapter } from "./mysql.mjs";
|
|
2
|
-
import { postgresDialectAdapter } from "./postgres.mjs";
|
|
3
|
-
import { sqliteDialectAdapter } from "./sqlite.mjs";
|
|
4
|
-
//#region src/lib/orm/dialect/index.ts
|
|
5
|
-
const dialectAdapters = {
|
|
6
|
-
postgres: postgresDialectAdapter,
|
|
7
|
-
mysql: mysqlDialectAdapter,
|
|
8
|
-
sqlite: sqliteDialectAdapter
|
|
9
|
-
};
|
|
10
|
-
function getDialectAdapter(dialect) {
|
|
11
|
-
return dialectAdapters[dialect];
|
|
12
|
-
}
|
|
13
|
-
//#endregion
|
|
14
|
-
export { getDialectAdapter };
|
|
15
|
-
|
|
16
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/lib/orm/dialect/index.ts"],"sourcesContent":["import type { Dialect, DialectAdapter } from \"../types.js\";\nimport { mysqlDialectAdapter } from \"./mysql.js\";\nimport { postgresDialectAdapter } from \"./postgres.js\";\nimport { sqliteDialectAdapter } from \"./sqlite.js\";\n\nconst dialectAdapters = {\n postgres: postgresDialectAdapter,\n mysql: mysqlDialectAdapter,\n sqlite: sqliteDialectAdapter,\n} satisfies Record<Dialect, DialectAdapter>;\n\nexport function getDialectAdapter(dialect: Dialect): DialectAdapter {\n return dialectAdapters[dialect];\n}\n"],"mappings":";;;;AAKA,MAAM,kBAAkB;CACtB,UAAU;CACV,OAAO;CACP,QAAQ;CACT;AAED,SAAgB,kBAAkB,SAAkC;AAClE,QAAO,gBAAgB"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
//#region src/lib/orm/dialect/mysql.ts
|
|
2
|
-
function escapeLike(s) {
|
|
3
|
-
return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
|
|
4
|
-
}
|
|
5
|
-
const mysqlDialectAdapter = {
|
|
6
|
-
dialect: "mysql",
|
|
7
|
-
likeKeyword: "LIKE",
|
|
8
|
-
quoteIdentifier(identifier) {
|
|
9
|
-
return `\`${identifier.replaceAll("`", "``")}\``;
|
|
10
|
-
},
|
|
11
|
-
serializeValue(kind, value) {
|
|
12
|
-
if (kind === "date") {
|
|
13
|
-
if (value instanceof Date) return value.toISOString();
|
|
14
|
-
return value;
|
|
15
|
-
}
|
|
16
|
-
if (kind === "json" || kind === "jsonb") return JSON.stringify(value);
|
|
17
|
-
if (kind === "boolean") {
|
|
18
|
-
if (value === true) return 1;
|
|
19
|
-
if (value === false) return 0;
|
|
20
|
-
}
|
|
21
|
-
return value;
|
|
22
|
-
},
|
|
23
|
-
renderLikePattern(mode, value) {
|
|
24
|
-
const escaped = escapeLike(value);
|
|
25
|
-
if (mode === "startsWith") return `${escaped}%`;
|
|
26
|
-
if (mode === "endsWith") return `%${escaped}`;
|
|
27
|
-
return `%${escaped}%`;
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
//#endregion
|
|
31
|
-
exports.mysqlDialectAdapter = mysqlDialectAdapter;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
//#region src/lib/orm/dialect/mysql.ts
|
|
2
|
-
function escapeLike(s) {
|
|
3
|
-
return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
|
|
4
|
-
}
|
|
5
|
-
const mysqlDialectAdapter = {
|
|
6
|
-
dialect: "mysql",
|
|
7
|
-
likeKeyword: "LIKE",
|
|
8
|
-
quoteIdentifier(identifier) {
|
|
9
|
-
return `\`${identifier.replaceAll("`", "``")}\``;
|
|
10
|
-
},
|
|
11
|
-
serializeValue(kind, value) {
|
|
12
|
-
if (kind === "date") {
|
|
13
|
-
if (value instanceof Date) return value.toISOString();
|
|
14
|
-
return value;
|
|
15
|
-
}
|
|
16
|
-
if (kind === "json" || kind === "jsonb") return JSON.stringify(value);
|
|
17
|
-
if (kind === "boolean") {
|
|
18
|
-
if (value === true) return 1;
|
|
19
|
-
if (value === false) return 0;
|
|
20
|
-
}
|
|
21
|
-
return value;
|
|
22
|
-
},
|
|
23
|
-
renderLikePattern(mode, value) {
|
|
24
|
-
const escaped = escapeLike(value);
|
|
25
|
-
if (mode === "startsWith") return `${escaped}%`;
|
|
26
|
-
if (mode === "endsWith") return `%${escaped}`;
|
|
27
|
-
return `%${escaped}%`;
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
//#endregion
|
|
31
|
-
export { mysqlDialectAdapter };
|
|
32
|
-
|
|
33
|
-
//# sourceMappingURL=mysql.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.mjs","names":[],"sources":["../../../src/lib/orm/dialect/mysql.ts"],"sourcesContent":["import type { DialectAdapter } from \"../types.js\";\n\nfunction escapeLike(s: string) {\n return s.replaceAll(\"%\", \"\\\\%\").replaceAll(\"_\", \"\\\\_\");\n}\n\nexport const mysqlDialectAdapter: DialectAdapter = {\n dialect: \"mysql\",\n likeKeyword: \"LIKE\",\n\n quoteIdentifier(identifier: string) {\n return `\\`${identifier.replaceAll(\"`\", \"``\")}\\``;\n },\n\n serializeValue(kind, value) {\n if (kind === \"date\") {\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n return value;\n }\n\n if (kind === \"json\" || kind === \"jsonb\") {\n return JSON.stringify(value);\n }\n\n if (kind === \"boolean\") {\n if (value === true) return 1;\n if (value === false) return 0;\n }\n\n return value;\n },\n\n renderLikePattern(mode, value) {\n const escaped = escapeLike(value);\n\n if (mode === \"startsWith\") {\n return `${escaped}%`;\n }\n\n if (mode === \"endsWith\") {\n return `%${escaped}`;\n }\n\n return `%${escaped}%`;\n },\n};\n"],"mappings":";AAEA,SAAS,WAAW,GAAW;AAC7B,QAAO,EAAE,WAAW,KAAK,MAAM,CAAC,WAAW,KAAK,MAAM;;AAGxD,MAAa,sBAAsC;CACjD,SAAS;CACT,aAAa;CAEb,gBAAgB,YAAoB;AAClC,SAAO,KAAK,WAAW,WAAW,KAAK,KAAK,CAAC;;CAG/C,eAAe,MAAM,OAAO;AAC1B,MAAI,SAAS,QAAQ;AACnB,OAAI,iBAAiB,KACnB,QAAO,MAAM,aAAa;AAG5B,UAAO;;AAGT,MAAI,SAAS,UAAU,SAAS,QAC9B,QAAO,KAAK,UAAU,MAAM;AAG9B,MAAI,SAAS,WAAW;AACtB,OAAI,UAAU,KAAM,QAAO;AAC3B,OAAI,UAAU,MAAO,QAAO;;AAG9B,SAAO;;CAGT,kBAAkB,MAAM,OAAO;EAC7B,MAAM,UAAU,WAAW,MAAM;AAEjC,MAAI,SAAS,aACX,QAAO,GAAG,QAAQ;AAGpB,MAAI,SAAS,WACX,QAAO,IAAI;AAGb,SAAO,IAAI,QAAQ;;CAEtB"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
//#region src/lib/orm/dialect/postgres.ts
|
|
2
|
-
function escapeLike(s) {
|
|
3
|
-
return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
|
|
4
|
-
}
|
|
5
|
-
const postgresDialectAdapter = {
|
|
6
|
-
dialect: "postgres",
|
|
7
|
-
likeKeyword: "ILIKE",
|
|
8
|
-
quoteIdentifier(identifier) {
|
|
9
|
-
return `"${identifier.replaceAll("\"", "\"\"")}"`;
|
|
10
|
-
},
|
|
11
|
-
serializeValue(_kind, value) {
|
|
12
|
-
if (value instanceof Date) return value.toISOString();
|
|
13
|
-
return value;
|
|
14
|
-
},
|
|
15
|
-
renderLikePattern(mode, value) {
|
|
16
|
-
const escaped = escapeLike(value);
|
|
17
|
-
if (mode === "startsWith") return `${escaped}%`;
|
|
18
|
-
if (mode === "endsWith") return `%${escaped}`;
|
|
19
|
-
return `%${escaped}%`;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
//#endregion
|
|
23
|
-
exports.postgresDialectAdapter = postgresDialectAdapter;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
//#region src/lib/orm/dialect/postgres.ts
|
|
2
|
-
function escapeLike(s) {
|
|
3
|
-
return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
|
|
4
|
-
}
|
|
5
|
-
const postgresDialectAdapter = {
|
|
6
|
-
dialect: "postgres",
|
|
7
|
-
likeKeyword: "ILIKE",
|
|
8
|
-
quoteIdentifier(identifier) {
|
|
9
|
-
return `"${identifier.replaceAll("\"", "\"\"")}"`;
|
|
10
|
-
},
|
|
11
|
-
serializeValue(_kind, value) {
|
|
12
|
-
if (value instanceof Date) return value.toISOString();
|
|
13
|
-
return value;
|
|
14
|
-
},
|
|
15
|
-
renderLikePattern(mode, value) {
|
|
16
|
-
const escaped = escapeLike(value);
|
|
17
|
-
if (mode === "startsWith") return `${escaped}%`;
|
|
18
|
-
if (mode === "endsWith") return `%${escaped}`;
|
|
19
|
-
return `%${escaped}%`;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
//#endregion
|
|
23
|
-
export { postgresDialectAdapter };
|
|
24
|
-
|
|
25
|
-
//# sourceMappingURL=postgres.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"postgres.mjs","names":[],"sources":["../../../src/lib/orm/dialect/postgres.ts"],"sourcesContent":["import type { DialectAdapter } from \"../types.js\";\n\nfunction escapeLike(s: string) {\n return s.replaceAll(\"%\", \"\\\\%\").replaceAll(\"_\", \"\\\\_\");\n}\n\nexport const postgresDialectAdapter: DialectAdapter = {\n dialect: \"postgres\",\n likeKeyword: \"ILIKE\",\n\n quoteIdentifier(identifier: string) {\n return `\"${identifier.replaceAll('\"', '\"\"')}\"`;\n },\n\n serializeValue(_kind, value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n return value;\n },\n\n renderLikePattern(mode, value) {\n const escaped = escapeLike(value);\n\n if (mode === \"startsWith\") {\n return `${escaped}%`;\n }\n\n if (mode === \"endsWith\") {\n return `%${escaped}`;\n }\n\n return `%${escaped}%`;\n },\n};\n"],"mappings":";AAEA,SAAS,WAAW,GAAW;AAC7B,QAAO,EAAE,WAAW,KAAK,MAAM,CAAC,WAAW,KAAK,MAAM;;AAGxD,MAAa,yBAAyC;CACpD,SAAS;CACT,aAAa;CAEb,gBAAgB,YAAoB;AAClC,SAAO,IAAI,WAAW,WAAW,MAAK,OAAK,CAAC;;CAG9C,eAAe,OAAO,OAAO;AAC3B,MAAI,iBAAiB,KACnB,QAAO,MAAM,aAAa;AAG5B,SAAO;;CAGT,kBAAkB,MAAM,OAAO;EAC7B,MAAM,UAAU,WAAW,MAAM;AAEjC,MAAI,SAAS,aACX,QAAO,GAAG,QAAQ;AAGpB,MAAI,SAAS,WACX,QAAO,IAAI;AAGb,SAAO,IAAI,QAAQ;;CAEtB"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
//#region src/lib/orm/dialect/sqlite.ts
|
|
2
|
-
function escapeLike(s) {
|
|
3
|
-
return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
|
|
4
|
-
}
|
|
5
|
-
const sqliteDialectAdapter = {
|
|
6
|
-
dialect: "sqlite",
|
|
7
|
-
likeKeyword: "LIKE",
|
|
8
|
-
quoteIdentifier(identifier) {
|
|
9
|
-
return `"${identifier.replaceAll("\"", "\"\"")}"`;
|
|
10
|
-
},
|
|
11
|
-
serializeValue(kind, value) {
|
|
12
|
-
if (kind === "date") {
|
|
13
|
-
if (value instanceof Date) return value.toISOString();
|
|
14
|
-
return value;
|
|
15
|
-
}
|
|
16
|
-
if (kind === "json" || kind === "jsonb") return JSON.stringify(value);
|
|
17
|
-
if (kind === "boolean") {
|
|
18
|
-
if (value === true) return 1;
|
|
19
|
-
if (value === false) return 0;
|
|
20
|
-
}
|
|
21
|
-
return value;
|
|
22
|
-
},
|
|
23
|
-
renderLikePattern(mode, value) {
|
|
24
|
-
const escaped = escapeLike(value);
|
|
25
|
-
if (mode === "startsWith") return `${escaped}%`;
|
|
26
|
-
if (mode === "endsWith") return `%${escaped}`;
|
|
27
|
-
return `%${escaped}%`;
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
//#endregion
|
|
31
|
-
exports.sqliteDialectAdapter = sqliteDialectAdapter;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
//#region src/lib/orm/dialect/sqlite.ts
|
|
2
|
-
function escapeLike(s) {
|
|
3
|
-
return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
|
|
4
|
-
}
|
|
5
|
-
const sqliteDialectAdapter = {
|
|
6
|
-
dialect: "sqlite",
|
|
7
|
-
likeKeyword: "LIKE",
|
|
8
|
-
quoteIdentifier(identifier) {
|
|
9
|
-
return `"${identifier.replaceAll("\"", "\"\"")}"`;
|
|
10
|
-
},
|
|
11
|
-
serializeValue(kind, value) {
|
|
12
|
-
if (kind === "date") {
|
|
13
|
-
if (value instanceof Date) return value.toISOString();
|
|
14
|
-
return value;
|
|
15
|
-
}
|
|
16
|
-
if (kind === "json" || kind === "jsonb") return JSON.stringify(value);
|
|
17
|
-
if (kind === "boolean") {
|
|
18
|
-
if (value === true) return 1;
|
|
19
|
-
if (value === false) return 0;
|
|
20
|
-
}
|
|
21
|
-
return value;
|
|
22
|
-
},
|
|
23
|
-
renderLikePattern(mode, value) {
|
|
24
|
-
const escaped = escapeLike(value);
|
|
25
|
-
if (mode === "startsWith") return `${escaped}%`;
|
|
26
|
-
if (mode === "endsWith") return `%${escaped}`;
|
|
27
|
-
return `%${escaped}%`;
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
//#endregion
|
|
31
|
-
export { sqliteDialectAdapter };
|
|
32
|
-
|
|
33
|
-
//# sourceMappingURL=sqlite.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.mjs","names":[],"sources":["../../../src/lib/orm/dialect/sqlite.ts"],"sourcesContent":["import type { DialectAdapter } from \"../types.js\";\n\nfunction escapeLike(s: string) {\n return s.replaceAll(\"%\", \"\\\\%\").replaceAll(\"_\", \"\\\\_\");\n}\n\nexport const sqliteDialectAdapter: DialectAdapter = {\n dialect: \"sqlite\",\n likeKeyword: \"LIKE\",\n\n quoteIdentifier(identifier: string) {\n return `\"${identifier.replaceAll('\"', '\"\"')}\"`;\n },\n\n serializeValue(kind, value) {\n if (kind === \"date\") {\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n return value;\n }\n\n if (kind === \"json\" || kind === \"jsonb\") {\n return JSON.stringify(value);\n }\n\n if (kind === \"boolean\") {\n if (value === true) return 1;\n if (value === false) return 0;\n }\n\n return value;\n },\n\n renderLikePattern(mode, value) {\n const escaped = escapeLike(value);\n\n if (mode === \"startsWith\") {\n return `${escaped}%`;\n }\n\n if (mode === \"endsWith\") {\n return `%${escaped}`;\n }\n\n return `%${escaped}%`;\n },\n};\n"],"mappings":";AAEA,SAAS,WAAW,GAAW;AAC7B,QAAO,EAAE,WAAW,KAAK,MAAM,CAAC,WAAW,KAAK,MAAM;;AAGxD,MAAa,uBAAuC;CAClD,SAAS;CACT,aAAa;CAEb,gBAAgB,YAAoB;AAClC,SAAO,IAAI,WAAW,WAAW,MAAK,OAAK,CAAC;;CAG9C,eAAe,MAAM,OAAO;AAC1B,MAAI,SAAS,QAAQ;AACnB,OAAI,iBAAiB,KACnB,QAAO,MAAM,aAAa;AAG5B,UAAO;;AAGT,MAAI,SAAS,UAAU,SAAS,QAC9B,QAAO,KAAK,UAAU,MAAM;AAG9B,MAAI,SAAS,WAAW;AACtB,OAAI,UAAU,KAAM,QAAO;AAC3B,OAAI,UAAU,MAAO,QAAO;;AAG9B,SAAO;;CAGT,kBAAkB,MAAM,OAAO;EAC7B,MAAM,UAAU,WAAW,MAAM;AAEjC,MAAI,SAAS,aACX,QAAO,GAAG,QAAQ;AAGpB,MAAI,SAAS,WACX,QAAO,IAAI;AAGb,SAAO,IAAI,QAAQ;;CAEtB"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
//#region src/lib/orm/dialect/utils.ts
|
|
2
|
-
function inferDialectFromUrl(url) {
|
|
3
|
-
if (url.startsWith("postgres://") || url.startsWith("postgresql://")) return "postgres";
|
|
4
|
-
if (url.startsWith("mysql://") || url.startsWith("mysql2://")) return "mysql";
|
|
5
|
-
return "sqlite";
|
|
6
|
-
}
|
|
7
|
-
//#endregion
|
|
8
|
-
exports.inferDialectFromUrl = inferDialectFromUrl;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
//#region src/lib/orm/dialect/utils.ts
|
|
2
|
-
function inferDialectFromUrl(url) {
|
|
3
|
-
if (url.startsWith("postgres://") || url.startsWith("postgresql://")) return "postgres";
|
|
4
|
-
if (url.startsWith("mysql://") || url.startsWith("mysql2://")) return "mysql";
|
|
5
|
-
return "sqlite";
|
|
6
|
-
}
|
|
7
|
-
//#endregion
|
|
8
|
-
export { inferDialectFromUrl };
|
|
9
|
-
|
|
10
|
-
//# sourceMappingURL=utils.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","names":[],"sources":["../../../src/lib/orm/dialect/utils.ts"],"sourcesContent":["import type { Dialect } from \"../types.js\";\n\nexport function inferDialectFromUrl(url: string): Dialect {\n if (url.startsWith(\"postgres://\") || url.startsWith(\"postgresql://\")) {\n return \"postgres\";\n }\n\n if (url.startsWith(\"mysql://\") || url.startsWith(\"mysql2://\")) {\n return \"mysql\";\n }\n\n return \"sqlite\";\n}\n\nexport function isDialect(value: Dialect) {\n return value === \"postgres\" || value === \"mysql\" || value === \"sqlite\";\n}\n"],"mappings":";AAEA,SAAgB,oBAAoB,KAAsB;AACxD,KAAI,IAAI,WAAW,cAAc,IAAI,IAAI,WAAW,gBAAgB,CAClE,QAAO;AAGT,KAAI,IAAI,WAAW,WAAW,IAAI,IAAI,WAAW,YAAY,CAC3D,QAAO;AAGT,QAAO"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
//#region src/lib/orm/internal/table-columns.ts
|
|
2
|
-
function buildSelectColumns(sql, table) {
|
|
3
|
-
return buildAliasedColumns(sql, table, true);
|
|
4
|
-
}
|
|
5
|
-
function buildReturningColumns(sql, table) {
|
|
6
|
-
return buildAliasedColumns(sql, table, false);
|
|
7
|
-
}
|
|
8
|
-
function buildAliasedColumns(sql, table, qualifyWithTableName) {
|
|
9
|
-
const fragments = [];
|
|
10
|
-
for (const jsKey in table.columns) {
|
|
11
|
-
const col = table.columns[jsKey];
|
|
12
|
-
if (!col) continue;
|
|
13
|
-
if (qualifyWithTableName) {
|
|
14
|
-
fragments.push(sql`${sql(table.tableName)}.${sql(col.meta.sqlName)} AS ${sql(jsKey)}`);
|
|
15
|
-
continue;
|
|
16
|
-
}
|
|
17
|
-
fragments.push(sql`${sql(col.meta.sqlName)} AS ${sql(jsKey)}`);
|
|
18
|
-
}
|
|
19
|
-
const first = fragments[0];
|
|
20
|
-
if (!first) return sql`*`;
|
|
21
|
-
let joined = first;
|
|
22
|
-
for (let index = 1; index < fragments.length; index++) {
|
|
23
|
-
const fragment = fragments[index];
|
|
24
|
-
if (!fragment) continue;
|
|
25
|
-
joined = sql`${joined}, ${fragment}`;
|
|
26
|
-
}
|
|
27
|
-
return joined;
|
|
28
|
-
}
|
|
29
|
-
//#endregion
|
|
30
|
-
exports.buildReturningColumns = buildReturningColumns;
|
|
31
|
-
exports.buildSelectColumns = buildSelectColumns;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
//#region src/lib/orm/internal/table-columns.ts
|
|
2
|
-
function buildSelectColumns(sql, table) {
|
|
3
|
-
return buildAliasedColumns(sql, table, true);
|
|
4
|
-
}
|
|
5
|
-
function buildReturningColumns(sql, table) {
|
|
6
|
-
return buildAliasedColumns(sql, table, false);
|
|
7
|
-
}
|
|
8
|
-
function buildAliasedColumns(sql, table, qualifyWithTableName) {
|
|
9
|
-
const fragments = [];
|
|
10
|
-
for (const jsKey in table.columns) {
|
|
11
|
-
const col = table.columns[jsKey];
|
|
12
|
-
if (!col) continue;
|
|
13
|
-
if (qualifyWithTableName) {
|
|
14
|
-
fragments.push(sql`${sql(table.tableName)}.${sql(col.meta.sqlName)} AS ${sql(jsKey)}`);
|
|
15
|
-
continue;
|
|
16
|
-
}
|
|
17
|
-
fragments.push(sql`${sql(col.meta.sqlName)} AS ${sql(jsKey)}`);
|
|
18
|
-
}
|
|
19
|
-
const first = fragments[0];
|
|
20
|
-
if (!first) return sql`*`;
|
|
21
|
-
let joined = first;
|
|
22
|
-
for (let index = 1; index < fragments.length; index++) {
|
|
23
|
-
const fragment = fragments[index];
|
|
24
|
-
if (!fragment) continue;
|
|
25
|
-
joined = sql`${joined}, ${fragment}`;
|
|
26
|
-
}
|
|
27
|
-
return joined;
|
|
28
|
-
}
|
|
29
|
-
//#endregion
|
|
30
|
-
export { buildReturningColumns, buildSelectColumns };
|
|
31
|
-
|
|
32
|
-
//# sourceMappingURL=table-columns.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table-columns.mjs","names":[],"sources":["../../../src/lib/orm/internal/table-columns.ts"],"sourcesContent":["import type { SQL, TransactionSQL } from \"bun\";\nimport type { Table } from \"../table.js\";\nimport type { ColDefs } from \"../types.js\";\n\nexport function buildSelectColumns(\n sql: SQL | TransactionSQL,\n table: Table<ColDefs>,\n) {\n return buildAliasedColumns(sql, table, true);\n}\n\nexport function buildReturningColumns(\n sql: SQL | TransactionSQL,\n table: Table<ColDefs>,\n) {\n return buildAliasedColumns(sql, table, false);\n}\n\nfunction buildAliasedColumns(\n sql: SQL | TransactionSQL,\n table: Table<ColDefs>,\n qualifyWithTableName: boolean,\n) {\n const fragments: SQL.Query<unknown>[] = [];\n\n for (const jsKey in table.columns) {\n const col = table.columns[jsKey];\n\n if (!col) {\n continue;\n }\n\n if (qualifyWithTableName) {\n fragments.push(\n sql`${sql(table.tableName)}.${sql(col.meta.sqlName)} AS ${sql(jsKey)}`,\n );\n continue;\n }\n\n fragments.push(sql`${sql(col.meta.sqlName)} AS ${sql(jsKey)}`);\n }\n\n const first = fragments[0];\n\n if (!first) {\n return sql`*`;\n }\n\n let joined = first;\n\n for (let index = 1; index < fragments.length; index++) {\n const fragment = fragments[index];\n\n if (!fragment) {\n continue;\n }\n\n joined = sql`${joined}, ${fragment}`;\n }\n\n return joined;\n}\n"],"mappings":";AAIA,SAAgB,mBACd,KACA,OACA;AACA,QAAO,oBAAoB,KAAK,OAAO,KAAK;;AAG9C,SAAgB,sBACd,KACA,OACA;AACA,QAAO,oBAAoB,KAAK,OAAO,MAAM;;AAG/C,SAAS,oBACP,KACA,OACA,sBACA;CACA,MAAM,YAAkC,EAAE;AAE1C,MAAK,MAAM,SAAS,MAAM,SAAS;EACjC,MAAM,MAAM,MAAM,QAAQ;AAE1B,MAAI,CAAC,IACH;AAGF,MAAI,sBAAsB;AACxB,aAAU,KACR,GAAG,GAAG,IAAI,MAAM,UAAU,CAAC,GAAG,IAAI,IAAI,KAAK,QAAQ,CAAC,MAAM,IAAI,MAAM,GACrE;AACD;;AAGF,YAAU,KAAK,GAAG,GAAG,IAAI,IAAI,KAAK,QAAQ,CAAC,MAAM,IAAI,MAAM,GAAG;;CAGhE,MAAM,QAAQ,UAAU;AAExB,KAAI,CAAC,MACH,QAAO,GAAG;CAGZ,IAAI,SAAS;AAEb,MAAK,IAAI,QAAQ,GAAG,QAAQ,UAAU,QAAQ,SAAS;EACrD,MAAM,WAAW,UAAU;AAE3B,MAAI,CAAC,SACH;AAGF,WAAS,GAAG,GAAG,OAAO,IAAI;;AAG5B,QAAO"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
//#region src/lib/orm/internal/table-lookup.ts
|
|
2
|
-
function getPrimaryKeyColumn(table) {
|
|
3
|
-
for (const jsKey in table.columns) {
|
|
4
|
-
const col = table.columns[jsKey];
|
|
5
|
-
if (!col) continue;
|
|
6
|
-
if (col.meta.isPrimaryKey) return {
|
|
7
|
-
jsKey,
|
|
8
|
-
col
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
function findColumnBySqlName(table, sqlName) {
|
|
14
|
-
for (const jsKey in table.columns) {
|
|
15
|
-
const col = table.columns[jsKey];
|
|
16
|
-
if (!col) continue;
|
|
17
|
-
if (col.meta.sqlName === sqlName) return {
|
|
18
|
-
jsKey,
|
|
19
|
-
col
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
function findTableKeyByValue(tables, targetTable) {
|
|
25
|
-
for (const tableKey in tables) {
|
|
26
|
-
const table = tables[tableKey];
|
|
27
|
-
if (!table) continue;
|
|
28
|
-
if (table === targetTable) return tableKey;
|
|
29
|
-
}
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
//#endregion
|
|
33
|
-
exports.findColumnBySqlName = findColumnBySqlName;
|
|
34
|
-
exports.findTableKeyByValue = findTableKeyByValue;
|
|
35
|
-
exports.getPrimaryKeyColumn = getPrimaryKeyColumn;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
//#region src/lib/orm/internal/table-lookup.ts
|
|
2
|
-
function getPrimaryKeyColumn(table) {
|
|
3
|
-
for (const jsKey in table.columns) {
|
|
4
|
-
const col = table.columns[jsKey];
|
|
5
|
-
if (!col) continue;
|
|
6
|
-
if (col.meta.isPrimaryKey) return {
|
|
7
|
-
jsKey,
|
|
8
|
-
col
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
function findColumnBySqlName(table, sqlName) {
|
|
14
|
-
for (const jsKey in table.columns) {
|
|
15
|
-
const col = table.columns[jsKey];
|
|
16
|
-
if (!col) continue;
|
|
17
|
-
if (col.meta.sqlName === sqlName) return {
|
|
18
|
-
jsKey,
|
|
19
|
-
col
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
function findTableKeyByValue(tables, targetTable) {
|
|
25
|
-
for (const tableKey in tables) {
|
|
26
|
-
const table = tables[tableKey];
|
|
27
|
-
if (!table) continue;
|
|
28
|
-
if (table === targetTable) return tableKey;
|
|
29
|
-
}
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
//#endregion
|
|
33
|
-
export { findColumnBySqlName, findTableKeyByValue, getPrimaryKeyColumn };
|
|
34
|
-
|
|
35
|
-
//# sourceMappingURL=table-lookup.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table-lookup.mjs","names":[],"sources":["../../../src/lib/orm/internal/table-lookup.ts"],"sourcesContent":["import type { ColumnDef } from \"../column.js\";\nimport type { Table } from \"../table.js\";\nimport type { ColDefs, ColumnKind, ColumnMetaBase } from \"../types.js\";\n\nexport type ResolvedColumn = {\n jsKey: string;\n col: ColumnDef<ColumnKind, ColumnMetaBase, unknown>;\n};\n\nexport function getPrimaryKeyColumn(table: Table<ColDefs>) {\n for (const jsKey in table.columns) {\n const col = table.columns[jsKey];\n\n if (!col) {\n continue;\n }\n\n if (col.meta.isPrimaryKey) {\n return {\n jsKey,\n col,\n } satisfies ResolvedColumn;\n }\n }\n\n return null;\n}\n\nexport function findColumnBySqlName(table: Table<ColDefs>, sqlName: string) {\n for (const jsKey in table.columns) {\n const col = table.columns[jsKey];\n\n if (!col) {\n continue;\n }\n\n if (col.meta.sqlName === sqlName) {\n return {\n jsKey,\n col,\n } satisfies ResolvedColumn;\n }\n }\n\n return null;\n}\n\nexport function findTableKeyByValue(\n tables: Record<string, Table<ColDefs>>,\n targetTable: Table<ColDefs>,\n) {\n for (const tableKey in tables) {\n const table = tables[tableKey];\n\n if (!table) {\n continue;\n }\n\n if (table === targetTable) {\n return tableKey;\n }\n }\n\n return null;\n}\n"],"mappings":";AASA,SAAgB,oBAAoB,OAAuB;AACzD,MAAK,MAAM,SAAS,MAAM,SAAS;EACjC,MAAM,MAAM,MAAM,QAAQ;AAE1B,MAAI,CAAC,IACH;AAGF,MAAI,IAAI,KAAK,aACX,QAAO;GACL;GACA;GACD;;AAIL,QAAO;;AAGT,SAAgB,oBAAoB,OAAuB,SAAiB;AAC1E,MAAK,MAAM,SAAS,MAAM,SAAS;EACjC,MAAM,MAAM,MAAM,QAAQ;AAE1B,MAAI,CAAC,IACH;AAGF,MAAI,IAAI,KAAK,YAAY,QACvB,QAAO;GACL;GACA;GACD;;AAIL,QAAO;;AAGT,SAAgB,oBACd,QACA,aACA;AACA,MAAK,MAAM,YAAY,QAAQ;EAC7B,MAAM,QAAQ,OAAO;AAErB,MAAI,CAAC,MACH;AAGF,MAAI,UAAU,YACZ,QAAO;;AAIX,QAAO"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const require_table_lookup = require("./table-lookup.cjs");
|
|
2
|
-
//#region src/lib/orm/internal/table-relations.ts
|
|
3
|
-
function findManyForeignKeyByReference(sourceTable, sourcePk) {
|
|
4
|
-
for (const key in sourceTable.columns) {
|
|
5
|
-
const col = sourceTable.columns[key];
|
|
6
|
-
if (!col) continue;
|
|
7
|
-
if (!col.meta.references) continue;
|
|
8
|
-
if (col.meta.references() === sourcePk) return col.meta.sqlName;
|
|
9
|
-
}
|
|
10
|
-
return null;
|
|
11
|
-
}
|
|
12
|
-
function inferManyForeignKeyFromInverse(sourceTable, targetTable, allRelations, allTables) {
|
|
13
|
-
const targetTableKey = require_table_lookup.findTableKeyByValue(allTables, targetTable);
|
|
14
|
-
if (!targetTableKey) return null;
|
|
15
|
-
const targetRels = allRelations[targetTableKey];
|
|
16
|
-
if (!targetRels) return null;
|
|
17
|
-
for (const relKey in targetRels) {
|
|
18
|
-
const rel = targetRels[relKey];
|
|
19
|
-
if (!rel) continue;
|
|
20
|
-
if (rel.kind !== "one") continue;
|
|
21
|
-
if (rel.table() !== sourceTable) continue;
|
|
22
|
-
return rel.foreignKey;
|
|
23
|
-
}
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
//#endregion
|
|
27
|
-
exports.findManyForeignKeyByReference = findManyForeignKeyByReference;
|
|
28
|
-
exports.inferManyForeignKeyFromInverse = inferManyForeignKeyFromInverse;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { findTableKeyByValue } from "./table-lookup.mjs";
|
|
2
|
-
//#region src/lib/orm/internal/table-relations.ts
|
|
3
|
-
function findManyForeignKeyByReference(sourceTable, sourcePk) {
|
|
4
|
-
for (const key in sourceTable.columns) {
|
|
5
|
-
const col = sourceTable.columns[key];
|
|
6
|
-
if (!col) continue;
|
|
7
|
-
if (!col.meta.references) continue;
|
|
8
|
-
if (col.meta.references() === sourcePk) return col.meta.sqlName;
|
|
9
|
-
}
|
|
10
|
-
return null;
|
|
11
|
-
}
|
|
12
|
-
function inferManyForeignKeyFromInverse(sourceTable, targetTable, allRelations, allTables) {
|
|
13
|
-
const targetTableKey = findTableKeyByValue(allTables, targetTable);
|
|
14
|
-
if (!targetTableKey) return null;
|
|
15
|
-
const targetRels = allRelations[targetTableKey];
|
|
16
|
-
if (!targetRels) return null;
|
|
17
|
-
for (const relKey in targetRels) {
|
|
18
|
-
const rel = targetRels[relKey];
|
|
19
|
-
if (!rel) continue;
|
|
20
|
-
if (rel.kind !== "one") continue;
|
|
21
|
-
if (rel.table() !== sourceTable) continue;
|
|
22
|
-
return rel.foreignKey;
|
|
23
|
-
}
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
//#endregion
|
|
27
|
-
export { findManyForeignKeyByReference, inferManyForeignKeyFromInverse };
|
|
28
|
-
|
|
29
|
-
//# sourceMappingURL=table-relations.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table-relations.mjs","names":[],"sources":["../../../src/lib/orm/internal/table-relations.ts"],"sourcesContent":["import type { ColumnDef } from \"../column.js\";\nimport type { Table } from \"../table.js\";\nimport type {\n ColDefs,\n ColumnKind,\n ColumnMetaBase,\n RelationDefs,\n} from \"../types.js\";\nimport { findTableKeyByValue } from \"./table-lookup.js\";\n\nexport function findManyForeignKeyByReference(\n sourceTable: Table<ColDefs>,\n sourcePk: ColumnDef<ColumnKind, ColumnMetaBase, unknown>,\n) {\n for (const key in sourceTable.columns) {\n const col = sourceTable.columns[key];\n\n if (!col) {\n continue;\n }\n\n if (!col.meta.references) {\n continue;\n }\n\n const referenced = col.meta.references();\n\n if (referenced === sourcePk) {\n return col.meta.sqlName;\n }\n }\n\n return null;\n}\n\nexport function inferManyForeignKeyFromInverse(\n sourceTable: Table<ColDefs>,\n targetTable: Table<ColDefs>,\n allRelations: Partial<Record<string, RelationDefs>>,\n allTables: Record<string, Table<ColDefs>>,\n) {\n const targetTableKey = findTableKeyByValue(allTables, targetTable);\n\n if (!targetTableKey) {\n return null;\n }\n\n const targetRels = allRelations[targetTableKey];\n\n if (!targetRels) {\n return null;\n }\n\n for (const relKey in targetRels) {\n const rel = targetRels[relKey];\n\n if (!rel) {\n continue;\n }\n\n if (rel.kind !== \"one\") {\n continue;\n }\n\n if (rel.table() !== sourceTable) {\n continue;\n }\n\n return rel.foreignKey;\n }\n\n return null;\n}\n"],"mappings":";;AAUA,SAAgB,8BACd,aACA,UACA;AACA,MAAK,MAAM,OAAO,YAAY,SAAS;EACrC,MAAM,MAAM,YAAY,QAAQ;AAEhC,MAAI,CAAC,IACH;AAGF,MAAI,CAAC,IAAI,KAAK,WACZ;AAKF,MAFmB,IAAI,KAAK,YAAY,KAErB,SACjB,QAAO,IAAI,KAAK;;AAIpB,QAAO;;AAGT,SAAgB,+BACd,aACA,aACA,cACA,WACA;CACA,MAAM,iBAAiB,oBAAoB,WAAW,YAAY;AAElE,KAAI,CAAC,eACH,QAAO;CAGT,MAAM,aAAa,aAAa;AAEhC,KAAI,CAAC,WACH,QAAO;AAGT,MAAK,MAAM,UAAU,YAAY;EAC/B,MAAM,MAAM,WAAW;AAEvB,MAAI,CAAC,IACH;AAGF,MAAI,IAAI,SAAS,MACf;AAGF,MAAI,IAAI,OAAO,KAAK,YAClB;AAGF,SAAO,IAAI;;AAGb,QAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.cts","names":[],"sources":["../../../src/lib/orm/migration/config.ts"],"mappings":";;;iBAIgB,YAAA,CAAa,MAAA,EAAQ,YAAA,GAAY,YAAA"}
|