@an5/orm 1.0.8 → 1.1.0
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/README.md +174 -175
- package/dist/an5Metadata.js +64 -0
- package/dist/an5Orm.d.ts +92 -3
- package/dist/an5Orm.js +697 -206
- package/dist/config.d.ts +9 -1
- package/dist/config.js +13 -18
- package/dist/errors.d.ts +1 -1
- package/dist/errors.js +1 -1
- package/dist/generator/src/api.d.ts +35 -0
- package/dist/generator/src/api.js +58 -0
- package/dist/generator/src/code-generator.d.ts +14 -13
- package/dist/generator/src/code-generator.js +249 -225
- package/dist/generator/src/config.d.ts +162 -0
- package/dist/generator/src/config.js +354 -0
- package/dist/generator/src/dialect.d.ts +88 -0
- package/dist/generator/src/dialect.js +318 -0
- package/dist/generator/src/dotnet-generator.d.ts +21 -11
- package/dist/generator/src/dotnet-generator.js +1053 -546
- package/dist/generator/src/field-types.d.ts +96 -0
- package/dist/generator/src/field-types.js +433 -0
- package/dist/generator/src/golang-generator.d.ts +36 -0
- package/dist/generator/src/golang-generator.js +1229 -0
- package/dist/generator/src/index.d.ts +1 -1
- package/dist/generator/src/index.js +137 -88
- package/dist/generator/src/metadata-generator.d.ts +11 -8
- package/dist/generator/src/metadata-generator.js +105 -90
- package/dist/generator/src/parser.d.ts +37 -11
- package/dist/generator/src/parser.js +208 -206
- package/dist/generator/src/push-apply.d.ts +37 -0
- package/dist/generator/src/push-apply.js +109 -0
- package/dist/generator/src/push-schema.d.ts +93 -0
- package/dist/generator/src/push-schema.js +189 -0
- package/dist/generator/src/python-generator.d.ts +37 -9
- package/dist/generator/src/python-generator.js +428 -105
- package/dist/generator/src/rust-generator.d.ts +38 -0
- package/dist/generator/src/rust-generator.js +971 -0
- package/dist/generator/src/suggest.d.ts +17 -0
- package/dist/generator/src/suggest.js +45 -0
- package/dist/generator/src/type-kinds.d.ts +27 -0
- package/dist/generator/src/type-kinds.js +72 -0
- package/dist/generator/src/types.d.ts +60 -27
- package/dist/generator/src/types.js +41 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +19 -8
- package/dist/logger.js +1 -1
- package/dist/migration-core.d.ts +102 -0
- package/dist/migration-core.js +731 -0
- package/dist/orm.d.ts +147 -0
- package/dist/orm.js +1654 -0
- package/dist/provider-support.d.ts +27 -0
- package/dist/provider-support.js +50 -0
- package/dist/scripts/release-cli.d.ts +2 -2
- package/dist/scripts/release-cli.js +115 -115
- package/dist/sql-utils.d.ts +3 -1
- package/dist/sql-utils.js +94 -24
- package/generator/src/api.ts +45 -0
- package/generator/src/code-generator.ts +259 -230
- package/generator/src/config.ts +496 -0
- package/generator/src/dialect.ts +415 -0
- package/generator/src/dotnet-generator.ts +1071 -544
- package/generator/src/field-types.ts +473 -0
- package/generator/src/golang-generator.ts +1267 -0
- package/generator/src/index.ts +146 -116
- package/generator/src/metadata-generator.ts +116 -101
- package/generator/src/parser.ts +234 -202
- package/generator/src/push-apply.ts +148 -0
- package/generator/src/push-schema.ts +250 -0
- package/generator/src/python-generator.ts +480 -114
- package/generator/src/rust-generator.ts +974 -0
- package/generator/src/suggest.ts +41 -0
- package/generator/src/type-kinds.ts +78 -0
- package/generator/src/types.ts +77 -29
- package/package.json +32 -6
package/dist/orm.d.ts
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { An5Adapter, AdapterTableClient } from "@an5/adapters";
|
|
2
|
+
import { An5Metadata } from "./metadata";
|
|
3
|
+
type ExecutorFn = ((queryText: string, params?: Record<string, any>) => Promise<any[]>) & {
|
|
4
|
+
executeRaw?: (queryText: string, params?: Record<string, any>) => Promise<number>;
|
|
5
|
+
transaction?: <R>(fn: (txExecutor: ExecutorFn) => Promise<R>, options?: {
|
|
6
|
+
timeout?: number;
|
|
7
|
+
}) => Promise<R>;
|
|
8
|
+
beginTransaction?: () => Promise<InteractiveTransactionExecutor>;
|
|
9
|
+
};
|
|
10
|
+
type InteractiveTransactionExecutor = {
|
|
11
|
+
executor: ExecutorFn;
|
|
12
|
+
commit: () => Promise<void>;
|
|
13
|
+
rollback: () => Promise<void>;
|
|
14
|
+
};
|
|
15
|
+
export declare class TableClient<T = any> extends AdapterTableClient<T> {
|
|
16
|
+
private executor;
|
|
17
|
+
private orm;
|
|
18
|
+
readonly rawTableName: string;
|
|
19
|
+
constructor(modelName: string, rawTableName: string, executor: ExecutorFn, orm: An5ORM);
|
|
20
|
+
private executeRaw;
|
|
21
|
+
findMany(args?: any): Promise<T[]>;
|
|
22
|
+
findFirst(args?: any): Promise<T | null>;
|
|
23
|
+
findUnique(args?: any): Promise<T | null>;
|
|
24
|
+
count(args?: any): Promise<number>;
|
|
25
|
+
private scopedRelationWhere;
|
|
26
|
+
private handleNestedWrites;
|
|
27
|
+
create(args: any): Promise<T>;
|
|
28
|
+
update(args: any): Promise<T>;
|
|
29
|
+
updateMany(args: any): Promise<{
|
|
30
|
+
count: number;
|
|
31
|
+
}>;
|
|
32
|
+
delete(args: any): Promise<T>;
|
|
33
|
+
deleteMany(args?: any): Promise<{
|
|
34
|
+
count: number;
|
|
35
|
+
}>;
|
|
36
|
+
vectorSearch(args: {
|
|
37
|
+
vector: number[];
|
|
38
|
+
take?: number;
|
|
39
|
+
where?: any;
|
|
40
|
+
include?: any;
|
|
41
|
+
vectorField?: string;
|
|
42
|
+
distanceMetric?: 'cosine' | 'euclidean' | 'dot';
|
|
43
|
+
vectorElementType?: 'float32' | 'float16' | 'uint8';
|
|
44
|
+
}): Promise<(T & {
|
|
45
|
+
distance: number;
|
|
46
|
+
})[]>;
|
|
47
|
+
createMany(args: {
|
|
48
|
+
data: any[];
|
|
49
|
+
skipDuplicates?: boolean;
|
|
50
|
+
}): Promise<{
|
|
51
|
+
count: number;
|
|
52
|
+
}>;
|
|
53
|
+
aggregate(args: any): Promise<any>;
|
|
54
|
+
groupBy(args: any): Promise<any[]>;
|
|
55
|
+
private sequentialUpsert;
|
|
56
|
+
upsert(args: any): Promise<T>;
|
|
57
|
+
}
|
|
58
|
+
export interface MiddlewareParams {
|
|
59
|
+
model?: string;
|
|
60
|
+
action: string;
|
|
61
|
+
args: any;
|
|
62
|
+
runInTransaction?: boolean;
|
|
63
|
+
}
|
|
64
|
+
export type MiddlewareNext = (params: MiddlewareParams) => Promise<any>;
|
|
65
|
+
export type Middleware = (params: MiddlewareParams, next: MiddlewareNext) => Promise<any>;
|
|
66
|
+
export type LogLevel = "query" | "info" | "warn" | "error";
|
|
67
|
+
export interface QueryEvent {
|
|
68
|
+
timestamp: Date;
|
|
69
|
+
query: string;
|
|
70
|
+
params?: Record<string, any>;
|
|
71
|
+
duration: number;
|
|
72
|
+
model?: string;
|
|
73
|
+
action?: string;
|
|
74
|
+
error?: Error;
|
|
75
|
+
}
|
|
76
|
+
export interface LogEvent {
|
|
77
|
+
timestamp: Date;
|
|
78
|
+
message: string;
|
|
79
|
+
level: LogLevel;
|
|
80
|
+
duration?: number;
|
|
81
|
+
query?: string;
|
|
82
|
+
params?: Record<string, any>;
|
|
83
|
+
error?: Error;
|
|
84
|
+
}
|
|
85
|
+
export type EventListener<T = any> = (event: T) => void;
|
|
86
|
+
export declare class ViewClient<T = any> {
|
|
87
|
+
viewName: string;
|
|
88
|
+
rawTableName: string;
|
|
89
|
+
executor: ExecutorFn;
|
|
90
|
+
orm?: An5ORM | undefined;
|
|
91
|
+
private tableClient;
|
|
92
|
+
constructor(viewName: string, rawTableName: string, executor: ExecutorFn, orm?: An5ORM | undefined);
|
|
93
|
+
findMany(args?: any): Promise<T[]>;
|
|
94
|
+
findFirst(args?: any): Promise<T | null>;
|
|
95
|
+
findUnique(args?: any): Promise<T | null>;
|
|
96
|
+
count(args?: any): Promise<number>;
|
|
97
|
+
aggregate(args?: any): Promise<any>;
|
|
98
|
+
groupBy(args?: any): Promise<any[]>;
|
|
99
|
+
vectorSearch(args: any): Promise<T[]>;
|
|
100
|
+
create(): Promise<never>;
|
|
101
|
+
createMany(): Promise<never>;
|
|
102
|
+
update(): Promise<never>;
|
|
103
|
+
updateMany(): Promise<never>;
|
|
104
|
+
delete(): Promise<never>;
|
|
105
|
+
deleteMany(): Promise<never>;
|
|
106
|
+
upsert(): Promise<never>;
|
|
107
|
+
}
|
|
108
|
+
export declare class An5ORM {
|
|
109
|
+
private readonly inTransaction;
|
|
110
|
+
private transactionControl?;
|
|
111
|
+
[key: string]: any;
|
|
112
|
+
private middlewares;
|
|
113
|
+
private eventListeners;
|
|
114
|
+
slowQueryThresholdMs: number;
|
|
115
|
+
readonly metadata: An5Metadata;
|
|
116
|
+
private customExecutor?;
|
|
117
|
+
constructor(customExecutor?: ExecutorFn | An5Adapter | any, metadata?: An5Metadata, inTransaction?: boolean, transactionControl?: Pick<InteractiveTransactionExecutor, "commit" | "rollback"> | undefined);
|
|
118
|
+
$on(event: "query", listener: EventListener<QueryEvent>): void;
|
|
119
|
+
$on(event: "info" | "warn" | "error", listener: EventListener<LogEvent>): void;
|
|
120
|
+
$off(event: string, listener: EventListener): void;
|
|
121
|
+
$emit(event: string, payload: any): void;
|
|
122
|
+
private getExecutor;
|
|
123
|
+
table(name: string): TableClient;
|
|
124
|
+
view(name: string): ViewClient;
|
|
125
|
+
$view(name: string): ViewClient;
|
|
126
|
+
$queryProc<T = any>(procName: string, params?: Record<string, any> | any[]): Promise<T[]>;
|
|
127
|
+
$executeProc(procName: string, params?: Record<string, any> | any[]): Promise<number>;
|
|
128
|
+
$queryFunction<T = any>(fnName: string, params?: Record<string, any> | any[]): Promise<T[]>;
|
|
129
|
+
$use(middleware: Middleware): void;
|
|
130
|
+
parseWhere(modelName: string, where: any, params: Record<string, any>, prefix?: string): string;
|
|
131
|
+
_executeMiddleware(params: MiddlewareParams, finalAction: (params: MiddlewareParams) => Promise<any>): Promise<any>;
|
|
132
|
+
$connect(): Promise<void>;
|
|
133
|
+
$disconnect(): Promise<void>;
|
|
134
|
+
$queryRaw(queryParts: any, ...values: any[]): Promise<any[]>;
|
|
135
|
+
$queryRawUnsafe<R = any>(queryText: string, ...values: any[]): Promise<R>;
|
|
136
|
+
$executeRaw(queryParts: any, ...values: any[]): Promise<number>;
|
|
137
|
+
$executeRawUnsafe(queryText: string, ...values: any[]): Promise<number>;
|
|
138
|
+
$transaction<R>(fn: ((tx: any) => Promise<R>) | Promise<any>[], options?: {
|
|
139
|
+
timeout?: number;
|
|
140
|
+
}): Promise<any>;
|
|
141
|
+
$begin(): Promise<any>;
|
|
142
|
+
$commit(): Promise<void>;
|
|
143
|
+
$rollback(): Promise<void>;
|
|
144
|
+
}
|
|
145
|
+
export declare const an5Orm: An5ORM;
|
|
146
|
+
export default an5Orm;
|
|
147
|
+
//# sourceMappingURL=orm.d.ts.map
|