@deterministic-code/datasources 0.1.0 → 0.1.2

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 (715) hide show
  1. package/dist/ArrayReader.d.ts +12 -0
  2. package/dist/ArrayReader.js +27 -0
  3. package/dist/BatchCommandIBulkWriteStrategy.d.ts +33 -0
  4. package/dist/BatchCommandIBulkWriteStrategy.js +150 -0
  5. package/dist/BuiltRepository.d.ts +16 -0
  6. package/dist/BuiltRepository.js +1 -0
  7. package/dist/BulkCRUDRepository.d.ts +17 -0
  8. package/dist/BulkCRUDRepository.js +48 -0
  9. package/dist/BulkCommand.d.ts +5 -0
  10. package/dist/BulkCommand.js +1 -0
  11. package/dist/BulkWriteEnrichment.d.ts +4 -0
  12. package/dist/BulkWriteEnrichment.js +11 -0
  13. package/dist/CRUDRepository.d.ts +40 -0
  14. package/dist/CRUDRepository.js +182 -0
  15. package/dist/CRUDRepositoryBuilder.d.ts +19 -0
  16. package/dist/CRUDRepositoryBuilder.js +30 -0
  17. package/{src/CRUDRepositoryOptions.ts → dist/CRUDRepositoryOptions.d.ts} +5 -6
  18. package/dist/CRUDRepositoryOptions.js +1 -0
  19. package/dist/CRUDRepositoryStatements.d.ts +17 -0
  20. package/dist/CRUDRepositoryStatements.js +19 -0
  21. package/dist/CascadeDeleteEnrichmentStrategy.d.ts +7 -0
  22. package/dist/CascadeDeleteEnrichmentStrategy.js +28 -0
  23. package/dist/CascadeDeleteUpdateEnrichmentStrategy.d.ts +8 -0
  24. package/dist/CascadeDeleteUpdateEnrichmentStrategy.js +25 -0
  25. package/dist/CommandMiddlewareHost.d.ts +22 -0
  26. package/dist/CommandMiddlewareHost.js +73 -0
  27. package/dist/ConsoleCommandMiddleware.d.ts +14 -0
  28. package/dist/ConsoleCommandMiddleware.js +45 -0
  29. package/dist/CreateEnrichmentStrategy.d.ts +14 -0
  30. package/dist/CreateEnrichmentStrategy.js +64 -0
  31. package/dist/Datasource.d.ts +30 -0
  32. package/dist/Datasource.js +98 -0
  33. package/dist/DatasourceError.d.ts +3 -0
  34. package/dist/DatasourceError.js +6 -0
  35. package/dist/DatasourceFactory.d.ts +12 -0
  36. package/dist/DatasourceFactory.js +76 -0
  37. package/dist/DatasourceOptions.js +1 -0
  38. package/dist/DatasourceUrl.d.ts +12 -0
  39. package/dist/DatasourceUrl.js +28 -0
  40. package/dist/DatasourceUrlParser.d.ts +4 -0
  41. package/dist/DatasourceUrlParser.js +168 -0
  42. package/dist/DefaultCreateEnrichmentStrategy.d.ts +7 -0
  43. package/dist/DefaultCreateEnrichmentStrategy.js +18 -0
  44. package/dist/DefaultReadonlyEnrichmentStrategy.d.ts +19 -0
  45. package/dist/DefaultReadonlyEnrichmentStrategy.js +107 -0
  46. package/dist/DefaultUpdateEnrichmentStrategy.d.ts +7 -0
  47. package/dist/DefaultUpdateEnrichmentStrategy.js +41 -0
  48. package/dist/DefaultWriteEnrichmentStrategy.d.ts +21 -0
  49. package/dist/DefaultWriteEnrichmentStrategy.js +135 -0
  50. package/dist/DeleteEnrichmentStrategy.d.ts +11 -0
  51. package/dist/DeleteEnrichmentStrategy.js +28 -0
  52. package/dist/DriverLoader.d.ts +5 -0
  53. package/dist/DriverLoader.js +87 -0
  54. package/dist/Enrichment.d.ts +13 -0
  55. package/dist/Enrichment.js +1 -0
  56. package/dist/EnrichmentPropertyType.d.ts +7 -0
  57. package/dist/EnrichmentPropertyType.js +6 -0
  58. package/dist/ExpectConsoleMiddleware.d.ts +15 -0
  59. package/dist/ExpectConsoleMiddleware.js +30 -0
  60. package/dist/FirstResultReader.d.ts +19 -0
  61. package/dist/FirstResultReader.js +43 -0
  62. package/dist/HashsetOptimizedReadonlyEnrichmentStrategy.d.ts +9 -0
  63. package/dist/HashsetOptimizedReadonlyEnrichmentStrategy.js +58 -0
  64. package/dist/IBulkWriteStrategy.d.ts +12 -0
  65. package/dist/IBulkWriteStrategy.js +1 -0
  66. package/dist/ICRUDRepository.d.ts +12 -0
  67. package/dist/ICRUDRepository.js +1 -0
  68. package/dist/ICRUDRepositoryFactory.d.ts +7 -0
  69. package/dist/ICRUDRepositoryFactory.js +1 -0
  70. package/dist/ICommand.d.ts +20 -0
  71. package/dist/ICommand.js +6 -0
  72. package/dist/ICommandMiddleware.d.ts +12 -0
  73. package/dist/ICommandMiddleware.js +1 -0
  74. package/dist/IConnection.d.ts +12 -0
  75. package/dist/IConnection.js +1 -0
  76. package/dist/IDatasource.d.ts +18 -0
  77. package/dist/IDatasource.js +1 -0
  78. package/dist/IDatasourceFactory.d.ts +5 -0
  79. package/dist/IDatasourceFactory.js +1 -0
  80. package/dist/IDriver.d.ts +23 -0
  81. package/dist/IDriver.js +1 -0
  82. package/dist/IEnriched.d.ts +6 -0
  83. package/dist/IEnriched.js +1 -0
  84. package/dist/IReader.d.ts +8 -0
  85. package/dist/IReader.js +1 -0
  86. package/dist/IReadonlyEnrichmentStrategy.d.ts +7 -0
  87. package/dist/IReadonlyEnrichmentStrategy.js +1 -0
  88. package/dist/IReadonlyRepository.d.ts +11 -0
  89. package/dist/IReadonlyRepository.js +1 -0
  90. package/dist/IRepository.d.ts +4 -0
  91. package/dist/IRepository.js +1 -0
  92. package/dist/IRepositoryFactory.d.ts +7 -0
  93. package/dist/IRepositoryFactory.js +1 -0
  94. package/{src/IRepositoryTree.ts → dist/IRepositoryTree.d.ts} +2 -3
  95. package/dist/IRepositoryTree.js +1 -0
  96. package/dist/IRepositoryTreeNode.d.ts +7 -0
  97. package/dist/IRepositoryTreeNode.js +1 -0
  98. package/dist/ITransaction.d.ts +8 -0
  99. package/dist/ITransaction.js +1 -0
  100. package/dist/IUnitOfWork.d.ts +5 -0
  101. package/dist/IUnitOfWork.js +1 -0
  102. package/dist/IWriteEnrichmentStrategy.d.ts +7 -0
  103. package/dist/IWriteEnrichmentStrategy.js +1 -0
  104. package/dist/Information.d.ts +5 -0
  105. package/dist/Information.js +1 -0
  106. package/dist/IsolationLevel.d.ts +7 -0
  107. package/dist/IsolationLevel.js +6 -0
  108. package/dist/LazyWriteEnrichmentStrategy.d.ts +4 -0
  109. package/dist/LazyWriteEnrichmentStrategy.js +4 -0
  110. package/dist/NestedToObjectEnrichmentStrategy.d.ts +10 -0
  111. package/dist/NestedToObjectEnrichmentStrategy.js +20 -0
  112. package/dist/Parameter.d.ts +7 -0
  113. package/dist/Parameter.js +1 -0
  114. package/dist/ParameterDirection.d.ts +7 -0
  115. package/dist/ParameterDirection.js +6 -0
  116. package/dist/ProviderCatalog.d.ts +7 -0
  117. package/dist/ProviderCatalog.js +23 -0
  118. package/dist/ProviderNotImplementedError.d.ts +4 -0
  119. package/dist/ProviderNotImplementedError.js +8 -0
  120. package/dist/ProviderNotInstalledError.d.ts +4 -0
  121. package/dist/ProviderNotInstalledError.js +8 -0
  122. package/dist/ReadonlyRepository.d.ts +59 -0
  123. package/dist/ReadonlyRepository.js +150 -0
  124. package/dist/ReadonlyRepositoryBuilder.d.ts +12 -0
  125. package/dist/ReadonlyRepositoryBuilder.js +43 -0
  126. package/dist/ReadonlyRepositoryMappingOptions.d.ts +14 -0
  127. package/dist/ReadonlyRepositoryMappingOptions.js +1 -0
  128. package/dist/ReadonlyRepositoryStatements.d.ts +8 -0
  129. package/dist/ReadonlyRepositoryStatements.js +10 -0
  130. package/dist/RepositoryAccess.d.ts +11 -0
  131. package/dist/RepositoryAccess.js +12 -0
  132. package/dist/RepositoryFactory.d.ts +23 -0
  133. package/dist/RepositoryFactory.js +71 -0
  134. package/dist/RepositoryNotRegisteredError.d.ts +4 -0
  135. package/dist/RepositoryNotRegisteredError.js +8 -0
  136. package/dist/RepositoryTree.d.ts +6 -0
  137. package/dist/RepositoryTree.js +6 -0
  138. package/dist/RepositoryTreeNode.d.ts +9 -0
  139. package/dist/RepositoryTreeNode.js +12 -0
  140. package/dist/Response.d.ts +7 -0
  141. package/dist/Response.js +13 -0
  142. package/dist/Row.d.ts +2 -0
  143. package/dist/Row.js +1 -0
  144. package/dist/SingleCommandIBulkWriteStrategy.d.ts +11 -0
  145. package/dist/SingleCommandIBulkWriteStrategy.js +21 -0
  146. package/dist/StatementMappers.d.ts +16 -0
  147. package/dist/StatementMappers.js +88 -0
  148. package/dist/StoredEnrichment.d.ts +11 -0
  149. package/dist/StoredEnrichment.js +12 -0
  150. package/dist/StoredProcedureBulkWriteStrategy.d.ts +27 -0
  151. package/dist/StoredProcedureBulkWriteStrategy.js +143 -0
  152. package/dist/StreamingReader.d.ts +16 -0
  153. package/dist/StreamingReader.js +53 -0
  154. package/dist/UnitOfWorkTransaction.d.ts +12 -0
  155. package/dist/UnitOfWorkTransaction.js +51 -0
  156. package/dist/UpdateEnrichmentStrategy.d.ts +18 -0
  157. package/dist/UpdateEnrichmentStrategy.js +61 -0
  158. package/dist/WriteMode.js +1 -0
  159. package/dist/builders/Field.d.ts +5 -0
  160. package/dist/builders/Field.js +1 -0
  161. package/dist/builders/Scalar.js +1 -0
  162. package/dist/builders/index.d.ts +2 -0
  163. package/dist/builders/index.js +1 -0
  164. package/dist/collectAsync.d.ts +1 -0
  165. package/dist/collectAsync.js +7 -0
  166. package/dist/converters/Cell.d.ts +2 -0
  167. package/dist/converters/Cell.js +1 -0
  168. package/dist/converters/ChangeCasingConverter.d.ts +7 -0
  169. package/dist/converters/ChangeCasingConverter.js +46 -0
  170. package/dist/converters/Constructable.js +1 -0
  171. package/dist/converters/DefaultValueConverter.d.ts +25 -0
  172. package/dist/converters/DefaultValueConverter.js +183 -0
  173. package/dist/converters/DefaultValueOptions.d.ts +9 -0
  174. package/dist/converters/DefaultValueOptions.js +1 -0
  175. package/dist/converters/DeterministicTypeConverter.d.ts +11 -0
  176. package/dist/converters/DeterministicTypeConverter.js +74 -0
  177. package/dist/converters/IMapping.d.ts +4 -0
  178. package/dist/converters/IMapping.js +1 -0
  179. package/dist/converters/MetaDataRowTypeConverter.d.ts +14 -0
  180. package/dist/converters/MetaDataRowTypeConverter.js +71 -0
  181. package/dist/converters/PluralizerConverter.d.ts +4 -0
  182. package/dist/converters/PluralizerConverter.js +54 -0
  183. package/dist/converters/RegexConverter.d.ts +7 -0
  184. package/dist/converters/RegexConverter.js +12 -0
  185. package/dist/converters/ReplaceConverter.d.ts +7 -0
  186. package/dist/converters/ReplaceConverter.js +10 -0
  187. package/dist/converters/RowTypeConverter.d.ts +10 -0
  188. package/dist/converters/RowTypeConverter.js +25 -0
  189. package/dist/converters/SpecField.d.ts +7 -0
  190. package/dist/converters/SpecField.js +1 -0
  191. package/dist/converters/SpecFieldRules.d.ts +17 -0
  192. package/dist/converters/SpecFieldRules.js +1 -0
  193. package/dist/converters/ToLowerCaseConverter.d.ts +4 -0
  194. package/dist/converters/ToLowerCaseConverter.js +4 -0
  195. package/dist/converters/ToUpperCaseConverter.d.ts +4 -0
  196. package/dist/converters/ToUpperCaseConverter.js +4 -0
  197. package/dist/converters/TypeConverter.d.ts +5 -0
  198. package/dist/converters/TypeConverter.js +2 -0
  199. package/dist/createCRUDRepositoryOptions.d.ts +7 -0
  200. package/dist/createCRUDRepositoryOptions.js +7 -0
  201. package/dist/createReadonlyRepositoryMappingOptions.d.ts +6 -0
  202. package/dist/createReadonlyRepositoryMappingOptions.js +16 -0
  203. package/dist/dotEnv.d.ts +5 -0
  204. package/dist/dotEnv.js +9 -0
  205. package/dist/index.d.ts +126 -0
  206. package/dist/index.js +83 -0
  207. package/dist/mappers/ChangeCasingMapper.d.ts +9 -0
  208. package/dist/mappers/ChangeCasingMapper.js +11 -0
  209. package/dist/mappers/DictionaryMapper.d.ts +8 -0
  210. package/dist/mappers/DictionaryMapper.js +13 -0
  211. package/dist/mappers/FlatToNestedMapper.d.ts +20 -0
  212. package/dist/mappers/FlatToNestedMapper.js +105 -0
  213. package/dist/mappers/IFlatToNestedMapper.d.ts +6 -0
  214. package/dist/mappers/IFlatToNestedMapper.js +1 -0
  215. package/dist/mappers/IMapper.d.ts +4 -0
  216. package/dist/mappers/IMapper.js +1 -0
  217. package/dist/mappers/IdentityMapper.d.ts +5 -0
  218. package/dist/mappers/IdentityMapper.js +4 -0
  219. package/dist/mappers/PluralizerMapper.d.ts +6 -0
  220. package/dist/mappers/PluralizerMapper.js +6 -0
  221. package/dist/mappers/RowTypeMapper.d.ts +6 -0
  222. package/dist/mappers/RowTypeMapper.js +7 -0
  223. package/dist/mappers/TransformConverterMapper.d.ts +5 -0
  224. package/dist/mappers/TransformConverterMapper.js +6 -0
  225. package/dist/mappers/TransformMapper.d.ts +6 -0
  226. package/dist/mappers/TransformMapper.js +8 -0
  227. package/dist/mappers/TypeMap.d.ts +8 -0
  228. package/dist/mappers/TypeMap.js +1 -0
  229. package/dist/mappers/TypeMapGroup.d.ts +5 -0
  230. package/dist/mappers/TypeMapGroup.js +1 -0
  231. package/dist/mocks/index.d.ts +9 -0
  232. package/dist/mocks/index.js +9 -0
  233. package/dist/mocks/mock-command.d.ts +28 -0
  234. package/dist/mocks/mock-command.js +42 -0
  235. package/dist/mocks/mock-connection.d.ts +22 -0
  236. package/dist/mocks/mock-connection.js +48 -0
  237. package/dist/mocks/mock-datasource.d.ts +24 -0
  238. package/dist/mocks/mock-datasource.js +44 -0
  239. package/dist/mocks/mock-driver.d.ts +15 -0
  240. package/dist/mocks/mock-driver.js +15 -0
  241. package/dist/mocks/mock-reader.d.ts +14 -0
  242. package/dist/mocks/mock-reader.js +33 -0
  243. package/dist/mocks/mock-repository.d.ts +42 -0
  244. package/dist/mocks/mock-repository.js +61 -0
  245. package/dist/mocks/mock-select-statement.d.ts +10 -0
  246. package/dist/mocks/mock-select-statement.js +13 -0
  247. package/dist/mocks/mock-transaction.d.ts +16 -0
  248. package/dist/mocks/mock-transaction.js +28 -0
  249. package/dist/mocks/mock-where.d.ts +8 -0
  250. package/dist/mocks/mock-where.js +11 -0
  251. package/dist/parametersToRecord.d.ts +2 -0
  252. package/dist/parametersToRecord.js +9 -0
  253. package/dist/readerToAsyncIterable.d.ts +2 -0
  254. package/dist/readerToAsyncIterable.js +7 -0
  255. package/dist/splitStatements.d.ts +1 -0
  256. package/dist/splitStatements.js +106 -0
  257. package/dist/statementParameters.d.ts +1 -0
  258. package/dist/statementParameters.js +25 -0
  259. package/dist/statementUsesParameter.d.ts +1 -0
  260. package/dist/statementUsesParameter.js +2 -0
  261. package/dist/statements/Aggregate.d.ts +6 -0
  262. package/dist/statements/Aggregate.js +7 -0
  263. package/dist/statements/AlterTableStatement.d.ts +33 -0
  264. package/dist/statements/AlterTableStatement.js +9 -0
  265. package/dist/statements/AlterTableStatementTextRenderer.d.ts +9 -0
  266. package/dist/statements/AlterTableStatementTextRenderer.js +33 -0
  267. package/dist/statements/ArrayExpression.d.ts +5 -0
  268. package/dist/statements/ArrayExpression.js +6 -0
  269. package/dist/statements/BulkDeleteStatement.d.ts +11 -0
  270. package/dist/statements/BulkDeleteStatement.js +15 -0
  271. package/dist/statements/BulkDeleteStatementTextRenderer.d.ts +4 -0
  272. package/dist/statements/BulkDeleteStatementTextRenderer.js +15 -0
  273. package/dist/statements/BulkInsertStatement.d.ts +12 -0
  274. package/dist/statements/BulkInsertStatement.js +29 -0
  275. package/dist/statements/BulkInsertStatementTextRenderer.d.ts +4 -0
  276. package/dist/statements/BulkInsertStatementTextRenderer.js +6 -0
  277. package/dist/statements/BulkUpdateStatement.d.ts +16 -0
  278. package/dist/statements/BulkUpdateStatement.js +17 -0
  279. package/dist/statements/BulkUpdateStatementTextRenderer.d.ts +8 -0
  280. package/dist/statements/BulkUpdateStatementTextRenderer.js +20 -0
  281. package/dist/statements/CheckConstraint.d.ts +7 -0
  282. package/dist/statements/CheckConstraint.js +9 -0
  283. package/dist/statements/Cmp.d.ts +9 -0
  284. package/dist/statements/Cmp.js +7 -0
  285. package/dist/statements/Column.d.ts +9 -0
  286. package/dist/statements/Column.js +1 -0
  287. package/dist/statements/ColumnDefault.d.ts +5 -0
  288. package/dist/statements/ColumnDefault.js +8 -0
  289. package/dist/statements/Condition.d.ts +3 -0
  290. package/dist/statements/Condition.js +2 -0
  291. package/dist/statements/ConditionRenderer.d.ts +12 -0
  292. package/dist/statements/ConditionRenderer.js +11 -0
  293. package/dist/statements/CreateBulkCreateStoredProcedureStatement.d.ts +13 -0
  294. package/dist/statements/CreateBulkCreateStoredProcedureStatement.js +17 -0
  295. package/dist/statements/CreateBulkCreateStoredProcedureStatementTextRenderer.d.ts +4 -0
  296. package/dist/statements/CreateBulkCreateStoredProcedureStatementTextRenderer.js +5 -0
  297. package/dist/statements/CreateBulkDeleteStoredProcedureStatement.d.ts +13 -0
  298. package/dist/statements/CreateBulkDeleteStoredProcedureStatement.js +17 -0
  299. package/dist/statements/CreateBulkDeleteStoredProcedureStatementTextRenderer.d.ts +4 -0
  300. package/dist/statements/CreateBulkDeleteStoredProcedureStatementTextRenderer.js +5 -0
  301. package/dist/statements/CreateBulkUpdateStoredProcedureStatement.d.ts +13 -0
  302. package/dist/statements/CreateBulkUpdateStoredProcedureStatement.js +17 -0
  303. package/dist/statements/CreateBulkUpdateStoredProcedureStatementTextRenderer.d.ts +4 -0
  304. package/dist/statements/CreateBulkUpdateStoredProcedureStatementTextRenderer.js +5 -0
  305. package/dist/statements/CreateCreateStoredProcedureStatement.d.ts +16 -0
  306. package/dist/statements/CreateCreateStoredProcedureStatement.js +23 -0
  307. package/dist/statements/CreateCreateStoredProcedureStatementTextRenderer.d.ts +4 -0
  308. package/dist/statements/CreateCreateStoredProcedureStatementTextRenderer.js +5 -0
  309. package/dist/statements/CreateDeleteStoredProcedureStatement.d.ts +17 -0
  310. package/dist/statements/CreateDeleteStoredProcedureStatement.js +25 -0
  311. package/dist/statements/CreateDeleteStoredProcedureStatementTextRenderer.d.ts +4 -0
  312. package/dist/statements/CreateDeleteStoredProcedureStatementTextRenderer.js +5 -0
  313. package/dist/statements/CreateIndexStatement.d.ts +10 -0
  314. package/dist/statements/CreateIndexStatement.js +13 -0
  315. package/dist/statements/CreateIndexStatementTextRenderer.d.ts +5 -0
  316. package/dist/statements/CreateIndexStatementTextRenderer.js +8 -0
  317. package/dist/statements/CreateReadStoredProcedureStatement.d.ts +17 -0
  318. package/dist/statements/CreateReadStoredProcedureStatement.js +25 -0
  319. package/dist/statements/CreateReadStoredProcedureStatementTextRenderer.d.ts +4 -0
  320. package/dist/statements/CreateReadStoredProcedureStatementTextRenderer.js +5 -0
  321. package/dist/statements/CreateRoutineStatement.d.ts +22 -0
  322. package/dist/statements/CreateRoutineStatementTextRenderer.d.ts +4 -0
  323. package/dist/statements/CreateTableStatement.d.ts +11 -0
  324. package/dist/statements/CreateTableStatement.js +11 -0
  325. package/dist/statements/CreateTableStatementTextRenderer.d.ts +18 -0
  326. package/dist/statements/CreateTableStatementTextRenderer.js +65 -0
  327. package/dist/statements/CreateTriggerStatement.d.ts +11 -0
  328. package/dist/statements/CreateTriggerStatement.js +15 -0
  329. package/dist/statements/CreateTriggerStatementTextRenderer.d.ts +4 -0
  330. package/dist/statements/CreateTriggerStatementTextRenderer.js +5 -0
  331. package/dist/statements/CreateUpdateStoredProcedureStatement.d.ts +17 -0
  332. package/dist/statements/CreateUpdateStoredProcedureStatement.js +25 -0
  333. package/dist/statements/CreateUpdateStoredProcedureStatementTextRenderer.d.ts +4 -0
  334. package/dist/statements/CreateUpdateStoredProcedureStatementTextRenderer.js +5 -0
  335. package/dist/statements/DefaultStatementTextRenderer.d.ts +5 -0
  336. package/dist/statements/DefaultStatementTextRenderer.js +7 -0
  337. package/dist/statements/DeleteStatement.d.ts +9 -0
  338. package/dist/statements/DeleteStatement.js +9 -0
  339. package/dist/statements/DeleteStatementTextRenderer.d.ts +7 -0
  340. package/dist/statements/DeleteStatementTextRenderer.js +11 -0
  341. package/dist/statements/DropIndexStatement.d.ts +8 -0
  342. package/dist/statements/DropIndexStatement.js +9 -0
  343. package/dist/statements/DropIndexStatementTextRenderer.d.ts +5 -0
  344. package/dist/statements/DropIndexStatementTextRenderer.js +8 -0
  345. package/dist/statements/DropRoutineStatement.d.ts +7 -0
  346. package/dist/statements/DropRoutineStatement.js +7 -0
  347. package/dist/statements/DropRoutineStatementTextRenderer.d.ts +4 -0
  348. package/dist/statements/DropRoutineStatementTextRenderer.js +5 -0
  349. package/dist/statements/DropTableStatement.d.ts +7 -0
  350. package/dist/statements/DropTableStatement.js +7 -0
  351. package/dist/statements/DropTableStatementTextRenderer.d.ts +5 -0
  352. package/dist/statements/DropTableStatementTextRenderer.js +8 -0
  353. package/dist/statements/DropTriggerStatement.d.ts +8 -0
  354. package/dist/statements/DropTriggerStatement.js +9 -0
  355. package/dist/statements/DropTriggerStatementTextRenderer.d.ts +5 -0
  356. package/dist/statements/DropTriggerStatementTextRenderer.js +8 -0
  357. package/dist/statements/ExecuteStoredProcedureStatement.d.ts +9 -0
  358. package/dist/statements/ExecuteStoredProcedureStatement.js +9 -0
  359. package/dist/statements/ExecuteStoredProcedureStatementTextRenderer.d.ts +4 -0
  360. package/dist/statements/ExecuteStoredProcedureStatementTextRenderer.js +10 -0
  361. package/dist/statements/ExpressionEvaluator.d.ts +5 -0
  362. package/dist/statements/ExpressionEvaluator.js +122 -0
  363. package/dist/statements/ExpressionRenderer.d.ts +8 -0
  364. package/dist/statements/ExpressionRenderer.js +141 -0
  365. package/dist/statements/ForeignKey.d.ts +19 -0
  366. package/dist/statements/ForeignKey.js +24 -0
  367. package/dist/statements/IAlterTableStatement.d.ts +3 -0
  368. package/dist/statements/IAlterTableStatement.js +1 -0
  369. package/dist/statements/IBulkDeleteStatement.d.ts +3 -0
  370. package/dist/statements/IBulkDeleteStatement.js +1 -0
  371. package/dist/statements/IBulkInsertStatement.d.ts +3 -0
  372. package/dist/statements/IBulkInsertStatement.js +1 -0
  373. package/dist/statements/IBulkUpdateStatement.d.ts +3 -0
  374. package/dist/statements/IBulkUpdateStatement.js +1 -0
  375. package/dist/statements/ICondition.d.ts +4 -0
  376. package/dist/statements/ICondition.js +1 -0
  377. package/dist/statements/IConditionVisitor.d.ts +6 -0
  378. package/dist/statements/IConditionVisitor.js +1 -0
  379. package/dist/statements/ICreateBulkCreateStoredProcedureStatement.d.ts +3 -0
  380. package/dist/statements/ICreateBulkCreateStoredProcedureStatement.js +1 -0
  381. package/dist/statements/ICreateBulkDeleteStoredProcedureStatement.d.ts +3 -0
  382. package/dist/statements/ICreateBulkDeleteStoredProcedureStatement.js +1 -0
  383. package/dist/statements/ICreateBulkUpdateStoredProcedureStatement.d.ts +3 -0
  384. package/dist/statements/ICreateBulkUpdateStoredProcedureStatement.js +1 -0
  385. package/dist/statements/ICreateCreateStoredProcedureStatement.d.ts +3 -0
  386. package/dist/statements/ICreateCreateStoredProcedureStatement.js +1 -0
  387. package/dist/statements/ICreateDeleteStoredProcedureStatement.d.ts +3 -0
  388. package/dist/statements/ICreateDeleteStoredProcedureStatement.js +1 -0
  389. package/dist/statements/ICreateIndexStatement.d.ts +3 -0
  390. package/dist/statements/ICreateIndexStatement.js +1 -0
  391. package/dist/statements/ICreateReadStoredProcedureStatement.d.ts +3 -0
  392. package/dist/statements/ICreateReadStoredProcedureStatement.js +1 -0
  393. package/dist/statements/ICreateRoutineStatement.d.ts +3 -0
  394. package/dist/statements/ICreateTableStatement.d.ts +3 -0
  395. package/dist/statements/ICreateTableStatement.js +1 -0
  396. package/dist/statements/ICreateTriggerStatement.d.ts +3 -0
  397. package/dist/statements/ICreateTriggerStatement.js +1 -0
  398. package/dist/statements/ICreateUpdateStoredProcedureStatement.d.ts +3 -0
  399. package/dist/statements/ICreateUpdateStoredProcedureStatement.js +1 -0
  400. package/dist/statements/IDeleteStatement.d.ts +5 -0
  401. package/dist/statements/IDeleteStatement.js +1 -0
  402. package/dist/statements/IDropIndexStatement.d.ts +3 -0
  403. package/dist/statements/IDropIndexStatement.js +1 -0
  404. package/dist/statements/IDropRoutineStatement.d.ts +3 -0
  405. package/dist/statements/IDropRoutineStatement.js +1 -0
  406. package/dist/statements/IDropTableStatement.d.ts +3 -0
  407. package/dist/statements/IDropTableStatement.js +1 -0
  408. package/dist/statements/IDropTriggerStatement.d.ts +3 -0
  409. package/dist/statements/IDropTriggerStatement.js +1 -0
  410. package/{src/statements/IExecuteStoredProcedureStatement.ts → dist/statements/IExecuteStoredProcedureStatement.d.ts} +3 -3
  411. package/dist/statements/IExecuteStoredProcedureStatement.js +1 -0
  412. package/dist/statements/IExpression.d.ts +2 -0
  413. package/dist/statements/IExpression.js +1 -0
  414. package/dist/statements/IIdentityInsertStatement.d.ts +3 -0
  415. package/dist/statements/IIdentityInsertStatement.js +1 -0
  416. package/dist/statements/IInsertStatement.d.ts +3 -0
  417. package/dist/statements/IInsertStatement.js +1 -0
  418. package/dist/statements/IReturnStatement.d.ts +3 -0
  419. package/dist/statements/IReturnStatement.js +1 -0
  420. package/dist/statements/ISelectStatement.d.ts +5 -0
  421. package/dist/statements/ISelectStatement.js +1 -0
  422. package/dist/statements/IStatement.d.ts +4 -0
  423. package/dist/statements/IStatement.js +1 -0
  424. package/dist/statements/IStatementVisitor.d.ts +54 -0
  425. package/dist/statements/IStatementVisitor.js +1 -0
  426. package/{src/statements/ITableConstraint.ts → dist/statements/ITableConstraint.d.ts} +2 -3
  427. package/dist/statements/ITableConstraint.js +1 -0
  428. package/dist/statements/IUpdateStatement.d.ts +5 -0
  429. package/dist/statements/IUpdateStatement.js +1 -0
  430. package/dist/statements/IWhere.d.ts +6 -0
  431. package/dist/statements/IWhere.js +1 -0
  432. package/dist/statements/Identifier.d.ts +5 -0
  433. package/dist/statements/Identifier.js +6 -0
  434. package/dist/statements/IdentityInsertStatement.d.ts +11 -0
  435. package/dist/statements/IdentityInsertStatement.js +13 -0
  436. package/dist/statements/IdentityInsertStatementTextRenderer.d.ts +6 -0
  437. package/dist/statements/IdentityInsertStatementTextRenderer.js +8 -0
  438. package/dist/statements/InsertStatement.d.ts +9 -0
  439. package/dist/statements/InsertStatement.js +9 -0
  440. package/dist/statements/InsertStatementTextRenderer.d.ts +4 -0
  441. package/dist/statements/InsertStatementTextRenderer.js +5 -0
  442. package/dist/statements/Join.d.ts +14 -0
  443. package/dist/statements/Join.js +10 -0
  444. package/dist/statements/Literal.d.ts +6 -0
  445. package/dist/statements/Literal.js +6 -0
  446. package/dist/statements/Native.d.ts +5 -0
  447. package/dist/statements/Native.js +7 -0
  448. package/dist/statements/NotNull.d.ts +4 -0
  449. package/dist/statements/NotNull.js +6 -0
  450. package/dist/statements/Operator.d.ts +107 -0
  451. package/dist/statements/Operator.js +207 -0
  452. package/dist/statements/OrderBy.d.ts +10 -0
  453. package/dist/statements/OrderBy.js +9 -0
  454. package/dist/statements/PrimaryKey.d.ts +7 -0
  455. package/dist/statements/PrimaryKey.js +9 -0
  456. package/dist/statements/ReturnStatement.d.ts +9 -0
  457. package/dist/statements/ReturnStatement.js +9 -0
  458. package/dist/statements/ReturnStatementTextRenderer.d.ts +4 -0
  459. package/dist/statements/ReturnStatementTextRenderer.js +10 -0
  460. package/dist/statements/RoutineParameter.d.ts +4 -0
  461. package/dist/statements/RoutineParameter.js +1 -0
  462. package/dist/statements/SelectInsertedIdStatement.d.ts +8 -0
  463. package/dist/statements/SelectInsertedIdStatement.js +9 -0
  464. package/dist/statements/SelectInsertedIdStatementTextRenderer.d.ts +4 -0
  465. package/dist/statements/SelectInsertedIdStatementTextRenderer.js +5 -0
  466. package/dist/statements/SelectStatement.d.ts +20 -0
  467. package/dist/statements/SelectStatement.js +25 -0
  468. package/dist/statements/SelectStatementOptions.d.ts +15 -0
  469. package/dist/statements/SelectStatementOptions.js +1 -0
  470. package/dist/statements/SelectStatementTextRenderer.d.ts +19 -0
  471. package/dist/statements/SelectStatementTextRenderer.js +54 -0
  472. package/dist/statements/StatementEvaluator.d.ts +4 -0
  473. package/dist/statements/StatementEvaluator.js +3 -0
  474. package/dist/statements/StatementParser.d.ts +4 -0
  475. package/dist/statements/StatementParser.js +454 -0
  476. package/dist/statements/StatementRenderer.d.ts +84 -0
  477. package/dist/statements/StatementRenderer.js +140 -0
  478. package/dist/statements/StatementTextRenderer.d.ts +14 -0
  479. package/dist/statements/StatementTextRenderer.js +27 -0
  480. package/dist/statements/Subquery.d.ts +6 -0
  481. package/dist/statements/Subquery.js +6 -0
  482. package/dist/statements/UniqueConstraint.d.ts +7 -0
  483. package/dist/statements/UniqueConstraint.js +9 -0
  484. package/dist/statements/UpdateStatement.d.ts +14 -0
  485. package/dist/statements/UpdateStatement.js +19 -0
  486. package/dist/statements/UpdateStatementTextRenderer.d.ts +14 -0
  487. package/dist/statements/UpdateStatementTextRenderer.js +51 -0
  488. package/dist/statements/Where.d.ts +16 -0
  489. package/dist/statements/Where.js +182 -0
  490. package/dist/statements/WhereText.d.ts +8 -0
  491. package/dist/statements/WhereText.js +10 -0
  492. package/dist/statements/index.d.ts +119 -0
  493. package/dist/statements/index.js +79 -0
  494. package/dist/stubs/StubCommand.d.ts +15 -0
  495. package/dist/stubs/StubCommand.js +13 -0
  496. package/dist/stubs/StubConnection.d.ts +13 -0
  497. package/dist/stubs/StubConnection.js +14 -0
  498. package/dist/stubs/StubDatasource.d.ts +20 -0
  499. package/dist/stubs/StubDatasource.js +34 -0
  500. package/dist/stubs/StubReader.d.ts +11 -0
  501. package/dist/stubs/StubReader.js +20 -0
  502. package/dist/stubs/StubRepository.d.ts +22 -0
  503. package/dist/stubs/StubRepository.js +17 -0
  504. package/dist/stubs/StubTransaction.d.ts +10 -0
  505. package/dist/stubs/StubTransaction.js +13 -0
  506. package/dist/stubs/createStubDatasource.d.ts +2 -0
  507. package/dist/stubs/createStubDatasource.js +2 -0
  508. package/dist/stubs/index.d.ts +7 -0
  509. package/dist/stubs/index.js +7 -0
  510. package/dist/stubs/notImplemented.d.ts +1 -0
  511. package/dist/stubs/notImplemented.js +4 -0
  512. package/package.json +15 -8
  513. package/src/ArrayReader.ts +0 -32
  514. package/src/BatchCommandIBulkWriteStrategy.ts +0 -228
  515. package/src/BuiltRepository.ts +0 -17
  516. package/src/BulkCRUDRepository.ts +0 -84
  517. package/src/BulkCommand.ts +0 -6
  518. package/src/BulkWriteEnrichment.ts +0 -19
  519. package/src/CRUDRepository.ts +0 -264
  520. package/src/CRUDRepositoryBuilder.ts +0 -53
  521. package/src/CRUDRepositoryStatements.ts +0 -43
  522. package/src/CascadeDeleteEnrichmentStrategy.ts +0 -51
  523. package/src/CascadeDeleteUpdateEnrichmentStrategy.ts +0 -28
  524. package/src/CommandMiddlewareHost.ts +0 -113
  525. package/src/ConsoleCommandMiddleware.ts +0 -64
  526. package/src/CreateEnrichmentStrategy.ts +0 -82
  527. package/src/Datasource.ts +0 -152
  528. package/src/DatasourceError.ts +0 -6
  529. package/src/DatasourceFactory.ts +0 -86
  530. package/src/DatasourceUrl.ts +0 -37
  531. package/src/DatasourceUrlParser.ts +0 -188
  532. package/src/DefaultCreateEnrichmentStrategy.ts +0 -21
  533. package/src/DefaultReadonlyEnrichmentStrategy.ts +0 -164
  534. package/src/DefaultUpdateEnrichmentStrategy.ts +0 -40
  535. package/src/DefaultWriteEnrichmentStrategy.ts +0 -151
  536. package/src/DeleteEnrichmentStrategy.ts +0 -56
  537. package/src/DriverLoader.ts +0 -97
  538. package/src/Enrichment.ts +0 -15
  539. package/src/EnrichmentPropertyType.ts +0 -9
  540. package/src/ExpectConsoleMiddleware.ts +0 -47
  541. package/src/FirstResultReader.ts +0 -49
  542. package/src/HashsetOptimizedReadonlyEnrichmentStrategy.ts +0 -80
  543. package/src/IBulkWriteStrategy.ts +0 -13
  544. package/src/ICRUDRepository.ts +0 -13
  545. package/src/ICRUDRepositoryFactory.ts +0 -8
  546. package/src/ICommand.ts +0 -45
  547. package/src/ICommandMiddleware.ts +0 -20
  548. package/src/IConnection.ts +0 -13
  549. package/src/IDatasource.ts +0 -27
  550. package/src/IDatasourceFactory.ts +0 -6
  551. package/src/IDriver.ts +0 -24
  552. package/src/IEnriched.ts +0 -11
  553. package/src/IReader.ts +0 -8
  554. package/src/IReadonlyEnrichmentStrategy.ts +0 -19
  555. package/src/IReadonlyRepository.ts +0 -21
  556. package/src/IRepository.ts +0 -5
  557. package/src/IRepositoryFactory.ts +0 -8
  558. package/src/IRepositoryTreeNode.ts +0 -8
  559. package/src/ITransaction.ts +0 -9
  560. package/src/IUnitOfWork.ts +0 -5
  561. package/src/IWriteEnrichmentStrategy.ts +0 -8
  562. package/src/Information.ts +0 -5
  563. package/src/IsolationLevel.ts +0 -8
  564. package/src/LazyWriteEnrichmentStrategy.ts +0 -5
  565. package/src/NestedToObjectEnrichmentStrategy.ts +0 -33
  566. package/src/Parameter.ts +0 -8
  567. package/src/ParameterDirection.ts +0 -9
  568. package/src/ProviderCatalog.ts +0 -21
  569. package/src/ProviderNotImplementedError.ts +0 -9
  570. package/src/ProviderNotInstalledError.ts +0 -9
  571. package/src/ReadonlyRepository.ts +0 -276
  572. package/src/ReadonlyRepositoryBuilder.ts +0 -53
  573. package/src/ReadonlyRepositoryMappingOptions.ts +0 -15
  574. package/src/ReadonlyRepositoryStatements.ts +0 -13
  575. package/src/RepositoryAccess.ts +0 -14
  576. package/src/RepositoryFactory.ts +0 -115
  577. package/src/RepositoryNotRegisteredError.ts +0 -9
  578. package/src/RepositoryTree.ts +0 -6
  579. package/src/RepositoryTreeNode.ts +0 -11
  580. package/src/Response.ts +0 -15
  581. package/src/Row.ts +0 -3
  582. package/src/SingleCommandIBulkWriteStrategy.ts +0 -35
  583. package/src/StatementMappers.ts +0 -110
  584. package/src/StoredEnrichment.ts +0 -25
  585. package/src/StoredProcedureBulkWriteStrategy.ts +0 -164
  586. package/src/StreamingReader.ts +0 -64
  587. package/src/UnitOfWorkTransaction.ts +0 -50
  588. package/src/UpdateEnrichmentStrategy.ts +0 -97
  589. package/src/builders/Field.ts +0 -6
  590. package/src/builders/index.ts +0 -2
  591. package/src/collectAsync.ts +0 -7
  592. package/src/converters/Cell.ts +0 -10
  593. package/src/converters/ChangeCasingConverter.ts +0 -59
  594. package/src/converters/MetaDataRowTypeConverter.ts +0 -80
  595. package/src/converters/PluralizerConverter.ts +0 -67
  596. package/src/converters/RegexConverter.ts +0 -14
  597. package/src/converters/ReplaceConverter.ts +0 -6
  598. package/src/converters/RowTypeConverter.ts +0 -33
  599. package/src/converters/ToLowerCaseConverter.ts +0 -4
  600. package/src/converters/ToUpperCaseConverter.ts +0 -4
  601. package/src/converters/TypeConverter.ts +0 -6
  602. package/src/createCRUDRepositoryOptions.ts +0 -21
  603. package/src/createReadonlyRepositoryMappingOptions.ts +0 -26
  604. package/src/dotEnv.ts +0 -16
  605. package/src/index.ts +0 -222
  606. package/src/mappers/ChangeCasingMapper.ts +0 -15
  607. package/src/mappers/DictionaryMapper.ts +0 -16
  608. package/src/mappers/FlatToNestedMapper.ts +0 -127
  609. package/src/mappers/IFlatToNestedMapper.ts +0 -7
  610. package/src/mappers/IMapper.ts +0 -4
  611. package/src/mappers/IdentityMapper.ts +0 -6
  612. package/src/mappers/PluralizerMapper.ts +0 -9
  613. package/src/mappers/RowTypeMapper.ts +0 -13
  614. package/src/mappers/TransformConverterMapper.ts +0 -11
  615. package/src/mappers/TransformMapper.ts +0 -8
  616. package/src/mappers/TypeMap.ts +0 -10
  617. package/src/mappers/TypeMapGroup.ts +0 -6
  618. package/src/mocks/index.ts +0 -9
  619. package/src/mocks/mock-command.ts +0 -66
  620. package/src/mocks/mock-connection.ts +0 -57
  621. package/src/mocks/mock-datasource.ts +0 -65
  622. package/src/mocks/mock-driver.ts +0 -27
  623. package/src/mocks/mock-reader.ts +0 -38
  624. package/src/mocks/mock-repository.ts +0 -91
  625. package/src/mocks/mock-select-statement.ts +0 -17
  626. package/src/mocks/mock-transaction.ts +0 -31
  627. package/src/mocks/mock-where.ts +0 -13
  628. package/src/parametersToRecord.ts +0 -11
  629. package/src/readerToAsyncIterable.ts +0 -11
  630. package/src/splitStatements.ts +0 -99
  631. package/src/statementParameters.ts +0 -22
  632. package/src/statementUsesParameter.ts +0 -4
  633. package/src/statements/Aggregate.ts +0 -9
  634. package/src/statements/ArrayExpression.ts +0 -5
  635. package/src/statements/BulkDeleteStatement.ts +0 -18
  636. package/src/statements/BulkDeleteStatementTextRenderer.ts +0 -16
  637. package/src/statements/BulkInsertStatement.ts +0 -37
  638. package/src/statements/BulkInsertStatementTextRenderer.ts +0 -10
  639. package/src/statements/BulkUpdateStatement.ts +0 -24
  640. package/src/statements/BulkUpdateStatementTextRenderer.ts +0 -29
  641. package/src/statements/CheckConstraint.ts +0 -9
  642. package/src/statements/Cmp.ts +0 -12
  643. package/src/statements/Column.ts +0 -10
  644. package/src/statements/ColumnDefault.ts +0 -6
  645. package/src/statements/Condition.ts +0 -3
  646. package/src/statements/ConditionRenderer.ts +0 -17
  647. package/src/statements/CreateIndexStatement.ts +0 -18
  648. package/src/statements/CreateIndexStatementTextRenderer.ts +0 -11
  649. package/src/statements/CreateTableStatement.ts +0 -18
  650. package/src/statements/CreateTableStatementTextRenderer.ts +0 -92
  651. package/src/statements/DefaultStatementTextRenderer.ts +0 -9
  652. package/src/statements/DeleteStatement.ts +0 -15
  653. package/src/statements/DeleteStatementTextRenderer.ts +0 -12
  654. package/src/statements/ExecuteStoredProcedureStatement.ts +0 -15
  655. package/src/statements/ExecuteStoredProcedureStatementTextRenderer.ts +0 -15
  656. package/src/statements/ExpressionEvaluator.ts +0 -166
  657. package/src/statements/ExpressionRenderer.ts +0 -161
  658. package/src/statements/ForeignKey.ts +0 -23
  659. package/src/statements/IBulkDeleteStatement.ts +0 -3
  660. package/src/statements/IBulkInsertStatement.ts +0 -3
  661. package/src/statements/IBulkUpdateStatement.ts +0 -3
  662. package/src/statements/ICondition.ts +0 -5
  663. package/src/statements/IConditionVisitor.ts +0 -7
  664. package/src/statements/ICreateIndexStatement.ts +0 -3
  665. package/src/statements/ICreateTableStatement.ts +0 -3
  666. package/src/statements/IDeleteStatement.ts +0 -6
  667. package/src/statements/IExpression.ts +0 -1
  668. package/src/statements/IInsertStatement.ts +0 -3
  669. package/src/statements/IReturnStatement.ts +0 -3
  670. package/src/statements/ISelectStatement.ts +0 -6
  671. package/src/statements/IStatement.ts +0 -5
  672. package/src/statements/IStatementVisitor.ts +0 -27
  673. package/src/statements/IUpdateStatement.ts +0 -6
  674. package/src/statements/IWhere.ts +0 -7
  675. package/src/statements/Identifier.ts +0 -5
  676. package/src/statements/InsertStatement.ts +0 -15
  677. package/src/statements/InsertStatementTextRenderer.ts +0 -7
  678. package/src/statements/Join.ts +0 -26
  679. package/src/statements/Literal.ts +0 -6
  680. package/src/statements/Native.ts +0 -5
  681. package/src/statements/NotNull.ts +0 -3
  682. package/src/statements/Operator.ts +0 -234
  683. package/src/statements/OrderBy.ts +0 -19
  684. package/src/statements/PrimaryKey.ts +0 -9
  685. package/src/statements/ReturnStatement.ts +0 -15
  686. package/src/statements/ReturnStatementTextRenderer.ts +0 -15
  687. package/src/statements/SelectInsertedIdStatement.ts +0 -11
  688. package/src/statements/SelectInsertedIdStatementTextRenderer.ts +0 -7
  689. package/src/statements/SelectStatement.ts +0 -34
  690. package/src/statements/SelectStatementOptions.ts +0 -16
  691. package/src/statements/SelectStatementTextRenderer.ts +0 -71
  692. package/src/statements/StatementEvaluator.ts +0 -5
  693. package/src/statements/StatementParser.ts +0 -461
  694. package/src/statements/StatementRenderer.ts +0 -120
  695. package/src/statements/StatementTextRenderer.ts +0 -60
  696. package/src/statements/Subquery.ts +0 -6
  697. package/src/statements/UniqueConstraint.ts +0 -9
  698. package/src/statements/UpdateStatement.ts +0 -34
  699. package/src/statements/UpdateStatementTextRenderer.ts +0 -63
  700. package/src/statements/Where.ts +0 -250
  701. package/src/statements/WhereText.ts +0 -10
  702. package/src/statements/index.ts +0 -75
  703. package/src/stubs/StubCommand.ts +0 -30
  704. package/src/stubs/StubConnection.ts +0 -21
  705. package/src/stubs/StubDatasource.ts +0 -60
  706. package/src/stubs/StubReader.ts +0 -25
  707. package/src/stubs/StubRepository.ts +0 -42
  708. package/src/stubs/StubTransaction.ts +0 -17
  709. package/src/stubs/createStubDatasource.ts +0 -4
  710. package/src/stubs/index.ts +0 -7
  711. package/src/stubs/notImplemented.ts +0 -5
  712. /package/{src/DatasourceOptions.ts → dist/DatasourceOptions.d.ts} +0 -0
  713. /package/{src/WriteMode.ts → dist/WriteMode.d.ts} +0 -0
  714. /package/{src/builders/Scalar.ts → dist/builders/Scalar.d.ts} +0 -0
  715. /package/{src/converters/Constructable.ts → dist/converters/Constructable.d.ts} +0 -0
