@asla/yoursql 0.6.3 → 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/mod.js CHANGED
@@ -406,12 +406,14 @@ class SqlValuesCreator {
406
406
  if (objectList.length <= 0)
407
407
  throw new Error("objectList 不能是空数组");
408
408
  let keys;
409
- let asserts = {};
409
+ let asserts;
410
410
  if (!keys_types) {
411
411
  keys = Array.from(getObjectListKeys(objectList, keepUndefinedKey));
412
+ asserts = [];
412
413
  }
413
414
  else if (keys_types instanceof Array) {
414
415
  keys = keys_types;
416
+ asserts = [];
415
417
  }
416
418
  else {
417
419
  keys = Object.keys(keys_types);
@@ -429,7 +431,7 @@ class SqlValuesCreator {
429
431
  j = 0;
430
432
  for (; j < keys.length; j++) {
431
433
  value = object[keys[j]];
432
- rows[j] = this.toSqlStr(value);
434
+ rows[j] = this.toSqlStr(value, asserts[j]?.assertJsType);
433
435
  }
434
436
  str += ",\n(" + rows.join(",") + ")";
435
437
  }
@@ -441,11 +443,11 @@ class SqlValuesCreator {
441
443
  return str;
442
444
  }
443
445
  objectToValues(object, keys_types) {
444
- let type = {};
446
+ let type;
445
447
  let keys;
446
448
  if (keys_types instanceof Array) {
447
449
  keys = keys_types;
448
- type = {};
450
+ type = [];
449
451
  }
450
452
  else if (keys_types) {
451
453
  keys = Object.keys(keys_types);
@@ -453,6 +455,7 @@ class SqlValuesCreator {
453
455
  }
454
456
  else {
455
457
  keys = Object.keys(object);
458
+ type = [];
456
459
  }
457
460
  return this._internalObjectToValues(object, keys, type);
458
461
  }
@@ -466,7 +469,7 @@ class SqlValuesCreator {
466
469
  for (; i < keys.length; i++) {
467
470
  key = keys[i];
468
471
  value = object[key];
469
- assertType = type[key];
472
+ assertType = type[i];
470
473
  if (assertType) {
471
474
  values[i] = this.toSqlStr(value, assertType.assertJsType);
472
475
  if (assertType.sqlType)
@@ -494,6 +497,7 @@ class SqlValuesCreator {
494
497
  throw new Error("values 不能为空");
495
498
  const insertKeys = Object.keys(valuesTypes);
496
499
  const defaultValues = [];
500
+ const asserts = new Array(insertKeys.length);
497
501
  const valuesStr = new Array(values.length);
498
502
  {
499
503
  const column0 = new Array(insertKeys.length);
@@ -512,6 +516,7 @@ class SqlValuesCreator {
512
516
  else {
513
517
  sqlType = item.sqlType;
514
518
  assertJsType = item.assertJsType;
519
+ asserts[i] = assertJsType;
515
520
  defaultValues[i] = item.sqlDefault ?? "NULL";
516
521
  }
517
522
  value = values[0][columnName];
@@ -530,7 +535,7 @@ class SqlValuesCreator {
530
535
  if (value === undefined)
531
536
  items[j] = defaultValues[j];
532
537
  else
533
- items[j] = this.toSqlStr(value);
538
+ items[j] = this.toSqlStr(value, asserts[j]);
534
539
  }
535
540
  valuesStr[i] = "(" + items.join(",") + ")";
536
541
  }
@@ -558,15 +563,15 @@ _YourValuesAs_asName = new WeakMap(), _YourValuesAs_valuesStr = new WeakMap(), _
558
563
  function initColumnAssert(keys, keys_types) {
559
564
  let key;
560
565
  let value;
561
- let type = {};
566
+ let type = new Array(keys.length);
562
567
  for (let i = 0; i < keys.length; i++) {
563
568
  key = keys[i];
564
569
  value = keys_types[key];
565
570
  if (typeof value === "string") {
566
- type[key] = { sqlType: value };
571
+ type[i] = { sqlType: value };
567
572
  }
568
573
  else {
569
- type[key] = value;
574
+ type[i] = value;
570
575
  }
571
576
  }
572
577
  return type;
@@ -1,4 +1,4 @@
1
- import { SqlValuesCreator, SqlRaw } from "../sql_value/sql_value.ts";
1
+ import { SqlValuesCreator } from "../sql_value/sql_value.ts";
2
2
  import { ColumnsSelected, SelectColumns, UpdateRowValue, TableType } from "./type.ts";
3
3
  import { CurrentWhere, Selection } from "./select.ts";
4
4
  import { DbTable, SqlQueryStatement } from "./selectable.ts";
@@ -56,7 +56,7 @@ export declare class DbTableQuery<T extends TableType = Record<string, any>, C e
56
56
  export interface InsertOption<T extends object> {
57
57
  conflict?: (keyof T)[] | string;
58
58
  updateValues?: Constructable<{
59
- [key in keyof T]?: undefined | SqlRaw | T[key];
59
+ [key in keyof T]?: undefined | String | T[key];
60
60
  } | string | void>;
61
61
  where?: Constructable<ConditionParam | void>;
62
62
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@asla/yoursql",
3
- "version": "0.6.3",
3
+ "version": "0.6.5",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "types": "./dist/mod.d.ts",