@lark-apaas/db-schema-sync 0.1.10 → 0.1.11-alpha.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/dist/bin.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  __toESM,
7
7
  generateSchema,
8
8
  resolveEnvOptions
9
- } from "./chunk-5IYLZYAX.js";
9
+ } from "./chunk-KZVZNV7Y.js";
10
10
 
11
11
  // node_modules/dotenv/package.json
12
12
  var require_package = __commonJS({
@@ -1382,12 +1382,15 @@ function escapeDoubleQuote(s) {
1382
1382
 
1383
1383
  // src/generator/mappers/primitives.ts
1384
1384
  var PG_CORE = "drizzle-orm/pg-core";
1385
+ function withArray(base, f) {
1386
+ return f.isArray ? `${base}.array()` : base;
1387
+ }
1385
1388
  var primitiveMappers = [
1386
1389
  // uuid
1387
1390
  {
1388
1391
  name: "uuid",
1389
1392
  match: (f) => f.type === "uuid",
1390
- generate: (f) => `uuid("${escapeDoubleQuote(f.fieldName)}")`,
1393
+ generate: (f) => withArray(`uuid("${escapeDoubleQuote(f.fieldName)}")`, f),
1391
1394
  imports: () => [{ name: "uuid", from: PG_CORE }]
1392
1395
  },
1393
1396
  // varchar (honors extraInfo.max_length from listTableView API)
@@ -1397,9 +1400,9 @@ var primitiveMappers = [
1397
1400
  generate: (f) => {
1398
1401
  const maxLength = f.extraInfo?.max_length;
1399
1402
  if (typeof maxLength === "number" && Number.isInteger(maxLength) && maxLength > 0) {
1400
- return `varchar("${escapeDoubleQuote(f.fieldName)}", { length: ${maxLength} })`;
1403
+ return withArray(`varchar("${escapeDoubleQuote(f.fieldName)}", { length: ${maxLength} })`, f);
1401
1404
  }
1402
- return `varchar("${escapeDoubleQuote(f.fieldName)}")`;
1405
+ return withArray(`varchar("${escapeDoubleQuote(f.fieldName)}")`, f);
1403
1406
  },
1404
1407
  imports: () => [{ name: "varchar", from: PG_CORE }]
1405
1408
  },
@@ -1407,105 +1410,105 @@ var primitiveMappers = [
1407
1410
  {
1408
1411
  name: "text",
1409
1412
  match: (f) => f.type === "text",
1410
- generate: (f) => `text("${escapeDoubleQuote(f.fieldName)}")`,
1413
+ generate: (f) => withArray(`text("${escapeDoubleQuote(f.fieldName)}")`, f),
1411
1414
  imports: () => [{ name: "text", from: PG_CORE }]
1412
1415
  },
1413
1416
  // smallint (int2)
1414
1417
  {
1415
1418
  name: "smallint",
1416
1419
  match: (f) => f.type === "int2",
1417
- generate: (f) => `smallint("${escapeDoubleQuote(f.fieldName)}")`,
1420
+ generate: (f) => withArray(`smallint("${escapeDoubleQuote(f.fieldName)}")`, f),
1418
1421
  imports: () => [{ name: "smallint", from: PG_CORE }]
1419
1422
  },
1420
1423
  // integer (int4, integer)
1421
1424
  {
1422
1425
  name: "integer",
1423
1426
  match: (f) => ["int4", "integer"].includes(f.type),
1424
- generate: (f) => `integer("${escapeDoubleQuote(f.fieldName)}")`,
1427
+ generate: (f) => withArray(`integer("${escapeDoubleQuote(f.fieldName)}")`, f),
1425
1428
  imports: () => [{ name: "integer", from: PG_CORE }]
1426
1429
  },
1427
1430
  // bigint (int8, bigint)
1428
1431
  {
1429
1432
  name: "bigint",
1430
1433
  match: (f) => ["int8", "bigint"].includes(f.type),
1431
- generate: (f) => `bigint("${escapeDoubleQuote(f.fieldName)}", { mode: 'number' })`,
1434
+ generate: (f) => withArray(`bigint("${escapeDoubleQuote(f.fieldName)}", { mode: 'number' })`, f),
1432
1435
  imports: () => [{ name: "bigint", from: PG_CORE }]
1433
1436
  },
1434
1437
  // real (float4, real)
1435
1438
  {
1436
1439
  name: "real",
1437
1440
  match: (f) => ["float4", "real"].includes(f.type),
1438
- generate: (f) => `real("${escapeDoubleQuote(f.fieldName)}")`,
1441
+ generate: (f) => withArray(`real("${escapeDoubleQuote(f.fieldName)}")`, f),
1439
1442
  imports: () => [{ name: "real", from: PG_CORE }]
1440
1443
  },
1441
1444
  // doublePrecision (float8, double precision)
1442
1445
  {
1443
1446
  name: "doublePrecision",
1444
1447
  match: (f) => ["float8", "double precision"].includes(f.type),
1445
- generate: (f) => `doublePrecision("${escapeDoubleQuote(f.fieldName)}")`,
1448
+ generate: (f) => withArray(`doublePrecision("${escapeDoubleQuote(f.fieldName)}")`, f),
1446
1449
  imports: () => [{ name: "doublePrecision", from: PG_CORE }]
1447
1450
  },
1448
1451
  // numeric (numeric, decimal)
1449
1452
  {
1450
1453
  name: "numeric",
1451
1454
  match: (f) => ["numeric", "decimal"].includes(f.type),
1452
- generate: (f) => `numeric("${escapeDoubleQuote(f.fieldName)}")`,
1455
+ generate: (f) => withArray(`numeric("${escapeDoubleQuote(f.fieldName)}")`, f),
1453
1456
  imports: () => [{ name: "numeric", from: PG_CORE }]
1454
1457
  },
1455
1458
  // boolean (bool, boolean)
1456
1459
  {
1457
1460
  name: "boolean",
1458
1461
  match: (f) => ["bool", "boolean"].includes(f.type),
1459
- generate: (f) => `boolean("${escapeDoubleQuote(f.fieldName)}")`,
1462
+ generate: (f) => withArray(`boolean("${escapeDoubleQuote(f.fieldName)}")`, f),
1460
1463
  imports: () => [{ name: "boolean", from: PG_CORE }]
1461
1464
  },
1462
1465
  // json
1463
1466
  {
1464
1467
  name: "json",
1465
1468
  match: (f) => f.type === "json",
1466
- generate: (f) => `json("${escapeDoubleQuote(f.fieldName)}")`,
1469
+ generate: (f) => withArray(`json("${escapeDoubleQuote(f.fieldName)}")`, f),
1467
1470
  imports: () => [{ name: "json", from: PG_CORE }]
1468
1471
  },
1469
1472
  // jsonb
1470
1473
  {
1471
1474
  name: "jsonb",
1472
1475
  match: (f) => f.type === "jsonb",
1473
- generate: (f) => `jsonb("${escapeDoubleQuote(f.fieldName)}")`,
1476
+ generate: (f) => withArray(`jsonb("${escapeDoubleQuote(f.fieldName)}")`, f),
1474
1477
  imports: () => [{ name: "jsonb", from: PG_CORE }]
1475
1478
  },
1476
1479
  // timestamp (without timezone) — uses drizzle-orm timestamp, not customTimestamptz
1477
1480
  {
1478
1481
  name: "timestamp",
1479
1482
  match: (f) => f.type === "timestamp",
1480
- generate: (f) => `timestamp("${escapeDoubleQuote(f.fieldName)}", { mode: 'string' })`,
1483
+ generate: (f) => withArray(`timestamp("${escapeDoubleQuote(f.fieldName)}", { mode: 'string' })`, f),
1481
1484
  imports: () => [{ name: "timestamp", from: PG_CORE }]
1482
1485
  },
1483
1486
  // date
1484
1487
  {
1485
1488
  name: "date",
1486
1489
  match: (f) => f.type === "date",
1487
- generate: (f) => `date("${escapeDoubleQuote(f.fieldName)}")`,
1490
+ generate: (f) => withArray(`date("${escapeDoubleQuote(f.fieldName)}")`, f),
1488
1491
  imports: () => [{ name: "date", from: PG_CORE }]
1489
1492
  },
1490
1493
  // timetz (time with time zone)
1491
1494
  {
1492
1495
  name: "timetz",
1493
1496
  match: (f) => f.type === "timetz",
1494
- generate: (f) => `time("${escapeDoubleQuote(f.fieldName)}", { withTimezone: true })`,
1497
+ generate: (f) => withArray(`time("${escapeDoubleQuote(f.fieldName)}", { withTimezone: true })`, f),
1495
1498
  imports: () => [{ name: "time", from: PG_CORE }]
1496
1499
  },
1497
1500
  // time
1498
1501
  {
1499
1502
  name: "time",
1500
1503
  match: (f) => f.type === "time",
1501
- generate: (f) => `time("${escapeDoubleQuote(f.fieldName)}")`,
1504
+ generate: (f) => withArray(`time("${escapeDoubleQuote(f.fieldName)}")`, f),
1502
1505
  imports: () => [{ name: "time", from: PG_CORE }]
1503
1506
  },
1504
1507
  // serial
1505
1508
  {
1506
1509
  name: "serial",
1507
1510
  match: (f) => f.type === "serial",
1508
- generate: (f) => `serial("${escapeDoubleQuote(f.fieldName)}")`,
1511
+ generate: (f) => withArray(`serial("${escapeDoubleQuote(f.fieldName)}")`, f),
1509
1512
  imports: () => [{ name: "serial", from: PG_CORE }]
1510
1513
  }
1511
1514
  ];
@@ -1580,7 +1583,10 @@ function createEnumMapper(enumNameToIdentifier) {
1580
1583
  var fallbackMapper = {
1581
1584
  name: "fallback-text",
1582
1585
  match: () => true,
1583
- generate: (field) => `text("${escapeDoubleQuote(field.fieldName)}")`,
1586
+ generate: (field) => {
1587
+ const base = `text("${escapeDoubleQuote(field.fieldName)}")`;
1588
+ return field.isArray ? `${base}.array()` : base;
1589
+ },
1584
1590
  imports: () => [{ name: "text", from: "drizzle-orm/pg-core" }]
1585
1591
  };
1586
1592
 
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  generateSchemaFromData,
6
6
  normalizeApiResponse,
7
7
  resolveEnvOptions
8
- } from "./chunk-5IYLZYAX.js";
8
+ } from "./chunk-KZVZNV7Y.js";
9
9
  export {
10
10
  generateSchema,
11
11
  generateSchemaCode,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-apaas/db-schema-sync",
3
- "version": "0.1.10",
3
+ "version": "0.1.11-alpha.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",