@rawsql-ts/sql-contract 0.3.1 → 0.3.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mapper/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { KeyExtractor, KeyValue, Row } from './index';
2
+ /**
3
+ * Serializes a key value so it can act as a deterministic cache identifier.
4
+ * Array values are flattened, and each component is tagged with its runtime
5
+ * type to keep string/number/bigint collisions distinct (e.g., "1" vs 1).
6
+ *
7
+ * @param value - A primitive or composite key value produced by a mapping.
8
+ * @returns A stable string representation that preserves component order and types.
9
+ * @throws If the provided value is null, undefined, or not a supported primitive.
10
+ */
11
+ export declare function normalizeKeyValue(value: KeyValue): string;
12
+ /**
13
+ * Extracts and normalizes a key from a database row using the supplied descriptor.
14
+ *
15
+ * @param row - The raw database row whose column names may still be snake_case.
16
+ * @param key - A property name, an ordered list of column names (for composites), or a key extractor.
17
+ * @param mappingName - Included in error-context messaging when required columns are missing.
18
+ * @returns A deterministic string form of the key that preserves component ordering and types.
19
+ * @throws If required columns are missing or contain null/undefined values.
20
+ */
21
+ export declare function normalizeKeyFromRow(row: Row, key: string | readonly string[] | KeyExtractor<Row>, mappingName: string): string;
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeKeyValue = normalizeKeyValue;
4
+ exports.normalizeKeyFromRow = normalizeKeyFromRow;
5
+ function assertPrimitive(component) {
6
+ if (component === undefined || component === null) {
7
+ throw new Error('Internal key component must be defined.');
8
+ }
9
+ if (typeof component === 'string') {
10
+ return component;
11
+ }
12
+ if (typeof component === 'number') {
13
+ if (!Number.isFinite(component)) {
14
+ throw new Error('Internal key component must be a finite number.');
15
+ }
16
+ return component;
17
+ }
18
+ if (typeof component === 'bigint') {
19
+ return component;
20
+ }
21
+ throw new Error('Internal key component must be a string, number, or bigint.');
22
+ }
23
+ function serializePrimitive(component) {
24
+ if (typeof component === 'string') {
25
+ return `s:${component.length}:${component}`;
26
+ }
27
+ if (typeof component === 'number') {
28
+ return `n:${component}`;
29
+ }
30
+ return `b:${component}`;
31
+ }
32
+ function camelCaseRow(row) {
33
+ const target = {};
34
+ for (const column of Object.keys(row)) {
35
+ target[toCamelCase(column)] = row[column];
36
+ }
37
+ return target;
38
+ }
39
+ function toCamelCase(value) {
40
+ return value
41
+ .split('_')
42
+ .filter(Boolean)
43
+ .map((segment, index) => index === 0
44
+ ? segment.toLowerCase()
45
+ : `${segment.charAt(0).toUpperCase()}${segment
46
+ .slice(1)
47
+ .toLowerCase()}`)
48
+ .join('');
49
+ }
50
+ function lookupColumnValue(row, columnName, mappingName) {
51
+ const normalizedKey = columnName.toLowerCase();
52
+ for (const column of Object.keys(row)) {
53
+ if (column.toLowerCase() === normalizedKey) {
54
+ return row[column];
55
+ }
56
+ }
57
+ const context = mappingName ? ` for mapping "${mappingName}"` : '';
58
+ throw new Error(`Missing key column "${columnName}"${context}`);
59
+ }
60
+ function normalizeArrayValue(value) {
61
+ if (value.length === 0) {
62
+ throw new Error('Composite key must contain at least one value.');
63
+ }
64
+ return value.map((component) => serializePrimitive(assertPrimitive(component))).join('|');
65
+ }
66
+ /**
67
+ * Serializes a key value so it can act as a deterministic cache identifier.
68
+ * Array values are flattened, and each component is tagged with its runtime
69
+ * type to keep string/number/bigint collisions distinct (e.g., "1" vs 1).
70
+ *
71
+ * @param value - A primitive or composite key value produced by a mapping.
72
+ * @returns A stable string representation that preserves component order and types.
73
+ * @throws If the provided value is null, undefined, or not a supported primitive.
74
+ */
75
+ function normalizeKeyValue(value) {
76
+ if (Array.isArray(value)) {
77
+ return normalizeArrayValue(value);
78
+ }
79
+ const primitiveValue = assertPrimitive(value);
80
+ return serializePrimitive(primitiveValue);
81
+ }
82
+ /**
83
+ * Extracts and normalizes a key from a database row using the supplied descriptor.
84
+ *
85
+ * @param row - The raw database row whose column names may still be snake_case.
86
+ * @param key - A property name, an ordered list of column names (for composites), or a key extractor.
87
+ * @param mappingName - Included in error-context messaging when required columns are missing.
88
+ * @returns A deterministic string form of the key that preserves component ordering and types.
89
+ * @throws If required columns are missing or contain null/undefined values.
90
+ */
91
+ function normalizeKeyFromRow(row, key, mappingName) {
92
+ if (typeof key === 'function') {
93
+ return normalizeKeyValue(key(camelCaseRow(row)));
94
+ }
95
+ if (Array.isArray(key)) {
96
+ const values = key.map((column) => assertPrimitive(lookupColumnValue(row, column, mappingName)));
97
+ return normalizeArrayValue(values);
98
+ }
99
+ const columnKey = key;
100
+ const component = assertPrimitive(lookupColumnValue(row, columnKey, mappingName));
101
+ return serializePrimitive(component);
102
+ }
103
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/mapper/internal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Row } from './mapper';
2
+ export type QueryExecutionResult = Row[] | {
3
+ rows: Row[];
4
+ rowCount?: number;
5
+ };
6
+ export type NormalizedExecutionResult = {
7
+ rows: Row[];
8
+ rowCount?: number;
9
+ };
10
+ export declare function normalizeExecutionResult(value: unknown): NormalizedExecutionResult;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeExecutionResult = normalizeExecutionResult;
4
+ function toPreview(value) {
5
+ try {
6
+ const serialized = JSON.stringify(value);
7
+ if (serialized) {
8
+ return serialized.length > 180
9
+ ? `${serialized.slice(0, 180)}...`
10
+ : serialized;
11
+ }
12
+ }
13
+ catch {
14
+ // JSON stringify can fail on circular values; fall back to String below.
15
+ }
16
+ const fallback = String(value);
17
+ return fallback.length > 180 ? `${fallback.slice(0, 180)}...` : fallback;
18
+ }
19
+ function normalizeExecutionResult(value) {
20
+ if (Array.isArray(value)) {
21
+ return { rows: value };
22
+ }
23
+ if (value && typeof value === 'object' && 'rows' in value) {
24
+ const rows = value.rows;
25
+ const rowCount = value.rowCount;
26
+ if (!Array.isArray(rows)) {
27
+ throw new Error(`normalizeExecutionResult expected "rows" to be an array, received ${typeof rows}. preview=${toPreview(rows)}`);
28
+ }
29
+ if (rowCount !== undefined && typeof rowCount !== 'number') {
30
+ throw new Error(`normalizeExecutionResult expected "rowCount" to be a number when present, received ${typeof rowCount}. preview=${toPreview(rowCount)}`);
31
+ }
32
+ return {
33
+ rows,
34
+ rowCount,
35
+ };
36
+ }
37
+ throw new Error(`normalizeExecutionResult expected an array or { rows, rowCount? } object, received ${typeof value}. preview=${toPreview(value)}`);
38
+ }
39
+ //# sourceMappingURL=normalizeExecutionResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeExecutionResult.js","sourceRoot":"","sources":["../src/normalizeExecutionResult.ts"],"names":[],"mappings":";;AA8BA,4DAgCC;AAhDD,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC,MAAM,GAAG,GAAG;gBAC5B,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK;gBAClC,CAAC,CAAC,UAAU,CAAA;QAChB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;IAC3E,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9B,OAAO,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;AAC1E,CAAC;AAED,SAAgB,wBAAwB,CACtC,KAAc;IAEd,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IACxB,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAI,KAA2B,CAAC,IAAI,CAAA;QAC9C,MAAM,QAAQ,GAAI,KAAgC,CAAC,QAAQ,CAAA;QAE3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,qEAAqE,OAAO,IAAI,aAAa,SAAS,CAAC,IAAI,CAAC,EAAE,CAC/G,CAAA;QACH,CAAC;QAED,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,sFAAsF,OAAO,QAAQ,aAAa,SAAS,CAAC,QAAQ,CAAC,EAAE,CACxI,CAAA;QACH,CAAC;QAED,OAAO;YACL,IAAI;YACJ,QAAQ;SACT,CAAA;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,sFAAsF,OAAO,KAAK,aAAa,SAAS,CAAC,KAAK,CAAC,EAAE,CAClI,CAAA;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** Parameters forwarded to SQL executors, either positional arrays or named records. */
2
+ export type QueryParams = unknown[] | Record<string, unknown>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=query-params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-params.js","sourceRoot":"","sources":["../src/query-params.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Attempts to parse a numeric string into a JavaScript number while making the
3
+ * unsafe precision loss explicit in the API name.
4
+ *
5
+ * This helper leaves non-string values untouched so callers can safely run it
6
+ * over raw database output without branching on the column type themselves.
7
+ */
8
+ export declare function decimalStringToNumberUnsafe(value: unknown): unknown;
9
+ /**
10
+ * Coerces bigint-encoded strings into actual `bigint` values while avoiding
11
+ * falsy or empty strings.
12
+ */
13
+ export declare function bigintStringToBigInt(value: unknown): unknown;
14
+ /**
15
+ * Normalizes timestamp values returned by SQL drivers into a valid `Date`.
16
+ *
17
+ * Accepts `Date` instances and parseable timestamp strings.
18
+ * Throws for invalid dates, empty strings, or unsupported value types.
19
+ */
20
+ export declare function timestampFromDriver(value: unknown, fieldName?: string): Date;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decimalStringToNumberUnsafe = decimalStringToNumberUnsafe;
4
+ exports.bigintStringToBigInt = bigintStringToBigInt;
5
+ exports.timestampFromDriver = timestampFromDriver;
6
+ /**
7
+ * Attempts to parse a numeric string into a JavaScript number while making the
8
+ * unsafe precision loss explicit in the API name.
9
+ *
10
+ * This helper leaves non-string values untouched so callers can safely run it
11
+ * over raw database output without branching on the column type themselves.
12
+ */
13
+ function decimalStringToNumberUnsafe(value) {
14
+ if (typeof value === 'number') {
15
+ return value;
16
+ }
17
+ if (typeof value === 'string') {
18
+ const trimmed = value.trim();
19
+ if (!trimmed) {
20
+ return value;
21
+ }
22
+ const parsed = Number(trimmed);
23
+ if (Number.isFinite(parsed)) {
24
+ return parsed;
25
+ }
26
+ }
27
+ return value;
28
+ }
29
+ /**
30
+ * Coerces bigint-encoded strings into actual `bigint` values while avoiding
31
+ * falsy or empty strings.
32
+ */
33
+ function bigintStringToBigInt(value) {
34
+ if (typeof value === 'bigint') {
35
+ return value;
36
+ }
37
+ if (typeof value === 'string') {
38
+ const trimmed = value.trim();
39
+ if (trimmed) {
40
+ try {
41
+ return BigInt(trimmed);
42
+ }
43
+ catch {
44
+ return value;
45
+ }
46
+ }
47
+ }
48
+ return value;
49
+ }
50
+ /**
51
+ * Normalizes timestamp values returned by SQL drivers into a valid `Date`.
52
+ *
53
+ * Accepts `Date` instances and parseable timestamp strings.
54
+ * Throws for invalid dates, empty strings, or unsupported value types.
55
+ */
56
+ function timestampFromDriver(value, fieldName) {
57
+ const fieldLabel = (fieldName === null || fieldName === void 0 ? void 0 : fieldName.trim()) ? ` for "${fieldName}"` : '';
58
+ // Preserve valid Date instances while rejecting "Invalid Date".
59
+ if (value instanceof Date) {
60
+ if (Number.isNaN(value.getTime())) {
61
+ throw new Error(`Invalid Date value${fieldLabel}.`);
62
+ }
63
+ return value;
64
+ }
65
+ // Parse driver-returned timestamp strings after trimming transport whitespace.
66
+ if (typeof value === 'string') {
67
+ const trimmed = value.trim();
68
+ if (!trimmed) {
69
+ throw new Error(`Expected a non-empty timestamp string${fieldLabel}.`);
70
+ }
71
+ const timestamp = Date.parse(trimmed);
72
+ if (Number.isNaN(timestamp)) {
73
+ throw new Error(`Invalid timestamp string${fieldLabel}: "${value}".`);
74
+ }
75
+ return new Date(timestamp);
76
+ }
77
+ const actualType = value === null ? 'null' : typeof value;
78
+ throw new Error(`Expected Date or timestamp string${fieldLabel}, received ${actualType}.`);
79
+ }
80
+ //# sourceMappingURL=coercions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coercions.js","sourceRoot":"","sources":["../../src/utils/coercions.ts"],"names":[],"mappings":";;AAOA,kEAeC;AAMD,oDAeC;AAQD,kDA+BC;AAlFD;;;;;;GAMG;AACH,SAAgB,2BAA2B,CAAC,KAAc;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAA;QACf,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,KAAc;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;QAC5B,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,KAAc,EAAE,SAAkB;IACpE,MAAM,UAAU,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,EAAE,EAAC,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAEjE,gEAAgE;IAChE,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,GAAG,CAAC,CAAA;QACrD,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,+EAA+E;IAC/E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,wCAAwC,UAAU,GAAG,CAAC,CAAA;QACxE,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACrC,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,MAAM,KAAK,IAAI,CACrD,CAAA;QACH,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5B,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAA;IACzD,MAAM,IAAI,KAAK,CACb,oCAAoC,UAAU,cAAc,UAAU,GAAG,CAC1E,CAAA;AACH,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type { QueryParams } from '../query-params';
2
+ import { writerPresets } from './presets';
3
+ import type { WriterPreset } from './presets';
4
+ /** Primitive values that can be serialized as SQL parameters. */
5
+ export type ParamValue = string | number | boolean | null | bigint | Date | Uint8Array;
6
+ /** Values keyed by column that may include undefined entries which are dropped. */
7
+ export type RecordValues = Record<string, ParamValue | undefined>;
8
+ /** Key columns used for equality-only WHERE clauses in update/remove helpers. */
9
+ export type Key = Record<string, ParamValue>;
10
+ /** Supported placeholder styles verified against the SQL formatter presets. */
11
+ export type PlaceholderStyle = 'indexed' | 'question' | 'named';
12
+ /** Per-statement options that remain specific to individual INSERT/UPDATE/DELETE calls. */
13
+ export interface WriterStatementOptions {
14
+ allowUnsafeIdentifiers?: boolean;
15
+ /**
16
+ * Optional columns to expose via a `RETURNING` clause; `'all'` maps to `RETURNING *`.
17
+ * Sorted column lists guarantee deterministic SQL, and the writer itself stays DBMS-agnostic.
18
+ */
19
+ returning?: readonly string[] | 'all';
20
+ }
21
+ /** Legacy compatibility alias for historical usage. */
22
+ export type WriterCoreOptions = WriterStatementOptions;
23
+ type ReturningMetaValue = readonly string[] | '*';
24
+ export type WriterStatementResult = {
25
+ sql: string;
26
+ params: QueryParams;
27
+ meta?: {
28
+ returning?: ReturningMetaValue;
29
+ };
30
+ };
31
+ export type WriterBuild = {
32
+ insert(table: string, values: RecordValues, options?: WriterStatementOptions): WriterStatementResult;
33
+ update(table: string, values: RecordValues, where: Key, options?: WriterStatementOptions): WriterStatementResult;
34
+ remove(table: string, where: Key, options?: WriterStatementOptions): WriterStatementResult;
35
+ };
36
+ export type WriterExecutor = (sql: string, params: QueryParams) => Promise<unknown>;
37
+ export type Writer = {
38
+ insert(table: string, values: RecordValues, options?: WriterStatementOptions): Promise<unknown>;
39
+ update(table: string, values: RecordValues, where: Key, options?: WriterStatementOptions): Promise<unknown>;
40
+ remove(table: string, where: Key, options?: WriterStatementOptions): Promise<unknown>;
41
+ build: WriterBuild;
42
+ };
43
+ export declare const insert: (table: string, values: RecordValues, options?: WriterStatementOptions) => WriterStatementResult;
44
+ export declare const update: (table: string, values: RecordValues, where: Key, options?: WriterStatementOptions) => WriterStatementResult;
45
+ export declare const remove: (table: string, where: Key, options?: WriterStatementOptions) => WriterStatementResult;
46
+ /** Creates a writer bound to the provided executor and preset-driven configuration. */
47
+ export declare function createWriterFromExecutor(executor: WriterExecutor, preset?: WriterPreset): Writer;
48
+ /** Convenience alias for `createWriterFromExecutor`. */
49
+ export declare const createWriter: typeof createWriterFromExecutor;
50
+ export type { QueryParams } from '../query-params';
51
+ export { writerPresets };
52
+ export type { WriterPreset };
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writerPresets = exports.createWriter = exports.remove = exports.update = exports.insert = void 0;
4
+ exports.createWriterFromExecutor = createWriterFromExecutor;
5
+ const presets_1 = require("./presets");
6
+ Object.defineProperty(exports, "writerPresets", { enumerable: true, get: function () { return presets_1.writerPresets; } });
7
+ const identifierPattern = /^[A-Za-z_][A-Za-z0-9_]*$/;
8
+ const identifierControlPattern = /[\u0000-\u001F\u007F]/;
9
+ const assertIdentifierBasics = (identifier, kind) => {
10
+ if (identifier.length === 0) {
11
+ throw new Error(`${kind} identifier must not be empty`);
12
+ }
13
+ if (identifierControlPattern.test(identifier)) {
14
+ throw new Error(`identifier "${identifier}" must not contain control characters`);
15
+ }
16
+ };
17
+ const assertColumnIdentifier = (identifier, allowUnsafe) => {
18
+ assertIdentifierBasics(identifier, 'column');
19
+ if (!allowUnsafe && !identifierPattern.test(identifier)) {
20
+ throw new Error(`column identifier "${identifier}" must match ${identifierPattern}`);
21
+ }
22
+ };
23
+ const assertTableIdentifier = (identifier, allowUnsafe) => {
24
+ assertIdentifierBasics(identifier, 'table');
25
+ if (!allowUnsafe && !identifierPattern.test(identifier)) {
26
+ throw new Error(`table identifier "${identifier}" must match ${identifierPattern}`);
27
+ }
28
+ };
29
+ const hasParamValueEntry = (entry) => entry[1] !== undefined;
30
+ const sortEntries = (entries) => entries.slice().sort(([a], [b]) => a.localeCompare(b));
31
+ const ensureEntries = (entries, kind) => {
32
+ if (entries.length === 0) {
33
+ throw new Error(kind === 'insert' ? 'insert values must not be empty' : 'update values must not be empty');
34
+ }
35
+ };
36
+ const buildReturningClause = (returning, allowUnsafe) => {
37
+ if (returning === undefined) {
38
+ return undefined;
39
+ }
40
+ if (returning === 'all') {
41
+ return { clause: 'RETURNING *', meta: '*' };
42
+ }
43
+ if (!Array.isArray(returning)) {
44
+ throw new Error('returning must be "all" or an array of column names');
45
+ }
46
+ if (returning.length === 0) {
47
+ throw new Error('returning columns must not be empty');
48
+ }
49
+ const columns = returning.slice().sort((a, b) => a.localeCompare(b));
50
+ for (const column of columns) {
51
+ assertColumnIdentifier(column, allowUnsafe);
52
+ }
53
+ return {
54
+ clause: `RETURNING ${columns.join(', ')}`,
55
+ meta: columns,
56
+ };
57
+ };
58
+ const finalizeStatement = (baseSql, params, returningClause) => {
59
+ const sql = returningClause ? `${baseSql} ${returningClause.clause}` : baseSql;
60
+ const result = { sql, params };
61
+ if (returningClause) {
62
+ result.meta = { returning: returningClause.meta };
63
+ }
64
+ return result;
65
+ };
66
+ const buildWhereClause = (key, allowUnsafe, binder) => {
67
+ const entries = sortEntries(Object.entries(key));
68
+ if (entries.length === 0) {
69
+ throw new Error('where must not be empty');
70
+ }
71
+ const clauses = entries.map(([column, value]) => {
72
+ assertColumnIdentifier(column, allowUnsafe);
73
+ if (value === undefined) {
74
+ throw new Error('key values must not be undefined');
75
+ }
76
+ return `${column} = ${binder.bind(value, column)}`;
77
+ });
78
+ return {
79
+ clause: `WHERE ${clauses.join(' AND ')}`,
80
+ };
81
+ };
82
+ const createBuilderSet = (preset) => ({
83
+ insert: (table, values, options) => buildInsertStatement(table, values, options, preset),
84
+ update: (table, values, where, options) => buildUpdateStatement(table, values, where, options, preset),
85
+ remove: (table, where, options) => buildRemoveStatement(table, where, options, preset),
86
+ });
87
+ const buildInsertStatement = (table, values, options, preset) => {
88
+ var _a, _b;
89
+ const allowUnsafe = (options === null || options === void 0 ? void 0 : options.allowUnsafeIdentifiers) === true;
90
+ const binder = preset.createBinder();
91
+ assertTableIdentifier(table, allowUnsafe);
92
+ const entries = sortEntries(Object.entries(values).filter(hasParamValueEntry));
93
+ ensureEntries(entries, 'insert');
94
+ const columns = [];
95
+ const placeholders = [];
96
+ for (const [column, value] of entries) {
97
+ assertColumnIdentifier(column, allowUnsafe);
98
+ columns.push(column);
99
+ placeholders.push(binder.bind(value, column));
100
+ }
101
+ const returningClause = buildReturningClause(options === null || options === void 0 ? void 0 : options.returning, allowUnsafe);
102
+ const baseSql = `INSERT INTO ${table} (${columns.join(', ')}) VALUES (${placeholders.join(', ')})`;
103
+ const result = finalizeStatement(baseSql, binder.params, returningClause);
104
+ return (_b = (_a = preset.finalize) === null || _a === void 0 ? void 0 : _a.call(preset, result)) !== null && _b !== void 0 ? _b : result;
105
+ };
106
+ const buildUpdateStatement = (table, values, where, options, preset) => {
107
+ var _a, _b;
108
+ const allowUnsafe = (options === null || options === void 0 ? void 0 : options.allowUnsafeIdentifiers) === true;
109
+ const binder = preset.createBinder();
110
+ assertTableIdentifier(table, allowUnsafe);
111
+ const entries = sortEntries(Object.entries(values).filter(hasParamValueEntry));
112
+ ensureEntries(entries, 'update');
113
+ const clauses = entries.map(([column, value]) => {
114
+ assertColumnIdentifier(column, allowUnsafe);
115
+ return `${column} = ${binder.bind(value, column)}`;
116
+ });
117
+ const whereClause = buildWhereClause(where, allowUnsafe, binder);
118
+ const returningClause = buildReturningClause(options === null || options === void 0 ? void 0 : options.returning, allowUnsafe);
119
+ const baseSql = `UPDATE ${table} SET ${clauses.join(', ')} ${whereClause.clause}`;
120
+ const result = finalizeStatement(baseSql, binder.params, returningClause);
121
+ return (_b = (_a = preset.finalize) === null || _a === void 0 ? void 0 : _a.call(preset, result)) !== null && _b !== void 0 ? _b : result;
122
+ };
123
+ const buildRemoveStatement = (table, where, options, preset) => {
124
+ var _a, _b;
125
+ const allowUnsafe = (options === null || options === void 0 ? void 0 : options.allowUnsafeIdentifiers) === true;
126
+ const binder = preset.createBinder();
127
+ assertTableIdentifier(table, allowUnsafe);
128
+ const whereClause = buildWhereClause(where, allowUnsafe, binder);
129
+ const returningClause = buildReturningClause(options === null || options === void 0 ? void 0 : options.returning, allowUnsafe);
130
+ const baseSql = `DELETE FROM ${table} ${whereClause.clause}`;
131
+ const result = finalizeStatement(baseSql, binder.params, returningClause);
132
+ return (_b = (_a = preset.finalize) === null || _a === void 0 ? void 0 : _a.call(preset, result)) !== null && _b !== void 0 ? _b : result;
133
+ };
134
+ const legacyPreset = presets_1.writerPresets.indexed();
135
+ const legacyBuilders = createBuilderSet(legacyPreset);
136
+ exports.insert = legacyBuilders.insert;
137
+ exports.update = legacyBuilders.update;
138
+ exports.remove = legacyBuilders.remove;
139
+ /** Creates a writer bound to the provided executor and preset-driven configuration. */
140
+ function createWriterFromExecutor(executor, preset = presets_1.writerPresets.indexed()) {
141
+ const builders = createBuilderSet(preset);
142
+ const execute = (builder) => async (...args) => {
143
+ const result = builder(...args);
144
+ await executor(result.sql, result.params);
145
+ };
146
+ return {
147
+ insert: execute(builders.insert),
148
+ update: execute(builders.update),
149
+ remove: execute(builders.remove),
150
+ build: builders,
151
+ };
152
+ }
153
+ /** Convenience alias for `createWriterFromExecutor`. */
154
+ exports.createWriter = createWriterFromExecutor;
155
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/writer/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { ParamValue, WriterStatementResult, PlaceholderStyle } from './index';
2
+ import type { QueryParams } from '../query-params';
3
+ /** Indicates how writer parameters are emitted at runtime. */
4
+ export type WriterParamsShape = 'array' | 'object';
5
+ /** Tracks placeholders and their accumulated values for a single statement. */
6
+ export interface WriterPlaceholderBinder {
7
+ readonly params: QueryParams;
8
+ bind(value: ParamValue, column: string): string;
9
+ }
10
+ /** Defines how placeholders and parameter accumulation behave for a writer instance. */
11
+ export interface WriterPreset {
12
+ readonly placeholderStyle: PlaceholderStyle;
13
+ readonly paramsShape: WriterParamsShape;
14
+ createBinder(): WriterPlaceholderBinder;
15
+ finalize?(result: WriterStatementResult): WriterStatementResult;
16
+ }
17
+ type NamedWriterPresetOptions = {
18
+ formatPlaceholder?: (paramName: string) => string;
19
+ };
20
+ export declare const writerPresets: {
21
+ indexed(): WriterPreset;
22
+ anonymous(): WriterPreset;
23
+ named(options?: NamedWriterPresetOptions): WriterPreset;
24
+ };
25
+ export {};