@spinajs/orm 2.0.486 → 2.0.487

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 (115) hide show
  1. package/lib/cjs/config/orm.d.ts +24 -0
  2. package/lib/cjs/config/orm.d.ts.map +1 -0
  3. package/lib/cjs/config/orm.js +26 -0
  4. package/lib/cjs/config/orm.js.map +1 -0
  5. package/lib/cjs/decorators.d.ts +3 -2
  6. package/lib/cjs/decorators.d.ts.map +1 -1
  7. package/lib/cjs/decorators.js +19 -2
  8. package/lib/cjs/decorators.js.map +1 -1
  9. package/lib/cjs/descriptor.d.ts +29 -1
  10. package/lib/cjs/descriptor.d.ts.map +1 -1
  11. package/lib/cjs/descriptor.js +37 -0
  12. package/lib/cjs/descriptor.js.map +1 -1
  13. package/lib/cjs/index.d.ts +6 -0
  14. package/lib/cjs/index.d.ts.map +1 -1
  15. package/lib/cjs/index.js +6 -0
  16. package/lib/cjs/index.js.map +1 -1
  17. package/lib/cjs/interfaces.d.ts +52 -2
  18. package/lib/cjs/interfaces.d.ts.map +1 -1
  19. package/lib/cjs/interfaces.js +5 -0
  20. package/lib/cjs/interfaces.js.map +1 -1
  21. package/lib/cjs/migration-environment.d.ts +70 -0
  22. package/lib/cjs/migration-environment.d.ts.map +1 -0
  23. package/lib/cjs/migration-environment.js +134 -0
  24. package/lib/cjs/migration-environment.js.map +1 -0
  25. package/lib/cjs/migration-runner.d.ts +108 -0
  26. package/lib/cjs/migration-runner.d.ts.map +1 -0
  27. package/lib/cjs/migration-runner.js +216 -0
  28. package/lib/cjs/migration-runner.js.map +1 -0
  29. package/lib/cjs/migration-service.d.ts +300 -0
  30. package/lib/cjs/migration-service.d.ts.map +1 -0
  31. package/lib/cjs/migration-service.js +829 -0
  32. package/lib/cjs/migration-service.js.map +1 -0
  33. package/lib/cjs/migration-sources.d.ts +85 -0
  34. package/lib/cjs/migration-sources.d.ts.map +1 -0
  35. package/lib/cjs/migration-sources.js +277 -0
  36. package/lib/cjs/migration-sources.js.map +1 -0
  37. package/lib/cjs/orm.d.ts +77 -15
  38. package/lib/cjs/orm.d.ts.map +1 -1
  39. package/lib/cjs/orm.js +156 -150
  40. package/lib/cjs/orm.js.map +1 -1
  41. package/lib/cjs/quoting.d.ts +33 -0
  42. package/lib/cjs/quoting.d.ts.map +1 -0
  43. package/lib/cjs/quoting.js +48 -0
  44. package/lib/cjs/quoting.js.map +1 -0
  45. package/lib/cjs/source-file.d.ts +10 -0
  46. package/lib/cjs/source-file.d.ts.map +1 -0
  47. package/lib/cjs/source-file.js +41 -0
  48. package/lib/cjs/source-file.js.map +1 -0
  49. package/lib/cjs/statements.d.ts +51 -1
  50. package/lib/cjs/statements.d.ts.map +1 -1
  51. package/lib/cjs/statements.js +73 -1
  52. package/lib/cjs/statements.js.map +1 -1
  53. package/lib/cjs/symbols.d.ts +11 -0
  54. package/lib/cjs/symbols.d.ts.map +1 -1
  55. package/lib/cjs/symbols.js +12 -1
  56. package/lib/cjs/symbols.js.map +1 -1
  57. package/lib/mjs/config/orm.d.ts +24 -0
  58. package/lib/mjs/config/orm.d.ts.map +1 -0
  59. package/lib/mjs/config/orm.js +24 -0
  60. package/lib/mjs/config/orm.js.map +1 -0
  61. package/lib/mjs/decorators.d.ts +3 -2
  62. package/lib/mjs/decorators.d.ts.map +1 -1
  63. package/lib/mjs/decorators.js +19 -2
  64. package/lib/mjs/decorators.js.map +1 -1
  65. package/lib/mjs/descriptor.d.ts +29 -1
  66. package/lib/mjs/descriptor.d.ts.map +1 -1
  67. package/lib/mjs/descriptor.js +36 -1
  68. package/lib/mjs/descriptor.js.map +1 -1
  69. package/lib/mjs/index.d.ts +6 -0
  70. package/lib/mjs/index.d.ts.map +1 -1
  71. package/lib/mjs/index.js +6 -0
  72. package/lib/mjs/index.js.map +1 -1
  73. package/lib/mjs/interfaces.d.ts +52 -2
  74. package/lib/mjs/interfaces.d.ts.map +1 -1
  75. package/lib/mjs/interfaces.js +5 -0
  76. package/lib/mjs/interfaces.js.map +1 -1
  77. package/lib/mjs/migration-environment.d.ts +70 -0
  78. package/lib/mjs/migration-environment.d.ts.map +1 -0
  79. package/lib/mjs/migration-environment.js +128 -0
  80. package/lib/mjs/migration-environment.js.map +1 -0
  81. package/lib/mjs/migration-runner.d.ts +108 -0
  82. package/lib/mjs/migration-runner.d.ts.map +1 -0
  83. package/lib/mjs/migration-runner.js +211 -0
  84. package/lib/mjs/migration-runner.js.map +1 -0
  85. package/lib/mjs/migration-service.d.ts +300 -0
  86. package/lib/mjs/migration-service.d.ts.map +1 -0
  87. package/lib/mjs/migration-service.js +824 -0
  88. package/lib/mjs/migration-service.js.map +1 -0
  89. package/lib/mjs/migration-sources.d.ts +85 -0
  90. package/lib/mjs/migration-sources.d.ts.map +1 -0
  91. package/lib/mjs/migration-sources.js +236 -0
  92. package/lib/mjs/migration-sources.js.map +1 -0
  93. package/lib/mjs/orm.d.ts +77 -15
  94. package/lib/mjs/orm.d.ts.map +1 -1
  95. package/lib/mjs/orm.js +158 -152
  96. package/lib/mjs/orm.js.map +1 -1
  97. package/lib/mjs/quoting.d.ts +33 -0
  98. package/lib/mjs/quoting.d.ts.map +1 -0
  99. package/lib/mjs/quoting.js +45 -0
  100. package/lib/mjs/quoting.js.map +1 -0
  101. package/lib/mjs/source-file.d.ts +10 -0
  102. package/lib/mjs/source-file.d.ts.map +1 -0
  103. package/lib/mjs/source-file.js +38 -0
  104. package/lib/mjs/source-file.js.map +1 -0
  105. package/lib/mjs/statements.d.ts +51 -1
  106. package/lib/mjs/statements.d.ts.map +1 -1
  107. package/lib/mjs/statements.js +71 -0
  108. package/lib/mjs/statements.js.map +1 -1
  109. package/lib/mjs/symbols.d.ts +11 -0
  110. package/lib/mjs/symbols.d.ts.map +1 -1
  111. package/lib/mjs/symbols.js +11 -0
  112. package/lib/mjs/symbols.js.map +1 -1
  113. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  114. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  115. package/package.json +7 -7
