@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
@@ -1,161 +0,0 @@
1
- import type { Cell } from "../converters/Cell.ts";
2
- import { ArrayExpression } from "./ArrayExpression.ts";
3
- import type { IExpression } from "./IExpression.ts";
4
- import { Identifier } from "./Identifier.ts";
5
- import { Literal } from "./Literal.ts";
6
- import { Operator } from "./Operator.ts";
7
- import type { StatementTextRenderer } from "./StatementTextRenderer.ts";
8
- import { Subquery } from "./Subquery.ts";
9
- import { Where } from "./Where.ts";
10
-
11
- export class ExpressionRenderer {
12
- constructor(private readonly text: StatementTextRenderer) {}
13
-
14
- render = (expression: IExpression): string => {
15
- if (expression instanceof Where) return this.render(expression.condition);
16
- if (expression instanceof Identifier) return expression.name;
17
- if (expression instanceof Literal) return inline(expression.value);
18
- if (expression instanceof ArrayExpression) return expression.elements.map((e) => this.render(e)).join(", ");
19
- if (expression instanceof Operator.Not) return `NOT (${this.render(expression.argument)})`;
20
- if (expression instanceof Operator.IsNull) return `${this.render(expression.argument)} IS NULL`;
21
- if (expression instanceof Operator.IsNotNull) return `${this.render(expression.argument)} IS NOT NULL`;
22
- if (expression instanceof Operator.Exists) return `EXISTS ${this.render(expression.argument)}`;
23
- if (expression instanceof Subquery) return `(${this.text.render(expression.query)})`;
24
- if (
25
- expression instanceof Operator.In &&
26
- expression.left instanceof Identifier &&
27
- expression.right instanceof ArrayExpression
28
- )
29
- return expression.right.elements.length === 0
30
- ? "1 = 0"
31
- : `${expression.left.name} IN (${slots(expression.left.name, expression.right.elements.length)})`;
32
- if (
33
- expression instanceof Operator.In &&
34
- expression.left instanceof Identifier &&
35
- expression.right instanceof Subquery
36
- )
37
- return `${expression.left.name} IN ${this.render(expression.right)}`;
38
- if (
39
- expression instanceof Operator.NotIn &&
40
- expression.left instanceof Identifier &&
41
- expression.right instanceof ArrayExpression
42
- )
43
- return expression.right.elements.length === 0
44
- ? "1 = 1"
45
- : `${expression.left.name} NOT IN (${slots(expression.left.name, expression.right.elements.length)})`;
46
- if (
47
- expression instanceof Operator.NotIn &&
48
- expression.left instanceof Identifier &&
49
- expression.right instanceof Subquery
50
- )
51
- return `${expression.left.name} NOT IN ${this.render(expression.right)}`;
52
- if (
53
- (expression instanceof Operator.Between || expression instanceof Operator.NotBetween) &&
54
- expression.value instanceof Identifier &&
55
- expression.low instanceof Literal &&
56
- expression.high instanceof Literal
57
- ) {
58
- const word = expression instanceof Operator.NotBetween ? "NOT BETWEEN" : "BETWEEN";
59
- return `${expression.value.name} ${word} $${parameterName(expression.value.name)}_0 AND $${parameterName(expression.value.name)}_1`;
60
- }
61
- if (expression instanceof Operator.Between)
62
- return `${this.render(expression.value)} BETWEEN ${this.render(expression.low)} AND ${this.render(expression.high)}`;
63
- if (expression instanceof Operator.NotBetween)
64
- return `${this.render(expression.value)} NOT BETWEEN ${this.render(expression.low)} AND ${this.render(expression.high)}`;
65
- if (expression instanceof Operator.And)
66
- return `${this.wrap(expression.left, true)} AND ${this.wrap(expression.right, true)}`;
67
- if (expression instanceof Operator.Or)
68
- return `${this.wrap(expression.left, false)} OR ${this.wrap(expression.right, false)}`;
69
- const operands = expression instanceof Operator ? pair(expression) : undefined;
70
- if (operands && operands.left instanceof Identifier && operands.right instanceof Literal)
71
- return `${operands.left.name} ${symbol(expression as Operator)} $${parameterName(operands.left.name)}`;
72
- if (operands && operands.left instanceof Literal && operands.right instanceof Literal)
73
- return `${inline(operands.left.value)} ${symbol(expression as Operator)} ${inline(operands.right.value)}`;
74
- if (operands)
75
- return `${this.render(operands.left)} ${symbol(expression as Operator)} ${this.render(operands.right)}`;
76
- throw new Error("empty expression");
77
- };
78
-
79
- private wrap = (child: IExpression, and: boolean): string =>
80
- needsParens(child, and) ? `(${this.render(child)})` : this.render(child);
81
- }
82
-
83
- const symbol = (op: Operator): string =>
84
- op instanceof Operator.Equals
85
- ? "="
86
- : op instanceof Operator.NotEquals
87
- ? "<>"
88
- : op instanceof Operator.GreaterThan
89
- ? ">"
90
- : op instanceof Operator.LessThan
91
- ? "<"
92
- : op instanceof Operator.GreaterThanOrEqual
93
- ? ">="
94
- : op instanceof Operator.LessThanOrEqual
95
- ? "<="
96
- : op instanceof Operator.Like
97
- ? "LIKE"
98
- : op instanceof Operator.NotLike
99
- ? "NOT LIKE"
100
- : "IN";
101
-
102
- const inline = (value: Cell): string =>
103
- value === null
104
- ? "null"
105
- : typeof value === "boolean"
106
- ? String(value)
107
- : typeof value === "string"
108
- ? `'${value.replace(/'/g, "''")}'`
109
- : String(value);
110
-
111
- const needsParens = (child: IExpression, and: boolean): boolean =>
112
- child instanceof Where
113
- ? needsParens(child.condition, and)
114
- : child instanceof Operator.Not ||
115
- child instanceof Operator.In ||
116
- child instanceof Operator.NotIn ||
117
- (child instanceof Operator.And && !and) ||
118
- (child instanceof Operator.Or && and);
119
-
120
- const pair = (
121
- expression: Operator,
122
- ): { left: IExpression; right: IExpression } | undefined =>
123
- expression instanceof Operator.Equals ||
124
- expression instanceof Operator.NotEquals ||
125
- expression instanceof Operator.GreaterThan ||
126
- expression instanceof Operator.LessThan ||
127
- expression instanceof Operator.GreaterThanOrEqual ||
128
- expression instanceof Operator.LessThanOrEqual ||
129
- expression instanceof Operator.And ||
130
- expression instanceof Operator.Or ||
131
- expression instanceof Operator.In ||
132
- expression instanceof Operator.Like ||
133
- expression instanceof Operator.NotLike
134
- ? expression
135
- : undefined;
136
-
137
- const parameterName = (name: string): string =>
138
- parts(name)
139
- .map((part) =>
140
- part.length >= 2 && part.startsWith('"') && part.endsWith('"')
141
- ? part.slice(1, -1).replace(/""/g, '"')
142
- : part,
143
- )
144
- .join(".");
145
-
146
- const parts = (name: string): string[] => {
147
- const found: string[] = [];
148
- let start = 0;
149
- let quoted = false;
150
- for (let i = 0; i < name.length; i++) {
151
- if (name[i] === '"') quoted = !quoted;
152
- if (name[i] !== "." || quoted) continue;
153
- found.push(name.slice(start, i));
154
- start = i + 1;
155
- }
156
- found.push(name.slice(start));
157
- return found;
158
- };
159
-
160
- const slots = (name: string, count: number): string =>
161
- Array.from({ length: count }, (_, i) => `$${parameterName(name)}_${i}`).join(", ");
@@ -1,23 +0,0 @@
1
- import type { ITableConstraint } from "./ITableConstraint.ts";
2
-
3
- export const ReferentialAction = {
4
- Cascade: "cascade",
5
- SetNull: "setNull",
6
- SetDefault: "setDefault",
7
- Restrict: "restrict",
8
- NoAction: "noAction",
9
- } as const;
10
-
11
- export type ReferentialAction = (typeof ReferentialAction)[keyof typeof ReferentialAction];
12
-
13
- export class ForeignKey implements ITableConstraint {
14
- readonly kind = "foreignKey" as const;
15
- constructor(
16
- readonly name: string,
17
- readonly columns: string[],
18
- readonly referencesTable: string,
19
- readonly referencesColumns: string[],
20
- readonly onDelete?: ReferentialAction,
21
- readonly onUpdate?: ReferentialAction,
22
- ) {}
23
- }
@@ -1,3 +0,0 @@
1
- import type { IStatement } from "./IStatement.ts";
2
-
3
- export interface IBulkDeleteStatement extends IStatement {}
@@ -1,3 +0,0 @@
1
- import type { IStatement } from "./IStatement.ts";
2
-
3
- export interface IBulkInsertStatement extends IStatement {}
@@ -1,3 +0,0 @@
1
- import type { IStatement } from "./IStatement.ts";
2
-
3
- export interface IBulkUpdateStatement extends IStatement {}
@@ -1,5 +0,0 @@
1
- import type { IConditionVisitor } from "./IConditionVisitor.ts";
2
-
3
- export interface ICondition {
4
- accept(visitor: IConditionVisitor): string;
5
- }
@@ -1,7 +0,0 @@
1
- import type { Where } from "./Where.ts";
2
- import type { WhereText } from "./WhereText.ts";
3
-
4
- export interface IConditionVisitor {
5
- visit(where: Where): string;
6
- visit(where: WhereText): string;
7
- }
@@ -1,3 +0,0 @@
1
- import type { IStatement } from "./IStatement.ts";
2
-
3
- export interface ICreateIndexStatement extends IStatement {}
@@ -1,3 +0,0 @@
1
- import type { IStatement } from "./IStatement.ts";
2
-
3
- export interface ICreateTableStatement extends IStatement {}
@@ -1,6 +0,0 @@
1
- import type { IStatement } from "./IStatement.ts";
2
- import type { IWhere } from "./IWhere.ts";
3
-
4
- export interface IDeleteStatement extends IStatement {
5
- readonly where?: IWhere;
6
- }
@@ -1 +0,0 @@
1
- export interface IExpression {}
@@ -1,3 +0,0 @@
1
- import type { IStatement } from "./IStatement.ts";
2
-
3
- export interface IInsertStatement extends IStatement {}
@@ -1,3 +0,0 @@
1
- import type { IStatement } from "./IStatement.ts";
2
-
3
- export interface IReturnStatement extends IStatement {}
@@ -1,6 +0,0 @@
1
- import type { IStatement } from "./IStatement.ts";
2
- import type { IWhere } from "./IWhere.ts";
3
-
4
- export interface ISelectStatement extends IStatement {
5
- readonly where?: IWhere;
6
- }
@@ -1,5 +0,0 @@
1
- import type { IStatementVisitor } from "./IStatementVisitor.ts";
2
-
3
- export interface IStatement {
4
- accept(visitor: IStatementVisitor): string;
5
- }
@@ -1,27 +0,0 @@
1
- import type { BulkDeleteStatement } from "./BulkDeleteStatement.ts";
2
- import type { BulkInsertStatement } from "./BulkInsertStatement.ts";
3
- import type { BulkUpdateStatement } from "./BulkUpdateStatement.ts";
4
- import type { CreateIndexStatement } from "./CreateIndexStatement.ts";
5
- import type { CreateTableStatement } from "./CreateTableStatement.ts";
6
- import type { DeleteStatement } from "./DeleteStatement.ts";
7
- import type { ExecuteStoredProcedureStatement } from "./ExecuteStoredProcedureStatement.ts";
8
- import type { InsertStatement } from "./InsertStatement.ts";
9
- import type { ReturnStatement } from "./ReturnStatement.ts";
10
- import type { SelectInsertedIdStatement } from "./SelectInsertedIdStatement.ts";
11
- import type { SelectStatement } from "./SelectStatement.ts";
12
- import type { UpdateStatement } from "./UpdateStatement.ts";
13
-
14
- export interface IStatementVisitor {
15
- visit(statement: SelectStatement): string;
16
- visit(statement: InsertStatement): string;
17
- visit(statement: UpdateStatement): string;
18
- visit(statement: DeleteStatement): string;
19
- visit(statement: CreateTableStatement): string;
20
- visit(statement: CreateIndexStatement): string;
21
- visit(statement: ExecuteStoredProcedureStatement): string;
22
- visit(statement: ReturnStatement): string;
23
- visit(statement: SelectInsertedIdStatement): string;
24
- visit(statement: BulkInsertStatement): string;
25
- visit(statement: BulkUpdateStatement): string;
26
- visit(statement: BulkDeleteStatement): string;
27
- }
@@ -1,6 +0,0 @@
1
- import type { IStatement } from "./IStatement.ts";
2
- import type { IWhere } from "./IWhere.ts";
3
-
4
- export interface IUpdateStatement extends IStatement {
5
- readonly where?: IWhere;
6
- }
@@ -1,7 +0,0 @@
1
- import type { Parameter } from "../Parameter.ts";
2
- import type { ICondition } from "./ICondition.ts";
3
- import type { IExpression } from "./IExpression.ts";
4
-
5
- export interface IWhere extends IExpression, ICondition {
6
- readonly parameters?: Parameter[];
7
- }
@@ -1,5 +0,0 @@
1
- import type { IExpression } from "./IExpression.ts";
2
-
3
- export class Identifier implements IExpression {
4
- constructor(readonly name: string) {}
5
- }
@@ -1,15 +0,0 @@
1
- import type { Field } from "../builders/Field.ts";
2
- import type { IInsertStatement } from "./IInsertStatement.ts";
3
- import type { IStatementVisitor } from "./IStatementVisitor.ts";
4
-
5
- export class InsertStatement implements IInsertStatement {
6
- readonly table: string;
7
- readonly fields: Field[];
8
-
9
- constructor(table: string, fields: Field[]) {
10
- this.table = table;
11
- this.fields = fields;
12
- }
13
-
14
- accept = (visitor: IStatementVisitor): string => visitor.visit(this);
15
- }
@@ -1,7 +0,0 @@
1
- import type { InsertStatement } from "./InsertStatement.ts";
2
-
3
- export class InsertStatementTextRenderer {
4
- render(statement: InsertStatement): string {
5
- return `INSERT INTO ${statement.table} (${statement.fields.map((field) => field.name).join(", ")}) VALUES (${statement.fields.map((field) => `$${field.name}`).join(", ")})`;
6
- }
7
- }
@@ -1,26 +0,0 @@
1
- import { Identifier } from "./Identifier.ts";
2
- import type { IExpression } from "./IExpression.ts";
3
- import { Operator } from "./Operator.ts";
4
-
5
- export type JoinKind = "inner" | "left" | "right" | "full" | "cross";
6
-
7
- export type Join = {
8
- kind: JoinKind;
9
- table: string;
10
- on?: IExpression;
11
- };
12
-
13
- const equality = (left: string, right: string): IExpression =>
14
- new Operator.Equals(new Identifier(left), new Identifier(right));
15
-
16
- export const Join = {
17
- inner: (table: string, left: string, right: string): Join =>
18
- ({ kind: "inner", table, on: equality(left, right) }),
19
- left: (table: string, left: string, right: string): Join =>
20
- ({ kind: "left", table, on: equality(left, right) }),
21
- right: (table: string, left: string, right: string): Join =>
22
- ({ kind: "right", table, on: equality(left, right) }),
23
- full: (table: string, left: string, right: string): Join =>
24
- ({ kind: "full", table, on: equality(left, right) }),
25
- cross: (table: string): Join => ({ kind: "cross", table }),
26
- };
@@ -1,6 +0,0 @@
1
- import type { Cell } from "../converters/Cell.ts";
2
- import type { IExpression } from "./IExpression.ts";
3
-
4
- export class Literal implements IExpression {
5
- constructor(readonly value: Cell) {}
6
- }
@@ -1,5 +0,0 @@
1
- export class Native {
2
- constructor(readonly text: string) {}
3
- }
4
-
5
- export const n = (text: string): Native => new Native(text);
@@ -1,3 +0,0 @@
1
- export class NotNull {
2
- constructor(readonly name?: string) {}
3
- }
@@ -1,234 +0,0 @@
1
- import type { Cell } from "../converters/Cell.ts";
2
- import { ArrayExpression } from "./ArrayExpression.ts";
3
- import { Condition } from "./Condition.ts";
4
- import { Identifier } from "./Identifier.ts";
5
- import type { IExpression } from "./IExpression.ts";
6
- import { Literal } from "./Literal.ts";
7
-
8
- const pair = (
9
- left: string | IExpression,
10
- right: IExpression | Cell,
11
- ): [IExpression, IExpression] =>
12
- typeof left === "string"
13
- ? [new Identifier(left), new Literal(right as Cell)]
14
- : [left, right as IExpression];
15
-
16
- export abstract class Operator extends Condition {}
17
-
18
- export namespace Operator {
19
- export class Equals extends Operator {
20
- readonly left: IExpression;
21
- readonly right: IExpression;
22
- constructor(field: string, value: Cell);
23
- constructor(left: IExpression, right: IExpression);
24
- constructor(left: string | IExpression, right: IExpression | Cell) {
25
- super();
26
- [this.left, this.right] = pair(left, right);
27
- }
28
- }
29
-
30
- export class NotEquals extends Operator {
31
- readonly left: IExpression;
32
- readonly right: IExpression;
33
- constructor(field: string, value: Cell);
34
- constructor(left: IExpression, right: IExpression);
35
- constructor(left: string | IExpression, right: IExpression | Cell) {
36
- super();
37
- [this.left, this.right] = pair(left, right);
38
- }
39
- }
40
-
41
- export class GreaterThan extends Operator {
42
- readonly left: IExpression;
43
- readonly right: IExpression;
44
- constructor(field: string, value: Cell);
45
- constructor(left: IExpression, right: IExpression);
46
- constructor(left: string | IExpression, right: IExpression | Cell) {
47
- super();
48
- [this.left, this.right] = pair(left, right);
49
- }
50
- }
51
-
52
- export class LessThan extends Operator {
53
- readonly left: IExpression;
54
- readonly right: IExpression;
55
- constructor(field: string, value: Cell);
56
- constructor(left: IExpression, right: IExpression);
57
- constructor(left: string | IExpression, right: IExpression | Cell) {
58
- super();
59
- [this.left, this.right] = pair(left, right);
60
- }
61
- }
62
-
63
- export class GreaterThanOrEqual extends Operator {
64
- readonly left: IExpression;
65
- readonly right: IExpression;
66
- constructor(field: string, value: Cell);
67
- constructor(left: IExpression, right: IExpression);
68
- constructor(left: string | IExpression, right: IExpression | Cell) {
69
- super();
70
- [this.left, this.right] = pair(left, right);
71
- }
72
- }
73
-
74
- export class LessThanOrEqual extends Operator {
75
- readonly left: IExpression;
76
- readonly right: IExpression;
77
- constructor(field: string, value: Cell);
78
- constructor(left: IExpression, right: IExpression);
79
- constructor(left: string | IExpression, right: IExpression | Cell) {
80
- super();
81
- [this.left, this.right] = pair(left, right);
82
- }
83
- }
84
-
85
- export class And extends Operator {
86
- constructor(
87
- readonly left: IExpression,
88
- readonly right: IExpression,
89
- ) {
90
- super();
91
- }
92
- }
93
-
94
- export class Or extends Operator {
95
- constructor(
96
- readonly left: IExpression,
97
- readonly right: IExpression,
98
- ) {
99
- super();
100
- }
101
- }
102
-
103
- export class In extends Operator {
104
- readonly left: IExpression;
105
- readonly right: IExpression;
106
- constructor(field: string, values: Cell[]);
107
- constructor(left: IExpression, right: IExpression);
108
- constructor(left: string | IExpression, right: Cell[] | IExpression) {
109
- super();
110
- if (typeof left === "string") {
111
- this.left = new Identifier(left);
112
- this.right = new ArrayExpression(
113
- (right as Cell[]).map((value) => new Literal(value)),
114
- );
115
- } else {
116
- this.left = left;
117
- this.right = right as IExpression;
118
- }
119
- }
120
- }
121
-
122
- /* v8 ignore next 6 */
123
- export class Not extends Operator {
124
- readonly argument: IExpression;
125
- constructor(argument: IExpression) {
126
- super();
127
- this.argument = argument;
128
- }
129
- }
130
-
131
- export class IsNull extends Operator {
132
- readonly argument: IExpression;
133
- constructor(argument: IExpression) {
134
- super();
135
- this.argument = argument;
136
- }
137
- }
138
-
139
- export class IsNotNull extends Operator {
140
- readonly argument: IExpression;
141
- constructor(argument: IExpression) {
142
- super();
143
- this.argument = argument;
144
- }
145
- }
146
-
147
- export class Like extends Operator {
148
- readonly left: IExpression;
149
- readonly right: IExpression;
150
- constructor(field: string, value: Cell);
151
- constructor(left: IExpression, right: IExpression);
152
- constructor(left: string | IExpression, right: IExpression | Cell) {
153
- super();
154
- [this.left, this.right] = pair(left, right);
155
- }
156
- }
157
-
158
- export class NotLike extends Operator {
159
- readonly left: IExpression;
160
- readonly right: IExpression;
161
- constructor(field: string, value: Cell);
162
- constructor(left: IExpression, right: IExpression);
163
- constructor(left: string | IExpression, right: IExpression | Cell) {
164
- super();
165
- [this.left, this.right] = pair(left, right);
166
- }
167
- }
168
-
169
- export class Between extends Operator {
170
- readonly value: IExpression;
171
- readonly low: IExpression;
172
- readonly high: IExpression;
173
- constructor(field: string, low: Cell, high: Cell);
174
- constructor(value: IExpression, low: IExpression, high: IExpression);
175
- constructor(value: string | IExpression, low: IExpression | Cell, high: IExpression | Cell) {
176
- super();
177
- if (typeof value === "string") {
178
- this.value = new Identifier(value);
179
- this.low = new Literal(low as Cell);
180
- this.high = new Literal(high as Cell);
181
- } else {
182
- this.value = value;
183
- this.low = low as IExpression;
184
- this.high = high as IExpression;
185
- }
186
- }
187
- }
188
-
189
- export class NotBetween extends Operator {
190
- readonly value: IExpression;
191
- readonly low: IExpression;
192
- readonly high: IExpression;
193
- constructor(field: string, low: Cell, high: Cell);
194
- constructor(value: IExpression, low: IExpression, high: IExpression);
195
- constructor(value: string | IExpression, low: IExpression | Cell, high: IExpression | Cell) {
196
- super();
197
- if (typeof value === "string") {
198
- this.value = new Identifier(value);
199
- this.low = new Literal(low as Cell);
200
- this.high = new Literal(high as Cell);
201
- } else {
202
- this.value = value;
203
- this.low = low as IExpression;
204
- this.high = high as IExpression;
205
- }
206
- }
207
- }
208
-
209
- export class NotIn extends Operator {
210
- readonly left: IExpression;
211
- readonly right: IExpression;
212
- constructor(field: string, values: Cell[]);
213
- constructor(left: IExpression, right: IExpression);
214
- constructor(left: string | IExpression, right: Cell[] | IExpression) {
215
- super();
216
- if (typeof left === "string") {
217
- this.left = new Identifier(left);
218
- this.right = new ArrayExpression((right as Cell[]).map((value) => new Literal(value)));
219
- } else {
220
- this.left = left;
221
- this.right = right as IExpression;
222
- }
223
- }
224
- }
225
-
226
- /* v8 ignore next */
227
- export class Exists extends Operator {
228
- readonly argument: IExpression;
229
- constructor(argument: IExpression) {
230
- super();
231
- this.argument = argument;
232
- }
233
- }
234
- }
@@ -1,19 +0,0 @@
1
- export type SortDirection = "asc" | "desc";
2
-
3
- export type OrderBy = {
4
- column: string;
5
- direction: SortDirection;
6
- };
7
-
8
- const directionSql: Record<SortDirection, string> = {
9
- asc: "ASC",
10
- desc: "DESC",
11
- };
12
-
13
- export const OrderBy = {
14
- asc: (column: string): OrderBy => ({ column, direction: "asc" }),
15
- desc: (column: string): OrderBy => ({ column, direction: "desc" }),
16
- };
17
-
18
- export const orderText = (order: OrderBy): string =>
19
- `${order.column} ${directionSql[order.direction]}`;
@@ -1,9 +0,0 @@
1
- import type { ITableConstraint } from "./ITableConstraint.ts";
2
-
3
- export class PrimaryKey implements ITableConstraint {
4
- readonly kind = "primaryKey" as const;
5
- constructor(
6
- readonly name: string,
7
- readonly columns: string[],
8
- ) {}
9
- }
@@ -1,15 +0,0 @@
1
- import type { Parameter } from "../Parameter.ts";
2
- import type { IReturnStatement } from "./IReturnStatement.ts";
3
- import type { IStatementVisitor } from "./IStatementVisitor.ts";
4
-
5
- export class ReturnStatement implements IReturnStatement {
6
- readonly name: string;
7
- readonly parameters: Parameter[];
8
-
9
- constructor(name: string, parameters: Parameter[]) {
10
- this.name = name;
11
- this.parameters = parameters;
12
- }
13
-
14
- accept = (visitor: IStatementVisitor): string => visitor.visit(this);
15
- }