@ts-safeql/generate
Advanced tools
Comparing version 0.0.11 to 0.0.12
@@ -7,3 +7,3 @@ import { DuplicateColumnsError, IdentiferCase, ParsedQuery, PostgresError } from "@ts-safeql/shared"; | ||
export type GenerateResult = { | ||
result: string | null; | ||
result: [string, string][] | null; | ||
stmt: postgres.Statement; | ||
@@ -10,0 +10,0 @@ query: string; |
@@ -93,9 +93,9 @@ "use strict"; | ||
}); | ||
return `${propertySignature};`; | ||
return propertySignature; | ||
}); | ||
return `{ ${properties.join(" ")} }`; | ||
return properties; | ||
} | ||
function buildInterfacePropertyValue(params) { | ||
const isNullable = params.isNullable && ["any", "null"].includes(params.value) === false; | ||
return `${params.key}: ${isNullable ? `${params.value} | null` : params.value}`; | ||
return [params.key, isNullable ? `${params.value} | null` : params.value]; | ||
} | ||
@@ -102,0 +102,0 @@ function isNullableDueToRelation(params) { |
@@ -79,3 +79,3 @@ "use strict"; | ||
const cacheKey = "test"; | ||
return (0, function_1.pipe)(TE.Do, TE.bind("pgParsed", () => parseQueryTE(params.query)), TE.bind("result", ({ pgParsed }) => generateTE({ sql, pgParsed, query, cacheKey, fieldTransform: undefined })), TE.chainW(({ result }) => TE.fromEither(result)), TE.match((error) => (0, function_1.pipe)(params.expectedError, O.fromNullable, O.fold(() => assert_1.default.fail(error.message), (expectedError) => assert_1.default.strictEqual(error.message, expectedError))), ({ result }) => assert_1.default.equal(result, params.expected)))(); | ||
return (0, function_1.pipe)(TE.Do, TE.bind("pgParsed", () => parseQueryTE(params.query)), TE.bind("result", ({ pgParsed }) => generateTE({ sql, pgParsed, query, cacheKey, fieldTransform: undefined })), TE.chainW(({ result }) => TE.fromEither(result)), TE.match((error) => (0, function_1.pipe)(params.expectedError, O.fromNullable, O.fold(() => assert_1.default.fail(error.message), (expectedError) => assert_1.default.strictEqual(error.message, expectedError))), ({ result }) => assert_1.default.deepEqual(result, params.expected)))(); | ||
}; | ||
@@ -85,3 +85,3 @@ (0, mocha_1.test)("(init generate cache)", async () => { | ||
query: `SELECT 1 as x`, | ||
expected: `{ x: number; }`, | ||
expected: [["x", "number"]], | ||
}); | ||
@@ -92,3 +92,7 @@ }); | ||
query: `SELECT id, first_name, last_name from caregiver LIMIT 1`, | ||
expected: `{ id: number; first_name: string; last_name: string; }`, | ||
expected: [ | ||
["id", "number"], | ||
["first_name", "string"], | ||
["last_name", "string"], | ||
], | ||
}); | ||
@@ -99,3 +103,3 @@ }); | ||
query: `SELECT first_name as "firstName" from caregiver LIMIT 1`, | ||
expected: `{ firstName: string; }`, | ||
expected: [["firstName", "string"]], | ||
}); | ||
@@ -105,3 +109,3 @@ }); | ||
query: `SELECT 1 as count`, | ||
expected: `{ count: number; }`, | ||
expected: [["count", "number"]], | ||
})); | ||
@@ -117,3 +121,6 @@ (0, mocha_1.test)("select with an inner join", async () => { | ||
`, | ||
expected: `{ caregiver_id: number; assoc_id: number; }`, | ||
expected: [ | ||
["caregiver_id", "number"], | ||
["assoc_id", "number"], | ||
], | ||
}); | ||
@@ -130,3 +137,6 @@ }); | ||
`, | ||
expected: `{ caregiver_id: number; assoc_id: number | null; }`, | ||
expected: [ | ||
["caregiver_id", "number"], | ||
["assoc_id", "number | null"], | ||
], | ||
}); | ||
@@ -143,3 +153,6 @@ }); | ||
`, | ||
expected: `{ caregiver_id: number | null; assoc_id: number; }`, | ||
expected: [ | ||
["caregiver_id", "number | null"], | ||
["assoc_id", "number"], | ||
], | ||
}); | ||
@@ -156,3 +169,6 @@ }); | ||
`, | ||
expected: `{ caregiver_id: number | null; assoc_id: number | null; }`, | ||
expected: [ | ||
["caregiver_id", "number | null"], | ||
["assoc_id", "number | null"], | ||
], | ||
}); | ||
@@ -175,3 +191,3 @@ }); | ||
query: `INSERT INTO caregiver (first_name, last_name) VALUES (null, null) RETURNING id`, | ||
expected: `{ id: number; }`, | ||
expected: [["id", "number"]], | ||
}); | ||
@@ -194,3 +210,3 @@ }); | ||
query: `SELECT id FROM caregiver WHERE id = ANY($1::int[])`, | ||
expected: "{ id: number; }", | ||
expected: [["id", "number"]], | ||
}); | ||
@@ -197,0 +213,0 @@ }); |
{ | ||
"name": "@ts-safeql/generate", | ||
"version": "0.0.11", | ||
"version": "0.0.12", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
43828
682