@@ -125,13 +125,63 @@ export declare abstract class ExistsQueryStatement extends SelectQueryStatement
125
125
  constructor(builder: SelectQueryBuilder, not: boolean);
126
126
  abstract build(): IQueryStatementResult;
127
127
  }
128
+ /**
129
+ * Membership test against a `@Set()` column — a single column holding several values
130
+ * joined by {@link SET_DELIMITER} ( see the SetValueConverter ).
131
+ *
132
+ * There is no portable SQL for this. MySQL has `FIND_IN_SET`, SQLite has `instr`,
133
+ * MSSQL has `CHARINDEX`, and the shared implementation falls back to `LIKE`. Each
134
+ * driver therefore registers its own subclass; whatever a driver does not register
135
+ * resolves to the portable one, which is correct everywhere and merely slower.
136
+ *
137
+ * The value rules below are shared because they are a property of the STORAGE
138
+ * FORMAT, not of any dialect: a value containing the delimiter cannot be
139
+ * represented in such a column at all, and every implementation must refuse it
140
+ * rather than emit a query that matches neighbouring entries.
141
+ */
128
142
  export declare abstract class InSetStatement extends QueryStatement {
129
143
  protected _val: any[];
130
144
  protected _not: boolean;
131
145
  protected _column: string;
132
146
  constructor(column: string, val: any[], not: boolean, tableAlias: string);
133
147
  abstract build(): IQueryStatementResult;
134
- }
148
+ /**
149
+ * The values to test, as strings, after rejecting anything the storage format
150
+ * cannot express.
151
+ *
152
+ * A value containing the delimiter is refused instead of being searched for:
153
+ * `whereInSet('Role', ['admin,user'])` can only ever be a caller mistake, and
154
+ * every implementation of this statement — `FIND_IN_SET` included — would
155
+ * answer it by matching a row holding `admin` next to `user`.
156
+ */
157
+ protected values(): string[];
158
+ /**
159
+ * Joins the per-value expressions into one statement.
160
+ *
161
+ * Negation is per value and AND-ed: "in none of these", which is the mirror of
162
+ * the OR-ed positive form.
163
+ */
164
+ protected combine(expressions: string[]): string;
165
+ }
166
+ /**
167
+ * Delimiter a `@Set()` column is stored with. Must agree with the SetValueConverter,
168
+ * which joins on it.
169
+ */
170
+ export declare const SET_DELIMITER = ",";
171
+ /**
172
+ * Escape character for the LIKE patterns of the portable membership test.
173
+ *
174
+ * NOT a backslash: MySQL treats a backslash as an escape inside string literals of
175
+ * its own, so `ESCAPE '\'` is a syntax error there and `ESCAPE '\\'` means something
176
+ * different again depending on `NO_BACKSLASH_ESCAPES`. A character with no special
177
+ * meaning in any of the three dialects avoids the whole question.
178
+ */
179
+ export declare const LIKE_ESCAPE_CHARACTER = "~";
180
+ /**
181
+ * Escapes the LIKE metacharacters of a value that is going to be embedded in a
182
+ * pattern, so a role literally named `admin_1` does not also match `adminX1`.
183
+ */
184
+ export declare function escapeLikeValue(value: string): string;
135
185
  export declare abstract class ColumnStatement extends QueryStatement {
136
186
  protected _column: string | RawQuery;
137
187
  protected _alias: string;
@@ -1 +1 @@
1
- {"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAe,SAAS,EAAE,KAAK,EAAE,WAAW,EAAU,UAAU,EAAE,MAAM,aAAa,CAAC;AAE7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAIrC,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,GAAG,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB,KAAK,IAAI,qBAAqB,CAAC;IAE/B,KAAK,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;CACxF;AAED,8BAAsB,cAAe,YAAW,eAAe;IAC7D,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAoB;IAEpD,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED,IAAW,UAAU,CAAC,KAAK,EAAE,MAAM,EAElC;IAED,IAAW,OAAO,IAAI,YAAY,CAEjC;IAED,IAAW,OAAO,CAAC,EAAE,EAAE,YAAY,EAElC;gBAEW,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;aAItB,KAAK,IAAI,qBAAqB;aAE9B,KAAK,CAAC,CAAC,SAAS,YAAY,GAAG,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,eAAe;CACpH;AAED,8BACsB,iBAAkB,SAAQ,cAAc;IAC5D,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC;gBAEf,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE;aAO3B,KAAK,IAAI,qBAAqB;CAC/C;AAED,8BAEsB,sBAAuB,SAAQ,cAAc;IACrD,SAAS,CAAC,SAAS,EAAE,UAAU;IAAE,SAAS,CAAC,KAAK,EAAE,MAAM;IAAE,SAAS,CAAC,MAAM,EAAE,kBAAkB;IAAE,SAAS,CAAC,UAAU,EAAE,MAAM;IAAE,SAAS,CAAC,OAAO,EAAE,MAAM;gBAA7I,SAAS,EAAE,UAAU,EAAY,KAAK,EAAE,MAAM,EAAY,MAAM,EAAE,kBAAkB,EAAY,UAAU,EAAE,MAAM,EAAY,OAAO,EAAE,MAAM;aAInJ,KAAK,IAAI,qBAAqB;CAC/C;AACD,8BACsB,gBAAiB,SAAQ,cAAc;IAC3D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;gBAEvB,UAAU,EAAE,MAAM,GAAG,QAAQ,EAAE,UAAU,EAAE,MAAM;aAM7C,KAAK,IAAI,qBAAqB;CAC/C;AAED,8BACsB,gBAAiB,SAAQ,cAAc;IAC3D,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IACtB,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEd,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM;aAQxD,KAAK,IAAI,qBAAqB;CAC/C;AACD,8BACsB,mBAAoB,SAAQ,cAAc;IAC9D,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;gBAE1B,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC;aAKtB,KAAK,IAAI,qBAAqB;CAC/C;AAED,8BACsB,kBAAmB,SAAQ,cAAc;IAEjD,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;IAAE,SAAS,CAAC,OAAO,EAAG,OAAO;gBAApD,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAY,OAAO,EAAG,OAAO;aAI1D,KAAK,IAAI,qBAAqB;CAC/C;AAED,8BACsB,cAAe,SAAQ,cAAc;IACzD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC;IACjC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;IACtB,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;IAChC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAS;IACxC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAW,MAAM,kBAEhB;IAED,IAAW,QAAQ,gBAElB;IAED,IAAW,KAAK,QAEf;IAED,IAAW,WAAW,YAErB;gBAGW,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;aAyBpF,KAAK,IAAI,qBAAqB;CAC/C;AAED,qBACa,IAAI;IACR,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;gBAEzB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC;CAI1D;AAED,8BACsB,aAAa;IACjC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;IACtB,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;gBAElB,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM;aAK1B,IAAI,IAAI,MAAM;CAC/B;AAED,8BACsB,WAAY,SAAQ,aAAa;CAAI;AAE3D,8BACsB,eAAgB,SAAQ,aAAa;CAAI;AAE/D,8BACsB,aAAc,SAAQ,cAAc;IAO5C,SAAS,CAAC,QAAQ,EAAE,qBAAqB;IALrD,SAAS,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEjD,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;gBAGX,QAAQ,EAAE,qBAAqB;aA0BrC,KAAK,IAAI,qBAAqB;CAC/C;AAED,8BACsB,WAAY,SAAQ,cAAc;IACtD,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IACtB,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,QAAQ,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAEhC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC;aAStE,KAAK,IAAI,qBAAqB;CAC/C;AAED,8BACsB,oBAAqB,SAAQ,cAAc;IAC/D,SAAS,CAAC,QAAQ,EAAE,kBAAkB,CAAC;gBAC3B,OAAO,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,MAAM;aAK5C,KAAK,IAAI,qBAAqB;CAC/C;AAED,8BACsB,oBAAqB,SAAQ,oBAAoB;IACrE,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;gBAEZ,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO;aAMrC,KAAK,IAAI,qBAAqB;CAC/C;AAED,8BACsB,cAAe,SAAQ,cAAc;IACzD,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IACtB,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEd,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM;aAQxD,KAAK,IAAI,qBAAqB;CAC/C;AACD,8BACsB,eAAgB,SAAQ,cAAc;IAC1D,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,WAAW,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAAC;gBAEhD,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI;IAS1H,IAAW,UAAU,yCAEpB;IAED,IAAW,MAAM,sBAEhB;IAED,IAAW,KAAK,WAEf;IAED,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED,IAAW,UAAU,CAAC,KAAK,EAAE,MAAM,EAElC;IAED,IAAI,UAAU,iBAMb;aAEe,KAAK,IAAI,qBAAqB;CAC/C;AAED,8BAAsB,kBAAmB,SAAQ,cAAc;IAC1C,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ;aAIrB,KAAK,IAAI,qBAAqB;CAC/C;AAED,8BACsB,qBAAsB,SAAQ,eAAe;IACjE,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC;gBAErB,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;aAK/E,KAAK,IAAI,qBAAqB;CAC/C"}
1
+ {"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":"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"}
@@ -243,6 +243,20 @@ ExistsQueryStatement = __decorate([
243
243
  __metadata("design:paramtypes", [Function, Boolean])
244
244
  ], ExistsQueryStatement);
245
245
  export { ExistsQueryStatement };
246
+ /**
247
+ * Membership test against a `@Set()` column — a single column holding several values
248
+ * joined by {@link SET_DELIMITER} ( see the SetValueConverter ).
249
+ *
250
+ * There is no portable SQL for this. MySQL has `FIND_IN_SET`, SQLite has `instr`,
251
+ * MSSQL has `CHARINDEX`, and the shared implementation falls back to `LIKE`. Each
252
+ * driver therefore registers its own subclass; whatever a driver does not register
253
+ * resolves to the portable one, which is correct everywhere and merely slower.
254
+ *
255
+ * The value rules below are shared because they are a property of the STORAGE
256
+ * FORMAT, not of any dialect: a value containing the delimiter cannot be
257
+ * represented in such a column at all, and every implementation must refuse it
258
+ * rather than emit a query that matches neighbouring entries.
259
+ */
246
260
  let InSetStatement = class InSetStatement extends QueryStatement {
247
261
  constructor(column, val, not, tableAlias) {
248
262
  super(tableAlias);
@@ -250,12 +264,69 @@ let InSetStatement = class InSetStatement extends QueryStatement {
250
264
  this._not = not || false;
251
265
  this._column = column || '';
252
266
  }
267
+ /**
268
+ * The values to test, as strings, after rejecting anything the storage format
269
+ * cannot express.
270
+ *
271
+ * A value containing the delimiter is refused instead of being searched for:
272
+ * `whereInSet('Role', ['admin,user'])` can only ever be a caller mistake, and
273
+ * every implementation of this statement — `FIND_IN_SET` included — would
274
+ * answer it by matching a row holding `admin` next to `user`.
275
+ */
276
+ values() {
277
+ return this._val.map((v) => {
278
+ if (v === null || v === undefined) {
279
+ throw new InvalidArgument(`set membership value cannot be null or undefined ( column ${this._column} )`);
280
+ }
281
+ const value = String(v);
282
+ if (value.includes(SET_DELIMITER)) {
283
+ throw new InvalidArgument(`set membership value "${value}" contains the set delimiter "${SET_DELIMITER}" and cannot be stored in, or matched against, column ${this._column}`);
284
+ }
285
+ return value;
286
+ });
287
+ }
288
+ /**
289
+ * Joins the per-value expressions into one statement.
290
+ *
291
+ * Negation is per value and AND-ed: "in none of these", which is the mirror of
292
+ * the OR-ed positive form.
293
+ */
294
+ combine(expressions) {
295
+ if (expressions.length === 0) {
296
+ // An empty value list matches nothing, and its negation matches
297
+ // everything. Spelled out so the caller gets a valid query rather than an
298
+ // empty parenthesis the driver rejects.
299
+ return this._not ? '(1 = 1)' : '(1 = 0)';
300
+ }
301
+ return this._not ? `(${expressions.map((e) => `NOT ${e}`).join(' AND ')})` : `(${expressions.join(' OR ')})`;
302
+ }
253
303
  };
254
304
  InSetStatement = __decorate([
255
305
  NewInstance(),
256
306
  __metadata("design:paramtypes", [String, Array, Boolean, String])
257
307
  ], InSetStatement);
258
308
  export { InSetStatement };
309
+ /**
310
+ * Delimiter a `@Set()` column is stored with. Must agree with the SetValueConverter,
311
+ * which joins on it.
312
+ */
313
+ export const SET_DELIMITER = ',';
314
+ /**
315
+ * Escape character for the LIKE patterns of the portable membership test.
316
+ *
317
+ * NOT a backslash: MySQL treats a backslash as an escape inside string literals of
318
+ * its own, so `ESCAPE '\'` is a syntax error there and `ESCAPE '\\'` means something
319
+ * different again depending on `NO_BACKSLASH_ESCAPES`. A character with no special
320
+ * meaning in any of the three dialects avoids the whole question.
321
+ */
322
+ export const LIKE_ESCAPE_CHARACTER = '~';
323
+ /**
324
+ * Escapes the LIKE metacharacters of a value that is going to be embedded in a
325
+ * pattern, so a role literally named `admin_1` does not also match `adminX1`.
326
+ */
327
+ export function escapeLikeValue(value) {
328
+ return value.replace(new RegExp(`[${LIKE_ESCAPE_CHARACTER}%_]`, 'g'), (c) => `${LIKE_ESCAPE_CHARACTER}${c}`);
329
+ }
259
330
  let ColumnStatement = class ColumnStatement extends QueryStatement {
260
331
  constructor(column, alias, tableAlias, descriptor) {
261
332
  super(tableAlias);
@@ -1 +1 @@
1
- {"version":3,"file":"statements.js","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statements.js","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,15 @@
4
4
  export declare const MODEL_DESCTRIPTION_SYMBOL: unique symbol;
5
5
  export declare const MIGRATION_DESCRIPTION_SYMBOL: unique symbol;
6
6
  export declare const SCHEMA_SYMBOL: unique symbol;
7
+ /**
8
+ * A migration class name carries its own creation timestamp - `SomeName_yyyy_MM_dd_HH_mm_ss` -
9
+ * and that timestamp is the only ordering the runner has.
10
+ *
11
+ * Lives here rather than in `migration-runner.ts` ( which re-exports it for its existing public
12
+ * import path ) because this module is a leaf with zero relative imports. `migration-runner.ts`
13
+ * sits in a require cycle with `orm.ts`, reaching it through `migration-service.js`, `driver.js`
14
+ * and onwards, while `migration-environment.ts` ( which also needs this regexp ) is itself
15
+ * required BY `orm.ts`. Importing it from the runner would close that cycle one hop earlier.
16
+ */
17
+ export declare const MIGRATION_FILE_REGEXP: RegExp;
7
18
  //# sourceMappingURL=symbols.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/symbols.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,yBAAyB,eAAiC,CAAC;AACxE,eAAO,MAAM,4BAA4B,eAAqC,CAAC;AAC/E,eAAO,MAAM,aAAa,eAAkC,CAAC"}
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/symbols.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,yBAAyB,eAAiC,CAAC;AACxE,eAAO,MAAM,4BAA4B,eAAqC,CAAC;AAC/E,eAAO,MAAM,aAAa,eAAkC,CAAC;AAE7D;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,QAAiE,CAAC"}
@@ -4,4 +4,15 @@
4
4
  export const MODEL_DESCTRIPTION_SYMBOL = Symbol.for('MODEL_DESCRIPTOR');
5
5
  export const MIGRATION_DESCRIPTION_SYMBOL = Symbol.for('MIGRATION_DESCRIPTOR');
6
6
  export const SCHEMA_SYMBOL = Symbol.for('ORM_SCHEMA_SYMBOL');
7
+ /**
8
+ * A migration class name carries its own creation timestamp - `SomeName_yyyy_MM_dd_HH_mm_ss` -
9
+ * and that timestamp is the only ordering the runner has.
10
+ *
11
+ * Lives here rather than in `migration-runner.ts` ( which re-exports it for its existing public
12
+ * import path ) because this module is a leaf with zero relative imports. `migration-runner.ts`
13
+ * sits in a require cycle with `orm.ts`, reaching it through `migration-service.js`, `driver.js`
14
+ * and onwards, while `migration-environment.ts` ( which also needs this regexp ) is itself
15
+ * required BY `orm.ts`. Importing it from the runner would close that cycle one hop earlier.
16
+ */
17
+ export const MIGRATION_FILE_REGEXP = /(.*)_([0-9]{4}_[0-9]{2}_[0-9]{2}_[0-9]{2}_[0-9]{2}_[0-9]{2})/;
7
18
  //# sourceMappingURL=symbols.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/symbols.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/symbols.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAE7D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,8DAA8D,CAAC"}