prostgles-types 1.5.129 → 1.5.132

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 CHANGED
@@ -65,9 +65,11 @@ export declare type _OrderBy<T = AnyObject> = {
65
65
  nullEmpty?: boolean;
66
66
  }[] | Array<keyof T> | keyof T;
67
67
  export declare type OrderBy<T = AnyObject> = _OrderBy<T> | _OrderBy<AnyObject>;
68
- export declare type Select<T = AnyObject> = {
69
- [K in keyof Partial<T>]: any;
70
- } | {} | undefined | "" | "*" | AnyObject | Array<keyof T>;
68
+ export declare type Select<T extends AnyObject> = {
69
+ [K in keyof Partial<T>]: 1;
70
+ } | {
71
+ [K in keyof Partial<T>]: 0;
72
+ } | undefined | "" | "*" | AnyObject | Array<keyof T>;
71
73
  export declare type SelectBasic = {
72
74
  [key: string]: any;
73
75
  } | {} | undefined | "" | "*";
@@ -127,6 +129,24 @@ export declare type TableInfo = {
127
129
  media_table_name?: string;
128
130
  };
129
131
  export declare type OnError = (err: any) => void;
132
+ declare type GetSelectReturnType<O extends SelectParams<TD>, TD extends AnyObject> = O extends {
133
+ select: "*";
134
+ } ? TD : O extends {
135
+ select: "";
136
+ } ? Record<string, never> : O extends {
137
+ select: Record<string, 1>;
138
+ } ? Pick<TD, keyof O["select"]> : O extends {
139
+ select: Record<string, 0>;
140
+ } ? Omit<TD, keyof O["select"]> : TD;
141
+ declare type GetUpdateReturnType<O extends UpdateParams<TD>, TD extends AnyObject> = O extends {
142
+ returning: "*";
143
+ } ? TD : O extends {
144
+ returning: "";
145
+ } ? Record<string, never> : O extends {
146
+ returning: Record<string, 1>;
147
+ } ? Pick<TD, keyof O["returning"]> : O extends {
148
+ returning: Record<string, 0>;
149
+ } ? Omit<TD, keyof O["returning"]> : void;
130
150
  export declare type SubscriptionHandler<T = AnyObject> = {
131
151
  unsubscribe: () => Promise<any>;
132
152
  update?: (newData: T, updateParams: UpdateParams<T>) => Promise<any>;
@@ -136,24 +156,19 @@ export declare type SubscriptionHandler<T = AnyObject> = {
136
156
  export declare type ViewHandler<TD = AnyObject> = {
137
157
  getInfo?: (lang?: string) => Promise<TableInfo>;
138
158
  getColumns?: (lang?: string) => Promise<ValidatedColumnInfo[]>;
139
- find: (filter?: FullFilter<TD>, selectParams?: SelectParams<TD>) => Promise<PartialLax<TD>[]>;
140
- findOne: (filter?: FullFilter<TD>, selectParams?: SelectParams<TD>) => Promise<PartialLax<TD>>;
141
- subscribe: (filter: FullFilter<TD>, params: SubscribeParams<TD>, onData: (items: PartialLax<TD>[], onError?: OnError) => any) => Promise<SubscriptionHandler<TD>>;
142
- subscribeOne: (filter: FullFilter<TD>, params: SubscribeParams<TD>, onData: (item: PartialLax<TD>) => any, onError?: OnError) => Promise<SubscriptionHandler<TD>>;
159
+ find: <P extends SelectParams<TD>>(filter?: FullFilter<TD>, selectParams?: P) => Promise<GetSelectReturnType<P, TD>[]>;
160
+ findOne: <P extends SelectParams<TD>>(filter?: FullFilter<TD>, selectParams?: P) => Promise<GetSelectReturnType<P, TD>>;
161
+ subscribe: <P extends SubscribeParams<TD>>(filter: FullFilter<TD>, params: P, onData: (items: GetSelectReturnType<P, TD>[], onError?: OnError) => any) => Promise<SubscriptionHandler<TD>>;
162
+ subscribeOne: <P extends SubscribeParams<TD>>(filter: FullFilter<TD>, params: P, onData: (item: GetSelectReturnType<P, TD>) => any, onError?: OnError) => Promise<SubscriptionHandler<TD>>;
143
163
  count: (filter?: FullFilter<TD>) => Promise<number>;
144
164
  size: (filter?: FullFilter<TD>, selectParams?: SelectParams<TD>) => Promise<string>;
145
165
  };
146
- declare type GetUpdateReturnType<O extends UpdateParams, TD> = O extends {
147
- returning: string;
148
- } ? Promise<PartialLax<TD>> : O extends {
149
- returning: object;
150
- } ? Promise<PartialLax<TD>> : Promise<void>;
151
166
  export declare type TableHandler<TD = AnyObject> = ViewHandler<TD> & {
152
- update: <P extends UpdateParams<TD>>(filter: FullFilter<TD>, newData: PartialLax<TD>, params?: UpdateParams<TD>) => GetUpdateReturnType<P, TD>;
167
+ update: <P extends UpdateParams<TD>>(filter: FullFilter<TD>, newData: PartialLax<TD>, params?: UpdateParams<TD>) => Promise<GetUpdateReturnType<P, TD>>;
153
168
  updateBatch: (data: [FullFilter<TD>, PartialLax<TD>][], params?: UpdateParams<TD>) => Promise<PartialLax<TD> | void>;
154
169
  upsert: (filter: FullFilter<TD>, newData: PartialLax<TD>, params?: UpdateParams<TD>) => Promise<PartialLax<TD> | void>;
155
- insert: <P extends UpdateParams<TD>>(data: (PartialLax<TD> | PartialLax<TD>[]), params?: P) => GetUpdateReturnType<P, TD>;
156
- delete: <P extends UpdateParams<TD>>(filter?: FullFilter<TD>, params?: DeleteParams<TD>) => GetUpdateReturnType<P, TD>;
170
+ insert: <P extends UpdateParams<TD>>(data: (PartialLax<TD> | PartialLax<TD>[]), params?: P) => Promise<GetUpdateReturnType<P, TD>>;
171
+ delete: <P extends UpdateParams<TD>>(filter?: FullFilter<TD>, params?: DeleteParams<TD>) => Promise<GetUpdateReturnType<P, TD>>;
157
172
  };
158
173
  export declare type ViewHandlerBasic = {
159
174
  getInfo?: (lang?: string) => Promise<TableInfo>;
@@ -193,10 +208,10 @@ export declare type DbJoinMaker = {
193
208
  innerJoinOne: TableJoin;
194
209
  leftJoinOne: TableJoin;
195
210
  };
196
- export declare type SQLResult<T = "object"> = {
211
+ export declare type SQLResult<T extends SQLOptions["returnType"]> = {
197
212
  command: "SELECT" | "UPDATE" | "DELETE" | "CREATE" | "ALTER" | "LISTEN" | "UNLISTEN" | "INSERT" | string;
198
213
  rowCount: number;
199
- rows: (T extends "arrayMode" ? any[] : AnyObject)[];
214
+ rows: (T extends "arrayMode" ? any : AnyObject)[];
200
215
  fields: {
201
216
  name: string;
202
217
  dataType: string;
@@ -214,13 +229,11 @@ export declare type DBEventHandles = {
214
229
  removeListener: () => void;
215
230
  };
216
231
  };
217
- export declare type GetReturnType<ReturnType extends SQLOptions["returnType"] = ""> = ReturnType extends "row" ? AnyObject : ReturnType extends "rows" ? AnyObject[] : ReturnType extends "value" ? any : ReturnType extends "values" ? any[] : ReturnType extends "statement" ? string : ReturnType extends "noticeSubscription" ? DBEventHandles : SQLResult<ReturnType>;
218
- declare function sql<ReturnType extends SQLOptions["returnType"] = undefined>(query: string, args?: any | any[], options?: {
219
- returnType: ReturnType;
220
- }, serverSideOptions?: {
232
+ export declare type CheckForListen<T, O extends SQLOptions> = O["allowListen"] extends true ? (DBEventHandles | T) : T;
233
+ export declare type GetSQLReturnType<O extends SQLOptions> = CheckForListen<(O["returnType"] extends "row" ? AnyObject | null : O["returnType"] extends "rows" ? AnyObject[] : O["returnType"] extends "value" ? any | null : O["returnType"] extends "values" ? any[] : O["returnType"] extends "statement" ? string : O["returnType"] extends "noticeSubscription" ? DBEventHandles : SQLResult<O["returnType"]>), O>;
234
+ export declare type SQLHandler = <Opts extends SQLOptions>(query: string, args?: AnyObject | any[], options?: Opts, serverSideOptions?: {
221
235
  socket: any;
222
- }): Promise<GetReturnType<ReturnType>>;
223
- export declare type SQLHandler = typeof sql;
236
+ }) => Promise<GetSQLReturnType<Opts>>;
224
237
  export declare type DBHandler = {
225
238
  [key: string]: Partial<TableHandler>;
226
239
  } & DbJoinMaker;
@@ -242,7 +255,8 @@ export declare type DBNotifConfig = DBNoticeConfig & {
242
255
  notifChannel: string;
243
256
  };
244
257
  export declare type SQLOptions = {
245
- returnType: SelectParamsBasic["returnType"] | "statement" | "rows" | "noticeSubscription" | "arrayMode" | "";
258
+ returnType?: Required<SelectParams>["returnType"] | "statement" | "rows" | "noticeSubscription" | "arrayMode";
259
+ allowListen?: boolean;
246
260
  };
247
261
  export declare type SQLRequest = {
248
262
  query: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -34,9 +34,6 @@ exports.TS_PG_Types = {
34
34
  "Array<Date>": exports._PG_date.map(s => `_${s}`),
35
35
  "any": [],
36
36
  };
37
- function sql(query, args, options, serverSideOptions) {
38
- return "";
39
- }
40
37
  const preffix = "_psqlWS_.";
41
38
  exports.CHANNELS = {
42
39
  SCHEMA_CHANGED: preffix + "schema-changed",
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
package/lib/index.ts CHANGED
@@ -167,9 +167,10 @@ export type OrderBy<T = AnyObject> =
167
167
  | _OrderBy<AnyObject>
168
168
  ;
169
169
 
170
- export type Select<T = AnyObject> =
171
- | { [K in keyof Partial<T>]: any }
172
- | {}
170
+ export type Select<T extends AnyObject> =
171
+ | { [K in keyof Partial<T>]: 1 }
172
+ | { [K in keyof Partial<T>]: 0 }
173
+ // | {}
173
174
  | undefined
174
175
  | ""
175
176
  | "*"
@@ -294,20 +295,35 @@ export type TableInfo = {
294
295
 
295
296
  export type OnError = (err: any) => void;
296
297
 
298
+
299
+ type GetSelectReturnType<O extends SelectParams<TD>, TD extends AnyObject> =
300
+ O extends { select: "*" }? TD :
301
+ O extends { select: "" }? Record<string, never> :
302
+ O extends { select: Record<string, 1> }? Pick<TD, keyof O["select"]> :
303
+ O extends { select: Record<string, 0> }? Omit<TD, keyof O["select"]> :
304
+ TD;
305
+
306
+ type GetUpdateReturnType<O extends UpdateParams<TD>, TD extends AnyObject> =
307
+ O extends { returning: "*" }? TD :
308
+ O extends { returning: "" }? Record<string, never> :
309
+ O extends { returning: Record<string, 1> }? Pick<TD, keyof O["returning"]> :
310
+ O extends { returning: Record<string, 0> }? Omit<TD, keyof O["returning"]> :
311
+ void;
312
+
297
313
  export type SubscriptionHandler<T = AnyObject> = {
298
- unsubscribe: () => Promise<any>;
299
- update?: (newData: T, updateParams: UpdateParams<T>) => Promise<any>;
300
- delete?: (deleteParams: DeleteParams<T>) => Promise<any>;
301
- filter: FullFilter<T> | {};
314
+ unsubscribe: () => Promise<any>;
315
+ update?: (newData: T, updateParams: UpdateParams<T>) => Promise<any>;
316
+ delete?: (deleteParams: DeleteParams<T>) => Promise<any>;
317
+ filter: FullFilter<T> | {};
302
318
  }
303
319
 
304
320
  export type ViewHandler<TD = AnyObject> = {
305
321
  getInfo?: (lang?: string) => Promise<TableInfo>;
306
322
  getColumns?: (lang?: string) => Promise<ValidatedColumnInfo[]>;
307
- find: (filter?: FullFilter<TD>, selectParams?: SelectParams<TD>) => Promise<PartialLax<TD>[]>;
308
- findOne: (filter?: FullFilter<TD>, selectParams?: SelectParams<TD>) => Promise<PartialLax<TD>>;
309
- subscribe: (filter: FullFilter<TD>, params: SubscribeParams<TD>, onData: (items: PartialLax<TD>[], onError?: OnError) => any) => Promise<SubscriptionHandler<TD>>;
310
- subscribeOne: (filter: FullFilter<TD>, params: SubscribeParams<TD>, onData: (item: PartialLax<TD>) => any, onError?: OnError) => Promise<SubscriptionHandler<TD>>;
323
+ find: <P extends SelectParams<TD>>(filter?: FullFilter<TD>, selectParams?: P) => Promise<GetSelectReturnType<P, TD>[]>;
324
+ findOne: <P extends SelectParams<TD>>(filter?: FullFilter<TD>, selectParams?: P) => Promise<GetSelectReturnType<P, TD>>;
325
+ subscribe: <P extends SubscribeParams<TD>>(filter: FullFilter<TD>, params: P, onData: (items: GetSelectReturnType<P, TD>[], onError?: OnError) => any) => Promise<SubscriptionHandler<TD>>;
326
+ subscribeOne: <P extends SubscribeParams<TD>>(filter: FullFilter<TD>, params: P, onData: (item: GetSelectReturnType<P, TD>) => any, onError?: OnError) => Promise<SubscriptionHandler<TD>>;
311
327
  count: (filter?: FullFilter<TD>) => Promise<number>;
312
328
  /**
313
329
  * Returns result size in bits
@@ -315,36 +331,13 @@ export type ViewHandler<TD = AnyObject> = {
315
331
  size: (filter?: FullFilter<TD>, selectParams?: SelectParams<TD>) => Promise<string>;
316
332
  }
317
333
 
318
- type GetUpdateReturnType<O extends UpdateParams ,TD> = O extends { returning: string }? Promise<PartialLax<TD>> : O extends { returning: object }? Promise<PartialLax<TD>> : Promise<void>;
319
-
320
334
  export type TableHandler<TD = AnyObject> = ViewHandler<TD> & {
321
- update: <P extends UpdateParams<TD>>(filter: FullFilter<TD>, newData: PartialLax<TD>, params?: UpdateParams<TD>) => GetUpdateReturnType<P ,TD>;
335
+ update: <P extends UpdateParams<TD>>(filter: FullFilter<TD>, newData: PartialLax<TD>, params?: UpdateParams<TD>) => Promise<GetUpdateReturnType<P ,TD>>;
322
336
  updateBatch: (data: [FullFilter<TD>, PartialLax<TD>][], params?: UpdateParams<TD>) => Promise<PartialLax<TD> | void>;
323
337
  upsert: (filter: FullFilter<TD>, newData: PartialLax<TD>, params?: UpdateParams<TD>) => Promise<PartialLax<TD> | void>;
324
- insert: <P extends UpdateParams<TD>>(data: (PartialLax<TD> | PartialLax<TD>[]), params?: P ) => GetUpdateReturnType<P ,TD>;
325
- delete: <P extends UpdateParams<TD>>(filter?: FullFilter<TD>, params?: DeleteParams<TD>) => GetUpdateReturnType<P ,TD>;
326
- }
327
-
328
- // (async () => {
329
- // const c: TableHandler = {} as any;
330
- // // const c: TableHandler<{ h: number; b: number; c: number; }> = {} as any;
331
- // // const d = await c.insert({ h: 2});
332
- // // if(d){
333
- // // d.
334
- // // }
335
-
336
- // // c.subscribe({ h: 2 }, {}, async items => {
337
- // // items[0].ddd
338
- // // });
339
- // })
340
- // c.findOne({ }, { select: { h: 2 }}).then(r => {
341
- // r.hd;
342
- // });
343
- // c.update({ da: 2 }, { zd: '2' });
344
- // c.subscribe({ x: 10}, {}, d => {
345
- // d.filter(dd => dd.x === 20);
346
- // })
347
-
338
+ insert: <P extends UpdateParams<TD>>(data: (PartialLax<TD> | PartialLax<TD>[]), params?: P ) => Promise<GetUpdateReturnType<P ,TD>>;
339
+ delete: <P extends UpdateParams<TD>>(filter?: FullFilter<TD>, params?: DeleteParams<TD>) => Promise<GetUpdateReturnType<P ,TD>>;
340
+ }
348
341
 
349
342
  export type ViewHandlerBasic = {
350
343
  getInfo?: (lang?: string) => Promise<TableInfo>;
@@ -389,10 +382,10 @@ export type DbJoinMaker = {
389
382
  leftJoinOne: TableJoin;
390
383
  }
391
384
 
392
- export type SQLResult<T = "object"> = {
385
+ export type SQLResult<T extends SQLOptions["returnType"]> = {
393
386
  command: "SELECT" | "UPDATE" | "DELETE" | "CREATE" | "ALTER" | "LISTEN" | "UNLISTEN" | "INSERT" | string;
394
387
  rowCount: number;
395
- rows: (T extends "arrayMode"? any[] : AnyObject)[];
388
+ rows: (T extends "arrayMode"? any : AnyObject)[];
396
389
  fields: {
397
390
  name: string;
398
391
  dataType: string;
@@ -409,40 +402,36 @@ export type DBEventHandles = {
409
402
  addListener: (listener: (event: any) => void) => { removeListener: () => void; }
410
403
  };
411
404
 
412
- export type GetReturnType<ReturnType extends SQLOptions["returnType"] = ""> =
413
- ReturnType extends "row"? AnyObject :
414
- ReturnType extends "rows"? AnyObject[] :
415
- ReturnType extends "value"? any :
416
- ReturnType extends "values"? any[] :
417
- ReturnType extends "statement"? string :
418
- ReturnType extends "noticeSubscription"? DBEventHandles :
419
- // ReturnType extends undefined? SQLResult :
420
- SQLResult<ReturnType>;
421
-
405
+ export type CheckForListen<T, O extends SQLOptions> = O["allowListen"] extends true? (DBEventHandles | T) : T;
406
+
407
+ export type GetSQLReturnType<O extends SQLOptions> = CheckForListen<
408
+ (
409
+ O["returnType"] extends "row"? AnyObject | null :
410
+ O["returnType"] extends "rows"? AnyObject[] :
411
+ O["returnType"] extends "value"? any | null :
412
+ O["returnType"] extends "values"? any[] :
413
+ O["returnType"] extends "statement"? string :
414
+ O["returnType"] extends "noticeSubscription"? DBEventHandles :
415
+ SQLResult<O["returnType"]>
416
+ )
417
+ , O>;
418
+
419
+ export type SQLHandler =
422
420
  /**
423
421
  *
424
422
  * @param query <string> query. e.g.: SELECT * FROM users;
425
423
  * @param params <any[] | object> query arguments to be escaped. e.g.: { name: 'dwadaw' }
426
424
  * @param options <object> { returnType: "statement" | "rows" | "noticeSubscription" }
427
425
  */
428
- function sql<ReturnType extends SQLOptions["returnType"] = undefined>(
426
+ <Opts extends SQLOptions>(
429
427
  query: string,
430
- args?: any | any[],
431
- options?: {
432
- returnType: ReturnType
433
- },
428
+ args?: AnyObject | any[],
429
+ options?: Opts,
434
430
  serverSideOptions?: {
435
431
  socket: any
436
432
  }
437
- ): Promise<GetReturnType<ReturnType>> {
438
- return "" as unknown as any;
439
- }
433
+ ) => Promise<GetSQLReturnType<Opts>>
440
434
 
441
- // sql("",{}, { returnType: ""}).then(res => {
442
- // res.rows
443
- // })
444
-
445
- export type SQLHandler = typeof sql;
446
435
 
447
436
  export type DBHandler = {
448
437
  [key: string]: Partial<TableHandler>;
@@ -481,10 +470,11 @@ export type DBNotifConfig = DBNoticeConfig & {
481
470
 
482
471
  export type SQLOptions = {
483
472
  /**
484
- * Return type
473
+ * if allowListen not specified and a LISTEN query is issued then expect error
485
474
  */
486
- returnType: SelectParamsBasic["returnType"] | "statement" | "rows" | "noticeSubscription" | "arrayMode" | "";
487
- } ;
475
+ returnType?: Required<SelectParams>["returnType"] | "statement" | "rows" | "noticeSubscription" | "arrayMode";
476
+ allowListen?: boolean;
477
+ };
488
478
 
489
479
  export type SQLRequest = {
490
480
  query: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-types",
3
- "version": "1.5.129",
3
+ "version": "1.5.132",
4
4
  "description": "",
5
5
  "main": "dist/index_umd.js",
6
6
  "types": "dist/index.d.ts",
package/tests/index.js CHANGED
@@ -10,6 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const util_1 = require("../dist/util");
13
+ const typeTests_1 = require("./typeTests");
14
+ (0, typeTests_1.typeTestsOK)();
13
15
  let error;
14
16
  let failed = -1;
15
17
  const vals = [
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
package/tests/index.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  import { getTextPatch, TextPatch, unpatchText, WAL } from "../dist/util";
2
+ import { typeTestsOK } from "./typeTests";
3
+
4
+ typeTestsOK();
2
5
 
3
6
  let error;
4
7
 
@@ -0,0 +1,2 @@
1
+ export declare const typeTestsOK: () => void;
2
+ //# sourceMappingURL=typeTests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeTests.d.ts","sourceRoot":"","sources":["typeTests.ts"],"names":[],"mappings":"AAwFA,eAAO,MAAM,WAAW,YAAW,CAAC"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.typeTestsOK = void 0;
13
+ (() => __awaiter(void 0, void 0, void 0, function* () {
14
+ var _a, _b;
15
+ const tableHandler = undefined;
16
+ if (tableHandler) {
17
+ const newRow = yield ((_a = tableHandler.insert) === null || _a === void 0 ? void 0 : _a.call(tableHandler, { h: 2 }, { returning: { b: 1, c: 1 } }));
18
+ newRow.b;
19
+ newRow.c;
20
+ newRow.h;
21
+ const row = yield ((_b = tableHandler.findOne) === null || _b === void 0 ? void 0 : _b.call(tableHandler, {}, { select: { b: 0 } }));
22
+ row.c;
23
+ row.h;
24
+ row.b;
25
+ tableHandler.subscribe({ h: 2 }, { select: { b: 1 } }, (rows) => __awaiter(void 0, void 0, void 0, function* () {
26
+ const row = rows[0];
27
+ row.b;
28
+ row.c;
29
+ }));
30
+ tableHandler.subscribeOne({ h: 2 }, { select: { b: 0 } }, (row) => __awaiter(void 0, void 0, void 0, function* () {
31
+ row.b;
32
+ row.c;
33
+ }));
34
+ }
35
+ const sqlHandler = undefined;
36
+ if (sqlHandler) {
37
+ const full = yield sqlHandler("SELECT 1", {});
38
+ full.rows.flatMap;
39
+ full.fields.find(f => f.tsDataType === "string");
40
+ const value = yield sqlHandler("SELECT 1", {}, { returnType: "value" });
41
+ value;
42
+ const values = yield sqlHandler("SELECT 1", {}, { returnType: "values" });
43
+ values.flatMap;
44
+ const row = yield sqlHandler("SELECT 1", {}, { returnType: "row" });
45
+ row.dhawjpeojfgrdfhoeisj;
46
+ const rows = yield sqlHandler("SELECT 1", {}, { returnType: "rows" });
47
+ rows.flatMap;
48
+ const handles = yield sqlHandler("SELECT 1", {}, { returnType: "noticeSubscription" });
49
+ handles.addListener;
50
+ handles.socketChannel;
51
+ handles.socketUnsubChannel;
52
+ const listenHandlesOrData = yield sqlHandler("SELECT 1", {}, { allowListen: true });
53
+ if ("command" in listenHandlesOrData) {
54
+ listenHandlesOrData.command;
55
+ listenHandlesOrData.duration;
56
+ }
57
+ else {
58
+ listenHandlesOrData.command;
59
+ handles.addListener;
60
+ handles.socketChannel;
61
+ handles.socketUnsubChannel;
62
+ }
63
+ }
64
+ }));
65
+ const typeTestsOK = () => { };
66
+ exports.typeTestsOK = typeTestsOK;
67
+ //# sourceMappingURL=typeTests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeTests.js","sourceRoot":"","sources":["typeTests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+
2
+ import type { TableHandler, SQLHandler } from "../dist/index";
3
+
4
+ /**
5
+ * Test select/return type inference
6
+ */
7
+ (async () => {
8
+
9
+ const tableHandler: TableHandler<{ h: number; b: number; c: number; }> = undefined as any;
10
+
11
+ if(tableHandler){
12
+ const newRow = await tableHandler.insert?.({ h: 2}, { returning: {b: 1, c: 1} });
13
+ newRow.b;
14
+ newRow.c;
15
+
16
+ //@ts-expect-error
17
+ newRow.h;
18
+
19
+ const row = await tableHandler.findOne?.({ }, { select: {b: 0} });
20
+ row.c;
21
+ row.h;
22
+
23
+ //@ts-expect-error
24
+ row.b;
25
+
26
+ tableHandler.subscribe({ h: 2 }, { select: { b: 1 }}, async rows => {
27
+ const row = rows[0];
28
+ row.b;
29
+
30
+ //@ts-expect-error
31
+ row.c;
32
+ });
33
+
34
+ tableHandler.subscribeOne({ h: 2 }, { select: { b: 0 }}, async row => {
35
+
36
+ //@ts-expect-error
37
+ row.b;
38
+
39
+ row.c;
40
+ });
41
+ }
42
+
43
+
44
+
45
+ const sqlHandler: SQLHandler = undefined as any;
46
+ if(sqlHandler){
47
+
48
+ const full = await sqlHandler("SELECT 1", {});
49
+ full.rows.flatMap;
50
+ full.fields.find(f => f.tsDataType === "string");
51
+
52
+ const value = await sqlHandler("SELECT 1", {}, { returnType: "value" });
53
+ value;
54
+
55
+ const values = await sqlHandler("SELECT 1", {}, { returnType: "values" });
56
+ values.flatMap
57
+
58
+ const row = await sqlHandler("SELECT 1", {}, { returnType: "row" });
59
+ row.dhawjpeojfgrdfhoeisj;
60
+
61
+ const rows = await sqlHandler("SELECT 1", {}, { returnType: "rows" });
62
+ rows.flatMap
63
+
64
+
65
+ const handles = await sqlHandler("SELECT 1", {}, { returnType: "noticeSubscription" });
66
+ <Function>handles.addListener;
67
+ <string>handles.socketChannel;
68
+ <string>handles.socketUnsubChannel;
69
+
70
+ const listenHandlesOrData = await sqlHandler("SELECT 1", {}, { allowListen: true });
71
+
72
+ if("command" in listenHandlesOrData){
73
+ <string>listenHandlesOrData.command;
74
+ <number>listenHandlesOrData.duration;
75
+
76
+ } else {
77
+
78
+ // @ts-expect-error
79
+ <string>listenHandlesOrData.command;
80
+
81
+ <Function>handles.addListener;
82
+ <string>handles.socketChannel;
83
+ <string>handles.socketUnsubChannel;
84
+ }
85
+ }
86
+
87
+ });
88
+
89
+ export const typeTestsOK = () => {};