@inflector/optima 1.0.1 → 1.0.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/dist/index.d.ts +323 -3
- package/dist/index.js +1155 -3
- package/package.json +3 -2
- package/dist/Qfluent.d.ts +0 -40
- package/dist/Qfluent.js +0 -64
- package/dist/database.d.ts +0 -32
- package/dist/database.js +0 -240
- package/dist/fluent.d.ts +0 -13
- package/dist/fluent.js +0 -29
- package/dist/schema.d.ts +0 -85
- package/dist/schema.js +0 -214
- package/dist/table.d.ts +0 -178
- package/dist/table.js +0 -617
package/dist/schema.js
DELETED
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
import * as z from "zod";
|
|
2
|
-
// Helper functions for reference syntax
|
|
3
|
-
export const refHelpers = {
|
|
4
|
-
one: (ref) => ref,
|
|
5
|
-
many: (ref) => ref,
|
|
6
|
-
};
|
|
7
|
-
class ColumnImpl {
|
|
8
|
-
constructor(config = {}) {
|
|
9
|
-
this.config = {};
|
|
10
|
-
this.config = config;
|
|
11
|
-
}
|
|
12
|
-
next(key, value = true) {
|
|
13
|
-
return new ColumnImpl({ ...this.config, [key]: value });
|
|
14
|
-
}
|
|
15
|
-
SQlType(val) {
|
|
16
|
-
return this.next("SQlType", val);
|
|
17
|
-
}
|
|
18
|
-
primaryKey() {
|
|
19
|
-
return this.next("primaryKey");
|
|
20
|
-
}
|
|
21
|
-
notnull() {
|
|
22
|
-
return this.next("notnull");
|
|
23
|
-
}
|
|
24
|
-
unique() {
|
|
25
|
-
return this.next("unique");
|
|
26
|
-
}
|
|
27
|
-
default(val) {
|
|
28
|
-
return this.next("default", val);
|
|
29
|
-
}
|
|
30
|
-
defaultNow() {
|
|
31
|
-
return this.next("defaultNow");
|
|
32
|
-
}
|
|
33
|
-
reference(c) {
|
|
34
|
-
// Execute function with helpers to get the wrapped reference
|
|
35
|
-
const result = c(refHelpers);
|
|
36
|
-
// Detect if it's a Many wrapper by checking the symbol
|
|
37
|
-
const isManyRef = result?.[Symbol.for("__refType")] === "many" ||
|
|
38
|
-
(typeof result === "object" && result !== null && "__refType" in result);
|
|
39
|
-
// Unwrap the actual column reference
|
|
40
|
-
const actualRef = result;
|
|
41
|
-
let refName = "";
|
|
42
|
-
if (actualRef?.__parent && actualRef?.__fieldName) {
|
|
43
|
-
refName = `${actualRef.__parent}.${actualRef.__fieldName}`;
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
// Fallback: parse function string
|
|
47
|
-
const code = c.toString();
|
|
48
|
-
// Extract the reference from patterns like: one(Users.ID) or many(Users.ID)
|
|
49
|
-
const match = code.match(/(?:one|many)\s*\(\s*([^)]+)\s*\)/);
|
|
50
|
-
if (match && match[1]) {
|
|
51
|
-
const refPart = match[1].trim();
|
|
52
|
-
if (refPart.includes(".")) {
|
|
53
|
-
refName = refPart;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
// Check if the TRef type is Many<...>
|
|
58
|
-
// At runtime we need a different check - look at the function body
|
|
59
|
-
const codeStr = c.toString();
|
|
60
|
-
const isMany = codeStr.includes("many(");
|
|
61
|
-
const nextConfig = { ...this.config, reference: { ref: refName, isMany } };
|
|
62
|
-
return new ColumnImpl(nextConfig);
|
|
63
|
-
}
|
|
64
|
-
validate(fn) {
|
|
65
|
-
return this.next("validate", fn);
|
|
66
|
-
}
|
|
67
|
-
transform(fn) {
|
|
68
|
-
return this.next("transform", fn);
|
|
69
|
-
}
|
|
70
|
-
deprecated() {
|
|
71
|
-
return this.next("deprecated");
|
|
72
|
-
}
|
|
73
|
-
STRUCTType(val) {
|
|
74
|
-
return this.next("STRUCTType", val);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
const Column = (conf) => {
|
|
78
|
-
return new ColumnImpl(conf);
|
|
79
|
-
};
|
|
80
|
-
export const Int = () => Column().SQlType("INTEGER");
|
|
81
|
-
export const BigInt = () => Column().SQlType("BIGINT");
|
|
82
|
-
export const Float = () => Column().SQlType("FLOAT");
|
|
83
|
-
export const Boolean = () => Column().SQlType("BOOLEAN");
|
|
84
|
-
export const Text = () => Column().SQlType("VARCHAR");
|
|
85
|
-
export const Uuid = () => Column().SQlType("VARCHAR");
|
|
86
|
-
export const DateType = () => Column().SQlType("DATE");
|
|
87
|
-
export const Timestamp = () => Column().SQlType("TIMESTAMP");
|
|
88
|
-
export const Enum = (vals) => {
|
|
89
|
-
const isString = typeof vals[0] === "string";
|
|
90
|
-
return Column()
|
|
91
|
-
.validate((v) => vals.includes(v))
|
|
92
|
-
.SQlType(isString ? "VARCHAR" : "INTEGER");
|
|
93
|
-
};
|
|
94
|
-
// --- RECURSIVE ZOD PARSER START ---
|
|
95
|
-
export * from "zod";
|
|
96
|
-
const zodToDuckDBType = (zodType) => {
|
|
97
|
-
const def = zodType?._def;
|
|
98
|
-
if (def &&
|
|
99
|
-
(def.typeName === "ZodOptional" || def.typeName === "ZodNullable")) {
|
|
100
|
-
return zodToDuckDBType(def.innerType);
|
|
101
|
-
}
|
|
102
|
-
if (def && def.typeName === "ZodDefault") {
|
|
103
|
-
return zodToDuckDBType(def.innerType);
|
|
104
|
-
}
|
|
105
|
-
if (zodType instanceof z.ZodString)
|
|
106
|
-
return "VARCHAR";
|
|
107
|
-
if (zodType instanceof z.ZodNumber)
|
|
108
|
-
return "INTEGER";
|
|
109
|
-
if (zodType instanceof z.ZodBoolean)
|
|
110
|
-
return "BOOLEAN";
|
|
111
|
-
if (zodType instanceof z.ZodDate)
|
|
112
|
-
return "TIMESTAMP";
|
|
113
|
-
if (zodType instanceof z.ZodBigInt)
|
|
114
|
-
return "BIGINT";
|
|
115
|
-
if ("element" in (def ?? {})) {
|
|
116
|
-
const innerType = zodToDuckDBType(def.element);
|
|
117
|
-
return `${innerType}[]`;
|
|
118
|
-
}
|
|
119
|
-
if ("shape" in (def ?? {})) {
|
|
120
|
-
const shape = typeof def.shape === "function" ? def.shape() : def.shape;
|
|
121
|
-
const structParts = Object.entries(shape).map(([key, value]) => {
|
|
122
|
-
const fieldType = zodToDuckDBType(value);
|
|
123
|
-
return `${key} ${fieldType}`;
|
|
124
|
-
});
|
|
125
|
-
return `STRUCT(${structParts.join(", ")})`;
|
|
126
|
-
}
|
|
127
|
-
return "VARCHAR";
|
|
128
|
-
};
|
|
129
|
-
export const Json = (obj) => {
|
|
130
|
-
const zodObj = z.object(obj);
|
|
131
|
-
const duckDBStructString = zodToDuckDBType(zodObj);
|
|
132
|
-
const col = Column().SQlType("STRUCT");
|
|
133
|
-
return col.STRUCTType(duckDBStructString);
|
|
134
|
-
};
|
|
135
|
-
export const Array = (schema) => {
|
|
136
|
-
const innerType = zodToDuckDBType(schema);
|
|
137
|
-
const col = Column().SQlType("LIST");
|
|
138
|
-
return col.STRUCTType(`${innerType}[]`);
|
|
139
|
-
};
|
|
140
|
-
// ADD-ONS
|
|
141
|
-
export const Email = () => Column()
|
|
142
|
-
.SQlType("VARCHAR")
|
|
143
|
-
.validate((v) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(v));
|
|
144
|
-
export const Slug = () => Column()
|
|
145
|
-
.SQlType("VARCHAR")
|
|
146
|
-
.validate((v) => /^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(v));
|
|
147
|
-
export const Color = () => Column()
|
|
148
|
-
.SQlType("VARCHAR")
|
|
149
|
-
.validate((v) => /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(v));
|
|
150
|
-
export const Bytes = () => Column().SQlType("BLOB");
|
|
151
|
-
export const Password = () => Column().SQlType("VARCHAR");
|
|
152
|
-
export const GeoPoint = () => Column().SQlType("STRUCT");
|
|
153
|
-
export const GeoArea = () => Column().SQlType("STRUCT");
|
|
154
|
-
// ---------------------------------------------------------
|
|
155
|
-
// Column & Table Definitions
|
|
156
|
-
// ---------------------------------------------------------
|
|
157
|
-
export const Table = (name, fields) => {
|
|
158
|
-
// Runtime Metadata Injection
|
|
159
|
-
for (const [key, value] of Object.entries(fields)) {
|
|
160
|
-
Object.assign(value, { __parent: name, __fieldName: key });
|
|
161
|
-
}
|
|
162
|
-
return { ...fields, __tableName: name };
|
|
163
|
-
};
|
|
164
|
-
const GetFieldConfig = (f) => {
|
|
165
|
-
return f.config;
|
|
166
|
-
};
|
|
167
|
-
export class SQLBuilder {
|
|
168
|
-
static BuildField(name, f) {
|
|
169
|
-
const FieldConfig = GetFieldConfig(f);
|
|
170
|
-
let sql = `${name} ${FieldConfig.SQlType || "TEXT"}`;
|
|
171
|
-
if ((FieldConfig.SQlType == "STRUCT" || FieldConfig.SQlType == "LIST") &&
|
|
172
|
-
FieldConfig.STRUCTType) {
|
|
173
|
-
sql = `${name} ${FieldConfig.STRUCTType}`;
|
|
174
|
-
}
|
|
175
|
-
if (FieldConfig.primaryKey)
|
|
176
|
-
sql += " PRIMARY KEY";
|
|
177
|
-
if (FieldConfig.notnull)
|
|
178
|
-
sql += " NOT NULL";
|
|
179
|
-
if (FieldConfig.unique)
|
|
180
|
-
sql += " UNIQUE";
|
|
181
|
-
if (FieldConfig.defaultNow)
|
|
182
|
-
sql += ` DEFAULT CURRENT_TIMESTAMP`;
|
|
183
|
-
if (FieldConfig.SQlType !== "STRUCT" &&
|
|
184
|
-
FieldConfig.SQlType !== "LIST" &&
|
|
185
|
-
FieldConfig.default !== false &&
|
|
186
|
-
FieldConfig.default !== undefined) {
|
|
187
|
-
if (typeof FieldConfig.default !== "function") {
|
|
188
|
-
sql += ` DEFAULT ${typeof FieldConfig.default === "string"
|
|
189
|
-
? `'${FieldConfig.default}'`
|
|
190
|
-
: JSON.stringify(FieldConfig.default)}`;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
if ((FieldConfig.SQlType == "STRUCT" || FieldConfig.SQlType == "LIST") &&
|
|
194
|
-
FieldConfig.default !== false &&
|
|
195
|
-
FieldConfig.default !== undefined) {
|
|
196
|
-
// Use split/join for compatibility with older JS/TS targets (replaceAll not supported)
|
|
197
|
-
sql += ` DEFAULT ${JSON.stringify(FieldConfig.default).split('"').join("'")}`;
|
|
198
|
-
}
|
|
199
|
-
return {
|
|
200
|
-
sql: sql.trim(),
|
|
201
|
-
// @ts-ignore
|
|
202
|
-
ref: FieldConfig.reference,
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
static BuildTable(name, t) {
|
|
206
|
-
const fieldDefs = Object.entries(t)
|
|
207
|
-
.filter(([key]) => key !== "__tableName")
|
|
208
|
-
.map(([fieldName, builder]) => {
|
|
209
|
-
const Result = this.BuildField(fieldName, builder);
|
|
210
|
-
return Result.sql;
|
|
211
|
-
});
|
|
212
|
-
return `CREATE TABLE IF NOT EXISTS ${name} (\n ${fieldDefs.join(",\n ")}\n);`;
|
|
213
|
-
}
|
|
214
|
-
}
|
package/dist/table.d.ts
DELETED
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import type { DuckDBConnection } from "@duckdb/node-api";
|
|
2
|
-
import { type ColumnBuilder, type Infer, type InferAdd, type Prettify } from "./schema";
|
|
3
|
-
import { type FluentQueryBuilder, type FluentQueryBuilderOne, type MapToFalse, type QueryMethods, type QueryOneMethods } from "./Qfluent";
|
|
4
|
-
export declare const OPS: readonly ["eq", "ne", "gt", "gte", "lt", "lte", "like", "notLike", "in", "notIn", "is", "isNot", "between", "notBetween", "startsWith", "endsWith", "contains", "regexp", "notRegexp"];
|
|
5
|
-
export type OpKey = (typeof OPS)[number];
|
|
6
|
-
type ConditionNode = {
|
|
7
|
-
type: "condition" | "and" | "or";
|
|
8
|
-
op?: OpKey;
|
|
9
|
-
value?: any;
|
|
10
|
-
left?: ConditionNode;
|
|
11
|
-
right?: ConditionNode;
|
|
12
|
-
};
|
|
13
|
-
export interface ConditionBuilder<T> {
|
|
14
|
-
eq(value: T): ConditionBuilder<T>;
|
|
15
|
-
ne(value: T): ConditionBuilder<T>;
|
|
16
|
-
gt(value: T): ConditionBuilder<T>;
|
|
17
|
-
gte(value: T): ConditionBuilder<T>;
|
|
18
|
-
lt(value: T): ConditionBuilder<T>;
|
|
19
|
-
lte(value: T): ConditionBuilder<T>;
|
|
20
|
-
in(value: T[]): ConditionBuilder<T>;
|
|
21
|
-
notIn(value: T[]): ConditionBuilder<T>;
|
|
22
|
-
between(value: [T, T]): ConditionBuilder<T>;
|
|
23
|
-
notBetween(value: [T, T]): ConditionBuilder<T>;
|
|
24
|
-
is(value: T | null): ConditionBuilder<T>;
|
|
25
|
-
isNot(value: T | null): ConditionBuilder<T>;
|
|
26
|
-
like(value: string): ConditionBuilder<T>;
|
|
27
|
-
notLike(value: string): ConditionBuilder<T>;
|
|
28
|
-
startsWith(value: string): ConditionBuilder<T>;
|
|
29
|
-
endsWith(value: string): ConditionBuilder<T>;
|
|
30
|
-
contains(value: string): ConditionBuilder<T>;
|
|
31
|
-
regexp(value: string): ConditionBuilder<T>;
|
|
32
|
-
notRegexp(value: string): ConditionBuilder<T>;
|
|
33
|
-
and(other: ConditionBuilder<T>): ConditionBuilder<T>;
|
|
34
|
-
or(other: ConditionBuilder<T>): ConditionBuilder<T>;
|
|
35
|
-
__getNode(): ConditionNode;
|
|
36
|
-
}
|
|
37
|
-
export declare function cond<T>(): ConditionBuilder<T>;
|
|
38
|
-
export declare const eq: <T>(value: T) => ConditionBuilder<T>;
|
|
39
|
-
export declare const ne: <T>(value: T) => ConditionBuilder<T>;
|
|
40
|
-
export declare const gt: <T>(value: T) => ConditionBuilder<T>;
|
|
41
|
-
export declare const gte: <T>(value: T) => ConditionBuilder<T>;
|
|
42
|
-
export declare const lt: <T>(value: T) => ConditionBuilder<T>;
|
|
43
|
-
export declare const lte: <T>(value: T) => ConditionBuilder<T>;
|
|
44
|
-
export declare const inOp: <T>(value: T[]) => ConditionBuilder<T>;
|
|
45
|
-
export declare const notIn: <T>(value: T[]) => ConditionBuilder<T>;
|
|
46
|
-
export declare const between: <T>(value: [T, T]) => ConditionBuilder<T>;
|
|
47
|
-
export declare const notBetween: <T>(value: [T, T]) => ConditionBuilder<T>;
|
|
48
|
-
export declare const is: <T>(value: T | null) => ConditionBuilder<T>;
|
|
49
|
-
export declare const isNot: <T>(value: T | null) => ConditionBuilder<T>;
|
|
50
|
-
export declare const like: <T>(value: string) => ConditionBuilder<T>;
|
|
51
|
-
export declare const notLike: <T>(value: string) => ConditionBuilder<T>;
|
|
52
|
-
export declare const startsWith: <T>(value: string) => ConditionBuilder<T>;
|
|
53
|
-
export declare const endsWith: <T>(value: string) => ConditionBuilder<T>;
|
|
54
|
-
export declare const contains: <T>(value: string) => ConditionBuilder<T>;
|
|
55
|
-
export declare const regexp: <T>(value: string) => ConditionBuilder<T>;
|
|
56
|
-
export declare const notRegexp: <T>(value: string) => ConditionBuilder<T>;
|
|
57
|
-
export type FieldQuery<T> = T extends ConditionBuilder<infer U> ? T : T extends Array<any> ? T | ConditionBuilder<T> : T extends Date ? T | ConditionBuilder<T> : T extends object ? {
|
|
58
|
-
[K in keyof T]?: FieldQuery<T[K]>;
|
|
59
|
-
} | ConditionBuilder<T> : // Primitives
|
|
60
|
-
T | ConditionBuilder<T>;
|
|
61
|
-
export type Where<Schema> = {
|
|
62
|
-
[K in keyof Schema]?: FieldQuery<Schema[K]>;
|
|
63
|
-
};
|
|
64
|
-
export type TableSchema<T> = T extends OptimaTable<infer Schema> ? Prettify<Infer<Schema>> : never;
|
|
65
|
-
type GetRefSchema<Col> = Col extends ColumnBuilder<any, any, infer Ref> ? Ref : Col extends {
|
|
66
|
-
config: {
|
|
67
|
-
reference?: {
|
|
68
|
-
ref: string;
|
|
69
|
-
isMany: boolean;
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
|
-
} ? never : never;
|
|
73
|
-
type IsManyRef<RS> = RS extends {
|
|
74
|
-
readonly __refKind: "many";
|
|
75
|
-
} ? true : false;
|
|
76
|
-
type HasAnyManyRef<TDef> = true extends {
|
|
77
|
-
[K in keyof TDef]: GetRefSchema<TDef[K]> extends never ? never : IsManyRef<GetRefSchema<TDef[K]>>;
|
|
78
|
-
}[keyof TDef] ? true : false;
|
|
79
|
-
export type Extension<SourceDef, TargetTable> = TargetTable extends OptimaTable<infer TargetDef> ? TargetDef extends {
|
|
80
|
-
__tableName: infer Name;
|
|
81
|
-
} ? Name extends string ? HasAnyManyRef<SourceDef> extends true ? {
|
|
82
|
-
[K in `$${Name}`]: Infer<TargetDef>[];
|
|
83
|
-
} : {
|
|
84
|
-
[K in `$${Name}`]: Infer<TargetDef>;
|
|
85
|
-
} : {} : {} : {};
|
|
86
|
-
type Unsubscribe = () => void;
|
|
87
|
-
export declare class OptimaTable<TDef extends Record<string, any> = any> {
|
|
88
|
-
private Name;
|
|
89
|
-
private Connection;
|
|
90
|
-
private Columns;
|
|
91
|
-
private listeners;
|
|
92
|
-
private constructor();
|
|
93
|
-
protected notifyChange(change: any): void;
|
|
94
|
-
/**
|
|
95
|
-
* Subscribe to changes to the table.
|
|
96
|
-
* The callback receives the latest change as its argument.
|
|
97
|
-
* Returns an unsubscribe function.
|
|
98
|
-
*/
|
|
99
|
-
Subscribe(fn: (change: {
|
|
100
|
-
event: "Add" | "AddMany" | "Delete" | "Update";
|
|
101
|
-
data: Partial<Infer<TDef>>;
|
|
102
|
-
time: Date;
|
|
103
|
-
}) => void): Unsubscribe;
|
|
104
|
-
private InitTable;
|
|
105
|
-
static create<T extends Record<string, ColumnBuilder<any, any>>>(name: string, Columns: T, Connection: DuckDBConnection): Promise<OptimaTable<T>>;
|
|
106
|
-
Get(): FluentQueryBuilder<TDef, Infer<TDef>, MapToFalse<QueryMethods<TDef>> & {
|
|
107
|
-
extended: false;
|
|
108
|
-
}>;
|
|
109
|
-
GetOne(): FluentQueryBuilderOne<TDef, Infer<TDef>, MapToFalse<QueryOneMethods<TDef>> & {
|
|
110
|
-
extended: false;
|
|
111
|
-
}>;
|
|
112
|
-
Exist(): {
|
|
113
|
-
where: Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T ? { [K in keyof T]: T[K]; } : never> extends boolean ? () => {} & PromiseLike<boolean> : Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_1 ? { [K in keyof T_1]: T_1[K]; } : never> extends any[] ? (...args: any[] & Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_2 ? { [K in keyof T_2]: T_2[K]; } : never>) => {} & PromiseLike<boolean> : (arg: Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_2 ? { [K in keyof T_2]: T_2[K]; } : never>) => {} & PromiseLike<boolean>;
|
|
114
|
-
} & PromiseLike<boolean>;
|
|
115
|
-
/**
|
|
116
|
-
* Add a single record.
|
|
117
|
-
* Returns: TSchema[] (containing the inserted record if returning is true)
|
|
118
|
-
*/
|
|
119
|
-
Add(record: InferAdd<TDef>): {
|
|
120
|
-
returning: () => {} & PromiseLike<({ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T ? { [K in keyof T]: T[K]; } : never)[]>;
|
|
121
|
-
} & PromiseLike<({ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T ? { [K in keyof T]: T[K]; } : never)[]>;
|
|
122
|
-
/**
|
|
123
|
-
* Add multiple records.
|
|
124
|
-
* Returns: TSchema[]
|
|
125
|
-
*/
|
|
126
|
-
AddMany(records: InferAdd<TDef>[]): {
|
|
127
|
-
returning: () => {} & PromiseLike<({ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T ? { [K in keyof T]: T[K]; } : never)[]>;
|
|
128
|
-
} & PromiseLike<({ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T ? { [K in keyof T]: T[K]; } : never)[]>;
|
|
129
|
-
/**
|
|
130
|
-
* Update records.
|
|
131
|
-
* Returns: TSchema[]
|
|
132
|
-
*/
|
|
133
|
-
Update(record: Partial<Infer<TDef>>): {
|
|
134
|
-
where: Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T ? { [K in keyof T]: T[K]; } : never> extends boolean ? () => {
|
|
135
|
-
returning: () => {} & PromiseLike<({ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_1 ? { [K in keyof T_1]: T_1[K]; } : never)[]>;
|
|
136
|
-
} & PromiseLike<({ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_1 ? { [K in keyof T_1]: T_1[K]; } : never)[]> : Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_1 ? { [K in keyof T_1]: T_1[K]; } : never> extends any[] ? (...args: any[] & Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_2 ? { [K in keyof T_2]: T_2[K]; } : never>) => {
|
|
137
|
-
returning: () => {} & PromiseLike<({ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_3 ? { [K in keyof T_3]: T_3[K]; } : never)[]>;
|
|
138
|
-
} & PromiseLike<({ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_3 ? { [K in keyof T_3]: T_3[K]; } : never)[]> : (arg: Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_2 ? { [K in keyof T_2]: T_2[K]; } : never>) => {
|
|
139
|
-
returning: () => {} & PromiseLike<({ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_3 ? { [K in keyof T_3]: T_3[K]; } : never)[]>;
|
|
140
|
-
} & PromiseLike<({ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_3 ? { [K in keyof T_3]: T_3[K]; } : never)[]>;
|
|
141
|
-
returning: () => {
|
|
142
|
-
where: Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_2 ? { [K in keyof T_2]: T_2[K]; } : never> extends boolean ? () => {} & PromiseLike<({ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_3 ? { [K in keyof T_3]: T_3[K]; } : never)[]> : Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_3 ? { [K in keyof T_3]: T_3[K]; } : never> extends any[] ? (...args: any[] & Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_4 ? { [K in keyof T_4]: T_4[K]; } : never>) => {} & PromiseLike<({ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_5 ? { [K in keyof T_5]: T_5[K]; } : never)[]> : (arg: Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_4 ? { [K in keyof T_4]: T_4[K]; } : never>) => {} & PromiseLike<({ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_5 ? { [K in keyof T_5]: T_5[K]; } : never)[]>;
|
|
143
|
-
} & PromiseLike<({ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_4 ? { [K in keyof T_4]: T_4[K]; } : never)[]>;
|
|
144
|
-
} & PromiseLike<({ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_2 ? { [K in keyof T_2]: T_2[K]; } : never)[]>;
|
|
145
|
-
/**
|
|
146
|
-
* Delete records.
|
|
147
|
-
* Returns: TSchema | undefined (The code logic returns index [0], implies single delete or returning first)
|
|
148
|
-
*/
|
|
149
|
-
Delete(): {
|
|
150
|
-
where: Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T ? { [K in keyof T]: T[K]; } : never> extends boolean ? () => {
|
|
151
|
-
returning: () => {} & PromiseLike<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_1 ? { [K in keyof T_1]: T_1[K]; } : never>;
|
|
152
|
-
} & PromiseLike<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_1 ? { [K in keyof T_1]: T_1[K]; } : never> : Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_1 ? { [K in keyof T_1]: T_1[K]; } : never> extends any[] ? (...args: any[] & Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_2 ? { [K in keyof T_2]: T_2[K]; } : never>) => {
|
|
153
|
-
returning: () => {} & PromiseLike<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_3 ? { [K in keyof T_3]: T_3[K]; } : never>;
|
|
154
|
-
} & PromiseLike<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_3 ? { [K in keyof T_3]: T_3[K]; } : never> : (arg: Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_2 ? { [K in keyof T_2]: T_2[K]; } : never>) => {
|
|
155
|
-
returning: () => {} & PromiseLike<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_3 ? { [K in keyof T_3]: T_3[K]; } : never>;
|
|
156
|
-
} & PromiseLike<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_3 ? { [K in keyof T_3]: T_3[K]; } : never>;
|
|
157
|
-
returning: () => {
|
|
158
|
-
where: Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_2 ? { [K in keyof T_2]: T_2[K]; } : never> extends boolean ? () => {} & PromiseLike<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_3 ? { [K in keyof T_3]: T_3[K]; } : never> : Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_3 ? { [K in keyof T_3]: T_3[K]; } : never> extends any[] ? (...args: any[] & Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_4 ? { [K in keyof T_4]: T_4[K]; } : never>) => {} & PromiseLike<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_5 ? { [K in keyof T_5]: T_5[K]; } : never> : (arg: Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_4 ? { [K in keyof T_4]: T_4[K]; } : never>) => {} & PromiseLike<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_5 ? { [K in keyof T_5]: T_5[K]; } : never>;
|
|
159
|
-
} & PromiseLike<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_4 ? { [K in keyof T_4]: T_4[K]; } : never>;
|
|
160
|
-
} & PromiseLike<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_2 ? { [K in keyof T_2]: T_2[K]; } : never>;
|
|
161
|
-
Count(): {
|
|
162
|
-
where: Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T ? { [K in keyof T]: T[K]; } : never> extends boolean ? () => {} & PromiseLike<number> : Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_1 ? { [K in keyof T_1]: T_1[K]; } : never> extends any[] ? (...args: any[] & Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_2 ? { [K in keyof T_2]: T_2[K]; } : never>) => {} & PromiseLike<number> : (arg: Where<{ [K_1 in keyof TDef as K_1 extends `__${string}` ? never : TDef[K_1] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? K_1 : never : never]: TDef[K_1] extends ColumnBuilder<infer U, any, any> ? U : never; } & { [K_2 in keyof TDef as K_2 extends `__${string}` ? never : TDef[K_2] extends ColumnBuilder<any, infer C extends import("./schema").ColumnConfig, any> ? C["notnull"] extends true ? never : K_2 : never]: TDef[K_2] extends ColumnBuilder<infer U, any, any> ? U : never; } extends infer T_2 ? { [K in keyof T_2]: T_2[K]; } : never>) => {} & PromiseLike<number>;
|
|
163
|
-
} & PromiseLike<number>;
|
|
164
|
-
/**
|
|
165
|
-
* Auto-resolves relationships based on schema 'reference'
|
|
166
|
-
*/
|
|
167
|
-
private ResolveJoin;
|
|
168
|
-
private Validate;
|
|
169
|
-
private Transform;
|
|
170
|
-
private BuildWhereClause;
|
|
171
|
-
private BuildSelect;
|
|
172
|
-
private BuildInsert;
|
|
173
|
-
private BuildUpdate;
|
|
174
|
-
private BuildDelete;
|
|
175
|
-
private parseRecursive;
|
|
176
|
-
private FormatOut;
|
|
177
|
-
}
|
|
178
|
-
export {};
|