litedbmodel 2.2.7 → 2.2.8

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.
Files changed (120) hide show
  1. package/README.md +2 -1
  2. package/dist/Column.d.ts +13 -2
  3. package/dist/Column.d.ts.map +1 -1
  4. package/dist/Column.js +30 -10
  5. package/dist/Column.js.map +1 -1
  6. package/dist/DBModel.d.ts +15 -2
  7. package/dist/DBModel.d.ts.map +1 -1
  8. package/dist/DBModel.js +40 -25
  9. package/dist/DBModel.js.map +1 -1
  10. package/dist/TypeCast.d.ts +2 -2
  11. package/dist/TypeCast.d.ts.map +1 -1
  12. package/dist/TypeCast.js +7 -9
  13. package/dist/TypeCast.js.map +1 -1
  14. package/dist/decorators.d.ts +8 -0
  15. package/dist/decorators.d.ts.map +1 -1
  16. package/dist/decorators.js +29 -18
  17. package/dist/decorators.js.map +1 -1
  18. package/dist/drivers/MysqlHelper.d.ts +3 -3
  19. package/dist/drivers/MysqlHelper.d.ts.map +1 -1
  20. package/dist/drivers/MysqlHelper.js +3 -17
  21. package/dist/drivers/MysqlHelper.js.map +1 -1
  22. package/dist/drivers/MysqlSqlBuilder.d.ts.map +1 -1
  23. package/dist/drivers/MysqlSqlBuilder.js +2 -13
  24. package/dist/drivers/MysqlSqlBuilder.js.map +1 -1
  25. package/dist/drivers/PostgresHelper.d.ts +3 -2
  26. package/dist/drivers/PostgresHelper.d.ts.map +1 -1
  27. package/dist/drivers/PostgresHelper.js +3 -16
  28. package/dist/drivers/PostgresHelper.js.map +1 -1
  29. package/dist/drivers/PostgresSqlBuilder.d.ts.map +1 -1
  30. package/dist/drivers/PostgresSqlBuilder.js +2 -14
  31. package/dist/drivers/PostgresSqlBuilder.js.map +1 -1
  32. package/dist/drivers/SqliteHelper.d.ts +4 -2
  33. package/dist/drivers/SqliteHelper.d.ts.map +1 -1
  34. package/dist/drivers/SqliteHelper.js +4 -2
  35. package/dist/drivers/SqliteHelper.js.map +1 -1
  36. package/dist/drivers/SqliteSqlBuilder.d.ts.map +1 -1
  37. package/dist/drivers/SqliteSqlBuilder.js +2 -13
  38. package/dist/drivers/SqliteSqlBuilder.js.map +1 -1
  39. package/dist/index.cjs +666 -687
  40. package/dist/scp/decorator-adapter.d.ts +1 -0
  41. package/dist/scp/decorator-adapter.d.ts.map +1 -1
  42. package/dist/scp/decorator-adapter.js +2 -0
  43. package/dist/scp/decorator-adapter.js.map +1 -1
  44. package/dist/scp/index.cjs +63 -52
  45. package/dist/scp/index.mjs +63 -52
  46. package/docs/BENCHMARK.md +1 -1
  47. package/docs/COMPARISON.md +1 -1
  48. package/docs/api/README.md +1 -1
  49. package/docs/api/classes/Conditions.md +10 -10
  50. package/docs/api/classes/DBHandler.md +1 -1
  51. package/docs/api/classes/DBModel.md +81 -81
  52. package/docs/api/classes/LimitExceededError.md +1 -1
  53. package/docs/api/classes/Middleware.md +1 -1
  54. package/docs/api/classes/SqlRaw.md +1 -1
  55. package/docs/api/classes/SqlRef.md +1 -1
  56. package/docs/api/classes/Values.md +6 -6
  57. package/docs/api/classes/WriteInReadOnlyContextError.md +1 -1
  58. package/docs/api/classes/WriteOutsideTransactionError.md +1 -1
  59. package/docs/api/functions/belongsTo.md +2 -2
  60. package/docs/api/functions/closeAllPools.md +1 -1
  61. package/docs/api/functions/condsToRecord.md +4 -3
  62. package/docs/api/functions/createMiddleware.md +1 -1
  63. package/docs/api/functions/createPostgresDriver.md +1 -1
  64. package/docs/api/functions/createSqliteDriver.md +1 -1
  65. package/docs/api/functions/dbCast.md +1 -1
  66. package/docs/api/functions/dbCastIn.md +1 -1
  67. package/docs/api/functions/dbDynamic.md +1 -1
  68. package/docs/api/functions/dbFalse.md +1 -1
  69. package/docs/api/functions/dbImmediate.md +1 -1
  70. package/docs/api/functions/dbIn.md +1 -1
  71. package/docs/api/functions/dbNotNull.md +1 -1
  72. package/docs/api/functions/dbNow.md +1 -1
  73. package/docs/api/functions/dbNull.md +1 -1
  74. package/docs/api/functions/dbRaw.md +1 -1
  75. package/docs/api/functions/dbTrue.md +1 -1
  76. package/docs/api/functions/dbUuid.md +1 -1
  77. package/docs/api/functions/dbUuidIn.md +1 -1
  78. package/docs/api/functions/formatLocalDate.md +2 -2
  79. package/docs/api/functions/formatUTCDate.md +2 -2
  80. package/docs/api/functions/getDBConfig.md +1 -1
  81. package/docs/api/functions/getDBHandler.md +1 -1
  82. package/docs/api/functions/getTransactionConnection.md +2 -2
  83. package/docs/api/functions/getTransactionContext.md +2 -2
  84. package/docs/api/functions/hasMany.md +2 -2
  85. package/docs/api/functions/hasOne.md +2 -2
  86. package/docs/api/functions/initDBHandler.md +1 -1
  87. package/docs/api/functions/isAnySqlFragment.md +1 -1
  88. package/docs/api/functions/isConnectionError.md +1 -1
  89. package/docs/api/functions/isSqlCondition.md +1 -1
  90. package/docs/api/functions/isSqlFragment.md +1 -1
  91. package/docs/api/functions/isSqlRaw.md +1 -1
  92. package/docs/api/functions/isSqlRef.md +1 -1
  93. package/docs/api/functions/isSqlTypedFragment.md +1 -1
  94. package/docs/api/functions/model.md +4 -4
  95. package/docs/api/functions/parentRef.md +1 -1
  96. package/docs/api/functions/sql.md +1 -1
  97. package/docs/api/globals.md +24 -21
  98. package/docs/api/interfaces/Column.md +32 -31
  99. package/docs/api/interfaces/ColumnDecorator.md +1 -1
  100. package/docs/api/interfaces/ColumnOptions.md +1 -1
  101. package/docs/api/interfaces/CreatedMiddlewareClass.md +1 -1
  102. package/docs/api/interfaces/DBConfig.md +1 -1
  103. package/docs/api/interfaces/DBConfigOptions.md +1 -1
  104. package/docs/api/interfaces/DeleteOptions.md +1 -1
  105. package/docs/api/interfaces/InsertOptions.md +1 -1
  106. package/docs/api/interfaces/LimitConfig.md +1 -1
  107. package/docs/api/interfaces/MiddlewareConfig.md +1 -1
  108. package/docs/api/interfaces/ModelClassDecorator.md +4 -4
  109. package/docs/api/interfaces/ModelOptions.md +1 -1
  110. package/docs/api/interfaces/PkeyResult.md +1 -1
  111. package/docs/api/interfaces/RelationDecorator.md +1 -1
  112. package/docs/api/interfaces/SelectOptions.md +1 -1
  113. package/docs/api/interfaces/SqlCondition.md +1 -1
  114. package/docs/api/interfaces/SqlFragment.md +1 -1
  115. package/docs/api/interfaces/SqlTypedFragment.md +1 -1
  116. package/docs/api/interfaces/TransactionOptions.md +1 -1
  117. package/docs/api/interfaces/UpdateManyOptions.md +1 -1
  118. package/docs/api/interfaces/UpdateOptions.md +1 -1
  119. package/docs/architecture.md +12 -8
  120. package/package.json +1 -1
