@typesql/pg 0.4.1 → 0.4.3

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 CHANGED
@@ -29,7 +29,7 @@ await sql.transaction(async (tx) => {
29
29
 
30
30
  `createSql` takes a `Pool`, a `Client` or a `PoolClient`. As in `pg`, `int8` (so `count(*)`), `numeric` and `money` come back as strings.
31
31
 
32
- [Open an example in the TypeScript Playground](https://www.typescriptlang.org/play/?moduleResolution=100#code/JYWwDg9gTgLgBDAnmApnA3nAwhANgGjgHEUA7FKAQxhQBNCA5AV110oCNc0BfOAMygQQcAEQABJKgDOAR1wB6AMbQU8yFJgBzKCikiA3AChQkWBjiKd1FAGU5cXgKGiJyXXLWaDx8NHiYABQg8B35BYREwLyNjUhooPkpFNAARACEMQwBIJikKKQAuTKys4FoiknIqGloAHhFgOIAWEQA+IxKUEEpgXCKcXHqaAA8YNo6s2mApMDZEAH1SShAUIuZWDi4hlFHx7Kz2SjZSZP68etImFahgRT2SyxRrWnnqCrIKZ6HQXRhlsBgAC97twOuoYIViqVysQPtU6PVGjAABz3LKUJgwAAW0HmZTOgwazTRMGAMC4BO2u3a+zATE40yxdFeMDWLDYnBQ3xWGn+QJBRm4hkMylIGjgkBCAF44OQAO5wIJ4AAUmFF5EUpIgpBsMBupE0RUiEA02l0BXk8lwEEURxxGnklDAYBEDgAlEZReLZLg4DLHtY7IN0q1lZLcB7hV74OxEABBTE4qB+uA+5XZAAGNgAogAZbNYAAqEoAdGVCGAS6TySgKyW6QypEyXtRCEwS10erhDHBe33+wPB3AAGIAJQA8gBZCUmiESuAAKXHAEkGHBcvl13Bx2v22UU5WMdjcWUe0Pz4OAOoACWzo+zpaPSbxtBTABIAIwZ-DZADsP8jaMZw0KQU0oOUehjeNE2gDthhQRRMRQZVIxFbVxQ3ZMZXAyDUzkdMsizPMC2Lcs4EOY5kkIAMahZEcJ2nTDQJvO8H07Xp3y-H8shEShaEoMQdn+LgS2UEARAAuCEKQwtKAAaxQYdgCgDRxygQssUEOUUJiIDlCYOJQOwiCyTw3ACKI-MizgJ8T3oCwIAMmBlQAKjdOA4xsWV6KnYC5yICcAFUAjgNIAE0bJgqAX2-Qw3SkxCaB0qN0PgcFl1fYzcJ9KsqDFJItVIZVKCkRATjgZUYGGdypVaYogMwfdeCy0yqoIwjVxzUdi1XQtx3XPIVIq9iCHIo5KBOFB3IANTjXNAuzLzlU-Qg3wAJnc+9C0C0cGFXIg4DKWKShEbQkhQQThmElBRKECT9gABm4+KdmkmhZIUpSVJgNSNK05KsiA8EwJM+A2v2DNOrvHqGD6vzQOKqKX0IasuBmuaFqWla4HWzbs223b9sO2hjuhbieOvFBWAge6she+DEpQD7FOU1T1M0iBtMjLIdBgJgoFIPyy1oQVUJw0y0wzFJiMLB8x188FmNve9IuPaL9xlT9v1EX8RHpt7kMjIA) <span data-playground="pg"></span> to hover the types and edit the SQL, with nothing to install.
32
+ [Open an example in the TypeScript Playground](https://www.typescriptlang.org/play/?moduleResolution=100#code/JYWwDg9gTgLgBDAnmApnA3nAwhANnAXzgDMoIQ4AiAASVQGcBHXAegGNoUXJ6YBzKCnqUA3AChQkWBjhtBAQxgoAys0IkyFGnSHNufURPDR4mAAoQ860uSpgD4iQDslUYvLZoAIgCEMYgEgAV3oUKHoALn8AgOAAEyicXAAeSmAXABZKABoZAAt5ei8UdyDcGCiYKCC0AgA+cRiUEHlgXES8VKUADxhKBsCAuOB6MFx5RAB9J3kQFA6Uyh6+3MwnMvGAI1x5hGragZjN+XGnTwXU9bmoYDZ+xoC5FEUUOMnFC6XQIRhZsBgAF45fKFYqlcqVfaEQ4ERo8GCRaKxBLYTppFwADmBmAKRRK8jKFT2NWhDwJMDy0Em8U+6RgWUOARgwBgO0+y3ugzAQW2Izyr3eRKSXW+vD+gOxcHWuC2bOJB0asLEBDEYg4Tl4cEgVgAvFKUAB3OAWPAACkw6qcKDYzIgTmUVXSfCilHhAiEERYLFwEDYJ0pvBY8jAYEohAAlOJ1ZqmPg9U8XqoUr46qbtbhI6ro-BNogAIJBCnQOB62OmwIAA2UAFEADLVrAAFS1ADp4rkwC3mayUB2W9zefR+W9FLkgi3mq1cGI4LO5-OF4u4AAxABKAHkALJaiC8ehauAAKXXAEkAHJwEJhfdBODri-j+Il1vkylQalxGdL7+LgDqAAlq1XasX0LN8P2fAASABGCtskCAB2eDM2zHc92feQDVaHN8zA6AJ26a1CxQU1MzVO1NSvKAMKwlk4DLSsa3rJs4HbOBjlOTxcgTJQR3gNct0vUJwjgACgJAyc2ig2D4ICSh5DieRqBQbo-h2FsOBAHIxHDAiiKURt5AAaxQZdgHCGB1ygRs8jIA1SMcVCOCCFx9z1TDsPo5hywCKs6wbZtXypNjnJcU0ACpwzgPNlClFcN23eF9wAcQ3ABVMw4B8ABNOAgvfeI4J0vS2GIhyswo+B4RPOIaM82MuygeQNQ8W0nFNQpEDOOBTRgboop1OpolQzAnyIdzaPgPqfN888a1XZtz0bdchOvHrJNwXIOOazwooANTzWs0urWLTRg3JIIAJii4DGzS1cz3PZLWLiIqYkoAQPBQZTVPAdTNO0mIAAZZN0lT9JQQyTLMiyrJsuzyseSq0PgCbPOmwYKzmoDFrPZaUf3Dq8IKuJcm7HZ9sO47TvOuArpu6s7oep6Xre5FZLk-8UBlCBAbBwjSoM4zTPM3g4dsiB7MzAJBBgIIoCcFG2zicQCDIjy6LLCsvH8xsQIExLdwRUTAOAvLiYgvUYLgqgEMofmIfKoA) <span data-playground="pg"></span> to hover the types and edit the SQL, with nothing to install.
33
33
 
34
34
  ## Generate your schema
35
35
 
@@ -1 +1 @@
1
- {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../src/introspect/emit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAClB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAChC,CAAC,CACD,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,oBAAoB,KACzB,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,CACjB,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,oBAAoB,KAC1B,MAAM,GAAG,SAAS,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC5B;AA2CD,wBAAgB,cAAc,CAC7B,EAAE,EAAE,oBAAoB,EACxB,OAAO,GAAE,eAAoB,GAC3B,MAAM,CAmKR"}
1
+ {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../src/introspect/emit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAClB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAChC,CAAC,CACD,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,oBAAoB,KACzB,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,CACjB,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,oBAAoB,KAC1B,MAAM,GAAG,SAAS,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC5B;AAsCD,wBAAgB,cAAc,CAC7B,EAAE,EAAE,oBAAoB,EACxB,OAAO,GAAE,eAAoB,GAC3B,MAAM,CA4JR"}
@@ -11,13 +11,10 @@ function doc(lines, indent) {
11
11
  return `${indent}/** ${text[0]} */\n`;
12
12
  return `${indent}/**\n${text.map((l) => `${indent} *${l ? ` ${l}` : ""}`).join("\n")}\n${indent} */\n`;
13
13
  }
14
- const helperFor = (nullable, hasDefault) => nullable
15
- ? hasDefault
16
- ? "NullableGenerated"
17
- : "Nullable"
18
- : hasDefault
19
- ? "Generated"
20
- : "Col";
14
+ const flagsOf = (c) => [
15
+ ...(c.nullable ? ["nullable: true"] : []),
16
+ ...(c.hasDefault ? ["hasDefault: true"] : []),
17
+ ];
21
18
  function columnNotes(c) {
22
19
  const notes = [];
23
20
  if (c.comment)
@@ -57,10 +54,7 @@ export function generateSource(db, options = {}) {
57
54
  return ts;
58
55
  };
59
56
  const jsonDescriptor = (col, ts) => {
60
- const flags = [
61
- ...(col.nullable ? ["nullable: true"] : []),
62
- ...(col.hasDefault ? ["hasDefault: true"] : []),
63
- ];
57
+ const flags = flagsOf(col);
64
58
  const flagSource = flags.length > 0 ? `{ ${flags.join("; ")} }` : "{}";
65
59
  used.add("Json");
66
60
  if (col.type === "json")
@@ -76,9 +70,12 @@ export function generateSource(db, options = {}) {
76
70
  if (custom !== undefined)
77
71
  descriptor = jsonDescriptor(c, custom);
78
72
  else {
79
- const helper = helperFor(c.nullable, c.hasDefault);
80
- used.add(helper);
81
- descriptor = `${helper}<${str(c.type)}>`;
73
+ const flags = flagsOf(c);
74
+ used.add("Col");
75
+ descriptor =
76
+ flags.length > 0
77
+ ? `Col<${str(c.type)}, { ${flags.join("; ")} }>`
78
+ : `Col<${str(c.type)}>`;
82
79
  }
83
80
  }
84
81
  return `${comments ? doc(columnNotes(c), `${indent} `) : ""}${indent} ${key(c.name)}: ${descriptor};`;
@@ -139,14 +136,7 @@ export function generateSource(db, options = {}) {
139
136
  });
140
137
  lines.push(` $types: {\n${entries.join("\n")}\n };`);
141
138
  }
142
- const helpers = [
143
- "Col",
144
- "Generated",
145
- "Json",
146
- "Nullable",
147
- "NullableGenerated",
148
- "View",
149
- ].filter((h) => used.has(h));
139
+ const helpers = ["Col", "Json", "View"].filter((h) => used.has(h));
150
140
  const out = [
151
141
  `// Generated by \`typesql introspect\` from PostgreSQL ${db.version.split(/[.\s]/)[0]}. Do not edit.`,
152
142
  ...(helpers.length > 0
@@ -1 +1 @@
1
- {"version":3,"file":"emit.js","sourceRoot":"","sources":["../../src/introspect/emit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit.js","sourceRoot":"","sources":["../../src/introspect/emit.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typesql/pg",
3
- "version": "0.4.1",
3
+ "version": "0.4.3",
4
4
  "description": "node-postgres (pg) adapter for TypeSQL, with the introspection behind `typesql introspect` (@typesql/cli).",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -32,7 +32,7 @@
32
32
  "access": "public"
33
33
  },
34
34
  "dependencies": {
35
- "@typesql/core": "0.10.1"
35
+ "@typesql/core": "1.0.1"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "pg": ">=8"
@@ -35,15 +35,10 @@ function doc(lines: readonly string[], indent: string): string {
35
35
  return `${indent}/**\n${text.map((l) => `${indent} *${l ? ` ${l}` : ""}`).join("\n")}\n${indent} */\n`;
36
36
  }
37
37
 
38
- type Helper = "Col" | "Nullable" | "Generated" | "NullableGenerated" | "Json";
39
- const helperFor = (nullable: boolean, hasDefault: boolean): Helper =>
40
- nullable
41
- ? hasDefault
42
- ? "NullableGenerated"
43
- : "Nullable"
44
- : hasDefault
45
- ? "Generated"
46
- : "Col";
38
+ const flagsOf = (c: IntrospectedColumn): string[] => [
39
+ ...(c.nullable ? ["nullable: true"] : []),
40
+ ...(c.hasDefault ? ["hasDefault: true"] : []),
41
+ ];
47
42
 
48
43
  function columnNotes(c: IntrospectedColumn): string[] {
49
44
  const notes: string[] = [];
@@ -97,10 +92,7 @@ export function generateSource(
97
92
  };
98
93
 
99
94
  const jsonDescriptor = (col: IntrospectedColumn, ts: string): string => {
100
- const flags = [
101
- ...(col.nullable ? ["nullable: true"] : []),
102
- ...(col.hasDefault ? ["hasDefault: true"] : []),
103
- ];
95
+ const flags = flagsOf(col);
104
96
  const flagSource = flags.length > 0 ? `{ ${flags.join("; ")} }` : "{}";
105
97
  used.add("Json");
106
98
  if (col.type === "json") return `Json<${ts}, ${flagSource}, "json">`;
@@ -115,9 +107,12 @@ export function generateSource(
115
107
  const custom = customType(rel, c);
116
108
  if (custom !== undefined) descriptor = jsonDescriptor(c, custom);
117
109
  else {
118
- const helper = helperFor(c.nullable, c.hasDefault);
119
- used.add(helper);
120
- descriptor = `${helper}<${str(c.type)}>`;
110
+ const flags = flagsOf(c);
111
+ used.add("Col");
112
+ descriptor =
113
+ flags.length > 0
114
+ ? `Col<${str(c.type)}, { ${flags.join("; ")} }>`
115
+ : `Col<${str(c.type)}>`;
121
116
  }
122
117
  }
123
118
  return `${comments ? doc(columnNotes(c), `${indent} `) : ""}${indent} ${key(c.name)}: ${descriptor};`;
@@ -199,14 +194,7 @@ export function generateSource(
199
194
  lines.push(` $types: {\n${entries.join("\n")}\n };`);
200
195
  }
201
196
 
202
- const helpers = [
203
- "Col",
204
- "Generated",
205
- "Json",
206
- "Nullable",
207
- "NullableGenerated",
208
- "View",
209
- ].filter((h) => used.has(h));
197
+ const helpers = ["Col", "Json", "View"].filter((h) => used.has(h));
210
198
  const out = [
211
199
  `// Generated by \`typesql introspect\` from PostgreSQL ${db.version.split(/[.\s]/)[0]}. Do not edit.`,
212
200
  ...(helpers.length > 0