@@ -0,0 +1,33 @@
1
+ import { CreateTableStatementTextRenderer } from "./CreateTableStatementTextRenderer.js";
2
+ export class AlterTableStatementTextRenderer extends CreateTableStatementTextRenderer {
3
+ renderAlter(statement) {
4
+ return `ALTER TABLE ${this.quote(statement.table)} ${this.actionSql(statement.action)}`;
5
+ }
6
+ actionSql(action) {
7
+ return ({
8
+ addColumn: (item) => `ADD COLUMN ${this.column(item.column)}`,
9
+ dropColumn: (item) => `DROP COLUMN ${this.quote(item.name)}`,
10
+ alterColumn: (item) => this.alterColumn(item.column),
11
+ renameColumn: (item) => {
12
+ const rename = item;
13
+ return `RENAME COLUMN ${this.quote(rename.from)} TO ${this.quote(rename.to)}`;
14
+ },
15
+ renameTable: (item) => `RENAME TO ${this.quote(item.to)}`,
16
+ addConstraint: (item) => `ADD ${this.constraint(item.constraint)}`,
17
+ dropConstraint: (item) => `DROP CONSTRAINT ${this.quote(item.name)}`,
18
+ }[action.kind] ??
19
+ (() => {
20
+ throw new Error("empty alter");
21
+ }))(action);
22
+ }
23
+ alterColumn(column) {
24
+ return `ALTER COLUMN ${this.quote(column.name)} TYPE ${this.typeName(column)}${this.columnDefault(column)}${this.notNullClause(column)}`;
25
+ }
26
+ notNullClause(column) {
27
+ return column.notNull == null
28
+ ? ""
29
+ : column.notNull.name == null
30
+ ? " NOT NULL"
31
+ : ` CONSTRAINT ${this.quote(column.notNull.name)} NOT NULL`;
32
+ }
33
+ }
@@ -0,0 +1,5 @@
1
+ import type { IExpression } from "./IExpression.js";
2
+ export declare class ArrayExpression implements IExpression {
3
+ readonly elements: IExpression[];
4
+ constructor(elements: IExpression[]);
5
+ }
@@ -0,0 +1,6 @@
1
+ export class ArrayExpression {
2
+ elements;
3
+ constructor(elements) {
4
+ this.elements = elements;
5
+ }
6
+ }
@@ -0,0 +1,11 @@
1
+ import type { Parameter } from "../Parameter.js";
2
+ import type { IBulkDeleteStatement } from "./IBulkDeleteStatement.js";
3
+ import type { IStatementVisitor } from "./IStatementVisitor.js";
4
+ export declare class BulkDeleteStatement implements IBulkDeleteStatement {
5
+ readonly table: string;
6
+ readonly ids: readonly string[];
7
+ readonly rows: readonly Parameter[][];
8
+ constructor(table: string, ids: readonly string[], rows: readonly Parameter[][]);
9
+ accept: (visitor: IStatementVisitor) => string;
10
+ get parameters(): Parameter[];
11
+ }
@@ -0,0 +1,15 @@
1
+ import { flattenBulkParameters } from "./BulkInsertStatement.js";
2
+ export class BulkDeleteStatement {
3
+ table;
4
+ ids;
5
+ rows;
6
+ constructor(table, ids, rows) {
7
+ this.table = table;
8
+ this.ids = ids;
9
+ this.rows = rows;
10
+ }
11
+ accept = (visitor) => visitor.visit(this);
12
+ get parameters() {
13
+ return flattenBulkParameters(this.ids, this.rows);
14
+ }
15
+ }
@@ -0,0 +1,4 @@
1
+ import type { BulkDeleteStatement } from "./BulkDeleteStatement.js";
2
+ export declare class BulkDeleteStatementTextRenderer {
3
+ render: (statement: BulkDeleteStatement) => string;
4
+ }
@@ -0,0 +1,15 @@
1
+ export class BulkDeleteStatementTextRenderer {
2
+ render = (statement) => {
3
+ if (statement.ids.length === 0)
4
+ return `DELETE FROM ${statement.table} WHERE 1 = 1`;
5
+ if (statement.ids.length === 1) {
6
+ const column = statement.ids[0];
7
+ const names = statement.rows.map((_, index) => `$${column}__${index}`).join(", ");
8
+ return `DELETE FROM ${statement.table} WHERE ${column} IN (${names})`;
9
+ }
10
+ const tuples = statement.rows
11
+ .map((_, index) => `(${statement.ids.map((column) => `$${column}__${index}`).join(", ")})`)
12
+ .join(", ");
13
+ return `DELETE FROM ${statement.table} WHERE (${statement.ids.join(", ")}) IN (${tuples})`;
14
+ };
15
+ }
@@ -0,0 +1,12 @@
1
+ import type { Parameter } from "../Parameter.js";
2
+ import type { IBulkInsertStatement } from "./IBulkInsertStatement.js";
3
+ import type { IStatementVisitor } from "./IStatementVisitor.js";
4
+ export declare const flattenBulkParameters: (columns: readonly string[], rows: readonly Parameter[][]) => Parameter[];
5
+ export declare class BulkInsertStatement implements IBulkInsertStatement {
6
+ readonly table: string;
7
+ readonly columns: readonly string[];
8
+ readonly rows: readonly Parameter[][];
9
+ constructor(table: string, columns: readonly string[], rows: readonly Parameter[][]);
10
+ accept: (visitor: IStatementVisitor) => string;
11
+ get parameters(): Parameter[];
12
+ }
@@ -0,0 +1,29 @@
1
+ const lookup = (fields) => {
2
+ const map = new Map();
3
+ for (const field of fields)
4
+ map.set(field.name, (field.value ?? null));
5
+ return map;
6
+ };
7
+ export const flattenBulkParameters = (columns, rows) => {
8
+ const parameters = [];
9
+ rows.forEach((row, index) => {
10
+ const byName = lookup(row);
11
+ for (const column of columns)
12
+ parameters.push({ name: `${column}__${index}`, value: (byName.get(column) ?? null) });
13
+ });
14
+ return parameters;
15
+ };
16
+ export class BulkInsertStatement {
17
+ table;
18
+ columns;
19
+ rows;
20
+ constructor(table, columns, rows) {
21
+ this.table = table;
22
+ this.columns = columns;
23
+ this.rows = rows;
24
+ }
25
+ accept = (visitor) => visitor.visit(this);
26
+ get parameters() {
27
+ return flattenBulkParameters(this.columns, this.rows);
28
+ }
29
+ }
@@ -0,0 +1,4 @@
1
+ import type { BulkInsertStatement } from "./BulkInsertStatement.js";
2
+ export declare class BulkInsertStatementTextRenderer {
3
+ render: (statement: BulkInsertStatement) => string;
4
+ }
@@ -0,0 +1,6 @@
1
+ export class BulkInsertStatementTextRenderer {
2
+ render = (statement) => {
3
+ const values = statement.rows.map((_, index) => `(${statement.columns.map((column) => `$${column}__${index}`).join(", ")})`);
4
+ return `INSERT INTO ${statement.table} (${statement.columns.join(", ")}) VALUES ${values.join(", ")}`;
5
+ };
6
+ }
@@ -0,0 +1,16 @@
1
+ import type { Parameter } from "../Parameter.js";
2
+ import type { IBulkUpdateStatement } from "./IBulkUpdateStatement.js";
3
+ import type { IStatementVisitor } from "./IStatementVisitor.js";
4
+ export type BulkUpdatedRow = {
5
+ fields: Parameter[];
6
+ ids: Parameter[];
7
+ };
8
+ export declare class BulkUpdateStatement implements IBulkUpdateStatement {
9
+ readonly table: string;
10
+ readonly set: readonly string[];
11
+ readonly ids: readonly string[];
12
+ readonly rows: readonly BulkUpdatedRow[];
13
+ constructor(table: string, set: readonly string[], ids: readonly string[], rows: readonly BulkUpdatedRow[]);
14
+ accept: (visitor: IStatementVisitor) => string;
15
+ get parameters(): Parameter[];
16
+ }
@@ -0,0 +1,17 @@
1
+ import { flattenBulkParameters } from "./BulkInsertStatement.js";
2
+ export class BulkUpdateStatement {
3
+ table;
4
+ set;
5
+ ids;
6
+ rows;
7
+ constructor(table, set, ids, rows) {
8
+ this.table = table;
9
+ this.set = set;
10
+ this.ids = ids;
11
+ this.rows = rows;
12
+ }
13
+ accept = (visitor) => visitor.visit(this);
14
+ get parameters() {
15
+ return flattenBulkParameters([...this.set, ...this.ids], this.rows.map((row) => [...row.fields, ...row.ids]));
16
+ }
17
+ }
@@ -0,0 +1,8 @@
1
+ import type { Cell } from "../converters/Cell.js";
2
+ import type { BulkUpdateStatement } from "./BulkUpdateStatement.js";
3
+ export declare class BulkUpdateStatementTextRenderer {
4
+ render: (statement: BulkUpdateStatement) => string;
5
+ protected on: (statement: BulkUpdateStatement) => string;
6
+ protected source: (statement: BulkUpdateStatement) => string;
7
+ protected cell: (column: string, index: number, _value: Cell) => string;
8
+ }
@@ -0,0 +1,20 @@
1
+ export class BulkUpdateStatementTextRenderer {
2
+ render = (statement) => {
3
+ const assigns = statement.set.map((column) => `${column} = data.${column}`).join(", ");
4
+ return `UPDATE ${statement.table} SET ${assigns} FROM ${this.source(statement)} WHERE ${this.on(statement)}`;
5
+ };
6
+ on = (statement) => statement.ids.map((column) => `${statement.table}.${column} = data.${column}`).join(" AND ");
7
+ source = (statement) => {
8
+ const columns = [...statement.set, ...statement.ids];
9
+ const selects = statement.rows.map((row, index) => {
10
+ const byName = new Map();
11
+ for (const field of [...row.fields, ...row.ids])
12
+ byName.set(field.name, (field.value ?? null));
13
+ return `SELECT ${columns
14
+ .map((column) => this.cell(column, index, byName.get(column) ?? null))
15
+ .join(", ")}`;
16
+ });
17
+ return `(${selects.join(" UNION ALL ")}) AS data`;
18
+ };
19
+ cell = (column, index, _value) => `$${column}__${index} AS ${column}`;
20
+ }
@@ -0,0 +1,7 @@
1
+ import type { ITableConstraint } from "./ITableConstraint.js";
2
+ export declare class CheckConstraint implements ITableConstraint {
3
+ readonly name: string;
4
+ readonly expression: string;
5
+ readonly kind: "check";
6
+ constructor(name: string, expression: string);
7
+ }
@@ -0,0 +1,9 @@
1
+ export class CheckConstraint {
2
+ name;
3
+ expression;
4
+ kind = "check";
5
+ constructor(name, expression) {
6
+ this.name = name;
7
+ this.expression = expression;
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import type { Cell } from "../converters/Cell.js";
2
+ import type { Condition } from "./Condition.js";
3
+ export type Comparison = (column: string, value: Cell) => Condition;
4
+ export declare const eq: Comparison;
5
+ export declare const ne: Comparison;
6
+ export declare const gt: Comparison;
7
+ export declare const lt: Comparison;
8
+ export declare const ge: Comparison;
9
+ export declare const le: Comparison;
@@ -0,0 +1,7 @@
1
+ import { Operator } from "./Operator.js";
2
+ export const eq = (column, value) => new Operator.Equals(column, value);
3
+ export const ne = (column, value) => new Operator.NotEquals(column, value);
4
+ export const gt = (column, value) => new Operator.GreaterThan(column, value);
5
+ export const lt = (column, value) => new Operator.LessThan(column, value);
6
+ export const ge = (column, value) => new Operator.GreaterThanOrEqual(column, value);
7
+ export const le = (column, value) => new Operator.LessThanOrEqual(column, value);
@@ -0,0 +1,9 @@
1
+ import type { ColumnDefault } from "./ColumnDefault.js";
2
+ import type { NotNull } from "./NotNull.js";
3
+ export interface Column {
4
+ name: string;
5
+ type: string;
6
+ default?: ColumnDefault;
7
+ notNull?: NotNull;
8
+ identity?: boolean;
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ export declare class ColumnDefault {
2
+ readonly value: string;
3
+ readonly name?: string | undefined;
4
+ constructor(value: string, name?: string | undefined);
5
+ }
@@ -0,0 +1,8 @@
1
+ export class ColumnDefault {
2
+ value;
3
+ name;
4
+ constructor(value, name) {
5
+ this.value = value;
6
+ this.name = name;
7
+ }
8
+ }
@@ -0,0 +1,3 @@
1
+ import type { IExpression } from "./IExpression.js";
2
+ export declare abstract class Condition implements IExpression {
3
+ }
@@ -0,0 +1,2 @@
1
+ export class Condition {
2
+ }
@@ -0,0 +1,12 @@
1
+ import type { ICondition } from "./ICondition.js";
2
+ import type { IConditionVisitor } from "./IConditionVisitor.js";
3
+ import type { ExpressionRenderer } from "./ExpressionRenderer.js";
4
+ import { Where } from "./Where.js";
5
+ import { WhereText } from "./WhereText.js";
6
+ export declare class ConditionRenderer implements IConditionVisitor {
7
+ private readonly expressions;
8
+ constructor(expressions: ExpressionRenderer);
9
+ render: (condition: ICondition) => string;
10
+ visit(where: Where): string;
11
+ visit(where: WhereText): string;
12
+ }
@@ -0,0 +1,11 @@
1
+ import { Where } from "./Where.js";
2
+ export class ConditionRenderer {
3
+ expressions;
4
+ constructor(expressions) {
5
+ this.expressions = expressions;
6
+ }
7
+ render = (condition) => condition.accept(this);
8
+ visit(where) {
9
+ return where instanceof Where ? this.expressions.render(where.condition) : where.rawText;
10
+ }
11
+ }
@@ -0,0 +1,13 @@
1
+ import type { ICreateBulkCreateStoredProcedureStatement } from "./ICreateBulkCreateStoredProcedureStatement.js";
2
+ import type { IStatementVisitor } from "./IStatementVisitor.js";
3
+ import type { RoutineParameter } from "./RoutineParameter.js";
4
+ export declare class CreateBulkCreateStoredProcedureStatement implements ICreateBulkCreateStoredProcedureStatement {
5
+ readonly name: string;
6
+ readonly table: string;
7
+ readonly columns: readonly RoutineParameter[];
8
+ readonly payload: RoutineParameter;
9
+ readonly key: string;
10
+ readonly keyType: string;
11
+ constructor(name: string, table: string, columns: readonly RoutineParameter[], payload: RoutineParameter, key: string, keyType: string);
12
+ accept: (visitor: IStatementVisitor) => string;
13
+ }
@@ -0,0 +1,17 @@
1
+ export class CreateBulkCreateStoredProcedureStatement {
2
+ name;
3
+ table;
4
+ columns;
5
+ payload;
6
+ key;
7
+ keyType;
8
+ constructor(name, table, columns, payload, key, keyType) {
9
+ this.name = name;
10
+ this.table = table;
11
+ this.columns = columns;
12
+ this.payload = payload;
13
+ this.key = key;
14
+ this.keyType = keyType;
15
+ }
16
+ accept = (visitor) => visitor.visit(this);
17
+ }
@@ -0,0 +1,4 @@
1
+ import type { CreateBulkCreateStoredProcedureStatement } from "./CreateBulkCreateStoredProcedureStatement.js";
2
+ export declare class CreateBulkCreateStoredProcedureStatementTextRenderer {
3
+ render(_statement: CreateBulkCreateStoredProcedureStatement): string;
4
+ }
@@ -0,0 +1,5 @@
1
+ export class CreateBulkCreateStoredProcedureStatementTextRenderer {
2
+ render(_statement) {
3
+ return "";
4
+ }
5
+ }
@@ -0,0 +1,13 @@
1
+ import type { ICreateBulkDeleteStoredProcedureStatement } from "./ICreateBulkDeleteStoredProcedureStatement.js";
2
+ import type { IStatementVisitor } from "./IStatementVisitor.js";
3
+ import type { RoutineParameter } from "./RoutineParameter.js";
4
+ export declare class CreateBulkDeleteStoredProcedureStatement implements ICreateBulkDeleteStoredProcedureStatement {
5
+ readonly name: string;
6
+ readonly table: string;
7
+ readonly columns: readonly RoutineParameter[];
8
+ readonly payload: RoutineParameter;
9
+ readonly key: string;
10
+ readonly keyType: string;
11
+ constructor(name: string, table: string, columns: readonly RoutineParameter[], payload: RoutineParameter, key: string, keyType: string);
12
+ accept: (visitor: IStatementVisitor) => string;
13
+ }
@@ -0,0 +1,17 @@
1
+ export class CreateBulkDeleteStoredProcedureStatement {
2
+ name;
3
+ table;
4
+ columns;
5
+ payload;
6
+ key;
7
+ keyType;
8
+ constructor(name, table, columns, payload, key, keyType) {
9
+ this.name = name;
10
+ this.table = table;
11
+ this.columns = columns;
12
+ this.payload = payload;
13
+ this.key = key;
14
+ this.keyType = keyType;
15
+ }
16
+ accept = (visitor) => visitor.visit(this);
17
+ }
@@ -0,0 +1,4 @@
1
+ import type { CreateBulkDeleteStoredProcedureStatement } from "./CreateBulkDeleteStoredProcedureStatement.js";
2
+ export declare class CreateBulkDeleteStoredProcedureStatementTextRenderer {
3
+ render(_statement: CreateBulkDeleteStoredProcedureStatement): string;
4
+ }
@@ -0,0 +1,5 @@
1
+ export class CreateBulkDeleteStoredProcedureStatementTextRenderer {
2
+ render(_statement) {
3
+ return "";
4
+ }
5
+ }
@@ -0,0 +1,13 @@
1
+ import type { ICreateBulkUpdateStoredProcedureStatement } from "./ICreateBulkUpdateStoredProcedureStatement.js";
2
+ import type { IStatementVisitor } from "./IStatementVisitor.js";
3
+ import type { RoutineParameter } from "./RoutineParameter.js";
4
+ export declare class CreateBulkUpdateStoredProcedureStatement implements ICreateBulkUpdateStoredProcedureStatement {
5
+ readonly name: string;
6
+ readonly table: string;
7
+ readonly columns: readonly RoutineParameter[];
8
+ readonly payload: RoutineParameter;
9
+ readonly key: string;
10
+ readonly keyType: string;
11
+ constructor(name: string, table: string, columns: readonly RoutineParameter[], payload: RoutineParameter, key: string, keyType: string);
12
+ accept: (visitor: IStatementVisitor) => string;
13
+ }
@@ -0,0 +1,17 @@
1
+ export class CreateBulkUpdateStoredProcedureStatement {
2
+ name;
3
+ table;
4
+ columns;
5
+ payload;
6
+ key;
7
+ keyType;
8
+ constructor(name, table, columns, payload, key, keyType) {
9
+ this.name = name;
10
+ this.table = table;
11
+ this.columns = columns;
12
+ this.payload = payload;
13
+ this.key = key;
14
+ this.keyType = keyType;
15
+ }
16
+ accept = (visitor) => visitor.visit(this);
17
+ }
@@ -0,0 +1,4 @@
1
+ import type { CreateBulkUpdateStoredProcedureStatement } from "./CreateBulkUpdateStoredProcedureStatement.js";
2
+ export declare class CreateBulkUpdateStoredProcedureStatementTextRenderer {
3
+ render(_statement: CreateBulkUpdateStoredProcedureStatement): string;
4
+ }
@@ -0,0 +1,5 @@
1
+ export class CreateBulkUpdateStoredProcedureStatementTextRenderer {
2
+ render(_statement) {
3
+ return "";
4
+ }
5
+ }
@@ -0,0 +1,16 @@
1
+ import type { ICreateCreateStoredProcedureStatement } from "./ICreateCreateStoredProcedureStatement.js";
2
+ import type { IStatementVisitor } from "./IStatementVisitor.js";
3
+ import type { RoutineParameter } from "./RoutineParameter.js";
4
+ export declare class CreateCreateStoredProcedureStatement implements ICreateCreateStoredProcedureStatement {
5
+ readonly name: string;
6
+ readonly table: string;
7
+ readonly columns: readonly string[];
8
+ readonly parameters: readonly RoutineParameter[];
9
+ readonly key: string;
10
+ readonly keyType: string;
11
+ readonly writable: readonly string[];
12
+ readonly generatedKey: boolean;
13
+ readonly auditUpdated?: string | undefined;
14
+ constructor(name: string, table: string, columns: readonly string[], parameters: readonly RoutineParameter[], key: string, keyType: string, writable: readonly string[], generatedKey?: boolean, auditUpdated?: string | undefined);
15
+ accept: (visitor: IStatementVisitor) => string;
16
+ }
@@ -0,0 +1,23 @@
1
+ export class CreateCreateStoredProcedureStatement {
2
+ name;
3
+ table;
4
+ columns;
5
+ parameters;
6
+ key;
7
+ keyType;
8
+ writable;
9
+ generatedKey;
10
+ auditUpdated;
11
+ constructor(name, table, columns, parameters, key, keyType, writable, generatedKey = false, auditUpdated) {
12
+ this.name = name;
13
+ this.table = table;
14
+ this.columns = columns;
15
+ this.parameters = parameters;
16
+ this.key = key;
17
+ this.keyType = keyType;
18
+ this.writable = writable;
19
+ this.generatedKey = generatedKey;
20
+ this.auditUpdated = auditUpdated;
21
+ }
22
+ accept = (visitor) => visitor.visit(this);
23
+ }
@@ -0,0 +1,4 @@
1
+ import type { CreateCreateStoredProcedureStatement } from "./CreateCreateStoredProcedureStatement.js";
2
+ export declare class CreateCreateStoredProcedureStatementTextRenderer {
3
+ render(_statement: CreateCreateStoredProcedureStatement): string;
4
+ }
@@ -0,0 +1,5 @@
1
+ export class CreateCreateStoredProcedureStatementTextRenderer {
2
+ render(_statement) {
3
+ return "";
4
+ }
5
+ }
@@ -0,0 +1,17 @@
1
+ import type { ICreateDeleteStoredProcedureStatement } from "./ICreateDeleteStoredProcedureStatement.js";
2
+ import type { IStatementVisitor } from "./IStatementVisitor.js";
3
+ import type { RoutineParameter } from "./RoutineParameter.js";
4
+ export declare class CreateDeleteStoredProcedureStatement implements ICreateDeleteStoredProcedureStatement {
5
+ readonly name: string;
6
+ readonly table: string;
7
+ readonly columns: readonly string[];
8
+ readonly parameters: readonly RoutineParameter[];
9
+ readonly key: string;
10
+ readonly keyType: string;
11
+ readonly writable: readonly string[];
12
+ readonly byProperties: readonly string[];
13
+ readonly generatedKey: boolean;
14
+ readonly auditUpdated?: string | undefined;
15
+ constructor(name: string, table: string, columns: readonly string[], parameters: readonly RoutineParameter[], key: string, keyType: string, writable: readonly string[], byProperties?: readonly string[], generatedKey?: boolean, auditUpdated?: string | undefined);
16
+ accept: (visitor: IStatementVisitor) => string;
17
+ }
@@ -0,0 +1,25 @@
1
+ export class CreateDeleteStoredProcedureStatement {
2
+ name;
3
+ table;
4
+ columns;
5
+ parameters;
6
+ key;
7
+ keyType;
8
+ writable;
9
+ byProperties;
10
+ generatedKey;
11
+ auditUpdated;
12
+ constructor(name, table, columns, parameters, key, keyType, writable, byProperties = [], generatedKey = false, auditUpdated) {
13
+ this.name = name;
14
+ this.table = table;
15
+ this.columns = columns;
16
+ this.parameters = parameters;
17
+ this.key = key;
18
+ this.keyType = keyType;
19
+ this.writable = writable;
20
+ this.byProperties = byProperties;
21
+ this.generatedKey = generatedKey;
22
+ this.auditUpdated = auditUpdated;
23
+ }
24
+ accept = (visitor) => visitor.visit(this);
25
+ }
@@ -0,0 +1,4 @@
1
+ import type { CreateDeleteStoredProcedureStatement } from "./CreateDeleteStoredProcedureStatement.js";
2
+ export declare class CreateDeleteStoredProcedureStatementTextRenderer {
3
+ render(_statement: CreateDeleteStoredProcedureStatement): string;
4
+ }
@@ -0,0 +1,5 @@
1
+ export class CreateDeleteStoredProcedureStatementTextRenderer {
2
+ render(_statement) {
3
+ return "";
4
+ }
5
+ }
@@ -0,0 +1,10 @@
1
+ import type { ICreateIndexStatement } from "./ICreateIndexStatement.js";
2
+ import type { IStatementVisitor } from "./IStatementVisitor.js";
3
+ export declare class CreateIndexStatement implements ICreateIndexStatement {
4
+ readonly name: string;
5
+ readonly table: string;
6
+ readonly columns: string[];
7
+ readonly unique: boolean;
8
+ constructor(name: string, table: string, columns: string[], unique?: boolean);
9
+ accept: (visitor: IStatementVisitor) => string;
10
+ }
@@ -0,0 +1,13 @@
1
+ export class CreateIndexStatement {
2
+ name;
3
+ table;
4
+ columns;
5
+ unique;
6
+ constructor(name, table, columns, unique = false) {
7
+ this.name = name;
8
+ this.table = table;
9
+ this.columns = columns;
10
+ this.unique = unique;
11
+ }
12
+ accept = (visitor) => visitor.visit(this);
13
+ }
@@ -0,0 +1,5 @@
1
+ import type { CreateIndexStatement } from "./CreateIndexStatement.js";
2
+ export declare class CreateIndexStatementTextRenderer {
3
+ render(statement: CreateIndexStatement): string;
4
+ protected quote(name: string): string;
5
+ }
@@ -0,0 +1,8 @@
1
+ export class CreateIndexStatementTextRenderer {
2
+ render(statement) {
3
+ return `CREATE ${statement.unique ? "UNIQUE " : ""}INDEX ${this.quote(statement.name)} ON ${this.quote(statement.table)} (${statement.columns.map((column) => this.quote(column)).join(", ")})`;
4
+ }
5
+ quote(name) {
6
+ return name;
7
+ }
8
+ }