@grest-ts/sql 0.0.5

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.
Files changed (146) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +498 -0
  3. package/dist/src/MysqlTable.d.ts +35 -0
  4. package/dist/src/MysqlTable.d.ts.map +1 -0
  5. package/dist/src/MysqlTable.js +70 -0
  6. package/dist/src/MysqlTable.js.map +1 -0
  7. package/dist/src/MysqlTableStructureParser.d.ts +106 -0
  8. package/dist/src/MysqlTableStructureParser.d.ts.map +1 -0
  9. package/dist/src/MysqlTableStructureParser.js +189 -0
  10. package/dist/src/MysqlTableStructureParser.js.map +1 -0
  11. package/dist/src/SQL.d.ts +72 -0
  12. package/dist/src/SQL.d.ts.map +1 -0
  13. package/dist/src/SQL.js +94 -0
  14. package/dist/src/SQL.js.map +1 -0
  15. package/dist/src/SqlExpression.d.ts +49 -0
  16. package/dist/src/SqlExpression.d.ts.map +1 -0
  17. package/dist/src/SqlExpression.js +117 -0
  18. package/dist/src/SqlExpression.js.map +1 -0
  19. package/dist/src/SqlFunctions.d.ts +118 -0
  20. package/dist/src/SqlFunctions.d.ts.map +1 -0
  21. package/dist/src/SqlFunctions.js +331 -0
  22. package/dist/src/SqlFunctions.js.map +1 -0
  23. package/dist/src/Symbols.d.ts +11 -0
  24. package/dist/src/Symbols.d.ts.map +1 -0
  25. package/dist/src/Symbols.js +11 -0
  26. package/dist/src/Symbols.js.map +1 -0
  27. package/dist/src/Types.d.ts +110 -0
  28. package/dist/src/Types.d.ts.map +1 -0
  29. package/dist/src/Types.js +34 -0
  30. package/dist/src/Types.js.map +1 -0
  31. package/dist/src/delete/DeleteBuilder.d.ts +19 -0
  32. package/dist/src/delete/DeleteBuilder.d.ts.map +1 -0
  33. package/dist/src/delete/DeleteBuilder.js +50 -0
  34. package/dist/src/delete/DeleteBuilder.js.map +1 -0
  35. package/dist/src/delete/DeleteInterfaces.d.ts +27 -0
  36. package/dist/src/delete/DeleteInterfaces.d.ts.map +1 -0
  37. package/dist/src/delete/DeleteInterfaces.js +2 -0
  38. package/dist/src/delete/DeleteInterfaces.js.map +1 -0
  39. package/dist/src/escape.d.ts +4 -0
  40. package/dist/src/escape.d.ts.map +1 -0
  41. package/dist/src/escape.js +50 -0
  42. package/dist/src/escape.js.map +1 -0
  43. package/dist/src/index.d.ts +7 -0
  44. package/dist/src/index.d.ts.map +1 -0
  45. package/dist/src/index.js +7 -0
  46. package/dist/src/index.js.map +1 -0
  47. package/dist/src/insert/InsertBuilder.d.ts +19 -0
  48. package/dist/src/insert/InsertBuilder.d.ts.map +1 -0
  49. package/dist/src/insert/InsertBuilder.js +62 -0
  50. package/dist/src/insert/InsertBuilder.js.map +1 -0
  51. package/dist/src/insert/InsertInterfaces.d.ts +11 -0
  52. package/dist/src/insert/InsertInterfaces.d.ts.map +1 -0
  53. package/dist/src/insert/InsertInterfaces.js +2 -0
  54. package/dist/src/insert/InsertInterfaces.js.map +1 -0
  55. package/dist/src/select/SelectBuilder.d.ts +72 -0
  56. package/dist/src/select/SelectBuilder.d.ts.map +1 -0
  57. package/dist/src/select/SelectBuilder.js +315 -0
  58. package/dist/src/select/SelectBuilder.js.map +1 -0
  59. package/dist/src/select/parts/GatewayWhere.d.ts +17 -0
  60. package/dist/src/select/parts/GatewayWhere.d.ts.map +1 -0
  61. package/dist/src/select/parts/GatewayWhere.js +2 -0
  62. package/dist/src/select/parts/GatewayWhere.js.map +1 -0
  63. package/dist/src/select/parts/S0Union.d.ts +20 -0
  64. package/dist/src/select/parts/S0Union.d.ts.map +1 -0
  65. package/dist/src/select/parts/S0Union.js +2 -0
  66. package/dist/src/select/parts/S0Union.js.map +1 -0
  67. package/dist/src/select/parts/S0Uses.d.ts +6 -0
  68. package/dist/src/select/parts/S0Uses.d.ts.map +1 -0
  69. package/dist/src/select/parts/S0Uses.js +2 -0
  70. package/dist/src/select/parts/S0Uses.js.map +1 -0
  71. package/dist/src/select/parts/S0With.d.ts +6 -0
  72. package/dist/src/select/parts/S0With.d.ts.map +1 -0
  73. package/dist/src/select/parts/S0With.js +2 -0
  74. package/dist/src/select/parts/S0With.js.map +1 -0
  75. package/dist/src/select/parts/S1Join.d.ts +12 -0
  76. package/dist/src/select/parts/S1Join.d.ts.map +1 -0
  77. package/dist/src/select/parts/S1Join.js +2 -0
  78. package/dist/src/select/parts/S1Join.js.map +1 -0
  79. package/dist/src/select/parts/S2Columns.d.ts +35 -0
  80. package/dist/src/select/parts/S2Columns.d.ts.map +1 -0
  81. package/dist/src/select/parts/S2Columns.js +3 -0
  82. package/dist/src/select/parts/S2Columns.js.map +1 -0
  83. package/dist/src/select/parts/S2Where.d.ts +13 -0
  84. package/dist/src/select/parts/S2Where.d.ts.map +1 -0
  85. package/dist/src/select/parts/S2Where.js +2 -0
  86. package/dist/src/select/parts/S2Where.js.map +1 -0
  87. package/dist/src/select/parts/S3GroupBy.d.ts +10 -0
  88. package/dist/src/select/parts/S3GroupBy.d.ts.map +1 -0
  89. package/dist/src/select/parts/S3GroupBy.js +2 -0
  90. package/dist/src/select/parts/S3GroupBy.js.map +1 -0
  91. package/dist/src/select/parts/S4Having.d.ts +10 -0
  92. package/dist/src/select/parts/S4Having.d.ts.map +1 -0
  93. package/dist/src/select/parts/S4Having.js +2 -0
  94. package/dist/src/select/parts/S4Having.js.map +1 -0
  95. package/dist/src/select/parts/S5OrderBy.d.ts +9 -0
  96. package/dist/src/select/parts/S5OrderBy.d.ts.map +1 -0
  97. package/dist/src/select/parts/S5OrderBy.js +2 -0
  98. package/dist/src/select/parts/S5OrderBy.js.map +1 -0
  99. package/dist/src/select/parts/S6Limit.d.ts +7 -0
  100. package/dist/src/select/parts/S6Limit.d.ts.map +1 -0
  101. package/dist/src/select/parts/S6Limit.js +2 -0
  102. package/dist/src/select/parts/S6Limit.js.map +1 -0
  103. package/dist/src/select/parts/S7Exec.d.ts +26 -0
  104. package/dist/src/select/parts/S7Exec.d.ts.map +1 -0
  105. package/dist/src/select/parts/S7Exec.js +2 -0
  106. package/dist/src/select/parts/S7Exec.js.map +1 -0
  107. package/dist/src/tsconfig.json +16 -0
  108. package/dist/src/update/UpdateBuilder.d.ts +28 -0
  109. package/dist/src/update/UpdateBuilder.d.ts.map +1 -0
  110. package/dist/src/update/UpdateBuilder.js +77 -0
  111. package/dist/src/update/UpdateBuilder.js.map +1 -0
  112. package/dist/src/update/UpdateInterfaces.d.ts +34 -0
  113. package/dist/src/update/UpdateInterfaces.d.ts.map +1 -0
  114. package/dist/src/update/UpdateInterfaces.js +2 -0
  115. package/dist/src/update/UpdateInterfaces.js.map +1 -0
  116. package/dist/tsconfig.publish.tsbuildinfo +1 -0
  117. package/package.json +54 -0
  118. package/src/MysqlTable.ts +102 -0
  119. package/src/MysqlTableStructureParser.ts +283 -0
  120. package/src/SQL.ts +244 -0
  121. package/src/SqlExpression.ts +172 -0
  122. package/src/SqlFunctions.ts +471 -0
  123. package/src/Symbols.ts +11 -0
  124. package/src/Types.ts +244 -0
  125. package/src/delete/DeleteBuilder.ts +65 -0
  126. package/src/delete/DeleteInterfaces.ts +70 -0
  127. package/src/escape.ts +52 -0
  128. package/src/index.ts +6 -0
  129. package/src/insert/InsertBuilder.ts +76 -0
  130. package/src/insert/InsertInterfaces.ts +16 -0
  131. package/src/select/SelectBuilder.ts +372 -0
  132. package/src/select/parts/GatewayWhere.ts +31 -0
  133. package/src/select/parts/S0Union.ts +43 -0
  134. package/src/select/parts/S0Uses.ts +21 -0
  135. package/src/select/parts/S0With.ts +21 -0
  136. package/src/select/parts/S1Join.ts +39 -0
  137. package/src/select/parts/S2Columns.ts +68 -0
  138. package/src/select/parts/S2Where.ts +51 -0
  139. package/src/select/parts/S3GroupBy.ts +23 -0
  140. package/src/select/parts/S4Having.ts +24 -0
  141. package/src/select/parts/S5OrderBy.ts +21 -0
  142. package/src/select/parts/S6Limit.ts +9 -0
  143. package/src/select/parts/S7Exec.ts +41 -0
  144. package/src/tsconfig.json +16 -0
  145. package/src/update/UpdateBuilder.ts +96 -0
  146. package/src/update/UpdateInterfaces.ts +87 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"S4Having.js","sourceRoot":"","sources":["../../../../src/select/parts/S4Having.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { AliasedTable, isColumnOkToUse, Key, NotUsingWithPart, OrderByStructure } from "../../Types";
2
+ import { LimitMethods } from "./S6Limit";
3
+ import { Expr } from "../../SqlExpression";
4
+ import { ExecMethods } from "./S7Exec";
5
+ export interface OrderByMethods<Result, Tables> extends LimitMethods<Result>, ExecMethods<Result> {
6
+ orderBy<TableRef, Columns extends OrderByStructure<Expr<TableRef, string | unknown, any>>>(...items: isColumnOkToUse<Tables, Columns>): LimitMethods<Result>;
7
+ orderByF<TableRef, Columns extends OrderByStructure<Expr<TableRef, string | unknown, string | number>>>(func: (columnsTable: AliasedTable<"(columns)", "(columns)", Result, object, NotUsingWithPart>) => isColumnOkToUse<Tables & Key<"(columns)">, Columns>): LimitMethods<Result>;
8
+ }
9
+ //# sourceMappingURL=S5OrderBy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"S5OrderBy.d.ts","sourceRoot":"","sources":["../../../../src/select/parts/S5OrderBy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,eAAe,EAAE,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AACnG,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAErC,MAAM,WAAW,cAAc,CAAC,MAAM,EAAE,MAAM,CAAE,SAAQ,YAAY,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;IAC7F,OAAO,CACH,QAAQ,EACR,OAAO,SAAS,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC,EAEvE,GAAG,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3C,YAAY,CAAC,MAAM,CAAC,CAAA;IAEvB,QAAQ,CACJ,QAAQ,EACR,OAAO,SAAS,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EAEnF,IAAI,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,KAAK,eAAe,CAAC,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GACtJ,YAAY,CAAC,MAAM,CAAC,CAAA;CAE1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=S5OrderBy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"S5OrderBy.js","sourceRoot":"","sources":["../../../../src/select/parts/S5OrderBy.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { ExecMethods } from "./S7Exec";
2
+ export interface LimitMethods<Result> extends ExecMethods<Result> {
3
+ noLimit(): ExecMethods<Result>;
4
+ limit(limit: number | [number, number]): ExecMethods<Result>;
5
+ limit1(): ExecMethods<Result>;
6
+ }
7
+ //# sourceMappingURL=S6Limit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"S6Limit.d.ts","sourceRoot":"","sources":["../../../../src/select/parts/S6Limit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAErC,MAAM,WAAW,YAAY,CAAC,MAAM,CAAE,SAAQ,WAAW,CAAC,MAAM,CAAC;IAC7D,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;IAE9B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAE5D,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;CAChC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=S6Limit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"S6Limit.js","sourceRoot":"","sources":["../../../../src/select/parts/S6Limit.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { AliasedTable, NotUsingWithPart, SelectExecutor, SqlSelectQuery } from "../../Types";
2
+ import { Expr } from "../../SqlExpression";
3
+ import { UnionMethods } from "./S0Union";
4
+ export interface ExecMethods<Result> extends SqlSelectQuery<Result>, UnionMethods<Result> {
5
+ forUpdate(): ExecMethods<Result>;
6
+ asScalar<Alias extends string>(alias: Alias & ScalarSubQueryAllowsOnlyOneColumn<Alias, Result> extends never ? "Scalar subquery allows only 1 column!" : Alias): Expr<never, Alias, Result[keyof Result]>;
7
+ as<Alias extends string>(alias: Alias): AliasedTable<Alias, `(SUBQUERY) as ${Alias}`, Result, object, NotUsingWithPart>;
8
+ /**
9
+ * Example of an executor method.
10
+ * Notice that it can force existence of other arguments in the exec call. In this case forcing ctx to be added.
11
+ * async <Result>(sql: string, ctx: Ctx): Promise<Result> => {
12
+ * return someDb.query(ctx, sql);
13
+ * }
14
+ */
15
+ exec<Args extends any[]>(executor: SelectExecutor<Result, Args>, ...args: Args): Promise<Result[]>;
16
+ /**
17
+ * Same as exec, but returns one row
18
+ */
19
+ execOne<Args extends any[]>(executor: SelectExecutor<Result, Args>, ...args: Args): Promise<Result>;
20
+ }
21
+ /**
22
+ * Basically checks that Result would have only one column defined.
23
+ */
24
+ type ScalarSubQueryAllowsOnlyOneColumn<Result, T, Keys extends keyof any = keyof T> = Keys extends any ? T extends Record<Keys, any> ? Exclude<keyof T, Keys> extends never ? Result : never : never : never;
25
+ export {};
26
+ //# sourceMappingURL=S7Exec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"S7Exec.d.ts","sourceRoot":"","sources":["../../../../src/select/parts/S7Exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,WAAW,CAAC,MAAM,CAAE,SAAQ,cAAc,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC;IAErF,SAAS,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;IAEhC,QAAQ,CAAC,KAAK,SAAS,MAAM,EACzB,KAAK,EAAE,KAAK,GAAG,iCAAiC,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,KAAK,GAAG,uCAAuC,GAAG,KAAK,GAChI,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC,CAAA;IAE3C,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,iBAAiB,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAEvH;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAElG;;OAEG;IACH,OAAO,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAEtG;AAED;;GAEG;AACH,KAAK,iCAAiC,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,SAAS,MAAM,GAAG,GAAG,MAAM,CAAC,IAC9E,IAAI,SAAS,GAAG,GACV,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GACvB,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,KAAK,GAChC,MAAM,GACN,KAAK,GACT,KAAK,GACT,KAAK,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=S7Exec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"S7Exec.js","sourceRoot":"","sources":["../../../../src/select/parts/S7Exec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ {
2
+ "//": "THIS FILE IS GENERATED - DO NOT EDIT",
3
+ "extends": "../../../tsconfig.base.json",
4
+ "compilerOptions": {
5
+ "rootDir": ".",
6
+ "lib": [
7
+ "ES2022"
8
+ ],
9
+ "types": [
10
+ "node"
11
+ ]
12
+ },
13
+ "include": [
14
+ "**/*"
15
+ ]
16
+ }
@@ -0,0 +1,28 @@
1
+ import { SQL_ENTITY } from "../Symbols";
2
+ import { ExecUpdateMethods, GatewayUpdateOrderByMethods, GatewayUpdateWhereMethods, UpdateLimitMethods, UpdateOrderByMethods, UpdateSetMethods, UpdateWhereMethods } from "./UpdateInterfaces";
3
+ import { AnyExpr, SqlExpression } from "../SqlExpression";
4
+ import { OrderByStructure } from "../Types";
5
+ export declare class UpdateBuilder<Entity, Tables> implements ExecUpdateMethods, GatewayUpdateWhereMethods<Entity>, GatewayUpdateOrderByMethods<Entity>, UpdateSetMethods<Entity, Tables>, UpdateWhereMethods<Tables>, UpdateOrderByMethods<Tables>, UpdateLimitMethods {
6
+ readonly [SQL_ENTITY]: {
7
+ affectedRows: number;
8
+ };
9
+ private _tableName;
10
+ private _joins;
11
+ private _set;
12
+ private readonly _where;
13
+ private readonly _orderBy;
14
+ private _limit;
15
+ private _ignore;
16
+ in(tableName: string, alias?: string): this;
17
+ ignore(): this;
18
+ join(table: any): this;
19
+ set(obj: any): this;
20
+ where(...cols: any | SqlExpression<any, any, any>): this;
21
+ noWhere(): this;
22
+ orderBy(...items: any | OrderByStructure<AnyExpr>): this;
23
+ noLimit(): this;
24
+ limit1(): this;
25
+ limit(limit: number | [number, number]): this;
26
+ toSqlString(): string;
27
+ }
28
+ //# sourceMappingURL=UpdateBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateBuilder.d.ts","sourceRoot":"","sources":["../../../src/update/UpdateBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAiB,MAAM,YAAY,CAAC;AACtD,OAAO,EAAC,iBAAiB,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC7L,OAAO,EAAC,OAAO,EAAE,aAAa,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAG1C,qBAAa,aAAa,CAAC,MAAM,EAAE,MAAM,CAAE,YAAW,iBAAiB,EACnE,yBAAyB,CAAC,MAAM,CAAC,EACjC,2BAA2B,CAAC,MAAM,CAAC,EACnC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,kBAAkB,CAAC,MAAM,CAAC,EAC1B,oBAAoB,CAAC,MAAM,CAAC,EAC5B,kBAAkB;IAElB,SAAgB,CAAC,UAAU,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;KAAE,CAAC;IAExD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAkB;IAE1B,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAKpC,MAAM;IAKN,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAKtB,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAOnB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;IAcxD,OAAO;IAIP,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAI;IAKxD,OAAO,IAAI,IAAI;IAIf,MAAM,IAAI,IAAI;IAId,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAS7C,WAAW;CAQrB"}
@@ -0,0 +1,77 @@
1
+ import { escape, escapeId } from "../escape.js";
2
+ import { SQL_ENTITY, SQL_EXPRESSION } from "../Symbols.js";
3
+ import { SqlExpression } from "../SqlExpression.js";
4
+ import { orderByStructureToSqlString, toSql } from "../SqlFunctions.js";
5
+ export class UpdateBuilder {
6
+ [SQL_ENTITY]; // never used
7
+ _tableName;
8
+ _joins = [];
9
+ _set = [];
10
+ _where = [];
11
+ _orderBy = [];
12
+ _limit;
13
+ _ignore = false;
14
+ in(tableName, alias) {
15
+ this._tableName = tableName + (alias ? " as " + escapeId(alias) : "");
16
+ return this;
17
+ }
18
+ ignore() {
19
+ this._ignore = true;
20
+ return this;
21
+ }
22
+ join(table) {
23
+ this._joins.push(table[SQL_EXPRESSION]);
24
+ return this;
25
+ }
26
+ set(obj) {
27
+ for (const prop in obj) {
28
+ this._set.push(escapeId(prop) + " = " + toSql(obj[prop]));
29
+ }
30
+ return this;
31
+ }
32
+ where(...cols) {
33
+ for (let i = 0; i < cols.length; i++) {
34
+ const col = cols[i];
35
+ if (col instanceof SqlExpression) {
36
+ this._where.push(col.expression);
37
+ }
38
+ else {
39
+ for (const k in col) {
40
+ this._where.push(escapeId(k) + " = " + escape(col[k]));
41
+ }
42
+ }
43
+ }
44
+ return this;
45
+ }
46
+ noWhere() {
47
+ return this;
48
+ }
49
+ orderBy(...items) {
50
+ this._orderBy.push(...orderByStructureToSqlString(items));
51
+ return this;
52
+ }
53
+ noLimit() {
54
+ return this;
55
+ }
56
+ limit1() {
57
+ return this.limit(1);
58
+ }
59
+ limit(limit) {
60
+ if (Array.isArray(limit)) {
61
+ this._limit = Number(limit[0]) + "," + Number(limit[1]);
62
+ }
63
+ else {
64
+ this._limit = String(Number(limit));
65
+ }
66
+ return this;
67
+ }
68
+ toSqlString() {
69
+ return "UPDATE " + (this._ignore ? "IGNORE " : "") + this._tableName + " " +
70
+ (this._joins.length > 0 ? ", \n" + this._joins.join(",\n") : "") +
71
+ (this._set.length > 0 ? "SET \n\t" + this._set.join(",\n\t") + " \n" : "") +
72
+ (this._where.length > 0 ? "WHERE " + this._where.join(" AND ") + " \n" : "") +
73
+ (this._orderBy.length > 0 ? "ORDER BY " + this._orderBy.join(", ") + " \n" : "") +
74
+ (this._limit ? "LIMIT " + this._limit : "");
75
+ }
76
+ }
77
+ //# sourceMappingURL=UpdateBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateBuilder.js","sourceRoot":"","sources":["../../../src/update/UpdateBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { AliasedTable, isColumnOkToUse, isTableReferenced, Key, NotUsingWithPart, OrderByStructure, SQL_BOOL, SqlQuery } from "../Types";
2
+ import { Expr } from "../SqlExpression";
3
+ export interface GatewayUpdateWhereMethods<Entity> {
4
+ where(obj: Partial<Entity>): GatewayUpdateOrderByMethods<Entity>;
5
+ }
6
+ export interface GatewayUpdateOrderByMethods<Entity> extends UpdateLimitMethods {
7
+ orderBy(fields: keyof Entity): UpdateLimitMethods;
8
+ }
9
+ export interface UpdateSetMethods<Entity, Tables> {
10
+ set(value: PartialAndCheckExpr<Entity, Tables>): UpdateWhereMethods<Tables>;
11
+ join<Alias extends string, TableRef extends `${string} as ${Alias}`>(table: AliasedTable<Alias, TableRef, object, object, NotUsingWithPart>): UpdateSetMethods<Entity, Tables & Key<TableRef>>;
12
+ }
13
+ type PartialAndCheckExpr<Entity, Tables> = {
14
+ [P in keyof Entity]?: Entity[P] | Expr<keyof Tables, string, Entity[P]>;
15
+ };
16
+ export interface UpdateWhereMethods<Tables> {
17
+ noWhere(): UpdateOrderByMethods<Tables>;
18
+ where<T1 extends string, T2 extends string = never, T3 extends string = never, T4 extends string = never, T5 extends string = never, T6 extends string = never, T7 extends string = never, T8 extends string = never, T9 extends string = never, T10 extends string = never, T = Tables>(c1: C<T, T1>, c2?: C<T, T2>, c3?: C<T, T3>, c4?: C<T, T4>, c5?: C<T, T5>, c6?: C<T, T6>, c7?: C<T, T7>, c8?: C<T, T8>, c9?: C<T, T9>, c10?: C<T, T10>): UpdateOrderByMethods<Tables>;
19
+ }
20
+ type C<Tables, T extends string> = isTableReferenced<Tables, Key<T>, Expr<T, unknown, SQL_BOOL>>;
21
+ export interface UpdateOrderByMethods<Tables> extends UpdateLimitMethods {
22
+ orderBy<TableRef, Columns extends OrderByStructure<Expr<TableRef, string | unknown, any>>>(...items: isColumnOkToUse<Tables, Columns>): UpdateLimitMethods;
23
+ }
24
+ export interface UpdateLimitMethods {
25
+ noLimit(): ExecUpdateMethods;
26
+ limit(limit: number | [number, number]): ExecUpdateMethods;
27
+ limit1(): ExecUpdateMethods;
28
+ }
29
+ export interface ExecUpdateMethods extends SqlQuery<{
30
+ affectedRows: number;
31
+ }> {
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=UpdateInterfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateInterfaces.d.ts","sourceRoot":"","sources":["../../../src/update/UpdateInterfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAC,MAAM,UAAU,CAAC;AACvI,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAEtC,MAAM,WAAW,yBAAyB,CAAC,MAAM;IAE7C,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAA;CAEnE;AAED,MAAM,WAAW,2BAA2B,CAAC,MAAM,CAAE,SAAQ,kBAAkB;IAE3E,OAAO,CAAC,MAAM,EAAE,MAAM,MAAM,GAAG,kBAAkB,CAAA;CAEpD;AAED,MAAM,WAAW,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAE5C,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAE3E,IAAI,CACA,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,GAAG,MAAM,OAAO,KAAK,EAAE,EAExC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,GACvE,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;CAEvD;AAED,KAAK,mBAAmB,CAAC,MAAM,EAAE,MAAM,IAAI;KACtC,CAAC,IAAI,MAAM,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CAC1E,CAAC;AAEF,MAAM,WAAW,kBAAkB,CAAC,MAAM;IAEtC,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAEvC,KAAK,CACD,EAAE,SAAS,MAAM,EACjB,EAAE,SAAS,MAAM,GAAG,KAAK,EACzB,EAAE,SAAS,MAAM,GAAG,KAAK,EACzB,EAAE,SAAS,MAAM,GAAG,KAAK,EACzB,EAAE,SAAS,MAAM,GAAG,KAAK,EACzB,EAAE,SAAS,MAAM,GAAG,KAAK,EACzB,EAAE,SAAS,MAAM,GAAG,KAAK,EACzB,EAAE,SAAS,MAAM,GAAG,KAAK,EACzB,EAAE,SAAS,MAAM,GAAG,KAAK,EACzB,GAAG,SAAS,MAAM,GAAG,KAAK,EAC1B,CAAC,GAAG,MAAM,EAEV,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACZ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACb,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACb,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACb,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACb,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACb,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACb,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACb,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACb,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAChB,oBAAoB,CAAC,MAAM,CAAC,CAAA;CAElC;AAED,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;AAEhG,MAAM,WAAW,oBAAoB,CAAC,MAAM,CAAE,SAAQ,kBAAkB;IAEpE,OAAO,CACH,QAAQ,EACR,OAAO,SAAS,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC,EAEvE,GAAG,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3C,kBAAkB,CAAA;CAExB;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,IAAI,iBAAiB,CAAA;IAE5B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAA;IAE1D,MAAM,IAAI,iBAAiB,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ,CAAC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;CAE5E"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=UpdateInterfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateInterfaces.js","sourceRoot":"","sources":["../../../src/update/UpdateInterfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@types/sqlstring/index.d.ts","../src/escape.ts","../../../packages/schema/schema/src/issue/ggissueregistry.ts","../../../packages/schema/schema/src/issue/ggissuekey.ts","../../../packages/schema/schema/src/issue/ggissueslist.ts","../../../packages/schema/schema/src/executor/aot/utils/compilerstate.ts","../../../packages/schema/schema/src/executor/aot/utils/helpers.ts","../../../packages/schema/schema/src/executor/standard/impl/code_is.ts","../../../packages/schema/schema/src/executor/aot/impl/aot_is.ts","../../../packages/schema/schema/src/executor/aot/impl/aot_clean.ts","../../../packages/schema/schema/src/executor/aot/impl/aot_stringify.ts","../../../packages/schema/schema/src/issue/issues/ggissueinvalid.ts","../../../packages/schema/schema/src/issue/issues/ggrangeissue.ts","../../../packages/schema/schema/src/errors.ts","../../../packages/schema/schema/src/executor/aot/impl/aot_validate.ts","../../../packages/schema/schema/src/executor/aot/impl/aot_coerce.ts","../../../packages/schema/schema/src/executor/aot/impl/aot_parse.ts","../../../packages/schema/schema/src/executor/aot/aotexecutor.ts","../../../packages/schema/schema/src/issue/types.ts","../../../packages/schema/schema/src/contract/ok.ts","../../../packages/schema/schema/src/contract/error.ts","../../../packages/schema/schema/src/ggtransform.ts","../../../packages/schema/schema/src/ggcodec.ts","../../../packages/schema/schema/src/ggschema.ts","../../../packages/schema/schema/src/definition.ts","../../../packages/schema/schema/src/executor/executorstrategy.ts","../../../packages/schema/schema/src/executor/standard/impl/code_clean.ts","../../../packages/schema/schema/src/executor/standard/impl/code_validate.ts","../../../packages/schema/schema/src/executor/standard/impl/code_parse.ts","../../../packages/schema/schema/src/executor/standard/impl/code_stringify.ts","../../../packages/schema/schema/src/executor/standard/standardexecutor.ts","../../../packages/schema/schema/src/schemas/isarray.ts","../../../packages/schema/schema/src/schemas/isliteral.ts","../../../packages/schema/schema/src/schemas/isobject.ts","../../../packages/schema/schema/src/schemas/isstring.ts","../../../packages/schema/schema/src/schemas/isany.ts","../../../packages/schema/schema/src/contract/standarderrors.ts","../../../packages/schema/schema/src/contract/ggpromise.ts","../../../packages/schema/schema/src/contract/ggcontractexecutor.ts","../../../packages/schema/schema/src/contract/ggcontractclass.ts","../../../packages/schema/schema/src/contract/ggcontractfunction.ts","../../../packages/schema/schema/src/executor/aot/typecompiler.ts","../../../packages/schema/schema/src/schemas/isnumber.ts","../../../packages/schema/schema/src/schemas/isboolean.ts","../../../packages/schema/schema/src/schemas/isbit.ts","../../../packages/schema/schema/src/schemas/isunion.ts","../../../packages/schema/schema/src/schemas/isunknown.ts","../../../packages/schema/schema/src/schemas/isenum.ts","../../../packages/schema/schema/src/schemas/isdiscriminated.ts","../../../packages/schema/schema/src/schemas/isrecord.ts","../../../packages/schema/schema/src/schemas/istuple.ts","../../../packages/schema/schema/src/custom/isdate.ts","../../../packages/schema/schema/src/custom/isdatetime.ts","../../../packages/schema/schema/src/custom/isint.ts","../../../packages/schema/schema/src/custom/islatitude.ts","../../../packages/schema/schema/src/custom/islongitude.ts","../../../packages/schema/schema/src/custom/isemail.ts","../../../packages/schema/schema/src/custom/ispassword.ts","../../../packages/schema/schema/src/custom/islanguage.ts","../../../packages/schema/schema/src/custom/iscountry.ts","../../../packages/schema/schema/src/custom/islocale.ts","../../../packages/schema/schema/src/index-node.ts","../src/sqlfunctions.ts","../src/sqlexpression.ts","../src/symbols.ts","../src/mysqltablestructureparser.ts","../src/types.ts","../src/delete/deleteinterfaces.ts","../src/delete/deletebuilder.ts","../src/insert/insertinterfaces.ts","../src/insert/insertbuilder.ts","../src/update/updateinterfaces.ts","../src/update/updatebuilder.ts","../src/select/parts/s0union.ts","../src/select/parts/s7exec.ts","../src/select/parts/s6limit.ts","../src/select/parts/s5orderby.ts","../src/select/parts/s4having.ts","../src/select/parts/s3groupby.ts","../src/select/parts/s2where.ts","../src/select/parts/s2columns.ts","../src/select/parts/s1join.ts","../src/select/parts/s0with.ts","../src/select/parts/s0uses.ts","../src/select/parts/gatewaywhere.ts","../src/select/selectbuilder.ts","../src/mysqltable.ts","../src/sql.ts","../src/index.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts"],"fileIdsList":[[152,198,199,201,218,219],[152,200,201,218,219],[201,218,219],[152,201,206,218,219,236],[152,201,202,207,212,218,219,221,233,244],[152,201,202,203,212,218,219,221],[152,201,218,219],[147,148,149,152,201,218,219],[152,201,204,218,219,245],[152,201,205,206,213,218,219,222],[152,201,206,218,219,233,241],[152,201,207,209,212,218,219,221],[152,200,201,208,218,219],[152,201,209,210,218,219],[152,201,211,212,218,219],[152,200,201,212,218,219],[152,201,212,213,214,218,219,233,244],[152,201,212,213,214,218,219,228,233,236],[152,194,201,209,212,215,218,219,221,233,244],[152,201,212,213,215,216,218,219,221,233,241,244],[152,201,215,217,218,219,233,241,244],[150,151,152,153,154,155,156,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250],[152,201,212,218,219],[152,201,218,219,220,244],[152,201,209,212,218,219,221,233],[152,201,218,219,222],[152,201,218,219,223],[152,200,201,218,219,224],[152,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250],[152,201,218,219,226],[152,201,218,219,227],[152,201,212,218,219,228,229],[152,201,218,219,228,230,245,247],[152,201,213,218,219],[152,201,212,218,219,233,234,236],[152,201,218,219,235,236],[152,201,218,219,233,234],[152,201,218,219,236],[152,201,218,219,237],[152,198,201,218,219,233,238,244],[152,201,212,218,219,239,240],[152,201,218,219,239,240],[152,201,206,218,219,221,233,241],[152,201,218,219,242],[152,201,218,219,221,243],[152,201,215,218,219,227,244],[152,201,206,218,219,245],[152,201,218,219,233,246],[152,201,218,219,220,247],[152,201,218,219,248],[152,194,201,218,219],[152,194,201,212,214,218,219,224,233,236,244,246,247,249],[152,201,218,219,233,250],[152,166,170,201,218,219,244],[152,166,201,218,219,233,244],[152,161,201,218,219],[152,163,166,201,218,219,241,244],[152,201,218,219,221,241],[152,201,218,219,251],[152,161,201,218,219,251],[152,163,166,201,218,219,221,244],[152,158,159,162,165,201,212,218,219,233,244],[152,166,173,201,218,219],[152,158,164,201,218,219],[152,166,187,188,201,218,219],[152,162,166,201,218,219,236,244,251],[152,187,201,218,219,251],[152,160,161,201,218,219,251],[152,166,201,218,219],[152,160,161,162,163,164,165,166,167,168,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,189,190,191,192,193,201,218,219],[152,166,181,201,218,219],[152,166,173,174,201,218,219],[152,164,166,174,175,201,218,219],[152,165,201,218,219],[152,158,161,166,201,218,219],[152,166,170,174,175,201,218,219],[152,170,201,218,219],[152,164,166,169,201,218,219,244],[152,158,163,166,173,201,218,219],[152,201,218,219,233],[152,161,166,187,201,218,219,249,251],[59,120,121,122,124,125,152,201,218,219],[121,124,152,201,218,219],[58,124,152,201,218,219],[120,121,123,124,144,145,152,201,218,219],[59,122,127,152,201,218,219],[124,152,201,218,219],[59,121,122,124,125,126,127,128,129,130,142,143,152,201,218,219],[59,152,201,218,219],[124,132,152,201,218,219],[132,136,152,201,218,219],[124,139,152,201,218,219],[121,124,138,152,201,218,219],[121,124,137,152,201,218,219],[121,124,132,133,134,136,152,201,218,219],[121,124,133,134,135,152,201,218,219],[121,124,132,133,134,152,201,218,219],[121,124,132,133,152,201,218,219],[132,152,201,218,219],[121,124,131,152,201,218,219],[59,120,121,122,124,131,132,133,134,135,136,137,138,139,140,141,142,144,152,201,218,219],[59,122,124,125,126,127,128,129,130,132,139,140,141,143,144,152,201,218,219],[59,120,124,152,201,218,219],[59,119,121,124,152,201,218,219],[121,122,123,152,201,218,219],[59,120,121,122,124,129,152,201,218,219],[77,81,152,201,218,219],[78,81,94,95,96,152,201,218,219],[77,78,81,94,95,97,152,201,218,219],[95,96,97,152,201,218,219],[77,78,152,201,218,219],[78,89,91,92,93,152,201,218,219],[69,92,152,201,218,219],[100,152,201,218,219],[62,69,81,82,152,201,218,219],[61,62,81,152,201,218,219],[69,70,152,201,218,219],[66,67,68,74,83,152,201,218,219],[63,64,81,82,152,201,218,219],[63,64,65,81,82,152,201,218,219],[62,66,67,72,73,81,82,152,201,218,219],[61,62,63,64,65,71,81,82,152,201,218,219],[66,67,68,72,81,152,201,213,218,219],[81,152,201,218,219],[62,81,82,152,201,218,219],[65,82,152,201,218,219],[82,152,201,218,219],[61,62,82,84,85,152,201,218,219],[82,84,152,201,218,219],[61,62,65,71,82,152,201,218,219],[65,82,83,84,86,87,152,201,218,219],[79,81,152,201,218,219],[61,62,75,76,79,80,82,83,152,201,218,219],[76,78,81,152,201,218,219],[60,61,62,69,70,75,76,77,78,79,80,81,82,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,152,201,218,219],[60,62,152,201,218,219],[61,152,201,218,219],[69,152,201,218,219],[81,82,152,201,218,219],[90,152,201,218,219],[81,82,90,152,201,218,219],[69,81,82,152,201,218,219]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"4f1d50698e13eb7991b35a65d0ec19a86f20b0d17fd2b00366f5c9112802012f","impliedFormat":1},{"version":"d99546bcfa1c4fb12f6686db75371eb1f33dd2c52531864f03c3326307e99260","signature":"24cb5c4828199c7f3e297e4d4b46839396392749fbefa139380334b1f2b21f55"},"6dda9ed335e808d3e6c6c7913580d52cfe7b83ad7a407c30707a84ce09dbbc8d","e4f962359a5de05815e5514290f8395064286792e6797ec6d9640fa264a96816","c1cbe74128ce47317c607d3d37acdedd34517129ba52466a1f9be9e91126a153","71f6312bca202aeecf96fce2be0b540bce15ef57344cf3ca6d6b2f944bb78f76","c5d9678a302aa17e65268bf175dde4351c67a4efc63a004037852f56ee0d9537","55ab129057e401989e77e23e594c7db73d53bbfc16a89f5f9d89779976c2350d","e4b823394a10cc111c315a09b5597cb7a6411f9453ad94002a20c0033bedce6d","4af14b11b64207604b6436bfb69ea48f1c06ec49c416e07c2929a4498348f35d","ee60d55c961fe4a8fe611b264724751135a2d10f64a545a168b2ea31ec9a2710","b86c3de7f1457e96e2647f5bad29fe02165bfb48d45195912e340ce850e4b825","9614071786bdbaab336355260b20dcb079c98a4d2bdf4c7b93b971de5442f55a","fd1c37e48ed750d9b732614bec90c00c1bad40b82290dce1b399e2ef629a8ff9","78af30bd752fdc6a380c34a7d265628cf005a485c63ac07461d9f474be60cf04","c997d867e37f77fbe74923a7da826b110ef3622434fb78a16e42ebbc0e9dd5d3","7fcbd87fdac44071981d53dfd3c9486dec3e8e681faa0e8b242eb02e697505b3","eef5d49efa58f87fc8adf58af6a973229ccbf15d02c41c9c36abdd8e1acde27a","58b32bad22d6299f71b97f88711785722bb9ac07aa322b0f79b5dfb7c938cdf9","d0f90e162407dbdfb8972aaff199aff270701d2ef379822fe3d03b0137716154","3d02fb0fa562d47079043b4ce46f3f6a45c27484e19368cc79b536c9d669a3d4","cf50774c14be53de14f7e4d911fe69b87ec7648d1192f9a08f3add88a7e3959f","668de9ba46248ff77c8c42f0348c20869aff68b6914496462297fad61d83cda7","0ee6b2fad2a4ca64df11f45b9df701d7c64e742e1a72ccb9803aa7dd744c01f5","a7f5400a5c42d5c7acfd8ddd6c0d4667c7f49da74d3248b73ba9fe62920dfd86","6f55f7f113a67ae113fc7d998712bb21358e1377c7cf5927b76132f8cafd9f63","d743e9a3d80a405c55e249202037f7f462cbffb7c88074ecd2b22fc413f654e1","35104d0632ad6d2bcdea723ff70ee6aaa98b26c4edbdd1d932a61ba0caa40bd7","1eba2f2bab1412fa111c23280faa78a7e48c6c8dbf3ffc69efce33f80d81579f","760a6e6528fe846a7d6886f22c6cb6562a2749ce21649adda208f3bd50d1681f","6d6b50963f410f5ae1a3c8acd5f26a6243c4fd20c1108c2c39fcd29c924615b4","0d71d05f34f326f74f9e80035024874fb2248d35ec0dc2566a23c13b35be08b2","35b7415675495780cc215f86364ff7cb3cc7f6ccda935d0cb12fb24e40ae0b19","973ca4c71f41c7b69a1b96e0baed13d5a672f3b567ed72a993a64d04325cc47b","9caf37688cb1bf9c6ba02914afd3f8a362386eacfed3643d85544e957e8e5220","06f0c719153c13f3b5402828c27d2b06b768d0d018ee212121ba7bff104606d9","79b5337a12f42549a8434edb08ee2c519c9b38d1fa4615a25b00aab03d58340a","63f63054c8763e1f2eeff9f968d326f61582390b5b10d0f00a6d4451857b59b2","781eb690d5fe95b306ae404c36fb7729096f7de38f99b656d6669e921fcde4e9","1b9370a466bb1c2463a87fd017195959769994c02abf9c0f84eee56300b93b45","6634f2625deba5d4c035686fbbb6f41f05a8126d493e000ff494b463174b366e","c1d6d7b43436f5bff3dbc5b0b7e44dc499be5ea0b3dda5039a4be11ca698b494","da5239dff4eb02eb436ff45bc5bd7d2ddf606f22f7695c930df30b1c30fc45db","561790d37729ad9fcbda96cb56aa6b3e61ea1ba252f5e180b842b6243dc3f280","33f445524ca27f21c97501361ca8de8510028d8aca61a1bf969fcdab900f26f2","dbc92439171fb41df4c1f17e5d2b320942a7841db3bce2fae6c65c61d6c77ab5","51d9d9249aa7a5f70b80964125dac09e16831d632b55cb5463df1c4a2e00b7e8","c4f1819b3684e55a1d95cddbba72290a001823b2fdd5270a08a89ad32264bd0a","f8036ce871bd1365c6a062691c8f4ceeb421542e1338295482b6a87fbdb0d6ed","4efe99bfb1cb83d27367383d1a5172452d0443213bca41fe353ae8d50d6eece8","42a989d547ed70afb6f1087a11d5c22f91d73ce8633b6cb1a1ed2cb229c982a2","0a0c4cd99890dffd0c1b218f330c4ef39fd73354799147f832ad9ce2bf6d54c3","53095cb747500235b66215127e40722d137e5da07074e3d9cf5171e2c3058082","0569c219196e3b2b5995a3011be70f2005f4c412c73da9f01d7990c7cf32763a","04d001bf26b5faa883b2e94c9f24d81e7b40fe1f4dad9f34e91441d483a1d408","a922c76e71ae3873d4f61352f91fbfb184444bf46e68760323e3a6d546fdef4c","b4531771b1b3e3780d0b32dab9a734a538a77a1dc634e97a06aec2393655a709","b7b3395362937b230c2c2dfc7b2d7563070a832cd764d2c0ddf11119657f0469","bb4a632288522e1da530da4990d6e3e01c9a8d2aa68f307f120adb435b9a340a","6a3a277d27350eeea0c263905a156f67e894011bebccf9cb39cf30fd493b638f","8c2912684c31e117d0c249add0f5b2717046249653db137053e2dca56204a046","0422f739f406d5387be11ae697b7026042de1394d0cb00ef6de49f8a74f46f8c",{"version":"6b4ba7128bef83ee963d795ddc3674ec56d4129e61a3f4a1437ce61ffe3189aa","signature":"76a913c3e2876b45944acb8f5e15d1dc24ca8b33d0d6ed6bc92b6e92db44c95d"},{"version":"c5ad5a0fc0bc4a596614e773fce6a14d4e0eeb48d3df43be8f241f8c740b64cc","signature":"9043b785a94fc6f88f673b42c48d290684a22380b3502b0d01eeb6fc63f6194f"},{"version":"f69114ec5759b6a3089883489151f8fbe6995c554ded95db03b64c9cebfc2687","signature":"adcaec33b0b254b9d5471338063a71829e12b16ec719865904df18463abfc758"},{"version":"e1a2e7f5a0d3a9ecb6847ff8ceb52cacfb14ef1c064aa91a4c81057e2ff00ce5","signature":"c26a30a5be765e0bfe99aade7d56fb2618c509bfc6cb1135148be4c96d366fa1"},{"version":"ab2f0d9c2b08f2bb48059b84cad6c4a611b669a8b0f0c0778cd08136bbd7dc32","signature":"4c96d0c794f6944ec5b728afe6a546ff76a85f83d51fcb470aa68c81119acc68"},{"version":"e45fc0046b8655f6ff647dabb63b104cbaf6305f85d79c92a7ed26081ca10cee","signature":"12b77a9dcbd5119fb19770aca22c953eab6659870f739baaabd15396adaded50"},{"version":"17816d2f9ea65e4a62802d1d33040ba3f42c9f92f1d924cd7fa89bcb88e3306d","signature":"a140125f0fabc1bcb91cdee386a6930c474bb95fb529b931800cd92b39ed7cf3"},{"version":"7308edbfbabbab531109d57382a3a0c622a287250a4aab357dea99fff7f2bcb7","signature":"92148b57066236566a7f49f1772664a8a0450d0d43b9548dc4f85626c575d06a"},{"version":"1fb7ad38ed3aace8225c43b4be09deeb0dc56487b0937bd038994818c988b3ca","signature":"f3579bddf8271b219c037282d315a082fd2ce531cab2b24a633e579fabf07d64"},{"version":"a50e418b4a02ae6dd6aeab3c6a44916b8d5b67a17981af8a5b1f01e75667efe3","signature":"4eb0aba72dcfce014b67491209db2f69c703f623b8c351b44054518812a820cd"},{"version":"3817a22c39bf9079e8d805c546089a80e2829eccf54b652519f57fb9687b49eb","signature":"7a3b8806537b8c201be2afc122a2651c4cec312d3b061bebe1f09562f1c29a7c"},{"version":"ab60351b38000b66cd3036a3e5a321405ecfffe5491b949443ede6b7b08165ce","signature":"2fabdd08205133475dfb2c63e201d08b01cee502b731ac7cc72ac16d470d1d5d"},{"version":"98cb5e05d3163f84d0cf65b041f62ee0d665e4aceb3c1f17bf190752ab09f90a","signature":"280f9c515b8f6942f5cdceab7fafacafbccd781b46ab9c6c4b52418302aaae4d"},{"version":"d590b214ef01a1bdf6732966483f683b86c8a9bce488019f26d0d22a855e9281","signature":"c199079abb9b6246d4385d05a6aad18b18e8b97824bfe139297d64f4c32f9705"},{"version":"111b367ef99a428cad1036ab517284d7e78d61941639dce7ad57835d18a43d2f","signature":"a09f54c51ee69c1c2633d50c9c5a84caaa7ddc43ef26799dbc1431c2000da89d"},{"version":"816e225c45a062aa1656db03e362abb932769d07dbbd76454e34b058fdd76034","signature":"9372cfa2a9478dc8c9a0c5a33d14bd73ebaa543e036bc76b591481615945ddb1"},{"version":"2324666cab6f7c2e8c79c905d1ec9644696bdd33bf46190e39e45805f194eee9","signature":"7edf6792f8b5d674b85833962e9b161ea1c1407c9ecf13a40d254e25b3da3e26"},{"version":"6f91198e46f24c511baf70032e2a026d5a634c065abb7c2b8329771b0d7b2c2e","signature":"c008c993577e9a7a7a3b6ac915b1d3d7df0f4379210bffc38d126c66f4646aec"},{"version":"fffd3b513c4ffe0989ca3fb1e7e1ab340ea656ef6a21b6cae17029a822ec3748","signature":"e64cfcc9dfebd725e06fe66338f1e1d13e7d98d524010fdc71e16bed20ee360a"},{"version":"cd558a32735a20bc2e7247daff12256a0d4cc93614b524b991c41171ed45f230","signature":"a58600418074c69dea3cd1b0b360b0e99390c418282da0a347c2a191af13ad34"},{"version":"dfe29ccc4a4b868d6e0cc1f15f175022f39de5dde5e343aa407666777dbc66af","signature":"6d9bb14d485ae5a6919db841fdcc0d47d52d7195a6b44ba5ad7533ecf33b5b6f"},{"version":"c83500948bc245cbc29bc876c0eb8399063efe81c831097baf0d786f9c8c9c7c","signature":"7846d2fa80aeab2fbceb59e8b9b20a4f9556431aaf90cbc95d5d722499fb77b8"},{"version":"e3ffd1f9e742913c3c9eaa36eabe43502a133b12b0a073c2ca004d9580c51629","signature":"4d696a383a748a3dc9f539e71dbe4f679b47a1c1fa821a7b0b7f778f17fd1c82"},{"version":"c2ab27fac92d66f6aab6c198820a29f4258ee28b8ebc9c2fad7921be2591ff75","signature":"27621a557935a45c701b62c6d0d11836f1d3c12840866aeb18e7caea3aded455"},{"version":"662711b828a092580828d3d1a9f6a95a21b4ba59e454d6bb953e5735bf4b38ff","signature":"b1378466d76c891d97f72192c5d575702d3b46a852d0c1451b495115295f0b4b"},{"version":"b3912f5d76436e94ce9195d4ad017be58d3de8ca2e3c267f90be08c66d7c693c","signature":"e2d7d98573c415259967d6006b02b628014662ce9454a25bd590b1a62f57fc7e"},{"version":"3eef880156bf9d3a6f021a92a58755f70c878f8870f6a1cfac532c2a8c5f5019","signature":"542f616da4365ebf7b8477d6e513e45a62e307e750de8a4e17ab767d92bff1dd"},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"f949f7f6c7802a338039cfc2156d1fe285cdd1e092c64437ebe15ae8edc854e0","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2bc7425ef40526650d6db7e072c1ff4a51101c3ac2cc4b666623b19496a6e27","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"6b039f55681caaf111d5eb84d292b9bee9e0131d0db1ad0871eef0964f533c73","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"0dba70b3fb0dcd713fda33c2df64fa6751fff6460e536971cee917260fb17882","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"9f663c2f91127ef7024e8ca4b3b4383ff2770e5f826696005de382282794b127","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1}],"root":[59,[120,146]],"options":{"allowJs":false,"checkJs":false,"composite":false,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":99,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":false,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"target":9},"referencedMap":[[198,1],[199,1],[200,2],[152,3],[201,4],[202,5],[203,6],[147,7],[150,8],[148,7],[149,7],[204,9],[205,10],[206,11],[207,12],[208,13],[209,14],[210,14],[211,15],[212,16],[213,17],[214,18],[153,7],[151,7],[215,19],[216,20],[217,21],[251,22],[218,23],[219,7],[220,24],[221,25],[222,26],[223,27],[224,28],[225,29],[226,30],[227,31],[228,32],[229,32],[230,33],[231,7],[232,34],[233,35],[235,36],[234,37],[236,38],[237,39],[238,40],[239,41],[240,42],[241,43],[242,44],[243,45],[244,46],[245,47],[246,48],[247,49],[248,50],[154,7],[155,7],[156,7],[195,51],[196,7],[197,7],[249,52],[250,53],[58,7],[157,7],[56,7],[57,7],[11,7],[10,7],[2,7],[12,7],[13,7],[14,7],[15,7],[16,7],[17,7],[18,7],[19,7],[3,7],[20,7],[21,7],[4,7],[22,7],[26,7],[23,7],[24,7],[25,7],[27,7],[28,7],[29,7],[5,7],[30,7],[31,7],[32,7],[33,7],[6,7],[37,7],[34,7],[35,7],[36,7],[38,7],[7,7],[39,7],[44,7],[45,7],[40,7],[41,7],[42,7],[43,7],[8,7],[49,7],[46,7],[47,7],[48,7],[50,7],[9,7],[51,7],[52,7],[53,7],[55,7],[54,7],[1,7],[173,54],[183,55],[172,54],[193,56],[164,57],[163,58],[192,59],[186,60],[191,61],[166,62],[180,63],[165,64],[189,65],[161,66],[160,59],[190,67],[162,68],[167,69],[168,7],[171,69],[158,7],[194,70],[184,71],[175,72],[176,73],[178,74],[174,75],[177,76],[187,59],[169,77],[170,78],[179,79],[159,80],[182,71],[181,69],[185,7],[188,81],[126,82],[125,83],[59,84],[146,85],[128,86],[127,87],[144,88],[123,89],[142,90],[131,91],[141,92],[140,92],[139,93],[138,94],[137,95],[136,96],[135,97],[134,98],[133,99],[132,100],[143,101],[145,102],[121,103],[120,104],[122,7],[124,105],[130,106],[129,83],[78,107],[97,108],[96,109],[98,110],[95,111],[77,7],[94,112],[117,113],[109,113],[110,113],[114,113],[111,114],[116,113],[112,114],[118,113],[113,114],[115,115],[82,116],[71,117],[75,118],[67,119],[73,120],[66,120],[74,121],[68,119],[72,122],[99,123],[63,124],[64,7],[83,125],[84,126],[65,127],[86,128],[87,129],[85,130],[88,131],[80,132],[81,133],[79,134],[119,135],[61,136],[60,137],[62,137],[69,137],[70,138],[76,7],[93,139],[89,139],[102,139],[101,139],[106,139],[105,140],[90,139],[100,139],[91,141],[107,139],[92,142],[108,139],[103,139],[104,139]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251],"checkPending":true,"version":"5.9.3"}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@grest-ts/sql",
3
+ "version": "0.0.5",
4
+ "type": "module",
5
+ "license": "MIT",
6
+ "description": "Type-safe SQL query builder for MySQL",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/src/index.d.ts",
10
+ "import": "./dist/src/index.js"
11
+ }
12
+ },
13
+ "files": [
14
+ "dist",
15
+ "src"
16
+ ],
17
+ "scripts": {
18
+ "typecheck": "tsc --noEmit -p src && tsc --noEmit -p test"
19
+ },
20
+ "publishConfig": {
21
+ "access": "public"
22
+ },
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "https://github.com/grest-ts/grest-ts.git",
26
+ "directory": "packages-libs/sql"
27
+ },
28
+ "homepage": "https://github.com/grest-ts/grest-ts/tree/master/packages-libs/sql",
29
+ "bugs": {
30
+ "url": "https://github.com/grest-ts/grest-ts/issues"
31
+ },
32
+ "keywords": [
33
+ "typescript",
34
+ "framework",
35
+ "contract",
36
+ "api",
37
+ "microservices",
38
+ "testing",
39
+ "sql",
40
+ "query-builder",
41
+ "mysql"
42
+ ],
43
+ "engines": {
44
+ "node": ">=22"
45
+ },
46
+ "dependencies": {
47
+ "@grest-ts/schema": "0.0.5",
48
+ "sqlstring": "^2.3.3"
49
+ },
50
+ "devDependencies": {
51
+ "@grest-ts/x-packager": "0.0.5",
52
+ "@types/sqlstring": "^2.3.2"
53
+ }
54
+ }
@@ -0,0 +1,102 @@
1
+ import {AliasedTable, DbTableDefinition, InsertRow, NotUsingWithPart} from "./Types";
2
+ import {escape, escapeId} from "./escape";
3
+ import {SQL_ALIAS, SQL_EXPRESSION} from "./Symbols";
4
+ import {SqlExpression} from "./SqlExpression";
5
+ import {DeleteBuilder} from "./delete/DeleteBuilder";
6
+ import {ExecInsertMethods} from "./insert/InsertInterfaces";
7
+ import {InsertBuilder} from "./insert/InsertBuilder";
8
+ import {GatewayDeleteOrderByMethods} from "./delete/DeleteInterfaces";
9
+ import {UpdateBuilder} from "./update/UpdateBuilder";
10
+ import {GatewayUpdateWhereMethods} from "./update/UpdateInterfaces";
11
+ import {SelectBuilder} from "./select/SelectBuilder";
12
+ import {GatewayWhereMethods} from "./select/parts/GatewayWhere";
13
+
14
+
15
+ export class MysqlTable<TableName extends string, Entity, EditEntity, InsertEntity = InsertRow<EditEntity, Entity>> {
16
+
17
+ public readonly tableName: TableName;
18
+ private readonly columns: DbTableDefinition<Entity>;
19
+ private readonly cache: Map<string, AliasedTable<string, `${TableName} as ${string}`, Entity, InsertEntity, NotUsingWithPart>> = new Map();
20
+
21
+ constructor(tableName: TableName, columns: DbTableDefinition<Entity>) {
22
+ this.tableName = tableName;
23
+ this.columns = columns;
24
+ Object.freeze(this.columns);
25
+ }
26
+
27
+ public as<Alias extends string>(alias: Alias): AliasedTable<Alias, `${TableName} as ${Alias}`, Entity, InsertEntity, NotUsingWithPart> {
28
+ if (!this.cache.has(alias)) {
29
+ this.cache.set(alias, MysqlTable.defineDbTable<TableName, Alias, Entity, InsertEntity>(escapeId(this.tableName) as TableName, alias, this.columns))
30
+ }
31
+ return this.cache.get(alias) as any
32
+ }
33
+
34
+ public select<Args extends & (keyof Entity)[]>(...args: Args & (keyof Entity)[]): GatewayWhereMethods<Entity, ArrayOfPropertiesToObject<Entity, Args>> {
35
+ return new SelectBuilder().selectFrom(this.tableName).columns(...args);
36
+ }
37
+
38
+ public selectAll(): GatewayWhereMethods<Entity, Entity> {
39
+ return new SelectBuilder().selectFrom(this.tableName).columns(SqlExpression.create("*"));
40
+ }
41
+
42
+ public deleteWhere(where: Partial<Entity>): GatewayDeleteOrderByMethods<Entity> {
43
+ const builder = new DeleteBuilder().from(this.tableName, undefined)
44
+ for (const prop in where) {
45
+ builder.where(escapeId(prop) + " = " + escape((where as any)[prop]));
46
+ }
47
+ return builder
48
+ }
49
+
50
+ public insert(row: InsertEntity): ExecInsertMethods {
51
+ return new InsertBuilder().to(this.tableName).set(row)
52
+ }
53
+
54
+ public update(row: Partial<InsertEntity>): GatewayUpdateWhereMethods<Entity> {
55
+ return new UpdateBuilder().in(this.tableName).set(row)
56
+ }
57
+
58
+ /**
59
+ * Returns query that checks existence of a row. Returns [{res: 1}] if at least one row exists and no rows if it doesn't.
60
+ */
61
+ public exists(args: WhereArgs<Entity>): string {
62
+ const where: string[] = [];
63
+ for (const key in args) {
64
+ where.push(escapeId(key) + "=" + escape(args[key] as any))
65
+ }
66
+ return "SELECT 1 as res FROM " + escapeId(this.tableName) + " WHERE " + where.join(" AND ") + " LIMIT 1";
67
+ }
68
+
69
+ public toString(): string {
70
+ return this.tableName;
71
+ }
72
+
73
+ /**
74
+ * Define a table structure with alias.
75
+ */
76
+ public static defineDbTable<TableName extends string, Alias extends string, Entity, XEntity>(
77
+ escapedExpression: TableName,
78
+ alias: string,
79
+ columns: DbTableDefinition<Entity>
80
+ ): AliasedTable<Alias, `${TableName} as ${Alias}`, Entity, XEntity, NotUsingWithPart> {
81
+ const tbl: AliasedTable<Alias, `${TableName} as ${Alias}`, Entity, XEntity, NotUsingWithPart> = {
82
+ [SQL_EXPRESSION]: escapedExpression,
83
+ [SQL_ALIAS]: alias
84
+ } as any;
85
+ for (const columnName in columns) {
86
+ (tbl as any)[columnName] = new SqlExpression(escapeId(alias) + "." + escapeId(columnName), columnName)
87
+ }
88
+ Object.freeze(tbl)
89
+ return tbl
90
+ }
91
+ }
92
+
93
+ type WhereArgs<Entity> = {
94
+ [K in keyof Entity]?: Entity[K]
95
+ }
96
+
97
+ type UnionToIntersection<U> =
98
+ (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
99
+
100
+ type ArrayOfPropertiesToObject<Entity, Args extends (keyof Entity)[]> = UnionToIntersection<{
101
+ [K in keyof Args]: Record<Args[K], Entity[Args[K]]>
102
+ }[number]>;