pgsql-template-tag 0.0.7 → 0.0.8
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/src/core.d.ts +13 -3
- package/dist/src/core.d.ts.map +1 -1
- package/dist/src/core.js +3 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/sql.d.ts +6 -16
- package/dist/src/sql.d.ts.map +1 -1
- package/dist/src/sql.js +2 -5
- package/package.json +1 -1
- package/src/core.ts +24 -3
- package/src/index.ts +1 -1
- package/src/sql.ts +8 -26
package/dist/src/core.d.ts
CHANGED
|
@@ -182,11 +182,11 @@ export declare class Sql<const TRawBindings extends readonly RawValue[] = readon
|
|
|
182
182
|
* @param value SQL に含める生の文字列です。
|
|
183
183
|
* @returns 指定された文字列を持つ Sql インスタンスを返します。
|
|
184
184
|
*/
|
|
185
|
-
export declare function raw(value: string): Sql
|
|
185
|
+
export declare function raw(value: string): Sql<[]>;
|
|
186
186
|
/**
|
|
187
187
|
* 空の SQL インスタンスを表す定数です。
|
|
188
188
|
*/
|
|
189
|
-
export declare const empty: Sql
|
|
189
|
+
export declare const empty: Sql<[]>;
|
|
190
190
|
/**
|
|
191
191
|
* 複数の SQL 断片や値を、指定されたセパレーターで結合します。
|
|
192
192
|
*
|
|
@@ -196,7 +196,7 @@ export declare const empty: Sql;
|
|
|
196
196
|
* @param separator 結合時に挿入される文字列です。デフォルトはカンマ(,)です。
|
|
197
197
|
* @returns 結合された新しい Sql インスタンスを返します。
|
|
198
198
|
*/
|
|
199
|
-
export declare function join
|
|
199
|
+
export declare function join<const TValues extends readonly RawValue[]>(values: TValues, separator?: string | undefined): Sql<TValues>;
|
|
200
200
|
/**
|
|
201
201
|
* 文字列を SQL の識別子(テーブル名やカラム名など)として安全にエスケープします。
|
|
202
202
|
*
|
|
@@ -215,5 +215,15 @@ export declare function ident(value: string): string;
|
|
|
215
215
|
* @returns エスケープ済みのリテラル文字列を返します。
|
|
216
216
|
*/
|
|
217
217
|
export declare function literal(value: string): string;
|
|
218
|
+
/**
|
|
219
|
+
* 新しい Slot インスタンスを作成します。
|
|
220
|
+
*
|
|
221
|
+
* @template TName スロットの名前となる文字列リテラル型です。
|
|
222
|
+
* @template TValue スロットに許容される値の型です。
|
|
223
|
+
* @param name スロット名です。
|
|
224
|
+
* @param defaultValue デフォルト値です。
|
|
225
|
+
* @returns 作成された新しい Slot インスタンスです。
|
|
226
|
+
*/
|
|
227
|
+
export declare function slot<const TName extends string, TValue extends RawValue = RawValue>(name: TName, defaultValue?: TValue): Slot<TName, TValue>;
|
|
218
228
|
export {};
|
|
219
229
|
//# sourceMappingURL=core.d.ts.map
|
package/dist/src/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core.js
CHANGED
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEhG,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { Sql, Slot, empty, join, raw, ident } from "./core.js";
|
|
1
|
+
export { Sql, Slot, empty, join, raw, ident, slot } from "./core.js";
|
|
2
2
|
export { sql } from "./sql.js";
|
package/dist/src/sql.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { join, raw, Sql, ident, literal, Slot, RawValue } from "./core.js";
|
|
1
|
+
import { join, raw, Sql, ident, literal, Slot, RawValue, slot } from "./core.js";
|
|
2
2
|
declare namespace sql {
|
|
3
3
|
/**
|
|
4
4
|
* SQL クエリーの構築に使用できる生の値、または別の Sql インスタンスを表す型です。
|
|
@@ -20,24 +20,14 @@ declare namespace sql {
|
|
|
20
20
|
/**
|
|
21
21
|
* 安全な SQL クエリーを構築するためのクラス型です。
|
|
22
22
|
*
|
|
23
|
-
* @template
|
|
23
|
+
* @template TBindings クエリーに渡される生の値のタプル型です。
|
|
24
24
|
*/
|
|
25
|
-
type Sql<
|
|
25
|
+
type Sql<TBindings extends readonly RawValue[] = readonly RawValue[]> = import("./core.js").Sql<TBindings>;
|
|
26
26
|
}
|
|
27
|
-
/**
|
|
28
|
-
* 新しい Slot インスタンスを作成します。
|
|
29
|
-
*
|
|
30
|
-
* @template TName スロットの名前となる文字列リテラル型です。
|
|
31
|
-
* @template TValue スロットに許容される値の型です。
|
|
32
|
-
* @param name スロット名です。
|
|
33
|
-
* @param defaultValue デフォルト値です。
|
|
34
|
-
* @returns 作成された新しい Slot インスタンスです。
|
|
35
|
-
*/
|
|
36
|
-
declare function slot<const TName extends string, TValue extends RawValue = RawValue>(name: TName, defaultValue?: TValue): sql.Slot<TName, TValue>;
|
|
37
27
|
/**
|
|
38
28
|
* テンプレートリテラルを使用して SQL クエリーを安全に構築するためのタグ関数です。
|
|
39
29
|
*
|
|
40
|
-
* @template
|
|
30
|
+
* @template TBindings クエリーに渡される生の値のタプル型です。
|
|
41
31
|
* @param strings テンプレートリテラルの静的な文字列部分の配列です。
|
|
42
32
|
* @param bindings テンプレートリテラルに埋め込まれた動的な値の配列です。
|
|
43
33
|
* @returns パラメーター化された SQL 情報を保持する Sql インスタンスを返します。
|
|
@@ -46,7 +36,7 @@ declare function slot<const TName extends string, TValue extends RawValue = RawV
|
|
|
46
36
|
* const query = sql`SELECT * FROM users WHERE id = ${1}`;
|
|
47
37
|
* ```
|
|
48
38
|
*/
|
|
49
|
-
declare const sql: (<const
|
|
39
|
+
declare const sql: (<const TBindings extends readonly RawValue[]>(strings: TemplateStringsArray, ...bindings: TBindings) => sql.Sql<TBindings>) & {
|
|
50
40
|
/**
|
|
51
41
|
* Sql クラスです。
|
|
52
42
|
*/
|
|
@@ -72,7 +62,7 @@ declare const sql: (<const TRawBindings extends readonly RawValue[]>(strings: Te
|
|
|
72
62
|
/**
|
|
73
63
|
* 空の SQL クエリーを表す定数です。
|
|
74
64
|
*/
|
|
75
|
-
readonly empty: Sql<
|
|
65
|
+
readonly empty: Sql<[]>;
|
|
76
66
|
/**
|
|
77
67
|
* 識別子(テーブル名等)を安全にエスケープするための関数です。
|
|
78
68
|
*/
|
package/dist/src/sql.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAExF,kBAAU,GAAG,CAAC;IACZ;;OAEG;IACH,KAAY,QAAQ,GAAG,OAAO,WAAW,EAAE,QAAQ,CAAC;IAEpD;;OAEG;IACH,KAAY,KAAK,GAAG,OAAO,WAAW,EAAE,KAAK,CAAC;IAE9C;;;;;;;OAOG;IACH,KAAY,IAAI,CACd,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,MAAM,SAAS,QAAQ,GAAG,QAAQ,IAChC,OAAO,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE5C;;;;OAIG;IACH,KAAY,GAAG,CAAC,SAAS,SAAS,SAAS,QAAQ,EAAE,GAAG,SAAS,QAAQ,EAAE,IACzE,OAAO,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;CACtC;AAED;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,GAAG,UACY,SAAS,SAAS,SAAS,QAAQ,EAAE,WAC7C,oBAAoB,eAChB,SAAS,KACrB,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;IAInB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAGN,CAAC;AAEF,OAAO,EAAE,GAAG,EAAE,CAAC"}
|
package/dist/src/sql.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { empty, join, raw, Sql, ident, literal, Slot } from "./core.js";
|
|
2
|
-
function slot(...args) {
|
|
3
|
-
return new sql.Slot(...args);
|
|
4
|
-
}
|
|
1
|
+
import { empty, join, raw, Sql, ident, literal, Slot, slot } from "./core.js";
|
|
5
2
|
/**
|
|
6
3
|
* テンプレートリテラルを使用して SQL クエリーを安全に構築するためのタグ関数です。
|
|
7
4
|
*
|
|
8
|
-
* @template
|
|
5
|
+
* @template TBindings クエリーに渡される生の値のタプル型です。
|
|
9
6
|
* @param strings テンプレートリテラルの静的な文字列部分の配列です。
|
|
10
7
|
* @param bindings テンプレートリテラルに埋め込まれた動的な値の配列です。
|
|
11
8
|
* @returns パラメーター化された SQL 情報を保持する Sql インスタンスを返します。
|
package/package.json
CHANGED
package/src/core.ts
CHANGED
|
@@ -477,14 +477,14 @@ export class Sql<const TRawBindings extends readonly RawValue[] = readonly RawVa
|
|
|
477
477
|
* @param value SQL に含める生の文字列です。
|
|
478
478
|
* @returns 指定された文字列を持つ Sql インスタンスを返します。
|
|
479
479
|
*/
|
|
480
|
-
export function raw(value: string): Sql {
|
|
480
|
+
export function raw(value: string): Sql<[]> {
|
|
481
481
|
return new Sql([value], []);
|
|
482
482
|
}
|
|
483
483
|
|
|
484
484
|
/**
|
|
485
485
|
* 空の SQL インスタンスを表す定数です。
|
|
486
486
|
*/
|
|
487
|
-
export const empty: Sql = raw("");
|
|
487
|
+
export const empty: Sql<[]> = raw("");
|
|
488
488
|
|
|
489
489
|
/**
|
|
490
490
|
* 複数の SQL 断片や値を、指定されたセパレーターで結合します。
|
|
@@ -495,7 +495,10 @@ export const empty: Sql = raw("");
|
|
|
495
495
|
* @param separator 結合時に挿入される文字列です。デフォルトはカンマ(,)です。
|
|
496
496
|
* @returns 結合された新しい Sql インスタンスを返します。
|
|
497
497
|
*/
|
|
498
|
-
export function join
|
|
498
|
+
export function join<const TValues extends readonly RawValue[]>(
|
|
499
|
+
values: TValues,
|
|
500
|
+
separator: string | undefined = ",",
|
|
501
|
+
): Sql<TValues> {
|
|
499
502
|
if (values.length === 0) {
|
|
500
503
|
return empty;
|
|
501
504
|
}
|
|
@@ -536,3 +539,21 @@ const SINGLE_QUOTE_REGEX = /'/g;
|
|
|
536
539
|
export function literal(value: string): string {
|
|
537
540
|
return "'" + value.replace(SINGLE_QUOTE_REGEX, "''") + "'";
|
|
538
541
|
}
|
|
542
|
+
|
|
543
|
+
/**
|
|
544
|
+
* 新しい Slot インスタンスを作成します。
|
|
545
|
+
*
|
|
546
|
+
* @template TName スロットの名前となる文字列リテラル型です。
|
|
547
|
+
* @template TValue スロットに許容される値の型です。
|
|
548
|
+
* @param name スロット名です。
|
|
549
|
+
* @param defaultValue デフォルト値です。
|
|
550
|
+
* @returns 作成された新しい Slot インスタンスです。
|
|
551
|
+
*/
|
|
552
|
+
export function slot<const TName extends string, TValue extends RawValue = RawValue>(
|
|
553
|
+
name: TName,
|
|
554
|
+
defaultValue?: TValue,
|
|
555
|
+
): Slot<TName, TValue>;
|
|
556
|
+
|
|
557
|
+
export function slot(...args: [any]): Slot {
|
|
558
|
+
return new Slot(...args);
|
|
559
|
+
}
|
package/src/index.ts
CHANGED
package/src/sql.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { empty, join, raw, Sql, ident, literal, Slot, RawValue } from "./core.js";
|
|
1
|
+
import { empty, join, raw, Sql, ident, literal, Slot, RawValue, slot } from "./core.js";
|
|
2
2
|
|
|
3
3
|
namespace sql {
|
|
4
4
|
/**
|
|
@@ -27,34 +27,16 @@ namespace sql {
|
|
|
27
27
|
/**
|
|
28
28
|
* 安全な SQL クエリーを構築するためのクラス型です。
|
|
29
29
|
*
|
|
30
|
-
* @template
|
|
30
|
+
* @template TBindings クエリーに渡される生の値のタプル型です。
|
|
31
31
|
*/
|
|
32
|
-
export type Sql<
|
|
33
|
-
import("./core.js").Sql<
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* 新しい Slot インスタンスを作成します。
|
|
38
|
-
*
|
|
39
|
-
* @template TName スロットの名前となる文字列リテラル型です。
|
|
40
|
-
* @template TValue スロットに許容される値の型です。
|
|
41
|
-
* @param name スロット名です。
|
|
42
|
-
* @param defaultValue デフォルト値です。
|
|
43
|
-
* @returns 作成された新しい Slot インスタンスです。
|
|
44
|
-
*/
|
|
45
|
-
function slot<const TName extends string, TValue extends RawValue = RawValue>(
|
|
46
|
-
name: TName,
|
|
47
|
-
defaultValue?: TValue,
|
|
48
|
-
): sql.Slot<TName, TValue>;
|
|
49
|
-
|
|
50
|
-
function slot(...args: [any]): sql.Slot {
|
|
51
|
-
return new sql.Slot(...args);
|
|
32
|
+
export type Sql<TBindings extends readonly RawValue[] = readonly RawValue[]> =
|
|
33
|
+
import("./core.js").Sql<TBindings>;
|
|
52
34
|
}
|
|
53
35
|
|
|
54
36
|
/**
|
|
55
37
|
* テンプレートリテラルを使用して SQL クエリーを安全に構築するためのタグ関数です。
|
|
56
38
|
*
|
|
57
|
-
* @template
|
|
39
|
+
* @template TBindings クエリーに渡される生の値のタプル型です。
|
|
58
40
|
* @param strings テンプレートリテラルの静的な文字列部分の配列です。
|
|
59
41
|
* @param bindings テンプレートリテラルに埋め込まれた動的な値の配列です。
|
|
60
42
|
* @returns パラメーター化された SQL 情報を保持する Sql インスタンスを返します。
|
|
@@ -64,10 +46,10 @@ function slot(...args: [any]): sql.Slot {
|
|
|
64
46
|
* ```
|
|
65
47
|
*/
|
|
66
48
|
const sql = /*#__PURE__*/ Object.assign(
|
|
67
|
-
function sql<const
|
|
49
|
+
function sql<const TBindings extends readonly RawValue[]>(
|
|
68
50
|
strings: TemplateStringsArray,
|
|
69
|
-
...bindings:
|
|
70
|
-
): sql.Sql<
|
|
51
|
+
...bindings: TBindings
|
|
52
|
+
): sql.Sql<TBindings> {
|
|
71
53
|
return new Sql(strings, bindings);
|
|
72
54
|
},
|
|
73
55
|
{
|