apeframework 0.0.0-dev.1 → 0.0.0-dev.3

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 (575) hide show
  1. package/README.md +8 -36
  2. package/cipher/Algorithm.d.ts +6 -0
  3. package/cipher/Algorithm.js +9 -0
  4. package/cipher/Algorithm.ts +9 -0
  5. package/cipher/Cipher.d.ts +12 -0
  6. package/cipher/Cipher.js +38 -0
  7. package/cipher/Cipher.ts +46 -0
  8. package/cipher/errors/CipherDecryptError.d.ts +5 -0
  9. package/cipher/errors/CipherDecryptError.js +10 -0
  10. package/cipher/errors/CipherDecryptError.ts +11 -0
  11. package/cipher/errors/CipherSecretLengthError.d.ts +5 -0
  12. package/cipher/errors/CipherSecretLengthError.js +10 -0
  13. package/cipher/errors/CipherSecretLengthError.ts +11 -0
  14. package/cipher/validateSecretLength.d.ts +3 -0
  15. package/cipher/validateSecretLength.js +16 -0
  16. package/cipher/validateSecretLength.ts +18 -0
  17. package/cli/Args.d.ts +5 -0
  18. package/cli/Args.ts +8 -0
  19. package/cli/Command.d.ts +3 -0
  20. package/cli/Command.ts +7 -0
  21. package/cli/getArgs.d.ts +3 -0
  22. package/cli/getArgs.js +8 -0
  23. package/cli/getArgs.ts +10 -0
  24. package/cli/parseArgs.d.ts +3 -0
  25. package/cli/parseArgs.js +31 -0
  26. package/cli/parseArgs.ts +34 -0
  27. package/cli/utils/exit.d.ts +2 -0
  28. package/cli/utils/exit.js +7 -0
  29. package/cli/utils/exit.ts +7 -0
  30. package/cli/utils/formatList.d.ts +2 -0
  31. package/cli/utils/formatList.js +10 -0
  32. package/cli/utils/formatList.ts +11 -0
  33. package/cli/utils/formatTable.d.ts +2 -0
  34. package/cli/utils/formatTable.js +22 -0
  35. package/cli/utils/formatTable.ts +25 -0
  36. package/cli/utils/formatText.d.ts +2 -0
  37. package/cli/utils/formatText.js +8 -0
  38. package/cli/utils/formatText.ts +9 -0
  39. package/cli/utils/write.d.ts +2 -0
  40. package/cli/utils/write.js +7 -0
  41. package/cli/utils/write.ts +7 -0
  42. package/cli/utils/writeLn.d.ts +2 -0
  43. package/cli/utils/writeLn.js +8 -0
  44. package/cli/utils/writeLn.ts +9 -0
  45. package/config/Config.d.ts +2 -0
  46. package/config/Config.ts +5 -0
  47. package/config/Properties.d.ts +8 -0
  48. package/config/Properties.ts +12 -0
  49. package/config/errors/ConfigFileReadError.d.ts +5 -0
  50. package/config/errors/ConfigFileReadError.js +10 -0
  51. package/config/errors/ConfigFileReadError.ts +11 -0
  52. package/config/errors/ConfigParseError.d.ts +5 -0
  53. package/config/errors/ConfigParseError.js +10 -0
  54. package/config/errors/ConfigParseError.ts +11 -0
  55. package/config/errors/ConfigPropertyNameError.d.ts +5 -0
  56. package/config/errors/ConfigPropertyNameError.js +10 -0
  57. package/config/errors/ConfigPropertyNameError.ts +11 -0
  58. package/config/getConfig.d.ts +14 -0
  59. package/config/getConfig.js +21 -0
  60. package/config/getConfig.ts +47 -0
  61. package/config/getPropertyEnvVar.d.ts +2 -0
  62. package/config/getPropertyEnvVar.js +13 -0
  63. package/config/getPropertyEnvVar.ts +15 -0
  64. package/config/parseProperty.d.ts +3 -0
  65. package/config/parseProperty.js +37 -0
  66. package/config/parseProperty.ts +47 -0
  67. package/config/readFile.d.ts +2 -0
  68. package/config/readFile.js +31 -0
  69. package/config/readFile.ts +34 -0
  70. package/config/validatePropertyName.d.ts +2 -0
  71. package/config/validatePropertyName.js +11 -0
  72. package/config/validatePropertyName.ts +13 -0
  73. package/db/ColumnBuilder.d.ts +13 -0
  74. package/db/ColumnBuilder.js +42 -0
  75. package/db/ColumnBuilder.ts +61 -0
  76. package/db/Database.d.ts +19 -0
  77. package/db/Database.js +49 -0
  78. package/db/Database.ts +74 -0
  79. package/db/Driver.d.ts +30 -0
  80. package/db/Driver.ts +33 -0
  81. package/db/NullConstraint.d.ts +2 -0
  82. package/db/NullConstraint.ts +5 -0
  83. package/db/ReferentialAction.d.ts +2 -0
  84. package/db/ReferentialAction.ts +5 -0
  85. package/db/TableBuilder.d.ts +49 -0
  86. package/db/TableBuilder.js +234 -0
  87. package/db/TableBuilder.ts +367 -0
  88. package/db/adapters/mysql/createMysqlDatabase.d.ts +12 -0
  89. package/db/adapters/mysql/createMysqlDatabase.js +32 -0
  90. package/db/adapters/mysql/createMysqlDatabase.ts +39 -0
  91. package/db/adapters/mysql/driver.d.ts +3 -0
  92. package/db/adapters/mysql/driver.js +43 -0
  93. package/db/adapters/mysql/driver.ts +45 -0
  94. package/db/adapters/mysql/typeCast.d.ts +2 -0
  95. package/db/adapters/mysql/typeCast.js +17 -0
  96. package/db/adapters/mysql/typeCast.ts +18 -0
  97. package/db/adapters/postgres/driver.d.ts +3 -0
  98. package/db/adapters/postgres/driver.js +43 -0
  99. package/db/adapters/postgres/driver.ts +45 -0
  100. package/db/adapters/sqlite/driver.d.ts +3 -0
  101. package/db/adapters/sqlite/driver.js +43 -0
  102. package/db/adapters/sqlite/driver.ts +45 -0
  103. package/db/errors/DbColumnLengthError.d.ts +5 -0
  104. package/db/errors/DbColumnLengthError.js +10 -0
  105. package/db/errors/DbColumnLengthError.ts +11 -0
  106. package/db/errors/DbColumnMaxLengthError.d.ts +5 -0
  107. package/db/errors/DbColumnMaxLengthError.js +10 -0
  108. package/db/errors/DbColumnMaxLengthError.ts +11 -0
  109. package/db/errors/DbColumnPrecisionError.d.ts +5 -0
  110. package/db/errors/DbColumnPrecisionError.js +10 -0
  111. package/db/errors/DbColumnPrecisionError.ts +11 -0
  112. package/db/errors/DbColumnScaleError.d.ts +5 -0
  113. package/db/errors/DbColumnScaleError.js +10 -0
  114. package/db/errors/DbColumnScaleError.ts +11 -0
  115. package/db/getConstraintName.d.ts +2 -0
  116. package/db/getConstraintName.js +15 -0
  117. package/db/getConstraintName.ts +18 -0
  118. package/db/getReferentialActionSql.d.ts +3 -0
  119. package/db/getReferentialActionSql.js +12 -0
  120. package/db/getReferentialActionSql.ts +17 -0
  121. package/db/setNullConstraint.d.ts +4 -0
  122. package/db/setNullConstraint.js +9 -0
  123. package/db/setNullConstraint.ts +15 -0
  124. package/db/validateColumnLength.d.ts +2 -0
  125. package/db/validateColumnLength.js +10 -0
  126. package/db/validateColumnLength.ts +11 -0
  127. package/db/validateColumnMaxLength.d.ts +2 -0
  128. package/db/validateColumnMaxLength.js +10 -0
  129. package/db/validateColumnMaxLength.ts +11 -0
  130. package/db/validateColumnPrecision.d.ts +2 -0
  131. package/db/validateColumnPrecision.js +14 -0
  132. package/db/validateColumnPrecision.ts +15 -0
  133. package/env/Env.d.ts +2 -0
  134. package/env/Env.ts +5 -0
  135. package/env/errors/EnvFileReadError.d.ts +5 -0
  136. package/env/errors/EnvFileReadError.js +10 -0
  137. package/env/errors/EnvFileReadError.ts +11 -0
  138. package/env/getEnv.d.ts +8 -0
  139. package/env/getEnv.js +15 -0
  140. package/env/getEnv.ts +24 -0
  141. package/env/readFile.d.ts +3 -0
  142. package/env/readFile.js +24 -0
  143. package/env/readFile.ts +24 -0
  144. package/error/BaseError.d.ts +4 -0
  145. package/error/BaseError.js +12 -0
  146. package/error/BaseError.ts +12 -0
  147. package/jwt/Algorithm.d.ts +6 -0
  148. package/jwt/Algorithm.js +9 -0
  149. package/jwt/Algorithm.ts +9 -0
  150. package/jwt/Jwt.d.ts +19 -0
  151. package/jwt/Jwt.js +61 -0
  152. package/jwt/Jwt.ts +92 -0
  153. package/jwt/Payload.d.ts +7 -0
  154. package/jwt/Payload.ts +10 -0
  155. package/jwt/errors/JwtSecretLengthError.d.ts +5 -0
  156. package/jwt/errors/JwtSecretLengthError.js +10 -0
  157. package/jwt/errors/JwtSecretLengthError.ts +11 -0
  158. package/jwt/validateSecretLength.d.ts +3 -0
  159. package/jwt/validateSecretLength.js +16 -0
  160. package/jwt/validateSecretLength.ts +18 -0
  161. package/logger/Level.d.ts +9 -0
  162. package/logger/Level.js +12 -0
  163. package/logger/Level.ts +12 -0
  164. package/logger/Logger.d.ts +10 -0
  165. package/logger/Logger.ts +13 -0
  166. package/logger/Severity.d.ts +10 -0
  167. package/logger/Severity.js +13 -0
  168. package/logger/Severity.ts +13 -0
  169. package/logger/adapters/file/FileLogger.d.ts +20 -0
  170. package/logger/adapters/file/FileLogger.js +70 -0
  171. package/logger/adapters/file/FileLogger.ts +87 -0
  172. package/logger/adapters/file/errors/FileInitError.d.ts +5 -0
  173. package/logger/adapters/file/errors/FileInitError.js +10 -0
  174. package/logger/adapters/file/errors/FileInitError.ts +11 -0
  175. package/logger/adapters/file/initFile.d.ts +2 -0
  176. package/logger/adapters/file/initFile.js +20 -0
  177. package/logger/adapters/file/initFile.ts +18 -0
  178. package/logger/adapters/noop/NoopLogger.d.ts +11 -0
  179. package/logger/adapters/noop/NoopLogger.js +13 -0
  180. package/logger/adapters/noop/NoopLogger.ts +21 -0
  181. package/logger/adapters/stdio/StdioLogger.d.ts +20 -0
  182. package/logger/adapters/stdio/StdioLogger.js +71 -0
  183. package/logger/adapters/stdio/StdioLogger.ts +87 -0
  184. package/mailer/Address.d.ts +5 -0
  185. package/mailer/Address.ts +8 -0
  186. package/mailer/Attachment.d.ts +7 -0
  187. package/mailer/Attachment.ts +11 -0
  188. package/mailer/Event.d.ts +16 -0
  189. package/mailer/Event.ts +20 -0
  190. package/mailer/EventLocation.d.ts +9 -0
  191. package/mailer/EventLocation.ts +12 -0
  192. package/mailer/EventMethod.d.ts +5 -0
  193. package/mailer/EventMethod.js +8 -0
  194. package/mailer/EventMethod.ts +8 -0
  195. package/mailer/List.d.ts +7 -0
  196. package/mailer/List.ts +10 -0
  197. package/mailer/Mail.d.ts +19 -0
  198. package/mailer/Mail.ts +23 -0
  199. package/mailer/Mailer.d.ts +6 -0
  200. package/mailer/Mailer.ts +10 -0
  201. package/mailer/adapters/noop/NoopMailer.d.ts +7 -0
  202. package/mailer/adapters/noop/NoopMailer.js +11 -0
  203. package/mailer/adapters/noop/NoopMailer.ts +15 -0
  204. package/mailer/adapters/smtp/SmtpMailer.d.ts +18 -0
  205. package/mailer/adapters/smtp/SmtpMailer.js +58 -0
  206. package/mailer/adapters/smtp/SmtpMailer.ts +72 -0
  207. package/mailer/adapters/smtp/getAddress.d.ts +4 -0
  208. package/mailer/adapters/smtp/getAddress.js +12 -0
  209. package/mailer/adapters/smtp/getAddress.ts +15 -0
  210. package/mailer/adapters/smtp/getAddresses.d.ts +4 -0
  211. package/mailer/adapters/smtp/getAddresses.js +14 -0
  212. package/mailer/adapters/smtp/getAddresses.ts +17 -0
  213. package/mailer/adapters/smtp/getAttachments.d.ts +4 -0
  214. package/mailer/adapters/smtp/getAttachments.js +17 -0
  215. package/mailer/adapters/smtp/getAttachments.ts +20 -0
  216. package/mailer/errors/MailerAddressEmailError.d.ts +5 -0
  217. package/mailer/errors/MailerAddressEmailError.js +10 -0
  218. package/mailer/errors/MailerAddressEmailError.ts +11 -0
  219. package/mailer/errors/MailerEventAttachmentUrlError.d.ts +5 -0
  220. package/mailer/errors/MailerEventAttachmentUrlError.js +10 -0
  221. package/mailer/errors/MailerEventAttachmentUrlError.ts +11 -0
  222. package/mailer/errors/MailerEventGeolocationError.d.ts +5 -0
  223. package/mailer/errors/MailerEventGeolocationError.js +10 -0
  224. package/mailer/errors/MailerEventGeolocationError.ts +11 -0
  225. package/mailer/errors/MailerEventUrlError.d.ts +5 -0
  226. package/mailer/errors/MailerEventUrlError.js +10 -0
  227. package/mailer/errors/MailerEventUrlError.ts +11 -0
  228. package/mailer/errors/MailerListUrlError.d.ts +5 -0
  229. package/mailer/errors/MailerListUrlError.js +10 -0
  230. package/mailer/errors/MailerListUrlError.ts +11 -0
  231. package/mailer/getIcalendar.d.ts +3 -0
  232. package/mailer/getIcalendar.js +35 -0
  233. package/mailer/getIcalendar.ts +39 -0
  234. package/mailer/validateAddressEmail.d.ts +2 -0
  235. package/mailer/validateAddressEmail.js +11 -0
  236. package/mailer/validateAddressEmail.ts +12 -0
  237. package/mailer/validateEventAttachmentUrl.d.ts +2 -0
  238. package/mailer/validateEventAttachmentUrl.js +11 -0
  239. package/mailer/validateEventAttachmentUrl.ts +12 -0
  240. package/mailer/validateEventGeolocation.d.ts +2 -0
  241. package/mailer/validateEventGeolocation.js +11 -0
  242. package/mailer/validateEventGeolocation.ts +15 -0
  243. package/mailer/validateEventUrl.d.ts +2 -0
  244. package/mailer/validateEventUrl.js +11 -0
  245. package/mailer/validateEventUrl.ts +12 -0
  246. package/mailer/validateListUrl.d.ts +2 -0
  247. package/mailer/validateListUrl.js +11 -0
  248. package/mailer/validateListUrl.ts +12 -0
  249. package/package.json +26 -28
  250. package/parser/Parser.d.ts +2 -0
  251. package/parser/Parser.ts +5 -0
  252. package/parser/errors/ParserInputError.d.ts +5 -0
  253. package/parser/errors/ParserInputError.js +10 -0
  254. package/parser/errors/ParserInputError.ts +11 -0
  255. package/parser/factories/unit/Unit.d.ts +5 -0
  256. package/parser/factories/unit/Unit.ts +8 -0
  257. package/parser/factories/unit/createUnitParser.d.ts +7 -0
  258. package/parser/factories/unit/createUnitParser.js +36 -0
  259. package/parser/factories/unit/createUnitParser.ts +50 -0
  260. package/parser/parseBoolean.d.ts +3 -0
  261. package/parser/parseBoolean.js +14 -0
  262. package/parser/parseBoolean.ts +16 -0
  263. package/parser/parseBytes.d.ts +2 -0
  264. package/parser/parseBytes.js +54 -0
  265. package/parser/parseBytes.ts +55 -0
  266. package/parser/parseInteger.d.ts +3 -0
  267. package/parser/parseInteger.js +19 -0
  268. package/parser/parseInteger.ts +23 -0
  269. package/parser/parseMilliseconds.d.ts +2 -0
  270. package/parser/parseMilliseconds.js +30 -0
  271. package/parser/parseMilliseconds.ts +31 -0
  272. package/parser/parseNumber.d.ts +3 -0
  273. package/parser/parseNumber.js +18 -0
  274. package/parser/parseNumber.ts +22 -0
  275. package/parser/parseString.d.ts +3 -0
  276. package/parser/parseString.js +20 -0
  277. package/parser/parseString.ts +20 -0
  278. package/pwd/Pwd.d.ts +9 -0
  279. package/pwd/Pwd.js +22 -0
  280. package/pwd/Pwd.ts +31 -0
  281. package/pwd/errors/PwdHashRoundsError.d.ts +5 -0
  282. package/pwd/errors/PwdHashRoundsError.js +10 -0
  283. package/pwd/errors/PwdHashRoundsError.ts +11 -0
  284. package/pwd/validateHashRounds.d.ts +2 -0
  285. package/pwd/validateHashRounds.js +10 -0
  286. package/pwd/validateHashRounds.ts +11 -0
  287. package/tls/Tls.d.ts +7 -0
  288. package/tls/Tls.ts +10 -0
  289. package/tls/errors/TlsFileReadError.d.ts +5 -0
  290. package/tls/errors/TlsFileReadError.js +10 -0
  291. package/tls/errors/TlsFileReadError.ts +11 -0
  292. package/tls/getTls.d.ts +8 -0
  293. package/tls/getTls.js +17 -0
  294. package/tls/getTls.ts +24 -0
  295. package/tls/readFile.d.ts +2 -0
  296. package/tls/readFile.js +20 -0
  297. package/tls/readFile.ts +18 -0
  298. package/utils/getRandomHexString.d.ts +2 -0
  299. package/utils/getRandomHexString.js +8 -0
  300. package/utils/getRandomHexString.ts +9 -0
  301. package/utils/getTimestamp.d.ts +2 -0
  302. package/utils/getTimestamp.js +7 -0
  303. package/utils/getTimestamp.ts +7 -0
  304. package/utils/isValidEmail.d.ts +2 -0
  305. package/utils/isValidEmail.js +8 -0
  306. package/utils/isValidEmail.ts +9 -0
  307. package/utils/isValidGeolocation.d.ts +2 -0
  308. package/utils/isValidGeolocation.js +10 -0
  309. package/utils/isValidGeolocation.ts +10 -0
  310. package/utils/isValidHexString.d.ts +2 -0
  311. package/utils/isValidHexString.js +8 -0
  312. package/utils/isValidHexString.ts +9 -0
  313. package/utils/isValidJwtToken.d.ts +2 -0
  314. package/utils/isValidJwtToken.js +8 -0
  315. package/utils/isValidJwtToken.ts +9 -0
  316. package/utils/isValidUrl.d.ts +2 -0
  317. package/utils/isValidUrl.js +19 -0
  318. package/utils/isValidUrl.ts +21 -0
  319. package/utils/isValidUuid.d.ts +2 -0
  320. package/utils/isValidUuid.js +8 -0
  321. package/utils/isValidUuid.ts +10 -0
  322. package/utils/wait.d.ts +2 -0
  323. package/utils/wait.js +9 -0
  324. package/utils/wait.ts +9 -0
  325. package/api/api.d.ts +0 -7
  326. package/api/api.ts +0 -8
  327. package/api/auth.d.ts +0 -9
  328. package/api/auth.js +0 -11
  329. package/api/auth.ts +0 -9
  330. package/api/config.d.ts +0 -13
  331. package/api/config.js +0 -59
  332. package/api/config.ts +0 -69
  333. package/api/endpoint.d.ts +0 -20
  334. package/api/endpoint.js +0 -5
  335. package/api/endpoint.ts +0 -23
  336. package/api/handler.d.ts +0 -8
  337. package/api/handler.js +0 -13
  338. package/api/handler.ts +0 -23
  339. package/api/index.d.ts +0 -7
  340. package/api/index.js +0 -187
  341. package/api/index.ts +0 -97
  342. package/api/route.d.ts +0 -6
  343. package/api/route.ts +0 -4
  344. package/api/router.d.ts +0 -4
  345. package/api/router.js +0 -111
  346. package/api/router.ts +0 -36
  347. package/api/schema.d.ts +0 -29
  348. package/api/schema.js +0 -69
  349. package/api/schema.ts +0 -98
  350. package/app/app.d.ts +0 -6
  351. package/app/app.ts +0 -7
  352. package/app/boot.d.ts +0 -4
  353. package/app/boot.ts +0 -5
  354. package/app/bundle.d.ts +0 -14
  355. package/app/bundle.ts +0 -15
  356. package/app/config.d.ts +0 -4
  357. package/app/config.js +0 -9
  358. package/app/config.ts +0 -9
  359. package/app/index.d.ts +0 -9
  360. package/app/index.js +0 -103
  361. package/app/index.ts +0 -32
  362. package/bin/ape-cli-ts.js +0 -4
  363. package/bin/ape-cli.js +0 -2
  364. package/cli/command.d.ts +0 -4
  365. package/cli/command.ts +0 -7
  366. package/cli/index.d.ts +0 -2
  367. package/cli/index.js +0 -103
  368. package/cli/index.ts +0 -41
  369. package/cli/internal/api.d.ts +0 -3
  370. package/cli/internal/api.js +0 -110
  371. package/cli/internal/api.ts +0 -38
  372. package/cli/internal/index.d.ts +0 -2
  373. package/cli/internal/index.js +0 -13
  374. package/cli/internal/index.ts +0 -9
  375. package/cli/internal/migration.d.ts +0 -3
  376. package/cli/internal/migration.js +0 -214
  377. package/cli/internal/migration.ts +0 -110
  378. package/cli/internal/queue.d.ts +0 -3
  379. package/cli/internal/queue.js +0 -147
  380. package/cli/internal/queue.ts +0 -60
  381. package/cli/utils.d.ts +0 -18
  382. package/cli/utils.js +0 -52
  383. package/cli/utils.ts +0 -48
  384. package/config/config.d.ts +0 -5
  385. package/config/config.ts +0 -6
  386. package/config/configuration.d.ts +0 -63
  387. package/config/configuration.ts +0 -72
  388. package/config/default.d.ts +0 -33
  389. package/config/default.js +0 -34
  390. package/config/default.ts +0 -40
  391. package/config/env.d.ts +0 -66
  392. package/config/env.js +0 -72
  393. package/config/env.ts +0 -79
  394. package/config/index.d.ts +0 -8
  395. package/config/index.js +0 -91
  396. package/config/index.ts +0 -101
  397. package/config/loadFile.d.ts +0 -2
  398. package/config/loadFile.js +0 -13
  399. package/config/loadFile.ts +0 -9
  400. package/config/node.d.ts +0 -5
  401. package/config/node.js +0 -11
  402. package/config/node.ts +0 -7
  403. package/config/store.d.ts +0 -6
  404. package/config/store.js +0 -20
  405. package/config/store.ts +0 -15
  406. package/db/config/index.d.ts +0 -10
  407. package/db/config/index.js +0 -43
  408. package/db/config/index.ts +0 -35
  409. package/db/config/memory.d.ts +0 -3
  410. package/db/config/memory.js +0 -15
  411. package/db/config/memory.ts +0 -13
  412. package/db/config/mysql.d.ts +0 -3
  413. package/db/config/mysql.js +0 -56
  414. package/db/config/mysql.ts +0 -58
  415. package/db/config/postgres.d.ts +0 -3
  416. package/db/config/postgres.js +0 -59
  417. package/db/config/postgres.ts +0 -61
  418. package/db/config/sqlite.d.ts +0 -3
  419. package/db/config/sqlite.js +0 -21
  420. package/db/config/sqlite.ts +0 -20
  421. package/db/database.d.ts +0 -3
  422. package/db/database.js +0 -3
  423. package/db/database.ts +0 -5
  424. package/db/index.d.ts +0 -10
  425. package/db/index.js +0 -32
  426. package/db/index.ts +0 -26
  427. package/db/postProcess.d.ts +0 -3
  428. package/db/postProcess.js +0 -25
  429. package/db/postProcess.ts +0 -27
  430. package/db/schema/builder/_.d.ts +0 -30
  431. package/db/schema/builder/_.js +0 -87
  432. package/db/schema/builder/_.ts +0 -101
  433. package/db/schema/builder/columnBuilder.d.ts +0 -7
  434. package/db/schema/builder/columnBuilder.js +0 -14
  435. package/db/schema/builder/columnBuilder.ts +0 -15
  436. package/db/schema/builder/dataType.d.ts +0 -28
  437. package/db/schema/builder/dataType.js +0 -170
  438. package/db/schema/builder/dataType.ts +0 -184
  439. package/db/schema/builder/index.d.ts +0 -15
  440. package/db/schema/builder/index.js +0 -42
  441. package/db/schema/builder/index.ts +0 -50
  442. package/db/schema/builder/tableBuilder.d.ts +0 -45
  443. package/db/schema/builder/tableBuilder.js +0 -307
  444. package/db/schema/builder/tableBuilder.ts +0 -409
  445. package/db/schema/config.d.ts +0 -4
  446. package/db/schema/config.js +0 -5
  447. package/db/schema/config.ts +0 -3
  448. package/db/schema/index.d.ts +0 -7
  449. package/db/schema/index.js +0 -252
  450. package/db/schema/index.ts +0 -88
  451. package/db/schema/migration.d.ts +0 -6
  452. package/db/schema/migration.ts +0 -7
  453. package/db/schema/migrationList.d.ts +0 -5
  454. package/db/schema/migrationList.ts +0 -5
  455. package/db/schema/migrationSource.d.ts +0 -10
  456. package/db/schema/migrationSource.js +0 -60
  457. package/db/schema/migrationSource.ts +0 -24
  458. package/db/schema/schema.d.ts +0 -6
  459. package/db/schema/schema.ts +0 -7
  460. package/db/utils/index.d.ts +0 -7
  461. package/db/utils/index.js +0 -10
  462. package/db/utils/index.ts +0 -8
  463. package/db/utils/insertGetKey.d.ts +0 -8
  464. package/db/utils/insertGetKey.js +0 -109
  465. package/db/utils/insertGetKey.ts +0 -80
  466. package/i18n/config.d.ts +0 -4
  467. package/i18n/config.js +0 -9
  468. package/i18n/config.ts +0 -9
  469. package/i18n/i18n.d.ts +0 -5
  470. package/i18n/i18n.ts +0 -6
  471. package/i18n/index.d.ts +0 -8
  472. package/i18n/index.js +0 -155
  473. package/i18n/index.ts +0 -42
  474. package/i18n/internationalization.d.ts +0 -3
  475. package/i18n/internationalization.ts +0 -5
  476. package/i18n/translation.d.ts +0 -4
  477. package/i18n/translation.ts +0 -4
  478. package/jwt/config.d.ts +0 -5
  479. package/jwt/config.js +0 -12
  480. package/jwt/config.ts +0 -11
  481. package/jwt/index.d.ts +0 -8
  482. package/jwt/index.js +0 -90
  483. package/jwt/index.ts +0 -60
  484. package/jwt/jwt.d.ts +0 -6
  485. package/jwt/jwt.ts +0 -19
  486. package/jwt/user.d.ts +0 -4
  487. package/jwt/user.ts +0 -4
  488. package/log/config.d.ts +0 -23
  489. package/log/config.js +0 -47
  490. package/log/config.ts +0 -43
  491. package/log/index.d.ts +0 -4
  492. package/log/index.js +0 -9
  493. package/log/index.ts +0 -9
  494. package/log/logger.d.ts +0 -3
  495. package/log/logger.ts +0 -5
  496. package/mail/config.d.ts +0 -4
  497. package/mail/config.js +0 -5
  498. package/mail/config.ts +0 -3
  499. package/mail/email.d.ts +0 -20
  500. package/mail/email.ts +0 -21
  501. package/mail/index.d.ts +0 -2
  502. package/mail/index.js +0 -4
  503. package/mail/index.ts +0 -3
  504. package/mail/mail.d.ts +0 -12
  505. package/mail/mail.ts +0 -13
  506. package/mail/module/bypass/index.d.ts +0 -6
  507. package/mail/module/bypass/index.js +0 -74
  508. package/mail/module/bypass/index.ts +0 -9
  509. package/mail/module/config.d.ts +0 -11
  510. package/mail/module/config.js +0 -24
  511. package/mail/module/config.ts +0 -25
  512. package/mail/module/index.d.ts +0 -8
  513. package/mail/module/index.js +0 -107
  514. package/mail/module/index.ts +0 -61
  515. package/mail/module/smtp/config.d.ts +0 -6
  516. package/mail/module/smtp/config.js +0 -25
  517. package/mail/module/smtp/config.ts +0 -25
  518. package/mail/module/smtp/index.d.ts +0 -9
  519. package/mail/module/smtp/index.js +0 -104
  520. package/mail/module/smtp/index.ts +0 -36
  521. package/mq/index.d.ts +0 -3
  522. package/mq/index.js +0 -27
  523. package/mq/index.ts +0 -4
  524. package/mq/module/bypass/index.d.ts +0 -13
  525. package/mq/module/bypass/index.js +0 -86
  526. package/mq/module/bypass/index.ts +0 -20
  527. package/mq/module/config.d.ts +0 -6
  528. package/mq/module/config.js +0 -15
  529. package/mq/module/config.ts +0 -14
  530. package/mq/module/index.d.ts +0 -9
  531. package/mq/module/index.js +0 -93
  532. package/mq/module/index.ts +0 -24
  533. package/mq/module/redis/config.d.ts +0 -27
  534. package/mq/module/redis/config.js +0 -37
  535. package/mq/module/redis/config.ts +0 -34
  536. package/mq/module/redis/index.d.ts +0 -15
  537. package/mq/module/redis/index.js +0 -132
  538. package/mq/module/redis/index.ts +0 -60
  539. package/mq/mq.d.ts +0 -15
  540. package/mq/mq.ts +0 -18
  541. package/mq/queue.d.ts +0 -9
  542. package/mq/queue.js +0 -2
  543. package/mq/queue.ts +0 -11
  544. package/pwd/config.d.ts +0 -4
  545. package/pwd/config.js +0 -9
  546. package/pwd/config.ts +0 -9
  547. package/pwd/index.d.ts +0 -6
  548. package/pwd/index.js +0 -21
  549. package/pwd/index.ts +0 -20
  550. package/pwd/pwd.d.ts +0 -4
  551. package/pwd/pwd.js +0 -2
  552. package/pwd/pwd.ts +0 -4
  553. package/utils/index.d.ts +0 -25
  554. package/utils/index.js +0 -72
  555. package/utils/index.ts +0 -56
  556. /package/{api/api.js → cli/Args.js} +0 -0
  557. /package/{api/route.js → cli/Command.js} +0 -0
  558. /package/{app/app.js → config/Config.js} +0 -0
  559. /package/{app/boot.js → config/Properties.js} +0 -0
  560. /package/{app/bundle.js → db/Driver.js} +0 -0
  561. /package/{cli/command.js → db/NullConstraint.js} +0 -0
  562. /package/{config/config.js → db/ReferentialAction.js} +0 -0
  563. /package/{config/configuration.js → env/Env.js} +0 -0
  564. /package/{db/schema/migration.js → jwt/Payload.js} +0 -0
  565. /package/{db/schema/migrationList.js → logger/Logger.js} +0 -0
  566. /package/{db/schema/schema.js → mailer/Address.js} +0 -0
  567. /package/{i18n/i18n.js → mailer/Attachment.js} +0 -0
  568. /package/{i18n/internationalization.js → mailer/Event.js} +0 -0
  569. /package/{i18n/translation.js → mailer/EventLocation.js} +0 -0
  570. /package/{jwt/jwt.js → mailer/List.js} +0 -0
  571. /package/{jwt/user.js → mailer/Mail.js} +0 -0
  572. /package/{log/logger.js → mailer/Mailer.js} +0 -0
  573. /package/{mail/email.js → parser/Parser.js} +0 -0
  574. /package/{mail/mail.js → parser/factories/unit/Unit.js} +0 -0
  575. /package/{mq/mq.js → tls/Tls.js} +0 -0
