@rushdb/javascript-sdk 1.3.2 → 1.4.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/dist/sdk/sdk.d.ts CHANGED
@@ -1,568 +1,33 @@
1
1
  import type { HttpClient } from '../network/HttpClient.js';
2
- import type { Models, Schema } from '../types/index.js';
3
- import type { Model } from './model.js';
4
- import type { State, SDKConfig } from './types.js';
2
+ import type { Schema } from '../types/index.js';
3
+ import type { DBRecord } from './record.js';
5
4
  import { DBRecordInstance } from './record.js';
6
- export declare const initSDK: (httpClient: HttpClient) => {
7
- new (token?: string, config?: SDKConfig): {
8
- state: State;
9
- models: Map<string, Model>;
10
- registerModel(model: Model): Model<any>;
11
- getModels(): Map<string, Model>;
12
- getModel<Label extends keyof Models | string = never>(label: Label): Label extends keyof Models ? Model<Models[Label]> : Model | undefined;
13
- toInstance<S extends Schema = Schema>(record: import("../types/utils.js").FlattenTypes<{
14
- readonly __id: string;
15
- readonly __label: string;
16
- readonly __proptypes?: import("../types/utils.js").FlattenTypes<{ [Key in import("../types/schema.js").RequiredKeysRead<S>]: S[Key]["type"]; } & { [Key_1 in import("../types/schema.js").OptionalKeysRead<S>]?: S[Key_1]["type"] | undefined; }> | undefined;
17
- } & import("../types/utils.js").FlattenTypes<import("./record.js").RecordProps<S>>>): DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>;
18
- fetcher: ReturnType<typeof import("../network/index.js").createFetcher>;
19
- options: SDKConfig["options"];
20
- logger: SDKConfig["logger"];
21
- _extractTargetIds(target: import("./record.js").RelationTarget, operation: string): Array<string>;
22
- records: {
23
- attach: ({ source, target, options }: {
24
- source: import("./record.js").DBRecordTarget;
25
- target: import("./record.js").RelationTarget;
26
- options?: import("./record.js").RelationOptions;
27
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
28
- message: string;
29
- }>>;
30
- detach: ({ source, target, options }: {
31
- source: import("./record.js").DBRecordTarget;
32
- target: import("./record.js").RelationTarget;
33
- options?: import("./record.js").RelationDetachOptions;
34
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
35
- message: string;
36
- }>>;
37
- create: <S extends Schema = any>({ label, data, options }: {
38
- label: string;
39
- data: import("../types/value.js").PropertyDraft[] | import("../types/utils.js").FlattenTypes<{ [Key in import("../types/schema.js").RequiredKeysWrite<S>]: S[Key]["multiple"] extends true ? {
40
- boolean: boolean;
41
- datetime: import("../types/value.js").DatetimeObject | string;
42
- null: null;
43
- number: number;
44
- string: string;
45
- vector: Array<number>;
46
- }[S[Key]["type"]][] : {
47
- boolean: boolean;
48
- datetime: import("../types/value.js").DatetimeObject | string;
49
- null: null;
50
- number: number;
51
- string: string;
52
- vector: Array<number>;
53
- }[S[Key]["type"]]; } & { [Key_1 in import("../types/schema.js").OptionalKeysWrite<S>]?: (S[Key_1]["multiple"] extends true ? {
54
- boolean: boolean;
55
- datetime: import("../types/value.js").DatetimeObject | string;
56
- null: null;
57
- number: number;
58
- string: string;
59
- vector: Array<number>;
60
- }[S[Key_1]["type"]][] : {
61
- boolean: boolean;
62
- datetime: import("../types/value.js").DatetimeObject | string;
63
- null: null;
64
- number: number;
65
- string: string;
66
- vector: Array<number>;
67
- }[S[Key_1]["type"]]) | undefined; }>;
68
- options?: Omit<import("./record.js").DBRecordCreationOptions, "returnResult" | "capitalizeLabels" | "relationshipType">;
69
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>>;
70
- createMany: <S extends Schema = any>(data: {
71
- label: string;
72
- data: import("../types/utils.js").MaybeArray<import("../types/utils.js").AnyObject>;
73
- options?: import("./record.js").DBRecordCreationOptions;
74
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<import("./record.js").DBRecordsArrayInstance<S, import("../types/query.js").SearchQuery<S>>>;
75
- delete: <S extends Schema = any>(searchQuery: import("../types/query.js").SearchQuery<S>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
76
- message: string;
77
- }>>;
78
- deleteById: (idOrIds: import("../types/utils.js").MaybeArray<string>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
79
- message: string;
80
- }>>;
81
- export: <S extends Schema = any>(searchQuery: import("../types/query.js").SearchQuery<S>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
82
- dateTime: string;
83
- fileContent: string;
84
- }>>;
85
- find: <S extends Schema = any, Q extends import("../types/query.js").SearchQuery<S> = import("../types/query.js").SearchQuery<S>>(searchQueryWithEntryPoint: Q & {
86
- id?: string;
87
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<import("./record.js").DBRecordsArrayInstance<S, Q>>;
88
- findById: <S extends Schema = Schema, Arg extends import("../types/utils.js").MaybeArray<string> = import("../types/utils.js").MaybeArray<string>, Result = Arg extends string[] ? import("./record.js").DBRecordsArrayInstance<S, import("../types/query.js").SearchQuery<S>> : DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>>(idOrIds: Arg, transaction?: import("./transaction.js").Transaction | string) => Promise<Result>;
89
- findOne: <S extends Schema = any, Q extends import("../types/query.js").SearchQuery<S> = import("../types/query.js").SearchQuery<S>>(searchQuery: Q, transaction?: import("./transaction.js").Transaction | string) => Promise<DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>>;
90
- findUniq: <S extends Schema = any, Q extends import("../types/query.js").SearchQuery<S> = import("../types/query.js").SearchQuery<S>>(searchQuery: Q, transaction?: import("./transaction.js").Transaction | string) => Promise<DBRecordInstance<S, Q>>;
91
- set: <S extends Schema = any>({ target, label, data, options }: {
92
- target: import("./record.js").DBRecordTarget;
93
- label: string;
94
- data: import("../types/value.js").PropertyDraft[] | import("../types/utils.js").FlattenTypes<{ [Key in import("../types/schema.js").RequiredKeysWrite<S>]: S[Key]["multiple"] extends true ? {
95
- boolean: boolean;
96
- datetime: import("../types/value.js").DatetimeObject | string;
97
- null: null;
98
- number: number;
99
- string: string;
100
- vector: Array<number>;
101
- }[S[Key]["type"]][] : {
102
- boolean: boolean;
103
- datetime: import("../types/value.js").DatetimeObject | string;
104
- null: null;
105
- number: number;
106
- string: string;
107
- vector: Array<number>;
108
- }[S[Key]["type"]]; } & { [Key_1 in import("../types/schema.js").OptionalKeysWrite<S>]?: (S[Key_1]["multiple"] extends true ? {
109
- boolean: boolean;
110
- datetime: import("../types/value.js").DatetimeObject | string;
111
- null: null;
112
- number: number;
113
- string: string;
114
- vector: Array<number>;
115
- }[S[Key_1]["type"]][] : {
116
- boolean: boolean;
117
- datetime: import("../types/value.js").DatetimeObject | string;
118
- null: null;
119
- number: number;
120
- string: string;
121
- vector: Array<number>;
122
- }[S[Key_1]["type"]]) | undefined; }>;
123
- options?: Omit<import("./record.js").DBRecordCreationOptions, "returnResult" | "capitalizeLabels" | "relationshipType">;
124
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>>;
125
- update: <S extends Schema = any>({ target, label, data, options }: {
126
- target: import("./record.js").DBRecordTarget;
127
- label: string;
128
- data: import("../types/value.js").PropertyDraft[] | Partial<import("../types/utils.js").FlattenTypes<{ [Key in import("../types/schema.js").RequiredKeysWrite<S>]: S[Key]["multiple"] extends true ? {
129
- boolean: boolean;
130
- datetime: import("../types/value.js").DatetimeObject | string;
131
- null: null;
132
- number: number;
133
- string: string;
134
- vector: Array<number>;
135
- }[S[Key]["type"]][] : {
136
- boolean: boolean;
137
- datetime: import("../types/value.js").DatetimeObject | string;
138
- null: null;
139
- number: number;
140
- string: string;
141
- vector: Array<number>;
142
- }[S[Key]["type"]]; } & { [Key_1 in import("../types/schema.js").OptionalKeysWrite<S>]?: (S[Key_1]["multiple"] extends true ? {
143
- boolean: boolean;
144
- datetime: import("../types/value.js").DatetimeObject | string;
145
- null: null;
146
- number: number;
147
- string: string;
148
- vector: Array<number>;
149
- }[S[Key_1]["type"]][] : {
150
- boolean: boolean;
151
- datetime: import("../types/value.js").DatetimeObject | string;
152
- null: null;
153
- number: number;
154
- string: string;
155
- vector: Array<number>;
156
- }[S[Key_1]["type"]]) | undefined; }>>;
157
- options?: Omit<import("./record.js").DBRecordCreationOptions, "returnResult" | "capitalizeLabels" | "relationshipType">;
158
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>>;
159
- };
160
- relationships: {
161
- find: <S extends Schema = any>(searchQuery: import("../types/query.js").SearchQuery<S>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<import("./record.js").Relation[]>>;
162
- };
163
- properties: {
164
- delete: (id: string, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<import("../types/value.js").Property>>;
165
- find: <S extends Schema = any>(searchQuery: import("../types/query.js").SearchQuery<S>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<import("../types/value.js").Property[]>>;
166
- findById: (id: string, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<import("../types/value.js").Property>>;
167
- values: (id: string, searchQuery?: import("../types/query.js").SearchQuery & {
168
- query?: string;
169
- orderBy?: import("../types/query.js").OrderDirection;
170
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
171
- metadata?: string;
172
- name: string;
173
- type: import("../types/value.js").PropertyType;
174
- } & {
175
- id: string;
176
- } & import("../types/value.js").PropertyValuesData>>;
177
- };
178
- labels: {
179
- find: <S extends Schema = any>(searchQuery: import("../types/query.js").SearchQuery<S>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<Record<string, number>>>;
180
- };
181
- tx: {
182
- begin: (config?: Partial<{
183
- ttl: number;
184
- }>) => Promise<import("./transaction.js").Transaction>;
185
- commit: (tx: string | import("./transaction.js").Transaction) => Promise<import("../index.node.js").ApiResponse<{
186
- message: string;
187
- }>>;
188
- get: (tx: string | import("./transaction.js").Transaction) => Promise<import("./transaction.js").Transaction>;
189
- rollback: (tx: string | import("./transaction.js").Transaction) => Promise<import("../index.node.js").ApiResponse<{
190
- message: string;
191
- }>>;
192
- };
193
- };
194
- instance: {
195
- state: State;
196
- models: Map<string, Model>;
197
- registerModel(model: Model): Model<any>;
198
- getModels(): Map<string, Model>;
199
- getModel<Label extends keyof Models | string = never>(label: Label): Label extends keyof Models ? Model<Models[Label]> : Model | undefined;
200
- toInstance<S extends Schema = Schema>(record: import("../types/utils.js").FlattenTypes<{
201
- readonly __id: string;
202
- readonly __label: string;
203
- readonly __proptypes?: import("../types/utils.js").FlattenTypes<{ [Key in import("../types/schema.js").RequiredKeysRead<S>]: S[Key]["type"]; } & { [Key_1 in import("../types/schema.js").OptionalKeysRead<S>]?: S[Key_1]["type"] | undefined; }> | undefined;
204
- } & import("../types/utils.js").FlattenTypes<import("./record.js").RecordProps<S>>>): DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>;
205
- fetcher: ReturnType<typeof import("../network/index.js").createFetcher>;
206
- options: SDKConfig["options"];
207
- logger: SDKConfig["logger"];
208
- _extractTargetIds(target: import("./record.js").RelationTarget, operation: string): Array<string>;
209
- records: {
210
- attach: ({ source, target, options }: {
211
- source: import("./record.js").DBRecordTarget;
212
- target: import("./record.js").RelationTarget;
213
- options?: import("./record.js").RelationOptions;
214
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
215
- message: string;
216
- }>>;
217
- detach: ({ source, target, options }: {
218
- source: import("./record.js").DBRecordTarget;
219
- target: import("./record.js").RelationTarget;
220
- options?: import("./record.js").RelationDetachOptions;
221
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
222
- message: string;
223
- }>>;
224
- create: <S extends Schema = any>({ label, data, options }: {
225
- label: string;
226
- data: import("../types/value.js").PropertyDraft[] | import("../types/utils.js").FlattenTypes<{ [Key in import("../types/schema.js").RequiredKeysWrite<S>]: S[Key]["multiple"] extends true ? {
227
- boolean: boolean;
228
- datetime: import("../types/value.js").DatetimeObject | string;
229
- null: null;
230
- number: number;
231
- string: string;
232
- vector: Array<number>;
233
- }[S[Key]["type"]][] : {
234
- boolean: boolean;
235
- datetime: import("../types/value.js").DatetimeObject | string;
236
- null: null;
237
- number: number;
238
- string: string;
239
- vector: Array<number>;
240
- }[S[Key]["type"]]; } & { [Key_1 in import("../types/schema.js").OptionalKeysWrite<S>]?: (S[Key_1]["multiple"] extends true ? {
241
- boolean: boolean;
242
- datetime: import("../types/value.js").DatetimeObject | string;
243
- null: null;
244
- number: number;
245
- string: string;
246
- vector: Array<number>;
247
- }[S[Key_1]["type"]][] : {
248
- boolean: boolean;
249
- datetime: import("../types/value.js").DatetimeObject | string;
250
- null: null;
251
- number: number;
252
- string: string;
253
- vector: Array<number>;
254
- }[S[Key_1]["type"]]) | undefined; }>;
255
- options?: Omit<import("./record.js").DBRecordCreationOptions, "returnResult" | "capitalizeLabels" | "relationshipType">;
256
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>>;
257
- createMany: <S extends Schema = any>(data: {
258
- label: string;
259
- data: import("../types/utils.js").MaybeArray<import("../types/utils.js").AnyObject>;
260
- options?: import("./record.js").DBRecordCreationOptions;
261
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<import("./record.js").DBRecordsArrayInstance<S, import("../types/query.js").SearchQuery<S>>>;
262
- delete: <S extends Schema = any>(searchQuery: import("../types/query.js").SearchQuery<S>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
263
- message: string;
264
- }>>;
265
- deleteById: (idOrIds: import("../types/utils.js").MaybeArray<string>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
266
- message: string;
267
- }>>;
268
- export: <S extends Schema = any>(searchQuery: import("../types/query.js").SearchQuery<S>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
269
- dateTime: string;
270
- fileContent: string;
271
- }>>;
272
- find: <S extends Schema = any, Q extends import("../types/query.js").SearchQuery<S> = import("../types/query.js").SearchQuery<S>>(searchQueryWithEntryPoint: Q & {
273
- id?: string;
274
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<import("./record.js").DBRecordsArrayInstance<S, Q>>;
275
- findById: <S extends Schema = Schema, Arg extends import("../types/utils.js").MaybeArray<string> = import("../types/utils.js").MaybeArray<string>, Result = Arg extends string[] ? import("./record.js").DBRecordsArrayInstance<S, import("../types/query.js").SearchQuery<S>> : DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>>(idOrIds: Arg, transaction?: import("./transaction.js").Transaction | string) => Promise<Result>;
276
- findOne: <S extends Schema = any, Q extends import("../types/query.js").SearchQuery<S> = import("../types/query.js").SearchQuery<S>>(searchQuery: Q, transaction?: import("./transaction.js").Transaction | string) => Promise<DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>>;
277
- findUniq: <S extends Schema = any, Q extends import("../types/query.js").SearchQuery<S> = import("../types/query.js").SearchQuery<S>>(searchQuery: Q, transaction?: import("./transaction.js").Transaction | string) => Promise<DBRecordInstance<S, Q>>;
278
- set: <S extends Schema = any>({ target, label, data, options }: {
279
- target: import("./record.js").DBRecordTarget;
280
- label: string;
281
- data: import("../types/value.js").PropertyDraft[] | import("../types/utils.js").FlattenTypes<{ [Key in import("../types/schema.js").RequiredKeysWrite<S>]: S[Key]["multiple"] extends true ? {
282
- boolean: boolean;
283
- datetime: import("../types/value.js").DatetimeObject | string;
284
- null: null;
285
- number: number;
286
- string: string;
287
- vector: Array<number>;
288
- }[S[Key]["type"]][] : {
289
- boolean: boolean;
290
- datetime: import("../types/value.js").DatetimeObject | string;
291
- null: null;
292
- number: number;
293
- string: string;
294
- vector: Array<number>;
295
- }[S[Key]["type"]]; } & { [Key_1 in import("../types/schema.js").OptionalKeysWrite<S>]?: (S[Key_1]["multiple"] extends true ? {
296
- boolean: boolean;
297
- datetime: import("../types/value.js").DatetimeObject | string;
298
- null: null;
299
- number: number;
300
- string: string;
301
- vector: Array<number>;
302
- }[S[Key_1]["type"]][] : {
303
- boolean: boolean;
304
- datetime: import("../types/value.js").DatetimeObject | string;
305
- null: null;
306
- number: number;
307
- string: string;
308
- vector: Array<number>;
309
- }[S[Key_1]["type"]]) | undefined; }>;
310
- options?: Omit<import("./record.js").DBRecordCreationOptions, "returnResult" | "capitalizeLabels" | "relationshipType">;
311
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>>;
312
- update: <S extends Schema = any>({ target, label, data, options }: {
313
- target: import("./record.js").DBRecordTarget;
314
- label: string;
315
- data: import("../types/value.js").PropertyDraft[] | Partial<import("../types/utils.js").FlattenTypes<{ [Key in import("../types/schema.js").RequiredKeysWrite<S>]: S[Key]["multiple"] extends true ? {
316
- boolean: boolean;
317
- datetime: import("../types/value.js").DatetimeObject | string;
318
- null: null;
319
- number: number;
320
- string: string;
321
- vector: Array<number>;
322
- }[S[Key]["type"]][] : {
323
- boolean: boolean;
324
- datetime: import("../types/value.js").DatetimeObject | string;
325
- null: null;
326
- number: number;
327
- string: string;
328
- vector: Array<number>;
329
- }[S[Key]["type"]]; } & { [Key_1 in import("../types/schema.js").OptionalKeysWrite<S>]?: (S[Key_1]["multiple"] extends true ? {
330
- boolean: boolean;
331
- datetime: import("../types/value.js").DatetimeObject | string;
332
- null: null;
333
- number: number;
334
- string: string;
335
- vector: Array<number>;
336
- }[S[Key_1]["type"]][] : {
337
- boolean: boolean;
338
- datetime: import("../types/value.js").DatetimeObject | string;
339
- null: null;
340
- number: number;
341
- string: string;
342
- vector: Array<number>;
343
- }[S[Key_1]["type"]]) | undefined; }>>;
344
- options?: Omit<import("./record.js").DBRecordCreationOptions, "returnResult" | "capitalizeLabels" | "relationshipType">;
345
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>>;
346
- };
347
- relationships: {
348
- find: <S extends Schema = any>(searchQuery: import("../types/query.js").SearchQuery<S>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<import("./record.js").Relation[]>>;
349
- };
350
- properties: {
351
- delete: (id: string, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<import("../types/value.js").Property>>;
352
- find: <S extends Schema = any>(searchQuery: import("../types/query.js").SearchQuery<S>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<import("../types/value.js").Property[]>>;
353
- findById: (id: string, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<import("../types/value.js").Property>>;
354
- values: (id: string, searchQuery?: import("../types/query.js").SearchQuery & {
355
- query?: string;
356
- orderBy?: import("../types/query.js").OrderDirection;
357
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
358
- metadata?: string;
359
- name: string;
360
- type: import("../types/value.js").PropertyType;
361
- } & {
362
- id: string;
363
- } & import("../types/value.js").PropertyValuesData>>;
364
- };
365
- labels: {
366
- find: <S extends Schema = any>(searchQuery: import("../types/query.js").SearchQuery<S>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<Record<string, number>>>;
367
- };
368
- tx: {
369
- begin: (config?: Partial<{
370
- ttl: number;
371
- }>) => Promise<import("./transaction.js").Transaction>;
372
- commit: (tx: string | import("./transaction.js").Transaction) => Promise<import("../index.node.js").ApiResponse<{
373
- message: string;
374
- }>>;
375
- get: (tx: string | import("./transaction.js").Transaction) => Promise<import("./transaction.js").Transaction>;
376
- rollback: (tx: string | import("./transaction.js").Transaction) => Promise<import("../index.node.js").ApiResponse<{
377
- message: string;
378
- }>>;
379
- };
380
- };
381
- getInstance(): {
382
- state: State;
383
- models: Map<string, Model>;
384
- registerModel(model: Model): Model<any>;
385
- getModels(): Map<string, Model>;
386
- getModel<Label extends keyof Models | string = never>(label: Label): Label extends keyof Models ? Model<Models[Label]> : Model | undefined;
387
- toInstance<S extends Schema = Schema>(record: import("../types/utils.js").FlattenTypes<{
388
- readonly __id: string;
389
- readonly __label: string;
390
- readonly __proptypes?: import("../types/utils.js").FlattenTypes<{ [Key in import("../types/schema.js").RequiredKeysRead<S>]: S[Key]["type"]; } & { [Key_1 in import("../types/schema.js").OptionalKeysRead<S>]?: S[Key_1]["type"] | undefined; }> | undefined;
391
- } & import("../types/utils.js").FlattenTypes<import("./record.js").RecordProps<S>>>): DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>;
392
- fetcher: ReturnType<typeof import("../network/index.js").createFetcher>;
393
- options: SDKConfig["options"];
394
- logger: SDKConfig["logger"];
395
- _extractTargetIds(target: import("./record.js").RelationTarget, operation: string): Array<string>;
396
- records: {
397
- attach: ({ source, target, options }: {
398
- source: import("./record.js").DBRecordTarget;
399
- target: import("./record.js").RelationTarget;
400
- options?: import("./record.js").RelationOptions;
401
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
402
- message: string;
403
- }>>;
404
- detach: ({ source, target, options }: {
405
- source: import("./record.js").DBRecordTarget;
406
- target: import("./record.js").RelationTarget;
407
- options?: import("./record.js").RelationDetachOptions;
408
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
409
- message: string;
410
- }>>;
411
- create: <S extends Schema = any>({ label, data, options }: {
412
- label: string;
413
- data: import("../types/value.js").PropertyDraft[] | import("../types/utils.js").FlattenTypes<{ [Key in import("../types/schema.js").RequiredKeysWrite<S>]: S[Key]["multiple"] extends true ? {
414
- boolean: boolean;
415
- datetime: import("../types/value.js").DatetimeObject | string;
416
- null: null;
417
- number: number;
418
- string: string;
419
- vector: Array<number>;
420
- }[S[Key]["type"]][] : {
421
- boolean: boolean;
422
- datetime: import("../types/value.js").DatetimeObject | string;
423
- null: null;
424
- number: number;
425
- string: string;
426
- vector: Array<number>;
427
- }[S[Key]["type"]]; } & { [Key_1 in import("../types/schema.js").OptionalKeysWrite<S>]?: (S[Key_1]["multiple"] extends true ? {
428
- boolean: boolean;
429
- datetime: import("../types/value.js").DatetimeObject | string;
430
- null: null;
431
- number: number;
432
- string: string;
433
- vector: Array<number>;
434
- }[S[Key_1]["type"]][] : {
435
- boolean: boolean;
436
- datetime: import("../types/value.js").DatetimeObject | string;
437
- null: null;
438
- number: number;
439
- string: string;
440
- vector: Array<number>;
441
- }[S[Key_1]["type"]]) | undefined; }>;
442
- options?: Omit<import("./record.js").DBRecordCreationOptions, "returnResult" | "capitalizeLabels" | "relationshipType">;
443
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>>;
444
- createMany: <S extends Schema = any>(data: {
445
- label: string;
446
- data: import("../types/utils.js").MaybeArray<import("../types/utils.js").AnyObject>;
447
- options?: import("./record.js").DBRecordCreationOptions;
448
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<import("./record.js").DBRecordsArrayInstance<S, import("../types/query.js").SearchQuery<S>>>;
449
- delete: <S extends Schema = any>(searchQuery: import("../types/query.js").SearchQuery<S>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
450
- message: string;
451
- }>>;
452
- deleteById: (idOrIds: import("../types/utils.js").MaybeArray<string>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
453
- message: string;
454
- }>>;
455
- export: <S extends Schema = any>(searchQuery: import("../types/query.js").SearchQuery<S>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
456
- dateTime: string;
457
- fileContent: string;
458
- }>>;
459
- find: <S extends Schema = any, Q extends import("../types/query.js").SearchQuery<S> = import("../types/query.js").SearchQuery<S>>(searchQueryWithEntryPoint: Q & {
460
- id?: string;
461
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<import("./record.js").DBRecordsArrayInstance<S, Q>>;
462
- findById: <S extends Schema = Schema, Arg extends import("../types/utils.js").MaybeArray<string> = import("../types/utils.js").MaybeArray<string>, Result = Arg extends string[] ? import("./record.js").DBRecordsArrayInstance<S, import("../types/query.js").SearchQuery<S>> : DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>>(idOrIds: Arg, transaction?: import("./transaction.js").Transaction | string) => Promise<Result>;
463
- findOne: <S extends Schema = any, Q extends import("../types/query.js").SearchQuery<S> = import("../types/query.js").SearchQuery<S>>(searchQuery: Q, transaction?: import("./transaction.js").Transaction | string) => Promise<DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>>;
464
- findUniq: <S extends Schema = any, Q extends import("../types/query.js").SearchQuery<S> = import("../types/query.js").SearchQuery<S>>(searchQuery: Q, transaction?: import("./transaction.js").Transaction | string) => Promise<DBRecordInstance<S, Q>>;
465
- set: <S extends Schema = any>({ target, label, data, options }: {
466
- target: import("./record.js").DBRecordTarget;
467
- label: string;
468
- data: import("../types/value.js").PropertyDraft[] | import("../types/utils.js").FlattenTypes<{ [Key in import("../types/schema.js").RequiredKeysWrite<S>]: S[Key]["multiple"] extends true ? {
469
- boolean: boolean;
470
- datetime: import("../types/value.js").DatetimeObject | string;
471
- null: null;
472
- number: number;
473
- string: string;
474
- vector: Array<number>;
475
- }[S[Key]["type"]][] : {
476
- boolean: boolean;
477
- datetime: import("../types/value.js").DatetimeObject | string;
478
- null: null;
479
- number: number;
480
- string: string;
481
- vector: Array<number>;
482
- }[S[Key]["type"]]; } & { [Key_1 in import("../types/schema.js").OptionalKeysWrite<S>]?: (S[Key_1]["multiple"] extends true ? {
483
- boolean: boolean;
484
- datetime: import("../types/value.js").DatetimeObject | string;
485
- null: null;
486
- number: number;
487
- string: string;
488
- vector: Array<number>;
489
- }[S[Key_1]["type"]][] : {
490
- boolean: boolean;
491
- datetime: import("../types/value.js").DatetimeObject | string;
492
- null: null;
493
- number: number;
494
- string: string;
495
- vector: Array<number>;
496
- }[S[Key_1]["type"]]) | undefined; }>;
497
- options?: Omit<import("./record.js").DBRecordCreationOptions, "returnResult" | "capitalizeLabels" | "relationshipType">;
498
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>>;
499
- update: <S extends Schema = any>({ target, label, data, options }: {
500
- target: import("./record.js").DBRecordTarget;
501
- label: string;
502
- data: import("../types/value.js").PropertyDraft[] | Partial<import("../types/utils.js").FlattenTypes<{ [Key in import("../types/schema.js").RequiredKeysWrite<S>]: S[Key]["multiple"] extends true ? {
503
- boolean: boolean;
504
- datetime: import("../types/value.js").DatetimeObject | string;
505
- null: null;
506
- number: number;
507
- string: string;
508
- vector: Array<number>;
509
- }[S[Key]["type"]][] : {
510
- boolean: boolean;
511
- datetime: import("../types/value.js").DatetimeObject | string;
512
- null: null;
513
- number: number;
514
- string: string;
515
- vector: Array<number>;
516
- }[S[Key]["type"]]; } & { [Key_1 in import("../types/schema.js").OptionalKeysWrite<S>]?: (S[Key_1]["multiple"] extends true ? {
517
- boolean: boolean;
518
- datetime: import("../types/value.js").DatetimeObject | string;
519
- null: null;
520
- number: number;
521
- string: string;
522
- vector: Array<number>;
523
- }[S[Key_1]["type"]][] : {
524
- boolean: boolean;
525
- datetime: import("../types/value.js").DatetimeObject | string;
526
- null: null;
527
- number: number;
528
- string: string;
529
- vector: Array<number>;
530
- }[S[Key_1]["type"]]) | undefined; }>>;
531
- options?: Omit<import("./record.js").DBRecordCreationOptions, "returnResult" | "capitalizeLabels" | "relationshipType">;
532
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>>;
533
- };
534
- relationships: {
535
- find: <S extends Schema = any>(searchQuery: import("../types/query.js").SearchQuery<S>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<import("./record.js").Relation[]>>;
536
- };
537
- properties: {
538
- delete: (id: string, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<import("../types/value.js").Property>>;
539
- find: <S extends Schema = any>(searchQuery: import("../types/query.js").SearchQuery<S>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<import("../types/value.js").Property[]>>;
540
- findById: (id: string, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<import("../types/value.js").Property>>;
541
- values: (id: string, searchQuery?: import("../types/query.js").SearchQuery & {
542
- query?: string;
543
- orderBy?: import("../types/query.js").OrderDirection;
544
- }, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<{
545
- metadata?: string;
546
- name: string;
547
- type: import("../types/value.js").PropertyType;
548
- } & {
549
- id: string;
550
- } & import("../types/value.js").PropertyValuesData>>;
551
- };
552
- labels: {
553
- find: <S extends Schema = any>(searchQuery: import("../types/query.js").SearchQuery<S>, transaction?: import("./transaction.js").Transaction | string) => Promise<import("../index.node.js").ApiResponse<Record<string, number>>>;
554
- };
555
- tx: {
556
- begin: (config?: Partial<{
557
- ttl: number;
558
- }>) => Promise<import("./transaction.js").Transaction>;
559
- commit: (tx: string | import("./transaction.js").Transaction) => Promise<import("../index.node.js").ApiResponse<{
560
- message: string;
561
- }>>;
562
- get: (tx: string | import("./transaction.js").Transaction) => Promise<import("./transaction.js").Transaction>;
563
- rollback: (tx: string | import("./transaction.js").Transaction) => Promise<import("../index.node.js").ApiResponse<{
564
- message: string;
565
- }>>;
566
- };
567
- };
568
- };
5
+ import type { SDKConfig, State } from './types.js';
6
+ import { RestAPI } from '../api/api.js';
7
+ export declare class RushDB extends RestAPI {
8
+ static instance: RushDB | null;
9
+ static initPromise: Promise<RushDB> | null;
10
+ static state: State;
11
+ constructor(token?: string, config?: SDKConfig);
12
+ /**
13
+ * Returns a promise that resolves when the SDK is fully initialized
14
+ * Use this to ensure the SDK is ready before using it
15
+ */
16
+ waitForInitialization(): Promise<RushDB>;
17
+ private initializeAsync;
18
+ /**
19
+ * Static method to get or wait for initialization
20
+ * This is the preferred way to get an initialized RushDB instance
21
+ */
22
+ static init(): Promise<RushDB>;
23
+ /**
24
+ * Synchronous getInstance that returns instance or null
25
+ */
26
+ static getInstance(): RushDB | null;
27
+ /**
28
+ * Check if the SDK is initialized
29
+ */
30
+ static isInitialized(): boolean;
31
+ toDBRecordInstance<S extends Schema = Schema>(record: DBRecord<S>): DBRecordInstance<S, import("../types/query.js").SearchQuery<S>>;
32
+ }
33
+ export declare const initSDK: (client: HttpClient) => void;