@@ -54,6 +54,7 @@ export type KeyTypeResolver = (table: string, column: string) => BcScalar;
54
54
  *
55
55
  * The RHS matches the decorator families 1:1:
56
56
  * - `boolean` → `BOOLEAN` (`@column.boolean()` / auto `Boolean`)
57
+ * - `numeric` → `NUMERIC` (`@column.decimal()` — read de-box: exact decimal string)
57
58
  * - `bigint` → `BIGINT` (`@column.bigint()` / auto `BigInt` — read de-box: exact string)
58
59
  * - `timestamp` → `TIMESTAMP` (`@column.datetime()` / auto `Date` — read de-box: TZ string)
59
60
  * - `date` → `DATE` (`@column.date()` — read de-box: YYYY-MM-DD string)
@@ -1 +1 @@
1
- {"version":3,"file":"decorator-adapter.d.ts","sourceRoot":"","sources":["../../src/scp/decorator-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorator-adapter.d.ts","sourceRoot":"","sources":["../../src/scp/decorator-adapter.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,7 @@ const Column_1 = require("../Column");
55
55
  *
56
56
  * The RHS matches the decorator families 1:1:
57
57
  * - `boolean` → `BOOLEAN` (`@column.boolean()` / auto `Boolean`)
58
+ * - `numeric` → `NUMERIC` (`@column.decimal()` — read de-box: exact decimal string)
58
59
  * - `bigint` → `BIGINT` (`@column.bigint()` / auto `BigInt` — read de-box: exact string)
59
60
  * - `timestamp` → `TIMESTAMP` (`@column.datetime()` / auto `Date` — read de-box: TZ string)
60
61
  * - `date` → `DATE` (`@column.date()` — read de-box: YYYY-MM-DD string)
@@ -64,6 +65,7 @@ const Column_1 = require("../Column");
64
65
  */
65
66
  exports.COLUMN_FAMILY_SQL_TYPE = {
66
67
  boolean: 'BOOLEAN',
68
+ numeric: 'NUMERIC',
67
69
  bigint: 'BIGINT',
68
70
  timestamp: 'TIMESTAMP',
69
71
  date: 'DATE',
@@ -1 +1 @@
1
- {"version":3,"file":"decorator-adapter.js","sourceRoot":"","sources":["../../src/scp/decorator-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorator-adapter.js","sourceRoot":"","sources":["../../src/scp/decorator-adapter.ts"],"names":[],"mappings":"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"}
@@ -2284,6 +2284,11 @@ function andTrailing(head, tails) {
2284
2284
  return [head, ...guardedTails];
2285
2285
  }
2286
2286
 
2287
+ // src/drivers/PostgresHelper.ts
2288
+ function castToJson(val) {
2289
+ return val ?? null;
2290
+ }
2291
+
2287
2292
  // src/TypeCast.ts
2288
2293
  var defaultTypeCast = {
2289
2294
  castToDatetime(val) {
@@ -2408,17 +2413,15 @@ var defaultTypeCast = {
2408
2413
  }
2409
2414
  return [];
2410
2415
  },
2416
+ // A string is JSON text to decode; any other value is already a JSON value
2411
2417
  castToJson(val) {
2412
2418
  if (val === null || val === void 0) return null;
2413
- if (typeof val === "object") return val;
2414
- if (typeof val === "string") {
2415
- try {
2416
- return JSON.parse(val);
2417
- } catch {
2418
- return null;
2419
- }
2419
+ if (typeof val !== "string") return val;
2420
+ try {
2421
+ return JSON.parse(val);
2422
+ } catch {
2423
+ return null;
2420
2424
  }
2421
- return null;
2422
2425
  }
2423
2426
  };
2424
2427
  function parsePostgresArray(literal) {
@@ -2475,7 +2478,7 @@ function castToBooleanArray(val) {
2475
2478
  function castToDatetimeArray(val) {
2476
2479
  return currentTypeCast.castToDatetimeArray(val);
2477
2480
  }
2478
- function castToJson(val) {
2481
+ function castToJson2(val) {
2479
2482
  return currentTypeCast.castToJson(val);
2480
2483
  }
2481
2484
  function formatLocalDate(d) {
@@ -2519,16 +2522,7 @@ var postgresTypeCast = {
2519
2522
  return JSON.stringify(val);
2520
2523
  },
2521
2524
  deserializeJson(val) {
2522
- if (val === null || val === void 0) return null;
2523
- if (typeof val === "object") return val;
2524
- if (typeof val === "string") {
2525
- try {
2526
- return JSON.parse(val);
2527
- } catch {
2528
- return null;
2529
- }
2530
- }
2531
- return null;
2525
+ return castToJson(val);
2532
2526
  },
2533
2527
  serializeBooleanArray(val) {
2534
2528
  if (val === null || val === void 0) return null;
@@ -2832,6 +2826,11 @@ var postgresSqlBuilder = {
2832
2826
  inferPgType
2833
2827
  };
2834
2828
 
2829
+ // src/drivers/MysqlHelper.ts
2830
+ function castToJson3(val) {
2831
+ return val ?? null;
2832
+ }
2833
+
2835
2834
  // src/drivers/MysqlSqlBuilder.ts
2836
2835
  var mysqlTypeCast = {
2837
2836
  driverName: "mysql",
@@ -2857,16 +2856,7 @@ var mysqlTypeCast = {
2857
2856
  return JSON.stringify(val);
2858
2857
  },
2859
2858
  deserializeJson(val) {
2860
- if (val === null || val === void 0) return null;
2861
- if (typeof val === "object") return val;
2862
- if (typeof val === "string") {
2863
- try {
2864
- return JSON.parse(val);
2865
- } catch {
2866
- return null;
2867
- }
2868
- }
2869
- return null;
2859
+ return castToJson3(val);
2870
2860
  },
2871
2861
  serializeBooleanArray(val) {
2872
2862
  if (val === null || val === void 0) return null;
@@ -3034,6 +3024,24 @@ var mysqlSqlBuilder = {
3034
3024
  }
3035
3025
  };
3036
3026
 
3027
+ // src/drivers/SqliteHelper.ts
3028
+ function castToJson4(val) {
3029
+ if (val === null || val === void 0) {
3030
+ return null;
3031
+ }
3032
+ if (typeof val === "object" || typeof val === "number") {
3033
+ return val;
3034
+ }
3035
+ if (typeof val === "string") {
3036
+ try {
3037
+ return JSON.parse(val);
3038
+ } catch {
3039
+ return null;
3040
+ }
3041
+ }
3042
+ return null;
3043
+ }
3044
+
3037
3045
  // src/drivers/SqliteSqlBuilder.ts
3038
3046
  var sqliteTypeCast = {
3039
3047
  driverName: "sqlite",
@@ -3059,16 +3067,7 @@ var sqliteTypeCast = {
3059
3067
  return JSON.stringify(val);
3060
3068
  },
3061
3069
  deserializeJson(val) {
3062
- if (val === null || val === void 0) return null;
3063
- if (typeof val === "object") return val;
3064
- if (typeof val === "string") {
3065
- try {
3066
- return JSON.parse(val);
3067
- } catch {
3068
- return null;
3069
- }
3070
- }
3071
- return null;
3070
+ return castToJson4(val);
3072
3071
  },
3073
3072
  serializeBooleanArray(val) {
3074
3073
  if (val === null || val === void 0) return null;
@@ -6365,6 +6364,14 @@ function rejectNonText(family, val) {
6365
6364
  }
6366
6365
  return val;
6367
6366
  }
6367
+ function materializeString(family, v) {
6368
+ if (v === void 0 || v === null) return v;
6369
+ if (typeof v === "string") return v;
6370
+ if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
6371
+ throw new Error(
6372
+ `materialize ${family}: driver returned ${typeof v} for a ${family} column. Use @column.passthrough() for a BYTEA/BLOB column, or @column.json<T>() for JSON.`
6373
+ );
6374
+ }
6368
6375
  function createColumnDecorator(typeCast, serialize, sqlCast, baseSqlType) {
6369
6376
  return function(columnNameOrOptions) {
6370
6377
  return function(targetOrValue, keyOrContext) {
@@ -6394,7 +6401,7 @@ function createColumnDecorator(typeCast, serialize, sqlCast, baseSqlType) {
6394
6401
  }
6395
6402
  function requireColumnFamily() {
6396
6403
  throw new Error(
6397
- "litedbmodel: `@column()` no longer declares a column \u2014 a column must state its type with a family: @column.text() / .number() / .boolean() / .bigint() / .datetime() / .date() / .uuid() / .json() / .stringArray() / .intArray() / .numericArray() / .booleanArray() / .datetimeArray() / .passthrough() / .custom(). Every family takes the same argument as `@column()` did (`@column.text('db_name')`, `@column.number({ primaryKey: true })`). The bare form inferred the type from `emitDecoratorMetadata`, which esbuild (tsx/vite/vitest) never emits and standard decorators do not have, so it silently produced untyped reads."
6404
+ "litedbmodel: `@column()` no longer declares a column \u2014 a column must state its type with a family: @column.text() / .decimal() / .number() / .boolean() / .bigint() / .datetime() / .date() / .uuid() / .json() / .stringArray() / .intArray() / .numericArray() / .booleanArray() / .datetimeArray() / .passthrough() / .custom(). Every family takes the same argument as `@column()` did (`@column.text('db_name')`, `@column.number({ primaryKey: true })`). The bare form inferred the type from `emitDecoratorMetadata`, which esbuild (tsx/vite/vitest) never emits and standard decorators do not have, so it silently produced untyped reads."
6398
6405
  );
6399
6406
  }
6400
6407
  function serializeArray(val, typeCast) {
@@ -6447,17 +6454,8 @@ var column = Object.assign(
6447
6454
  * @example @column.text('user_name') name?: string;
6448
6455
  */
6449
6456
  text: (columnNameOrOptions) => createColumnDecorator(
6450
- // The family DECLARES `string`, so it must hand back one. Most drivers already do, but SQLite
6451
- // is dynamically typed: it returns a JS number for a `NUMERIC`/`DECIMAL` column whatever the
6452
- // declaration says, and the declared type would be a lie on that dialect alone.
6453
- (v) => {
6454
- if (v === void 0 || v === null) return v;
6455
- if (typeof v === "string") return v;
6456
- if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
6457
- throw new Error(
6458
- `materialize text: driver returned ${typeof v} for a text column. Use @column.passthrough() for a BYTEA/BLOB column, or @column.json<T>() for JSON.`
6459
- );
6460
- },
6457
+ (v) => materializeString("text", v),
6458
+ // the family DECLARES `string`, so it hands back one
6461
6459
  (val) => rejectNonText("text", val),
6462
6460
  // …and it cannot SERIALIZE a Date or an object
6463
6461
  void 0,
@@ -6465,6 +6463,18 @@ var column = Object.assign(
6465
6463
  "TEXT"
6466
6464
  // §4.1 token: types the SCP typed read
6467
6465
  )(columnNameOrOptions),
6466
+ /**
6467
+ * Exact decimal type (NUMERIC / DECIMAL) — read back as its exact decimal STRING (a JS number
6468
+ * rounds past 2^53). The family states the column is `numeric`, so a write binds the string as a
6469
+ * numeric — a batch write (`createMany` / `updateMany`) included.
6470
+ * @example @column.decimal() price?: string;
6471
+ */
6472
+ decimal: (columnNameOrOptions) => createColumnDecorator(
6473
+ (v) => materializeString("decimal", v),
6474
+ (val) => rejectNonText("decimal", val),
6475
+ "numeric"
6476
+ // sqlCast for WHERE / INSERT / batch-write type casting
6477
+ )(columnNameOrOptions),
6468
6478
  /**
6469
6479
  * Boolean type conversion
6470
6480
  * Converts 't'/'f', 'true'/'false', 1/0 to boolean
@@ -6675,7 +6685,7 @@ var column = Object.assign(
6675
6685
  (v) => {
6676
6686
  if (v === void 0) return void 0;
6677
6687
  if (v === null) return null;
6678
- return castToJson(v);
6688
+ return castToJson2(v);
6679
6689
  },
6680
6690
  serializeJson,
6681
6691
  "jsonb"
@@ -6773,6 +6783,7 @@ function getPrimaryKey(modelClass) {
6773
6783
  // src/scp/decorator-adapter.ts
6774
6784
  var COLUMN_FAMILY_SQL_TYPE = {
6775
6785
  boolean: "BOOLEAN",
6786
+ numeric: "NUMERIC",
6776
6787
  bigint: "BIGINT",
6777
6788
  timestamp: "TIMESTAMP",
6778
6789
  date: "DATE",
@@ -2108,6 +2108,11 @@ function andTrailing(head, tails) {
2108
2108
  return [head, ...guardedTails];
2109
2109
  }
2110
2110
 
2111
+ // src/drivers/PostgresHelper.ts
2112
+ function castToJson(val) {
2113
+ return val ?? null;
2114
+ }
2115
+
2111
2116
  // src/TypeCast.ts
2112
2117
  var defaultTypeCast = {
2113
2118
  castToDatetime(val) {
@@ -2232,17 +2237,15 @@ var defaultTypeCast = {
2232
2237
  }
2233
2238
  return [];
2234
2239
  },
2240
+ // A string is JSON text to decode; any other value is already a JSON value
2235
2241
  castToJson(val) {
2236
2242
  if (val === null || val === void 0) return null;
2237
- if (typeof val === "object") return val;
2238
- if (typeof val === "string") {
2239
- try {
2240
- return JSON.parse(val);
2241
- } catch {
2242
- return null;
2243
- }
2243
+ if (typeof val !== "string") return val;
2244
+ try {
2245
+ return JSON.parse(val);
2246
+ } catch {
2247
+ return null;
2244
2248
  }
2245
- return null;
2246
2249
  }
2247
2250
  };
2248
2251
  function parsePostgresArray(literal) {
@@ -2299,7 +2302,7 @@ function castToBooleanArray(val) {
2299
2302
  function castToDatetimeArray(val) {
2300
2303
  return currentTypeCast.castToDatetimeArray(val);
2301
2304
  }
2302
- function castToJson(val) {
2305
+ function castToJson2(val) {
2303
2306
  return currentTypeCast.castToJson(val);
2304
2307
  }
2305
2308
  function formatLocalDate(d) {
@@ -2343,16 +2346,7 @@ var postgresTypeCast = {
2343
2346
  return JSON.stringify(val);
2344
2347
  },
2345
2348
  deserializeJson(val) {
2346
- if (val === null || val === void 0) return null;
2347
- if (typeof val === "object") return val;
2348
- if (typeof val === "string") {
2349
- try {
2350
- return JSON.parse(val);
2351
- } catch {
2352
- return null;
2353
- }
2354
- }
2355
- return null;
2349
+ return castToJson(val);
2356
2350
  },
2357
2351
  serializeBooleanArray(val) {
2358
2352
  if (val === null || val === void 0) return null;
@@ -2656,6 +2650,11 @@ var postgresSqlBuilder = {
2656
2650
  inferPgType
2657
2651
  };
2658
2652
 
2653
+ // src/drivers/MysqlHelper.ts
2654
+ function castToJson3(val) {
2655
+ return val ?? null;
2656
+ }
2657
+
2659
2658
  // src/drivers/MysqlSqlBuilder.ts
2660
2659
  var mysqlTypeCast = {
2661
2660
  driverName: "mysql",
@@ -2681,16 +2680,7 @@ var mysqlTypeCast = {
2681
2680
  return JSON.stringify(val);
2682
2681
  },
2683
2682
  deserializeJson(val) {
2684
- if (val === null || val === void 0) return null;
2685
- if (typeof val === "object") return val;
2686
- if (typeof val === "string") {
2687
- try {
2688
- return JSON.parse(val);
2689
- } catch {
2690
- return null;
2691
- }
2692
- }
2693
- return null;
2683
+ return castToJson3(val);
2694
2684
  },
2695
2685
  serializeBooleanArray(val) {
2696
2686
  if (val === null || val === void 0) return null;
@@ -2858,6 +2848,24 @@ var mysqlSqlBuilder = {
2858
2848
  }
2859
2849
  };
2860
2850
 
2851
+ // src/drivers/SqliteHelper.ts
2852
+ function castToJson4(val) {
2853
+ if (val === null || val === void 0) {
2854
+ return null;
2855
+ }
2856
+ if (typeof val === "object" || typeof val === "number") {
2857
+ return val;
2858
+ }
2859
+ if (typeof val === "string") {
2860
+ try {
2861
+ return JSON.parse(val);
2862
+ } catch {
2863
+ return null;
2864
+ }
2865
+ }
2866
+ return null;
2867
+ }
2868
+
2861
2869
  // src/drivers/SqliteSqlBuilder.ts
2862
2870
  var sqliteTypeCast = {
2863
2871
  driverName: "sqlite",
@@ -2883,16 +2891,7 @@ var sqliteTypeCast = {
2883
2891
  return JSON.stringify(val);
2884
2892
  },
2885
2893
  deserializeJson(val) {
2886
- if (val === null || val === void 0) return null;
2887
- if (typeof val === "object") return val;
2888
- if (typeof val === "string") {
2889
- try {
2890
- return JSON.parse(val);
2891
- } catch {
2892
- return null;
2893
- }
2894
- }
2895
- return null;
2894
+ return castToJson4(val);
2896
2895
  },
2897
2896
  serializeBooleanArray(val) {
2898
2897
  if (val === null || val === void 0) return null;
@@ -5810,6 +5809,14 @@ function rejectNonText(family, val) {
5810
5809
  }
5811
5810
  return val;
5812
5811
  }
5812
+ function materializeString(family, v) {
5813
+ if (v === void 0 || v === null) return v;
5814
+ if (typeof v === "string") return v;
5815
+ if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
5816
+ throw new Error(
5817
+ `materialize ${family}: driver returned ${typeof v} for a ${family} column. Use @column.passthrough() for a BYTEA/BLOB column, or @column.json<T>() for JSON.`
5818
+ );
5819
+ }
5813
5820
  function createColumnDecorator(typeCast, serialize, sqlCast, baseSqlType) {
5814
5821
  return function(columnNameOrOptions) {
5815
5822
  return function(targetOrValue, keyOrContext) {
@@ -5839,7 +5846,7 @@ function createColumnDecorator(typeCast, serialize, sqlCast, baseSqlType) {
5839
5846
  }
5840
5847
  function requireColumnFamily() {
5841
5848
  throw new Error(
5842
- "litedbmodel: `@column()` no longer declares a column \u2014 a column must state its type with a family: @column.text() / .number() / .boolean() / .bigint() / .datetime() / .date() / .uuid() / .json() / .stringArray() / .intArray() / .numericArray() / .booleanArray() / .datetimeArray() / .passthrough() / .custom(). Every family takes the same argument as `@column()` did (`@column.text('db_name')`, `@column.number({ primaryKey: true })`). The bare form inferred the type from `emitDecoratorMetadata`, which esbuild (tsx/vite/vitest) never emits and standard decorators do not have, so it silently produced untyped reads."
5849
+ "litedbmodel: `@column()` no longer declares a column \u2014 a column must state its type with a family: @column.text() / .decimal() / .number() / .boolean() / .bigint() / .datetime() / .date() / .uuid() / .json() / .stringArray() / .intArray() / .numericArray() / .booleanArray() / .datetimeArray() / .passthrough() / .custom(). Every family takes the same argument as `@column()` did (`@column.text('db_name')`, `@column.number({ primaryKey: true })`). The bare form inferred the type from `emitDecoratorMetadata`, which esbuild (tsx/vite/vitest) never emits and standard decorators do not have, so it silently produced untyped reads."
5843
5850
  );
5844
5851
  }
5845
5852
  function serializeArray(val, typeCast) {
@@ -5892,17 +5899,8 @@ var column = Object.assign(
5892
5899
  * @example @column.text('user_name') name?: string;
5893
5900
  */
5894
5901
  text: (columnNameOrOptions) => createColumnDecorator(
5895
- // The family DECLARES `string`, so it must hand back one. Most drivers already do, but SQLite
5896
- // is dynamically typed: it returns a JS number for a `NUMERIC`/`DECIMAL` column whatever the
5897
- // declaration says, and the declared type would be a lie on that dialect alone.
5898
- (v) => {
5899
- if (v === void 0 || v === null) return v;
5900
- if (typeof v === "string") return v;
5901
- if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
5902
- throw new Error(
5903
- `materialize text: driver returned ${typeof v} for a text column. Use @column.passthrough() for a BYTEA/BLOB column, or @column.json<T>() for JSON.`
5904
- );
5905
- },
5902
+ (v) => materializeString("text", v),
5903
+ // the family DECLARES `string`, so it hands back one
5906
5904
  (val) => rejectNonText("text", val),
5907
5905
  // …and it cannot SERIALIZE a Date or an object
5908
5906
  void 0,
@@ -5910,6 +5908,18 @@ var column = Object.assign(
5910
5908
  "TEXT"
5911
5909
  // §4.1 token: types the SCP typed read
5912
5910
  )(columnNameOrOptions),
5911
+ /**
5912
+ * Exact decimal type (NUMERIC / DECIMAL) — read back as its exact decimal STRING (a JS number
5913
+ * rounds past 2^53). The family states the column is `numeric`, so a write binds the string as a
5914
+ * numeric — a batch write (`createMany` / `updateMany`) included.
5915
+ * @example @column.decimal() price?: string;
5916
+ */
5917
+ decimal: (columnNameOrOptions) => createColumnDecorator(
5918
+ (v) => materializeString("decimal", v),
5919
+ (val) => rejectNonText("decimal", val),
5920
+ "numeric"
5921
+ // sqlCast for WHERE / INSERT / batch-write type casting
5922
+ )(columnNameOrOptions),
5913
5923
  /**
5914
5924
  * Boolean type conversion
5915
5925
  * Converts 't'/'f', 'true'/'false', 1/0 to boolean
@@ -6120,7 +6130,7 @@ var column = Object.assign(
6120
6130
  (v) => {
6121
6131
  if (v === void 0) return void 0;
6122
6132
  if (v === null) return null;
6123
- return castToJson(v);
6133
+ return castToJson2(v);
6124
6134
  },
6125
6135
  serializeJson,
6126
6136
  "jsonb"
@@ -6218,6 +6228,7 @@ function getPrimaryKey(modelClass) {
6218
6228
  // src/scp/decorator-adapter.ts
6219
6229
  var COLUMN_FAMILY_SQL_TYPE = {
6220
6230
  boolean: "BOOLEAN",
6231
+ numeric: "NUMERIC",
6221
6232
  bigint: "BIGINT",
6222
6233
  timestamp: "TIMESTAMP",
6223
6234
  date: "DATE",
package/docs/BENCHMARK.md CHANGED
@@ -3,7 +3,7 @@
3
3
  Benchmark comparing litedbmodel with Prisma, Kysely, Drizzle, and TypeORM on PostgreSQL.
4
4
 
5
5
  <!--@embedoc:package_version-->
6
- **Version:** litedbmodel **2.2.7**
6
+ **Version:** litedbmodel **2.2.8**
7
7
  <!--@embedoc:end-->
8
8
 
9
9
  > Measured on PostgreSQL 16 · Apple Silicon (arm64).
@@ -3,7 +3,7 @@
3
3
  A detailed comparison of litedbmodel with popular TypeScript/JavaScript ORMs.
4
4
 
5
5
  <!--@embedoc:package_version label="Benchmark figures"-->
6
- **Benchmark figures:** litedbmodel **2.2.7**
6
+ **Benchmark figures:** litedbmodel **2.2.8**
7
7
  <!--@embedoc:end-->
8
8
 
9
9
  > The only performance number on this page is the machine-computed win count below; the full
@@ -1,4 +1,4 @@
1
- **litedbmodel v2.2.7**
1
+ **litedbmodel v2.2.8**
2
2
 
3
3
  ***
4
4
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.7**](../README.md)
1
+ [**litedbmodel v2.2.8**](../README.md)
2
2
 
3
3
  ***
4
4
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: Conditions\<Model\>
8
8
 
9
- Defined in: [Column.ts:628](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L628)
9
+ Defined in: [Column.ts:639](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L639)
10
10
 
11
11
  Type-safe builder for query conditions.
12
12
  Use array literals for static conditions, builder for dynamic construction.
@@ -47,7 +47,7 @@ if (query.active) where.add(User.is_active, true);
47
47
  new Conditions<Model>(initial?: Conds): Conditions<Model>;
48
48
  ```
49
49
 
50
- Defined in: [Column.ts:634](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L634)
50
+ Defined in: [Column.ts:645](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L645)
51
51
 
52
52
  Create a Conditions builder, optionally with initial conditions.
53
53
 
@@ -71,7 +71,7 @@ Create a Conditions builder, optionally with initial conditions.
71
71
  get length(): number;
72
72
  ```
73
73
 
74
- Defined in: [Column.ts:700](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L700)
74
+ Defined in: [Column.ts:711](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L711)
75
75
 
76
76
  Get the number of conditions.
77
77
 
@@ -87,7 +87,7 @@ Get the number of conditions.
87
87
  add<V>(column: Column<V, Model>, value: V | null | undefined): this;
88
88
  ```
89
89
 
90
- Defined in: [Column.ts:643](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L643)
90
+ Defined in: [Column.ts:654](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L654)
91
91
 
92
92
  Add a type-safe column equality condition.
93
93
 
@@ -116,7 +116,7 @@ Add a type-safe column equality condition.
116
116
  addRaw(condition: string, value?: unknown): this;
117
117
  ```
118
118
 
119
- Defined in: [Column.ts:651](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L651)
119
+ Defined in: [Column.ts:662](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L662)
120
120
 
121
121
  Add a raw condition with template literal (e.g., `${User.age} > ?`).
122
122
 
@@ -141,7 +141,7 @@ Add a raw condition with template literal (e.g., `${User.age} > ?`).
141
141
  addSql<V>(fragment: SqlTypedFragment<V, Model>, value: V): this;
142
142
  ```
143
143
 
144
- Defined in: [Column.ts:670](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L670)
144
+ Defined in: [Column.ts:681](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L681)
145
145
 
146
146
  Add a type-safe sql-tagged condition.
147
147
 
@@ -176,7 +176,7 @@ where.addSql(sql`${User.deleted_at} IS NULL`);
176
176
  addSql(fragment: SqlTypedFragment<any, Model>): this;
177
177
  ```
178
178
 
179
- Defined in: [Column.ts:671](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L671)
179
+ Defined in: [Column.ts:682](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L682)
180
180
 
181
181
  Add a type-safe sql-tagged condition.
182
182
 
@@ -206,7 +206,7 @@ where.addSql(sql`${User.deleted_at} IS NULL`);
206
206
  or(...condGroups: readonly Conds[]): this;
207
207
  ```
208
208
 
209
- Defined in: [Column.ts:685](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L685)
209
+ Defined in: [Column.ts:696](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L696)
210
210
 
211
211
  Add an OR condition group.
212
212
 
@@ -228,7 +228,7 @@ Add an OR condition group.
228
228
  build(): Conds;
229
229
  ```
230
230
 
231
- Defined in: [Column.ts:693](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L693)
231
+ Defined in: [Column.ts:704](https://github.com/foo-ogawa/litedbmodel/blob/main/src/Column.ts#L704)
232
232
 
233
233
  Build the final array for use with find/count/delete.
234
234
 
@@ -1,4 +1,4 @@
1
- [**litedbmodel v2.2.7**](../README.md)
1
+ [**litedbmodel v2.2.8**](../README.md)
2
2
 
3
3
  ***
4
4