lamix 4.2.6

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/index.d.ts ADDED
@@ -0,0 +1,580 @@
1
+ export class DB {
2
+ static driver: any;
3
+ static config: any;
4
+ static pool: any;
5
+ static cache: SimpleCache;
6
+ static retryAttempts: number;
7
+ static eventHandlers: {
8
+ query: any[];
9
+ error: any[];
10
+ };
11
+ static initFromEnv({ driver, config, retryAttempts }?: {
12
+ driver?: string;
13
+ config?: any;
14
+ retryAttempts?: number;
15
+ }): void;
16
+ static on(event: any, fn: any): void;
17
+ static _emit(event: any, payload: any): void;
18
+ static _ensureModule(): any;
19
+ static connect(): Promise<any>;
20
+ static end(): Promise<void>;
21
+ static _pgConvert(sql: any, params: any): {
22
+ text: any;
23
+ values: any;
24
+ };
25
+ static _extractTable(sql: any): string;
26
+ static _tableExists(table: any): Promise<boolean>;
27
+ static raw(sql: any, params?: any[], options?: {}): Promise<any>;
28
+ static transaction(fn: any): Promise<any>;
29
+ static escapeId(id: any): any;
30
+ static cached(sql: any, params?: any[], ttl?: number): Promise<any>;
31
+ }
32
+ export class Model {
33
+ static table: any;
34
+ static primaryKey: string;
35
+ static slugKey: string;
36
+ static timestamps: boolean;
37
+ static fillable: any;
38
+ static tableSingular: any;
39
+ static softDeletes: boolean;
40
+ static deletedAt: string;
41
+ static hidden: any[];
42
+ static visible: any;
43
+ static rules: {};
44
+ static customMessages: {};
45
+ static validate(data: any, id: any, ignoreId?: any): Promise<Validator>;
46
+ static get tableName(): any;
47
+ static boot(): void;
48
+ static on(event: any, handler: any): void;
49
+ static before(event: any, handler: any): void;
50
+ static after(event: any, handler: any): void;
51
+ static query({ withTrashed }?: {
52
+ withTrashed?: boolean;
53
+ }): QueryBuilder;
54
+ static setTable(table: any): void;
55
+ static withTrashed(): QueryBuilder;
56
+ static all(): Promise<Collection>;
57
+ static where(...args: any[]): QueryBuilder;
58
+ static whereIn(col: any, arr: any): QueryBuilder;
59
+ static whereNot(...args: any[]): QueryBuilder;
60
+ static whereNotIn(col: any, arr: any): QueryBuilder;
61
+ static whereNull(col: any): QueryBuilder;
62
+ static find(value: any): Promise<any>;
63
+ static findOrFail(value: any): Promise<any>;
64
+ static findBy(col: any, value: any): Promise<any>;
65
+ static findByOrFail(col: any, value: any): Promise<any>;
66
+ static findManyBy(col: any, values?: any[]): Promise<any[] | Collection>;
67
+ static findMany(ids?: any[]): Promise<any[] | Collection>;
68
+ static first(...args: any[]): Promise<any>;
69
+ static firstOrFail(...args: any[]): Promise<any>;
70
+ static firstOrNew(whereAttrs: any, defaults?: {}): Promise<any>;
71
+ static firstOrCreate(whereAttrs: any, defaults?: {}): Promise<any>;
72
+ static updateOrCreate(whereAttrs: any, values?: {}): Promise<any>;
73
+ static create(attrs?: {}): Promise<Model>;
74
+ static createMany(arr?: any[]): Promise<any[]>;
75
+ static fetchOrNewUpMany(list?: any[], defaults?: {}): Promise<any[]>;
76
+ static fetchOrCreateMany(list?: any[], defaults?: {}): Promise<any[]>;
77
+ static updateOrCreateMany(items?: any[]): Promise<any[]>;
78
+ static truncate(): Promise<void>;
79
+ static raw(sql: any, params: any): Promise<any>;
80
+ static transaction(fn: any): Promise<any>;
81
+ static isBadValue(value: any): boolean;
82
+ static getRelations(): {};
83
+ static destroy(ids: any): Promise<number>;
84
+ static with(relations: any): QueryBuilder;
85
+ constructor(attributes?: {}, fresh?: boolean, data?: {});
86
+ _attributes: {};
87
+ _original: {};
88
+ _relations: {};
89
+ _exists: boolean;
90
+ get length(): number;
91
+ count(): number;
92
+ trigger(event: any): Promise<void>;
93
+ sanitize(attrs?: {}): {};
94
+ fill(attrs?: {}): Promise<this>;
95
+ merge(attrs?: {}): Promise<this>;
96
+ saveNew(attrs: any): Promise<this>;
97
+ save(): Promise<this>;
98
+ update(attrs?: {}): Promise<this>;
99
+ delete(): Promise<boolean | this>;
100
+ restore(): Promise<this>;
101
+ belongsTo(RelatedClass: any, foreignKey?: any, ownerKey?: any): BelongsTo;
102
+ hasOne(RelatedClass: any, foreignKey?: any, localKey?: any): HasOne;
103
+ hasMany(RelatedClass: any, foreignKey?: any, localKey?: any): HasMany;
104
+ belongsToMany(RelatedClass: any, pivotTable?: any, foreignKey?: any, relatedKey?: any): BelongsToMany;
105
+ hasManyThrough(RelatedClass: any, ThroughClass: any, firstKey?: any, secondKey?: any, localKey?: any, secondLocalKey?: any): HasManyThrough;
106
+ morphOne(RelatedClass: any, morphName: any, localKey?: any): MorphOne;
107
+ morphMany(RelatedClass: any, morphName: any, localKey?: any): MorphMany;
108
+ morphTo(typeField?: string, idField?: string): MorphTo;
109
+ morphToMany(RelatedClass: any, morphName: any, pivotTable?: any, foreignKey?: any, relatedKey?: any): MorphToMany;
110
+ morphedByMany(RelatedClass: any, morphName: any, pivotTable?: any, foreignKey?: any, relatedKey?: any): MorphedByMany;
111
+ toObject({ relations }?: {
112
+ relations?: boolean;
113
+ }): {};
114
+ toJSON(): {};
115
+ toString(): string;
116
+ serializeDate(date: any): any;
117
+ clone(deep?: boolean): any;
118
+ only(keys?: any[]): {};
119
+ except(keys?: any[]): {};
120
+ getAttribute(key: any): any;
121
+ setAttribute(key: any, value: any): this;
122
+ refresh(): Promise<this>;
123
+ get exists(): boolean;
124
+ isDirty(key: any): boolean;
125
+ getChanges(): {};
126
+ [util.inspect.custom](): {};
127
+ }
128
+ export class Validator {
129
+ constructor(data?: {}, id?: any, table?: any, rules?: {}, customMessages?: {}, db?: any);
130
+ data: {};
131
+ id: any;
132
+ table: any;
133
+ rules: {};
134
+ customMessages: {};
135
+ errorBag: {};
136
+ primaryKey: string;
137
+ db: any;
138
+ fails(): Promise<boolean>;
139
+ passes(): boolean;
140
+ getErrors(): {};
141
+ addError(field: any, message: any): void;
142
+ msg(field: any, rule: any, fallback: any): any;
143
+ toNumber(val: any): number;
144
+ validateRequired(field: any): void;
145
+ validateString(field: any): void;
146
+ validateBoolean(field: any): void;
147
+ validateNumeric(field: any): void;
148
+ validateInteger(field: any): void;
149
+ validateEmail(field: any): void;
150
+ validateMin(field: any, min: any): void;
151
+ validateMax(field: any, max: any): void;
152
+ validateConfirmed(field: any): void;
153
+ validateDate(field: any): void;
154
+ validateUrl(field: any): void;
155
+ validateIp(field: any): void;
156
+ validateUuid(field: any): void;
157
+ validateSlug(field: any): void;
158
+ validateAfter(field: any, dateField: any): void;
159
+ validateBefore(field: any, dateField: any): void;
160
+ validateRegex(field: any, pattern: any): void;
161
+ validateIn(field: any, ...values: any[]): void;
162
+ validateNotIn(field: any, ...values: any[]): void;
163
+ validateUnique(field: any, table?: any, column?: any, ignore?: any, pk?: any): Promise<void>;
164
+ validateExists(field: any, table?: any, column?: any, whereColumn?: any, whereValue?: any): Promise<void>;
165
+ validatePhone(field: any): void;
166
+ validateAlpha(field: any): void;
167
+ validateAlphaNum(field: any): void;
168
+ validateArray(field: any): void;
169
+ validateJson(field: any): void;
170
+ validateBetween(field: any, min: any, max: any): void;
171
+ validateFile(field: any): void;
172
+ validateImage(field: any): void;
173
+ validateMimes(field: any, types: any): void;
174
+ validateSize(field: any, maxKB: any): void;
175
+ }
176
+ export class ValidationError extends Error {
177
+ /**
178
+ * Converts messages to a string suitable for web users
179
+ */
180
+ static formatMessages(messages: any): string;
181
+ /**
182
+ * @param {string | string[] | Record<string, any>} messages - Validation messages
183
+ * @param {ErrorOptions} [options] - Optional error options
184
+ */
185
+ constructor(messages: string | string[] | Record<string, any>, options?: ErrorOptions);
186
+ messages: string | string[] | Record<string, any>;
187
+ status: number;
188
+ code: string;
189
+ get errors(): string;
190
+ get [Symbol.toStringTag](): string;
191
+ }
192
+ export class Collection extends Array<any> {
193
+ static make(items?: any[]): Collection;
194
+ static range(start: any, end: any): Collection;
195
+ constructor(items?: any[]);
196
+ count(): number;
197
+ isEmpty(): boolean;
198
+ isNotEmpty(): boolean;
199
+ first(): any;
200
+ last(): any;
201
+ nth(index: any): any;
202
+ toArray(): this[number][];
203
+ toJSON(): this[number][];
204
+ clone(): Collection;
205
+ each(fn: any): Promise<this>;
206
+ mapAsync(fn: any): Promise<Collection>;
207
+ where(key: any, value: any): Collection;
208
+ whereNot(key: any, value: any): Collection;
209
+ filterNull(): Collection;
210
+ onlyKeys(keys: any): Collection;
211
+ exceptKeys(keys: any): Collection;
212
+ sortBy(key: any): Collection;
213
+ sortByDesc(key: any): Collection;
214
+ mapToArray(fn: any): any[];
215
+ pluck(key: any): Collection;
216
+ toObject(): any[];
217
+ compact(): Collection;
218
+ flatten(depth?: number): Collection;
219
+ flattenDeep(): Collection;
220
+ unique(fnOrKey?: any): Collection;
221
+ sum(key?: any): any;
222
+ avg(key?: any): number;
223
+ max(key?: any): any;
224
+ min(key?: any): any;
225
+ groupBy(keyOrFn: any): {};
226
+ random(n?: number): any;
227
+ shuffle(): Collection;
228
+ chunk(size: any): Collection;
229
+ take(n: any): Collection;
230
+ skip(n: any): Collection;
231
+ find(fn: any): any;
232
+ includesWhere(key: any, value: any): boolean;
233
+ has(fn: any): boolean;
234
+ intersect(otherCollection: any): Collection;
235
+ diff(otherCollection: any): Collection;
236
+ union(otherCollection: any): Collection;
237
+ pipe(fn: any): any;
238
+ }
239
+ /******************************************************************************
240
+ * QueryBuilder (Bug-Free)
241
+ *****************************************************************************/
242
+ export class QueryBuilder {
243
+ static fromJSON(json: any): QueryBuilder;
244
+ constructor(table: any, modelClass?: any, dialect?: string);
245
+ table: any;
246
+ tableAlias: any;
247
+ modelClass: any;
248
+ _select: string[];
249
+ _joins: any[];
250
+ _wheres: any[];
251
+ _group: any[];
252
+ _having: any[];
253
+ _orders: any[];
254
+ _limit: number;
255
+ _offset: number;
256
+ _forUpdate: boolean;
257
+ _distinct: boolean;
258
+ dialect: string;
259
+ _with: any[];
260
+ _ignoreSoftDeletes: boolean;
261
+ _ctes: any[];
262
+ _unions: any[];
263
+ _fromRaw: any;
264
+ _normalizeOperator(operator: any): any;
265
+ /**************************************************************************
266
+ * BASIC CONFIG
267
+ **************************************************************************/
268
+ alias(a: any): this;
269
+ distinct(): this;
270
+ /**************************************************************************
271
+ * SELECT
272
+ **************************************************************************/
273
+ select(...cols: any[]): this;
274
+ addSelect(...cols: any[]): this;
275
+ /**************************************************************************
276
+ * JOINS
277
+ **************************************************************************/
278
+ join(type: any, table: any, first: any, operator: any, second: any): this;
279
+ innerJoin(t: any, f: any, o: any, s: any): this;
280
+ leftJoin(t: any, f: any, o: any, s: any): this;
281
+ rightJoin(t: any, f: any, o: any, s: any): this;
282
+ crossJoin(t: any): this;
283
+ /**************************************************************************
284
+ * WHERE HELPERS
285
+ **************************************************************************/
286
+ _pushWhere(w: any): this;
287
+ then(resolve: any, reject: any): Promise<Collection>;
288
+ where(columnOrObject: any, operator: any, value: any, ...args: any[]): this;
289
+ orWhere(columnOrObject: any, operatorOrValue: any, value: any, ...args: any[]): this;
290
+ toSQL(): string;
291
+ /**************************************************************************
292
+ * TO SQL
293
+ **************************************************************************/
294
+ toSQL(): {
295
+ sql: string;
296
+ bindings: any[];
297
+ };
298
+ whereRaw(sql: any, bindings?: any[]): this;
299
+ orWhereRaw(sql: any, bindings?: any[]): this;
300
+ whereColumn(a: any, op: any, b: any, ...args: any[]): this;
301
+ orWhereColumn(a: any, op: any, b: any, ...args: any[]): this;
302
+ whereNested(cb: any): this;
303
+ whereIn(column: any, values?: any[]): this;
304
+ /** COMPLETELY FIXED VERSION */
305
+ whereNot(column: any, operatorOrValue: any, value: any, ...args: any[]): this;
306
+ whereNotIn(column: any, values?: any[]): this;
307
+ whereNull(col: any): this;
308
+ whereNotNull(col: any): this;
309
+ whereBetween(col: any, [a, b]: [any, any]): this;
310
+ whereNotBetween(col: any, [a, b]: [any, any]): this;
311
+ whereExists(builderOrRaw: any): this;
312
+ whereNotExists(builderOrRaw: any): this;
313
+ _existsHelper(builderOrRaw: any, neg: any): this;
314
+ /**************************************************************************
315
+ * JSON
316
+ **************************************************************************/
317
+ whereJsonPath(column: any, path: any, operator: any, value: any, ...args: any[]): this;
318
+ whereJsonContains(column: any, value: any): this;
319
+ /**************************************************************************
320
+ * GROUP / HAVING
321
+ **************************************************************************/
322
+ groupBy(...cols: any[]): this;
323
+ having(column: any, operatorOrValue: any, value: any, ...args: any[]): this;
324
+ orHaving(column: any, operatorOrValue: any, value: any, ...args: any[]): this;
325
+ _pushHaving(column: any, op: any, value: any, bool: any): this;
326
+ /**************************************************************************
327
+ * ORDER / LIMIT
328
+ **************************************************************************/
329
+ orderBy(col: any, dir?: string): this;
330
+ limit(n: any): this;
331
+ offset(n: any): this;
332
+ forUpdate(): this;
333
+ /**************************************************************************
334
+ * CTE
335
+ **************************************************************************/
336
+ withCTE(name: any, query: any, { recursive }?: {
337
+ recursive?: boolean;
338
+ }): this;
339
+ /**************************************************************************
340
+ * UNION
341
+ **************************************************************************/
342
+ union(q: any): this;
343
+ unionAll(q: any): this;
344
+ /**************************************************************************
345
+ * RAW FROM
346
+ **************************************************************************/
347
+ fromRaw(raw: any): this;
348
+ /**************************************************************************
349
+ * WITH (Eager Load)
350
+ **************************************************************************/
351
+ with(relations: any): this;
352
+ preload(relations: any): this;
353
+ ignoreSoftDeletes(): this;
354
+ whereHas(relationName: any, callback: any, boolean?: string): this;
355
+ /**************************************************************************
356
+ * COMPILERS
357
+ **************************************************************************/
358
+ _compileSelect(): string;
359
+ _compileWheres(): string;
360
+ _gatherBindings(): any[];
361
+ /**************************************************************************
362
+ * READ METHODS
363
+ **************************************************************************/
364
+ get(): Promise<Collection>;
365
+ first(): Promise<any>;
366
+ firstOrFail(): Promise<any>;
367
+ exists(): Promise<boolean>;
368
+ doesntExist(): Promise<boolean>;
369
+ count(column?: string): Promise<number>;
370
+ _aggregate(expr: any): Promise<number>;
371
+ sum(c: any): Promise<number>;
372
+ avg(c: any): Promise<number>;
373
+ min(c: any): Promise<number>;
374
+ max(c: any): Promise<number>;
375
+ countDistinct(c: any): Promise<number>;
376
+ pluck(col: any): Promise<any>;
377
+ paginate(page?: number, perPage?: number): Promise<Paginator>;
378
+ /**************************************************************************
379
+ * WRITE METHODS
380
+ **************************************************************************/
381
+ insert(values: any): Promise<any>;
382
+ insertGetId(values: any): Promise<any>;
383
+ update(values: any): Promise<any>;
384
+ increment(col: any, by?: number): Promise<any>;
385
+ decrement(col: any, by?: number): Promise<any>;
386
+ delete(): Promise<any>;
387
+ truncate(): Promise<boolean>;
388
+ _compileWhereOnly(): string;
389
+ /**************************************************************************
390
+ * EAGER LOAD (unchanged except robust checks)
391
+ **************************************************************************/
392
+ _eagerLoad(models: any): Promise<any>;
393
+ /**************************************************************************
394
+ * CLONE
395
+ **************************************************************************/
396
+ _clone(): QueryBuilder;
397
+ _rehydrateWheres(ws: any): any;
398
+ _rehydrateCTEs(ctes: any): any;
399
+ _rehydrateUnions(unions: any): any;
400
+ toJSON(): {
401
+ table: any;
402
+ tableAlias: any;
403
+ modelClass: any;
404
+ dialect: string;
405
+ select: string[];
406
+ joins: any[];
407
+ wheres: any[];
408
+ group: any[];
409
+ having: any[];
410
+ orders: any[];
411
+ limit: number;
412
+ offset: number;
413
+ distinct: boolean;
414
+ forUpdate: boolean;
415
+ with: any[];
416
+ ignoreSoftDeletes: boolean;
417
+ ctes: {
418
+ name: any;
419
+ recursive: any;
420
+ query: any;
421
+ }[];
422
+ unions: {
423
+ type: any;
424
+ query: any;
425
+ }[];
426
+ fromRaw: any;
427
+ };
428
+ toSQLJSON(): {
429
+ sql: string;
430
+ bindings: any[];
431
+ };
432
+ toSQLWhereOnly(): {
433
+ sql: string;
434
+ bindings: any[];
435
+ };
436
+ }
437
+ export class HasMany extends Relation {
438
+ get(): Promise<any>;
439
+ eagerLoad(parents: any, relName: any): Promise<void>;
440
+ }
441
+ export class HasOne extends Relation {
442
+ get(): Promise<any>;
443
+ eagerLoad(parents: any, relName: any): Promise<void>;
444
+ }
445
+ export class BelongsTo extends Relation {
446
+ ownerKey: any;
447
+ get(): Promise<any>;
448
+ eagerLoad(parents: any, relName: any): Promise<void>;
449
+ }
450
+ export class BelongsToMany extends Relation {
451
+ constructor(parent: any, relatedClass: any, pivotTable?: any, foreignKey?: any, relatedKey?: any);
452
+ pivotTable: any;
453
+ relatedKey: any;
454
+ parentPK: any;
455
+ relatedPK: any;
456
+ _pivotColumns: any[];
457
+ _withTimestamps: boolean;
458
+ _pivotOrder: {
459
+ column: any;
460
+ direction: string;
461
+ };
462
+ withPivot(...columns: any[]): this;
463
+ withTimestamps(): this;
464
+ orderByPivot(column: any, direction?: string): this;
465
+ get(): Promise<any>;
466
+ eagerLoad(parents: any, relName: any): Promise<void>;
467
+ attach(ids: any, pivotData?: {}): Promise<any>;
468
+ detach(ids?: any): Promise<any>;
469
+ sync(ids: any): Promise<{
470
+ attached: any;
471
+ detached: any[];
472
+ }>;
473
+ toggle(ids: any): Promise<{
474
+ attached: any;
475
+ detached: any;
476
+ }>;
477
+ _hydratePivot(rows: any): any;
478
+ }
479
+ export class DBError extends Error {
480
+ constructor(message: any, meta?: {});
481
+ meta: {};
482
+ }
483
+ export class BaseModel extends Model {
484
+ static passwordField: string;
485
+ static hashRounds: number;
486
+ /**
487
+ * Lifecycle hook placeholders
488
+ * Subclasses can override these.
489
+ */
490
+ beforeCreate(attrs: any): Promise<void>;
491
+ afterCreate(savedRecord: any): Promise<void>;
492
+ beforeSave(attrs: any): Promise<void>;
493
+ afterSave(savedRecord: any): Promise<void>;
494
+ /**
495
+ * Called when inserting a new record.
496
+ */
497
+ saveNew(attrs: any): Promise<this>;
498
+ /**
499
+ * Called when updating an existing record.
500
+ */
501
+ save(): Promise<this>;
502
+ /**
503
+ * Hash password field if needed.
504
+ */
505
+ _maybeHashPassword(attrs: any): Promise<void>;
506
+ /**
507
+ * Check a plain text password against the hashed one.
508
+ */
509
+ checkPassword(rawPassword: any): Promise<any>;
510
+ /**
511
+ * Serialize model data for output.
512
+ * Override this to customize output (e.g. hide sensitive fields).
513
+ */
514
+ serialize(): {};
515
+ }
516
+ declare class SimpleCache {
517
+ map: Map<any, any>;
518
+ get(k: any): any;
519
+ set(k: any, v: any, ttl?: number): void;
520
+ del(k: any): void;
521
+ clear(): void;
522
+ }
523
+ declare class HasManyThrough extends Relation {
524
+ constructor(parent: any, relatedClass: any, throughClass: any, firstKey: any, secondKey: any, localKey: any, secondLocalKey: any);
525
+ throughClass: any;
526
+ firstKey: any;
527
+ secondKey: any;
528
+ secondLocalKey: any;
529
+ get(): Promise<any>;
530
+ }
531
+ declare class MorphOne extends Relation {
532
+ morphType: string;
533
+ get(): Promise<any>;
534
+ }
535
+ declare class MorphMany extends Relation {
536
+ morphType: string;
537
+ get(): Promise<any>;
538
+ }
539
+ declare class MorphTo {
540
+ constructor(parent: any, typeField?: string, idField?: string);
541
+ parent: any;
542
+ typeField: string;
543
+ idField: string;
544
+ get(): Promise<any>;
545
+ }
546
+ declare class MorphToMany extends Relation {
547
+ constructor(parent: any, relatedClass: any, morphName: any, pivotTable?: any, foreignKey?: any, relatedKey?: any);
548
+ morphTypeColumn: string;
549
+ pivotTable: any;
550
+ relatedKey: any;
551
+ }
552
+ declare class MorphedByMany extends MorphToMany {
553
+ }
554
+ import util = require("util");
555
+ declare class Paginator {
556
+ constructor(data: any, total: any, page: any, perPage: any);
557
+ data: any;
558
+ total: number;
559
+ page: number;
560
+ perPage: number;
561
+ lastPage: number;
562
+ _dataToArray(): any;
563
+ toJSON(): {
564
+ data: any;
565
+ total: number;
566
+ page: number;
567
+ perPage: number;
568
+ lastPage: number;
569
+ };
570
+ }
571
+ declare class Relation {
572
+ constructor(parent: any, relatedClass: any, foreignKey?: any, localKey?: any);
573
+ parent: any;
574
+ relatedClass: any;
575
+ foreignKey: any;
576
+ localKey: any;
577
+ deleteBehavior: any;
578
+ onDelete(behavior: any): this;
579
+ }
580
+ export {};