@lark-apaas/db-schema-sync 0.1.5 → 0.1.6-alpha.1

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-52COOWKC.js";
9
+ } from "./chunk-HRE26HBV.js";
10
10
 
11
11
  // node_modules/dotenv/package.json
12
12
  var require_package = __commonJS({
@@ -1276,17 +1276,11 @@ var primitiveMappers = [
1276
1276
  generate: (f) => `uuid("${escapeDoubleQuote(f.fieldName)}")`,
1277
1277
  imports: () => [{ name: "uuid", from: PG_CORE }]
1278
1278
  },
1279
- // varchar (honors extraInfo.max_length from listTableView API)
1279
+ // varchar
1280
1280
  {
1281
1281
  name: "varchar",
1282
1282
  match: (f) => f.type === "varchar",
1283
- generate: (f) => {
1284
- const maxLength = f.extraInfo?.max_length;
1285
- if (typeof maxLength === "number" && Number.isInteger(maxLength) && maxLength > 0) {
1286
- return `varchar("${escapeDoubleQuote(f.fieldName)}", { length: ${maxLength} })`;
1287
- }
1288
- return `varchar("${escapeDoubleQuote(f.fieldName)}")`;
1289
- },
1283
+ generate: (f) => `varchar("${escapeDoubleQuote(f.fieldName)}")`,
1290
1284
  imports: () => [{ name: "varchar", from: PG_CORE }]
1291
1285
  },
1292
1286
  // text
@@ -1507,7 +1501,9 @@ var ImportCollector = class {
1507
1501
  };
1508
1502
 
1509
1503
  // src/generator/default-value.ts
1510
- function formatDefaultValue(value) {
1504
+ var CUSTOM_CAST_TYPES = /* @__PURE__ */ new Set(["user_profile", "file_attachment"]);
1505
+ var CURRENT_USER_SENTINEL = "current_user";
1506
+ function formatDefaultValue(value, field) {
1511
1507
  if (value == null || value === "") return "";
1512
1508
  const trimmed = value.trim();
1513
1509
  if (!trimmed || trimmed.toUpperCase() === "NULL") return "";
@@ -1516,6 +1512,12 @@ function formatDefaultValue(value) {
1516
1512
  if (trimmed === "true") return ".default(true)";
1517
1513
  if (trimmed === "false") return ".default(false)";
1518
1514
  if (/^-?\d+(\.\d+)?$/.test(trimmed)) return `.default(${trimmed})`;
1515
+ if (field && CUSTOM_CAST_TYPES.has(field.type) && !trimmed.includes("::") && trimmed.toLowerCase() !== CURRENT_USER_SENTINEL) {
1516
+ const pgLiteral = trimmed.replace(/'/g, "''");
1517
+ const escaped = pgLiteral.replace(/`/g, "\\`").replace(/\$\{/g, "\\${");
1518
+ const cast = field.isArray ? `${field.type}[]` : field.type;
1519
+ return `.default(sql\`'${escaped}'::${cast}\`)`;
1520
+ }
1519
1521
  if (/::|\(|CASE|current_setting/i.test(trimmed)) {
1520
1522
  const escaped = trimmed.replace(/`/g, "\\`").replace(/\$\{/g, "\\${");
1521
1523
  return `.default(sql\`${escaped}\`)`;
@@ -1544,7 +1546,7 @@ var defaultModifiers = [
1544
1546
  {
1545
1547
  name: "defaultValue",
1546
1548
  match: (f) => f.defaultValue != null && f.defaultValue !== "",
1547
- modify: (f) => formatDefaultValue(f.defaultValue)
1549
+ modify: (f) => formatDefaultValue(f.defaultValue, f)
1548
1550
  }
1549
1551
  ];
1550
1552
  function applyModifiers(field, modifiers) {
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  generateSchemaFromData,
6
6
  normalizeApiResponse,
7
7
  resolveEnvOptions
8
- } from "./chunk-52COOWKC.js";
8
+ } from "./chunk-HRE26HBV.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.5",
3
+ "version": "0.1.6-alpha.1",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",