Update insert value types. Allow buffers
This commit is contained in:
parent
b3bd5866e6
commit
88fff6c507
7
dist/types/index.d.ts
vendored
7
dist/types/index.d.ts
vendored
@ -978,14 +978,15 @@ export type BUNSQLITEErrorObject = {
|
|||||||
};
|
};
|
||||||
export interface SQLInsertGenReturn {
|
export interface SQLInsertGenReturn {
|
||||||
query: string;
|
query: string;
|
||||||
values: (string | number)[];
|
values: SQLInsertGenValueType[];
|
||||||
}
|
}
|
||||||
|
export type SQLInsertGenValueType = string | number | Float32Array<ArrayBuffer> | Buffer<ArrayBuffer>;
|
||||||
export type SQLInsertGenDataFn = () => {
|
export type SQLInsertGenDataFn = () => {
|
||||||
placeholder: string;
|
placeholder: string;
|
||||||
value: string | number | Float32Array<ArrayBuffer>;
|
value: SQLInsertGenValueType;
|
||||||
};
|
};
|
||||||
export type SQLInsertGenDataType = {
|
export type SQLInsertGenDataType = {
|
||||||
[k: string]: string | number | SQLInsertGenDataFn | undefined | null;
|
[k: string]: SQLInsertGenValueType | SQLInsertGenDataFn | undefined | null;
|
||||||
};
|
};
|
||||||
export type SQLInsertGenParams = {
|
export type SQLInsertGenParams = {
|
||||||
data: SQLInsertGenDataType[];
|
data: SQLInsertGenDataType[];
|
||||||
|
|||||||
4
dist/utils/sql-insert-generator.js
vendored
4
dist/utils/sql-insert-generator.js
vendored
@ -23,8 +23,10 @@ export default function sqlInsertGenerator({ tableName, data, dbFullName, }) {
|
|||||||
const finalValue = typeof value == "string" ||
|
const finalValue = typeof value == "string" ||
|
||||||
typeof value == "number"
|
typeof value == "number"
|
||||||
? value
|
? value
|
||||||
|
: typeof value == "function"
|
||||||
|
? value().value
|
||||||
: value
|
: value
|
||||||
? String(value().value)
|
? value
|
||||||
: null;
|
: null;
|
||||||
if (!finalValue) {
|
if (!finalValue) {
|
||||||
queryValues.push("");
|
queryValues.push("");
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@moduletrace/bun-sqlite",
|
"name": "@moduletrace/bun-sqlite",
|
||||||
"version": "1.0.21",
|
"version": "1.0.22",
|
||||||
"description": "SQLite manager for Bun",
|
"description": "SQLite manager for Bun",
|
||||||
"author": "Benjamin Toby",
|
"author": "Benjamin Toby",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
|||||||
@ -1131,16 +1131,22 @@ export type BUNSQLITEErrorObject = {
|
|||||||
|
|
||||||
export interface SQLInsertGenReturn {
|
export interface SQLInsertGenReturn {
|
||||||
query: string;
|
query: string;
|
||||||
values: (string | number)[];
|
values: SQLInsertGenValueType[];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type SQLInsertGenValueType =
|
||||||
|
| string
|
||||||
|
| number
|
||||||
|
| Float32Array<ArrayBuffer>
|
||||||
|
| Buffer<ArrayBuffer>;
|
||||||
|
|
||||||
export type SQLInsertGenDataFn = () => {
|
export type SQLInsertGenDataFn = () => {
|
||||||
placeholder: string;
|
placeholder: string;
|
||||||
value: string | number | Float32Array<ArrayBuffer>;
|
value: SQLInsertGenValueType;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type SQLInsertGenDataType = {
|
export type SQLInsertGenDataType = {
|
||||||
[k: string]: string | number | SQLInsertGenDataFn | undefined | null;
|
[k: string]: SQLInsertGenValueType | SQLInsertGenDataFn | undefined | null;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type SQLInsertGenParams = {
|
export type SQLInsertGenParams = {
|
||||||
|
|||||||
@ -1,4 +1,8 @@
|
|||||||
import type { SQLInsertGenParams, SQLInsertGenReturn } from "../types";
|
import type {
|
||||||
|
SQLInsertGenParams,
|
||||||
|
SQLInsertGenReturn,
|
||||||
|
SQLInsertGenValueType,
|
||||||
|
} from "../types";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* # SQL Insert Generator
|
* # SQL Insert Generator
|
||||||
@ -24,7 +28,7 @@ export default function sqlInsertGenerator({
|
|||||||
});
|
});
|
||||||
|
|
||||||
let queryBatches: string[] = [];
|
let queryBatches: string[] = [];
|
||||||
let queryValues: (string | number)[] = [];
|
let queryValues: SQLInsertGenValueType[] = [];
|
||||||
|
|
||||||
data.forEach((item) => {
|
data.forEach((item) => {
|
||||||
queryBatches.push(
|
queryBatches.push(
|
||||||
@ -36,8 +40,10 @@ export default function sqlInsertGenerator({
|
|||||||
typeof value == "string" ||
|
typeof value == "string" ||
|
||||||
typeof value == "number"
|
typeof value == "number"
|
||||||
? value
|
? value
|
||||||
|
: typeof value == "function"
|
||||||
|
? value().value
|
||||||
: value
|
: value
|
||||||
? String(value().value)
|
? value
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
if (!finalValue) {
|
if (!finalValue) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user