@@ -0,0 +1,11 @@
1
+ import { BaseError } from '../../error/BaseError'
2
+
3
+ class ConfigFileReadError extends BaseError {
4
+ public constructor(path: string, message: string) {
5
+ super(`failed reading file "${path}": ${message}`)
6
+ }
7
+ }
8
+
9
+ export {
10
+ ConfigFileReadError,
11
+ }
@@ -0,0 +1,5 @@
1
+ import { BaseError } from '../../error/BaseError';
2
+ declare class ConfigParseError extends BaseError {
3
+ constructor(property: string, source: string, message: string);
4
+ }
5
+ export { ConfigParseError, };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigParseError = void 0;
4
+ const BaseError_1 = require("../../error/BaseError");
5
+ class ConfigParseError extends BaseError_1.BaseError {
6
+ constructor(property, source, message) {
7
+ super(`failed parsing property "${property}" from ${source}: ${message}`);
8
+ }
9
+ }
10
+ exports.ConfigParseError = ConfigParseError;
@@ -0,0 +1,11 @@
1
+ import { BaseError } from '../../error/BaseError'
2
+
3
+ class ConfigParseError extends BaseError {
4
+ public constructor(property: string, source: string, message: string) {
5
+ super(`failed parsing property "${property}" from ${source}: ${message}`)
6
+ }
7
+ }
8
+
9
+ export {
10
+ ConfigParseError,
11
+ }
@@ -0,0 +1,5 @@
1
+ import { BaseError } from '../../error/BaseError';
2
+ declare class ConfigPropertyNameError extends BaseError {
3
+ constructor(name: string);
4
+ }
5
+ export { ConfigPropertyNameError, };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigPropertyNameError = void 0;
4
+ const BaseError_1 = require("../../error/BaseError");
5
+ class ConfigPropertyNameError extends BaseError_1.BaseError {
6
+ constructor(name) {
7
+ super(`invalid property name "${name}"`);
8
+ }
9
+ }
10
+ exports.ConfigPropertyNameError = ConfigPropertyNameError;
@@ -0,0 +1,11 @@
1
+ import { BaseError } from '../../error/BaseError'
2
+
3
+ class ConfigPropertyNameError extends BaseError {
4
+ public constructor(name: string) {
5
+ super(`invalid property name "${name}"`)
6
+ }
7
+ }
8
+
9
+ export {
10
+ ConfigPropertyNameError,
11
+ }
@@ -0,0 +1,14 @@
1
+ import type { Config } from './Config';
2
+ import type { Properties } from './Properties';
3
+ import type { Args } from '../cli/Args';
4
+ import type { Env } from '../env/Env';
5
+ declare const getConfig: <Type extends Config>(params: {
6
+ properties: Properties<Type>;
7
+ file?: {
8
+ path: string;
9
+ required?: boolean;
10
+ };
11
+ env?: Env;
12
+ args?: Args;
13
+ }) => Type;
14
+ export { getConfig, };
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getConfig = void 0;
4
+ const getPropertyEnvVar_1 = require("./getPropertyEnvVar");
5
+ const parseProperty_1 = require("./parseProperty");
6
+ const readFile_1 = require("./readFile");
7
+ const validatePropertyName_1 = require("./validatePropertyName");
8
+ const getConfig = (params) => {
9
+ const file = params.file
10
+ ? (0, readFile_1.readFile)(params.file.path, params.file.required)
11
+ : {};
12
+ const env = params.env ?? {};
13
+ const args = params.args ?? { positional: [], optional: {} };
14
+ const config = {};
15
+ for (const name in params.properties) {
16
+ (0, validatePropertyName_1.validatePropertyName)(name);
17
+ config[name] = (0, parseProperty_1.parseProperty)(name, params.properties[name].parser, params.properties[name].default, file[name], env[(0, getPropertyEnvVar_1.getPropertyEnvVar)(name)], args.optional[name]);
18
+ }
19
+ return config;
20
+ };
21
+ exports.getConfig = getConfig;
@@ -0,0 +1,47 @@
1
+ import { getPropertyEnvVar } from './getPropertyEnvVar'
2
+ import { parseProperty } from './parseProperty'
3
+ import { readFile } from './readFile'
4
+ import { validatePropertyName } from './validatePropertyName'
5
+ import type { Config } from './Config'
6
+ import type { Properties } from './Properties'
7
+ import type { Args } from '../cli/Args'
8
+ import type { Env } from '../env/Env'
9
+
10
+ const getConfig = <Type extends Config>(params: {
11
+ properties: Properties<Type>,
12
+ file?: {
13
+ path: string,
14
+ required?: boolean,
15
+ },
16
+ env?: Env,
17
+ args?: Args,
18
+ }): Type => {
19
+ const file = params.file
20
+ ? readFile(params.file.path, params.file.required)
21
+ : {}
22
+
23
+ const env: Env = params.env ?? {}
24
+
25
+ const args: Args = params.args ?? { positional: [], optional: {} }
26
+
27
+ const config: Config = {}
28
+
29
+ for (const name in params.properties) {
30
+ validatePropertyName(name)
31
+
32
+ config[name] = parseProperty(
33
+ name,
34
+ params.properties[name].parser,
35
+ params.properties[name].default,
36
+ file[name],
37
+ env[getPropertyEnvVar(name)],
38
+ args.optional[name],
39
+ )
40
+ }
41
+
42
+ return config as Type
43
+ }
44
+
45
+ export {
46
+ getConfig,
47
+ }
@@ -0,0 +1,2 @@
1
+ declare const getPropertyEnvVar: (name: string) => string;
2
+ export { getPropertyEnvVar, };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPropertyEnvVar = void 0;
4
+ const capitalLetterRegex = /[A-Z]/gu;
5
+ const capitalLetterReplacer = (letter) => {
6
+ return `_${letter}`;
7
+ };
8
+ const getPropertyEnvVar = (name) => {
9
+ return name
10
+ .replace(capitalLetterRegex, capitalLetterReplacer)
11
+ .toUpperCase();
12
+ };
13
+ exports.getPropertyEnvVar = getPropertyEnvVar;
@@ -0,0 +1,15 @@
1
+ const capitalLetterRegex = /[A-Z]/gu
2
+
3
+ const capitalLetterReplacer = (letter: string): string => {
4
+ return `_${letter}`
5
+ }
6
+
7
+ const getPropertyEnvVar = (name: string): string => {
8
+ return name
9
+ .replace(capitalLetterRegex, capitalLetterReplacer)
10
+ .toUpperCase()
11
+ }
12
+
13
+ export {
14
+ getPropertyEnvVar,
15
+ }
@@ -0,0 +1,3 @@
1
+ import type { Parser } from '../parser/Parser';
2
+ declare const parseProperty: <Type>(name: string, parser: Parser<Type>, defaultValue: any, fileValue: any, envValue: any, argsValue: any) => Type;
3
+ export { parseProperty, };
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseProperty = void 0;
4
+ const ConfigParseError_1 = require("./errors/ConfigParseError");
5
+ const parseProperty = (name, parser, defaultValue, fileValue, envValue, argsValue) => {
6
+ const sources = [
7
+ {
8
+ name: 'command line arguments',
9
+ value: argsValue,
10
+ },
11
+ {
12
+ name: 'environment variables',
13
+ value: envValue,
14
+ },
15
+ {
16
+ name: 'configuration file',
17
+ value: fileValue,
18
+ },
19
+ {
20
+ name: 'default value',
21
+ value: defaultValue,
22
+ },
23
+ ];
24
+ const source = sources.find((s) => {
25
+ return s.value !== undefined;
26
+ }) || {
27
+ name: 'undefined value',
28
+ value: undefined,
29
+ };
30
+ try {
31
+ return parser(source.value);
32
+ }
33
+ catch (error) {
34
+ throw new ConfigParseError_1.ConfigParseError(name, source.name, error.message);
35
+ }
36
+ };
37
+ exports.parseProperty = parseProperty;
@@ -0,0 +1,47 @@
1
+ import { ConfigParseError } from './errors/ConfigParseError'
2
+ import type { Parser } from '../parser/Parser'
3
+
4
+ const parseProperty = <Type>(
5
+ name: string,
6
+ parser: Parser<Type>,
7
+ defaultValue: any,
8
+ fileValue: any,
9
+ envValue: any,
10
+ argsValue: any,
11
+ ): Type => {
12
+ const sources = [
13
+ {
14
+ name: 'command line arguments',
15
+ value: argsValue,
16
+ },
17
+ {
18
+ name: 'environment variables',
19
+ value: envValue,
20
+ },
21
+ {
22
+ name: 'configuration file',
23
+ value: fileValue,
24
+ },
25
+ {
26
+ name: 'default value',
27
+ value: defaultValue,
28
+ },
29
+ ]
30
+
31
+ const source = sources.find((s) => {
32
+ return s.value !== undefined
33
+ }) || {
34
+ name: 'undefined value',
35
+ value: undefined,
36
+ }
37
+
38
+ try {
39
+ return parser(source.value)
40
+ } catch (error) {
41
+ throw new ConfigParseError(name, source.name, (error as Error).message)
42
+ }
43
+ }
44
+
45
+ export {
46
+ parseProperty,
47
+ }
@@ -0,0 +1,2 @@
1
+ declare const readFile: (path: string, required?: boolean) => Record<string, any>;
2
+ export { readFile, };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.readFile = void 0;
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const ConfigFileReadError_1 = require("./errors/ConfigFileReadError");
9
+ const readFile = (path, required = false) => {
10
+ let json = {};
11
+ let fileExists;
12
+ try {
13
+ fileExists = fs_extra_1.default.existsSync(path);
14
+ if (fileExists) {
15
+ json = fs_extra_1.default.readJsonSync(path);
16
+ }
17
+ }
18
+ catch (error) {
19
+ throw new ConfigFileReadError_1.ConfigFileReadError(path, error.message);
20
+ }
21
+ if (required && !fileExists) {
22
+ throw new ConfigFileReadError_1.ConfigFileReadError(path, 'missing file');
23
+ }
24
+ if (typeof json !== 'object'
25
+ || Array.isArray(json)
26
+ || json === null) {
27
+ throw new ConfigFileReadError_1.ConfigFileReadError(path, 'invalid content');
28
+ }
29
+ return json;
30
+ };
31
+ exports.readFile = readFile;
@@ -0,0 +1,34 @@
1
+ import fs from 'fs-extra'
2
+ import { ConfigFileReadError } from './errors/ConfigFileReadError'
3
+
4
+ const readFile = (path: string, required = false): Record<string, any> => {
5
+ let json: any = {}
6
+ let fileExists: boolean
7
+
8
+ try {
9
+ fileExists = fs.existsSync(path)
10
+ if (fileExists) {
11
+ json = fs.readJsonSync(path)
12
+ }
13
+ } catch (error) {
14
+ throw new ConfigFileReadError(path, (error as Error).message)
15
+ }
16
+
17
+ if (required && !fileExists) {
18
+ throw new ConfigFileReadError(path, 'missing file')
19
+ }
20
+
21
+ if (
22
+ typeof json !== 'object'
23
+ || Array.isArray(json)
24
+ || json === null
25
+ ) {
26
+ throw new ConfigFileReadError(path, 'invalid content')
27
+ }
28
+
29
+ return json as Record<string, any>
30
+ }
31
+
32
+ export {
33
+ readFile,
34
+ }
@@ -0,0 +1,2 @@
1
+ declare const validatePropertyName: (name: string) => void;
2
+ export { validatePropertyName, };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validatePropertyName = void 0;
4
+ const ConfigPropertyNameError_1 = require("./errors/ConfigPropertyNameError");
5
+ const propertyNameRegex = /^[a-z](?:[0-9A-Za-z])*$/u;
6
+ const validatePropertyName = (name) => {
7
+ if (!propertyNameRegex.test(name)) {
8
+ throw new ConfigPropertyNameError_1.ConfigPropertyNameError(name);
9
+ }
10
+ };
11
+ exports.validatePropertyName = validatePropertyName;
@@ -0,0 +1,13 @@
1
+ import { ConfigPropertyNameError } from './errors/ConfigPropertyNameError'
2
+
3
+ const propertyNameRegex = /^[a-z](?:[0-9A-Za-z])*$/u
4
+
5
+ const validatePropertyName = (name: string): void => {
6
+ if (!propertyNameRegex.test(name)) {
7
+ throw new ConfigPropertyNameError(name)
8
+ }
9
+ }
10
+
11
+ export {
12
+ validatePropertyName,
13
+ }
@@ -0,0 +1,13 @@
1
+ import type { ReferentialAction } from './ReferentialAction';
2
+ import type { Knex } from 'knex';
3
+ declare class ColumnBuilder {
4
+ private readonly table;
5
+ private readonly column;
6
+ private readonly knexColumnBuilder;
7
+ constructor(table: string, column: string, knexColumnBuilder: Knex.ColumnBuilder);
8
+ primary(): this;
9
+ foreign(referencedTable: string, referencedColumn: string, onUpdate: ReferentialAction, onDelete: ReferentialAction): this;
10
+ index(): this;
11
+ unique(): this;
12
+ }
13
+ export { ColumnBuilder, };
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ColumnBuilder = void 0;
4
+ const getConstraintName_1 = require("./getConstraintName");
5
+ const getReferentialActionSql_1 = require("./getReferentialActionSql");
6
+ class ColumnBuilder {
7
+ table;
8
+ column;
9
+ knexColumnBuilder;
10
+ constructor(table, column, knexColumnBuilder) {
11
+ this.table = table;
12
+ this.column = column;
13
+ this.knexColumnBuilder = knexColumnBuilder;
14
+ }
15
+ primary() {
16
+ this.knexColumnBuilder.primary({
17
+ constraintName: 'PRIMARY',
18
+ });
19
+ return this;
20
+ }
21
+ foreign(referencedTable, referencedColumn, onUpdate, onDelete) {
22
+ this.knexColumnBuilder
23
+ .references(referencedColumn)
24
+ .inTable(referencedTable)
25
+ .onUpdate((0, getReferentialActionSql_1.getReferentialActionSql)(onUpdate))
26
+ .onDelete((0, getReferentialActionSql_1.getReferentialActionSql)(onDelete))
27
+ .withKeyName((0, getConstraintName_1.getConstraintName)('FOREIGN', this.table, [this.column]));
28
+ return this;
29
+ }
30
+ index() {
31
+ this.knexColumnBuilder
32
+ .index((0, getConstraintName_1.getConstraintName)('INDEX', this.table, [this.column]));
33
+ return this;
34
+ }
35
+ unique() {
36
+ this.knexColumnBuilder.unique({
37
+ indexName: (0, getConstraintName_1.getConstraintName)('UNIQUE', this.table, [this.column]),
38
+ });
39
+ return this;
40
+ }
41
+ }
42
+ exports.ColumnBuilder = ColumnBuilder;
@@ -0,0 +1,61 @@
1
+ import { getConstraintName } from './getConstraintName'
2
+ import { getReferentialActionSql } from './getReferentialActionSql'
3
+ import type { ReferentialAction } from './ReferentialAction'
4
+ import type { Knex } from 'knex'
5
+
6
+ class ColumnBuilder {
7
+ private readonly table: string
8
+
9
+ private readonly column: string
10
+
11
+ private readonly knexColumnBuilder: Knex.ColumnBuilder
12
+
13
+ public constructor(
14
+ table: string,
15
+ column: string,
16
+ knexColumnBuilder: Knex.ColumnBuilder,
17
+ ) {
18
+ this.table = table
19
+ this.column = column
20
+ this.knexColumnBuilder = knexColumnBuilder
21
+ }
22
+
23
+ public primary(): this {
24
+ this.knexColumnBuilder.primary({
25
+ constraintName: 'PRIMARY',
26
+ })
27
+ return this
28
+ }
29
+
30
+ public foreign(
31
+ referencedTable: string,
32
+ referencedColumn: string,
33
+ onUpdate: ReferentialAction,
34
+ onDelete: ReferentialAction,
35
+ ): this {
36
+ this.knexColumnBuilder
37
+ .references(referencedColumn)
38
+ .inTable(referencedTable)
39
+ .onUpdate(getReferentialActionSql(onUpdate))
40
+ .onDelete(getReferentialActionSql(onDelete))
41
+ .withKeyName(getConstraintName('FOREIGN', this.table, [this.column]))
42
+ return this
43
+ }
44
+
45
+ public index(): this {
46
+ this.knexColumnBuilder
47
+ .index(getConstraintName('INDEX', this.table, [this.column]))
48
+ return this
49
+ }
50
+
51
+ public unique(): this {
52
+ this.knexColumnBuilder.unique({
53
+ indexName: getConstraintName('UNIQUE', this.table, [this.column]),
54
+ })
55
+ return this
56
+ }
57
+ }
58
+
59
+ export {
60
+ ColumnBuilder,
61
+ }
@@ -0,0 +1,19 @@
1
+ import { TableBuilder } from './TableBuilder';
2
+ import type { Driver } from './Driver';
3
+ import type { Knex } from 'knex';
4
+ declare class Database {
5
+ private readonly knex;
6
+ private readonly driver;
7
+ constructor(knex: Knex, driver: Driver);
8
+ createTable(table: string, build: (tableBuilder: TableBuilder) => void): Promise<void>;
9
+ createTableLike(table: string, like: string, build: (tableBuilder: TableBuilder) => void): Promise<void>;
10
+ alterTable(table: string, build: (tableBuilder: TableBuilder) => void): Promise<void>;
11
+ dropTable(table: string): Promise<void>;
12
+ dropTableIfExists(table: string): Promise<void>;
13
+ renameTable(table: string, newName: string): Promise<void>;
14
+ hasTable(table: string): Promise<boolean>;
15
+ hasColumn(table: string, column: string): Promise<boolean>;
16
+ table<Type extends Knex>(table: string): Promise<Knex<Type>>;
17
+ from(table: Knex.Table): Promise<Knex.QueryBuilder>;
18
+ }
19
+ export { Database, };
package/db/Database.js ADDED
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Database = void 0;
4
+ const TableBuilder_1 = require("./TableBuilder");
5
+ class Database {
6
+ knex;
7
+ driver;
8
+ constructor(knex, driver) {
9
+ this.knex = knex;
10
+ this.driver = driver;
11
+ }
12
+ async createTable(table, build) {
13
+ return this.knex.schema.createTable(table, (knexTableBuilder) => {
14
+ build(new TableBuilder_1.TableBuilder(table, knexTableBuilder, this.driver));
15
+ });
16
+ }
17
+ async createTableLike(table, like, build) {
18
+ return this.knex.schema.createTableLike(table, like, (knexTableBuilder) => {
19
+ build(new TableBuilder_1.TableBuilder(table, knexTableBuilder, this.driver));
20
+ });
21
+ }
22
+ async alterTable(table, build) {
23
+ return this.knex.schema.alterTable(table, (knexTableBuilder) => {
24
+ build(new TableBuilder_1.TableBuilder(table, knexTableBuilder, this.driver));
25
+ });
26
+ }
27
+ async dropTable(table) {
28
+ return this.knex.schema.dropTable(table);
29
+ }
30
+ async dropTableIfExists(table) {
31
+ return this.knex.schema.dropTableIfExists(table);
32
+ }
33
+ async renameTable(table, newName) {
34
+ await this.knex.schema.renameTable(table, newName);
35
+ }
36
+ async hasTable(table) {
37
+ return this.knex.schema.hasTable(table);
38
+ }
39
+ async hasColumn(table, column) {
40
+ return this.knex.schema.hasColumn(table, column);
41
+ }
42
+ async table(table) {
43
+ return this.knex(table);
44
+ }
45
+ async from(table) {
46
+ return this.knex.from(table);
47
+ }
48
+ }
49
+ exports.Database = Database;
package/db/Database.ts ADDED
@@ -0,0 +1,74 @@
1
+ import { TableBuilder } from './TableBuilder'
2
+ import type { Driver } from './Driver'
3
+ import type { Knex } from 'knex'
4
+
5
+ class Database {
6
+ private readonly knex: Knex
7
+
8
+ private readonly driver: Driver
9
+
10
+ public constructor(knex: Knex, driver: Driver) {
11
+ this.knex = knex
12
+ this.driver = driver
13
+ }
14
+
15
+ public async createTable(
16
+ table: string,
17
+ build: (tableBuilder: TableBuilder) => void,
18
+ ): Promise<void> {
19
+ return this.knex.schema.createTable(table, (knexTableBuilder) => {
20
+ build(new TableBuilder(table, knexTableBuilder, this.driver))
21
+ })
22
+ }
23
+
24
+ public async createTableLike(
25
+ table: string,
26
+ like: string,
27
+ build: (tableBuilder: TableBuilder) => void,
28
+ ): Promise<void> {
29
+ return this.knex.schema.createTableLike(table, like, (knexTableBuilder) => {
30
+ build(new TableBuilder(table, knexTableBuilder, this.driver))
31
+ })
32
+ }
33
+
34
+ public async alterTable(
35
+ table: string,
36
+ build: (tableBuilder: TableBuilder) => void,
37
+ ): Promise<void> {
38
+ return this.knex.schema.alterTable(table, (knexTableBuilder) => {
39
+ build(new TableBuilder(table, knexTableBuilder, this.driver))
40
+ })
41
+ }
42
+
43
+ public async dropTable(table: string): Promise<void> {
44
+ return this.knex.schema.dropTable(table)
45
+ }
46
+
47
+ public async dropTableIfExists(table: string): Promise<void> {
48
+ return this.knex.schema.dropTableIfExists(table)
49
+ }
50
+
51
+ public async renameTable(table: string, newName: string): Promise<void> {
52
+ await this.knex.schema.renameTable(table, newName)
53
+ }
54
+
55
+ public async hasTable(table: string): Promise<boolean> {
56
+ return this.knex.schema.hasTable(table)
57
+ }
58
+
59
+ public async hasColumn(table: string, column: string): Promise<boolean> {
60
+ return this.knex.schema.hasColumn(table, column)
61
+ }
62
+
63
+ public async table<Type extends Knex>(table: string): Promise<Knex<Type>> {
64
+ return this.knex(table)
65
+ }
66
+
67
+ public async from(table: Knex.Table): Promise<Knex.QueryBuilder> {
68
+ return this.knex.from(table)
69
+ }
70
+ }
71
+
72
+ export {
73
+ Database,
74
+ }