apeframework 0.0.0-dev.2 → 0.0.0-dev.4

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 (531) hide show
  1. package/README.md +3 -45
  2. package/api/Api.d.ts +28 -0
  3. package/api/Api.js +72 -0
  4. package/api/Api.ts +104 -0
  5. package/api/Endpoint.d.ts +12 -0
  6. package/api/Endpoint.ts +16 -0
  7. package/api/ErrorHandler.d.ts +3 -0
  8. package/api/ErrorHandler.ts +11 -0
  9. package/api/Handler.d.ts +3 -0
  10. package/api/Handler.ts +10 -0
  11. package/api/Method.d.ts +8 -0
  12. package/api/Method.js +11 -0
  13. package/api/Method.ts +11 -0
  14. package/api/Schema.d.ts +9 -0
  15. package/api/Schema.ts +13 -0
  16. package/cipher/Algorithm.d.ts +6 -0
  17. package/cipher/Algorithm.js +9 -0
  18. package/cipher/Algorithm.ts +9 -0
  19. package/cipher/Cipher.d.ts +12 -0
  20. package/cipher/Cipher.js +38 -0
  21. package/cipher/Cipher.ts +46 -0
  22. package/cipher/errors/DecryptError.d.ts +5 -0
  23. package/cipher/errors/DecryptError.js +10 -0
  24. package/cipher/errors/DecryptError.ts +11 -0
  25. package/cipher/errors/SecretLengthError.d.ts +5 -0
  26. package/cipher/errors/SecretLengthError.js +10 -0
  27. package/cipher/errors/SecretLengthError.ts +11 -0
  28. package/cipher/validateSecretLength.d.ts +3 -0
  29. package/cipher/validateSecretLength.js +16 -0
  30. package/cipher/validateSecretLength.ts +18 -0
  31. package/cli/Args.d.ts +5 -0
  32. package/cli/Args.ts +8 -0
  33. package/cli/Command.d.ts +3 -0
  34. package/cli/Command.ts +7 -0
  35. package/cli/getArgs.d.ts +3 -0
  36. package/cli/getArgs.js +8 -0
  37. package/cli/getArgs.ts +10 -0
  38. package/cli/parseArgs.d.ts +3 -0
  39. package/cli/parseArgs.js +31 -0
  40. package/cli/parseArgs.ts +34 -0
  41. package/cli/utils/exit.d.ts +2 -0
  42. package/cli/utils/exit.js +7 -0
  43. package/cli/utils/exit.ts +7 -0
  44. package/cli/utils/formatList.d.ts +2 -0
  45. package/cli/utils/formatList.js +10 -0
  46. package/cli/utils/formatList.ts +11 -0
  47. package/cli/utils/formatTable.d.ts +2 -0
  48. package/cli/utils/formatTable.js +22 -0
  49. package/cli/utils/formatTable.ts +25 -0
  50. package/cli/utils/formatText.d.ts +2 -0
  51. package/cli/utils/formatText.js +8 -0
  52. package/cli/utils/formatText.ts +9 -0
  53. package/cli/utils/print.d.ts +2 -0
  54. package/cli/utils/print.js +7 -0
  55. package/cli/utils/print.ts +7 -0
  56. package/cli/utils/printLn.d.ts +2 -0
  57. package/cli/utils/printLn.js +8 -0
  58. package/cli/utils/printLn.ts +9 -0
  59. package/config/Config.d.ts +2 -0
  60. package/config/Config.ts +5 -0
  61. package/config/Properties.d.ts +8 -0
  62. package/config/Properties.ts +12 -0
  63. package/config/errors/FileReadError.d.ts +5 -0
  64. package/config/errors/FileReadError.js +10 -0
  65. package/config/errors/FileReadError.ts +11 -0
  66. package/config/errors/PropertyNameError.d.ts +5 -0
  67. package/config/errors/PropertyNameError.js +10 -0
  68. package/config/errors/PropertyNameError.ts +11 -0
  69. package/config/errors/PropertyParseError.d.ts +5 -0
  70. package/config/errors/PropertyParseError.js +10 -0
  71. package/config/errors/PropertyParseError.ts +11 -0
  72. package/config/getConfig.d.ts +14 -0
  73. package/config/getConfig.js +21 -0
  74. package/config/getConfig.ts +47 -0
  75. package/config/getPropertyEnvVar.d.ts +2 -0
  76. package/config/getPropertyEnvVar.js +13 -0
  77. package/config/getPropertyEnvVar.ts +15 -0
  78. package/config/parseProperty.d.ts +3 -0
  79. package/config/parseProperty.js +37 -0
  80. package/config/parseProperty.ts +47 -0
  81. package/config/readFile.d.ts +2 -0
  82. package/config/readFile.js +31 -0
  83. package/config/readFile.ts +34 -0
  84. package/config/validatePropertyName.d.ts +2 -0
  85. package/config/validatePropertyName.js +11 -0
  86. package/config/validatePropertyName.ts +13 -0
  87. package/env/Env.d.ts +2 -0
  88. package/env/Env.ts +5 -0
  89. package/env/errors/FileReadError.d.ts +5 -0
  90. package/env/errors/FileReadError.js +10 -0
  91. package/env/errors/FileReadError.ts +11 -0
  92. package/env/getEnv.d.ts +8 -0
  93. package/env/getEnv.js +15 -0
  94. package/env/getEnv.ts +24 -0
  95. package/env/readFile.d.ts +3 -0
  96. package/env/readFile.js +24 -0
  97. package/env/readFile.ts +24 -0
  98. package/error/BaseError.d.ts +4 -0
  99. package/error/BaseError.js +12 -0
  100. package/error/BaseError.ts +12 -0
  101. package/jwt/Algorithm.d.ts +6 -0
  102. package/jwt/Algorithm.js +9 -0
  103. package/jwt/Algorithm.ts +9 -0
  104. package/jwt/Jwt.d.ts +13 -0
  105. package/jwt/Jwt.js +35 -0
  106. package/jwt/Jwt.ts +49 -0
  107. package/jwt/Payload.d.ts +11 -0
  108. package/jwt/Payload.ts +14 -0
  109. package/jwt/errors/SecretLengthError.d.ts +5 -0
  110. package/jwt/errors/SecretLengthError.js +10 -0
  111. package/jwt/errors/SecretLengthError.ts +11 -0
  112. package/jwt/validateSecretLength.d.ts +3 -0
  113. package/jwt/validateSecretLength.js +16 -0
  114. package/jwt/validateSecretLength.ts +18 -0
  115. package/logger/Level.d.ts +10 -0
  116. package/logger/Level.js +13 -0
  117. package/logger/Level.ts +13 -0
  118. package/logger/Logger.d.ts +10 -0
  119. package/logger/Logger.js +6 -0
  120. package/logger/Logger.ts +19 -0
  121. package/logger/Severity.d.ts +9 -0
  122. package/logger/Severity.js +12 -0
  123. package/logger/Severity.ts +12 -0
  124. package/logger/adapters/file/FileLogger.d.ts +20 -0
  125. package/logger/adapters/file/FileLogger.js +70 -0
  126. package/logger/adapters/file/FileLogger.ts +87 -0
  127. package/logger/adapters/file/errors/FileInitError.d.ts +5 -0
  128. package/logger/adapters/file/errors/FileInitError.js +10 -0
  129. package/logger/adapters/file/errors/FileInitError.ts +11 -0
  130. package/logger/adapters/file/initFile.d.ts +2 -0
  131. package/logger/adapters/file/initFile.js +20 -0
  132. package/logger/adapters/file/initFile.ts +18 -0
  133. package/logger/adapters/noop/NoopLogger.d.ts +11 -0
  134. package/logger/adapters/noop/NoopLogger.js +14 -0
  135. package/logger/adapters/noop/NoopLogger.ts +21 -0
  136. package/logger/adapters/stdio/StdioLogger.d.ts +20 -0
  137. package/logger/adapters/stdio/StdioLogger.js +73 -0
  138. package/logger/adapters/stdio/StdioLogger.ts +89 -0
  139. package/mailer/Address.d.ts +5 -0
  140. package/mailer/Address.ts +8 -0
  141. package/mailer/Attachment.d.ts +7 -0
  142. package/mailer/Attachment.ts +11 -0
  143. package/mailer/Event.d.ts +16 -0
  144. package/mailer/Event.ts +20 -0
  145. package/mailer/List.d.ts +7 -0
  146. package/mailer/List.ts +10 -0
  147. package/mailer/Location.d.ts +9 -0
  148. package/mailer/Location.ts +12 -0
  149. package/mailer/Mail.d.ts +19 -0
  150. package/mailer/Mail.ts +23 -0
  151. package/mailer/Mailer.d.ts +7 -0
  152. package/mailer/Mailer.js +50 -0
  153. package/mailer/Mailer.ts +69 -0
  154. package/mailer/Method.d.ts +5 -0
  155. package/mailer/Method.js +8 -0
  156. package/mailer/Method.ts +8 -0
  157. package/mailer/adapters/noop/NoopMailer.d.ts +7 -0
  158. package/mailer/adapters/noop/NoopMailer.js +12 -0
  159. package/mailer/adapters/noop/NoopMailer.ts +15 -0
  160. package/mailer/adapters/smtp/SmtpMailer.d.ts +18 -0
  161. package/mailer/adapters/smtp/SmtpMailer.js +60 -0
  162. package/mailer/adapters/smtp/SmtpMailer.ts +74 -0
  163. package/mailer/adapters/smtp/getAddress.d.ts +4 -0
  164. package/mailer/adapters/smtp/getAddress.js +12 -0
  165. package/mailer/adapters/smtp/getAddress.ts +15 -0
  166. package/mailer/adapters/smtp/getAddresses.d.ts +4 -0
  167. package/mailer/adapters/smtp/getAddresses.js +14 -0
  168. package/mailer/adapters/smtp/getAddresses.ts +17 -0
  169. package/mailer/adapters/smtp/getAttachments.d.ts +4 -0
  170. package/mailer/adapters/smtp/getAttachments.js +17 -0
  171. package/mailer/adapters/smtp/getAttachments.ts +20 -0
  172. package/mailer/errors/AddressEmailError.d.ts +5 -0
  173. package/mailer/errors/AddressEmailError.js +10 -0
  174. package/mailer/errors/AddressEmailError.ts +11 -0
  175. package/mailer/errors/EventAttachmentUrlError.d.ts +5 -0
  176. package/mailer/errors/EventAttachmentUrlError.js +10 -0
  177. package/mailer/errors/EventAttachmentUrlError.ts +11 -0
  178. package/mailer/errors/EventGeolocationError.d.ts +5 -0
  179. package/mailer/errors/EventGeolocationError.js +10 -0
  180. package/mailer/errors/EventGeolocationError.ts +11 -0
  181. package/mailer/errors/EventUrlError.d.ts +5 -0
  182. package/mailer/errors/EventUrlError.js +10 -0
  183. package/mailer/errors/EventUrlError.ts +11 -0
  184. package/mailer/errors/ListUrlError.d.ts +5 -0
  185. package/mailer/errors/ListUrlError.js +10 -0
  186. package/mailer/errors/ListUrlError.ts +11 -0
  187. package/mailer/getIcalendar.d.ts +3 -0
  188. package/mailer/getIcalendar.js +35 -0
  189. package/mailer/getIcalendar.ts +39 -0
  190. package/mailer/validateAddressEmail.d.ts +2 -0
  191. package/mailer/validateAddressEmail.js +11 -0
  192. package/mailer/validateAddressEmail.ts +12 -0
  193. package/mailer/validateEventAttachmentUrl.d.ts +2 -0
  194. package/mailer/validateEventAttachmentUrl.js +11 -0
  195. package/mailer/validateEventAttachmentUrl.ts +12 -0
  196. package/mailer/validateEventGeolocation.d.ts +2 -0
  197. package/mailer/validateEventGeolocation.js +11 -0
  198. package/mailer/validateEventGeolocation.ts +15 -0
  199. package/mailer/validateEventUrl.d.ts +2 -0
  200. package/mailer/validateEventUrl.js +11 -0
  201. package/mailer/validateEventUrl.ts +12 -0
  202. package/mailer/validateListUrl.d.ts +2 -0
  203. package/mailer/validateListUrl.js +11 -0
  204. package/mailer/validateListUrl.ts +12 -0
  205. package/package.json +26 -28
  206. package/parser/Parser.d.ts +2 -0
  207. package/parser/Parser.ts +5 -0
  208. package/parser/errors/ParseError.d.ts +5 -0
  209. package/parser/errors/ParseError.js +10 -0
  210. package/parser/errors/ParseError.ts +11 -0
  211. package/parser/factories/unit/Unit.d.ts +5 -0
  212. package/parser/factories/unit/Unit.ts +8 -0
  213. package/parser/factories/unit/createUnitParser.d.ts +7 -0
  214. package/parser/factories/unit/createUnitParser.js +36 -0
  215. package/parser/factories/unit/createUnitParser.ts +50 -0
  216. package/parser/parseBoolean.d.ts +3 -0
  217. package/parser/parseBoolean.js +14 -0
  218. package/parser/parseBoolean.ts +16 -0
  219. package/parser/parseBytes.d.ts +2 -0
  220. package/parser/parseBytes.js +54 -0
  221. package/parser/parseBytes.ts +55 -0
  222. package/parser/parseInteger.d.ts +3 -0
  223. package/parser/parseInteger.js +19 -0
  224. package/parser/parseInteger.ts +23 -0
  225. package/parser/parseMilliseconds.d.ts +2 -0
  226. package/parser/parseMilliseconds.js +30 -0
  227. package/parser/parseMilliseconds.ts +31 -0
  228. package/parser/parseNumber.d.ts +3 -0
  229. package/parser/parseNumber.js +18 -0
  230. package/parser/parseNumber.ts +22 -0
  231. package/parser/parseString.d.ts +3 -0
  232. package/parser/parseString.js +20 -0
  233. package/parser/parseString.ts +20 -0
  234. package/pwd/Pwd.d.ts +9 -0
  235. package/pwd/Pwd.js +22 -0
  236. package/pwd/Pwd.ts +31 -0
  237. package/pwd/errors/HashRoundsError.d.ts +5 -0
  238. package/pwd/errors/HashRoundsError.js +10 -0
  239. package/pwd/errors/HashRoundsError.ts +11 -0
  240. package/pwd/validateHashRounds.d.ts +2 -0
  241. package/pwd/validateHashRounds.js +10 -0
  242. package/pwd/validateHashRounds.ts +11 -0
  243. package/tls/Tls.d.ts +7 -0
  244. package/tls/Tls.ts +10 -0
  245. package/tls/errors/FileReadError.d.ts +5 -0
  246. package/tls/errors/FileReadError.js +10 -0
  247. package/tls/errors/FileReadError.ts +11 -0
  248. package/tls/getTls.d.ts +8 -0
  249. package/tls/getTls.js +17 -0
  250. package/tls/getTls.ts +24 -0
  251. package/tls/readFile.d.ts +2 -0
  252. package/tls/readFile.js +20 -0
  253. package/tls/readFile.ts +18 -0
  254. package/utils/getRandomHexString.d.ts +2 -0
  255. package/utils/getRandomHexString.js +8 -0
  256. package/utils/getRandomHexString.ts +9 -0
  257. package/utils/getTimestamp.d.ts +2 -0
  258. package/utils/getTimestamp.js +7 -0
  259. package/utils/getTimestamp.ts +7 -0
  260. package/utils/isValidEmail.d.ts +2 -0
  261. package/utils/isValidEmail.js +8 -0
  262. package/utils/isValidEmail.ts +9 -0
  263. package/utils/isValidGeolocation.d.ts +2 -0
  264. package/utils/isValidGeolocation.js +10 -0
  265. package/utils/isValidGeolocation.ts +10 -0
  266. package/utils/isValidHexString.d.ts +2 -0
  267. package/utils/isValidHexString.js +8 -0
  268. package/utils/isValidHexString.ts +9 -0
  269. package/utils/isValidJwtToken.d.ts +2 -0
  270. package/utils/isValidJwtToken.js +8 -0
  271. package/utils/isValidJwtToken.ts +9 -0
  272. package/utils/isValidUrl.d.ts +2 -0
  273. package/utils/isValidUrl.js +19 -0
  274. package/utils/isValidUrl.ts +21 -0
  275. package/utils/isValidUuid.d.ts +2 -0
  276. package/utils/isValidUuid.js +8 -0
  277. package/utils/isValidUuid.ts +10 -0
  278. package/utils/wait.d.ts +2 -0
  279. package/utils/wait.js +9 -0
  280. package/utils/wait.ts +9 -0
  281. package/api/api.d.ts +0 -7
  282. package/api/api.ts +0 -8
  283. package/api/auth.d.ts +0 -9
  284. package/api/auth.js +0 -11
  285. package/api/auth.ts +0 -9
  286. package/api/config.d.ts +0 -13
  287. package/api/config.js +0 -59
  288. package/api/config.ts +0 -69
  289. package/api/endpoint.d.ts +0 -20
  290. package/api/endpoint.js +0 -5
  291. package/api/endpoint.ts +0 -23
  292. package/api/handler.d.ts +0 -8
  293. package/api/handler.js +0 -13
  294. package/api/handler.ts +0 -23
  295. package/api/index.d.ts +0 -7
  296. package/api/index.js +0 -187
  297. package/api/index.ts +0 -97
  298. package/api/route.d.ts +0 -6
  299. package/api/route.ts +0 -4
  300. package/api/router.d.ts +0 -4
  301. package/api/router.js +0 -111
  302. package/api/router.ts +0 -36
  303. package/api/schema.d.ts +0 -29
  304. package/api/schema.js +0 -69
  305. package/api/schema.ts +0 -98
  306. package/app/app.d.ts +0 -6
  307. package/app/app.ts +0 -7
  308. package/app/boot.d.ts +0 -4
  309. package/app/boot.ts +0 -5
  310. package/app/bundle.d.ts +0 -14
  311. package/app/bundle.ts +0 -15
  312. package/app/config.d.ts +0 -4
  313. package/app/config.js +0 -9
  314. package/app/config.ts +0 -9
  315. package/app/index.d.ts +0 -9
  316. package/app/index.js +0 -103
  317. package/app/index.ts +0 -32
  318. package/bin/ape-cli-ts.js +0 -4
  319. package/bin/ape-cli.js +0 -2
  320. package/cli/command.d.ts +0 -4
  321. package/cli/command.ts +0 -7
  322. package/cli/index.d.ts +0 -2
  323. package/cli/index.js +0 -103
  324. package/cli/index.ts +0 -41
  325. package/cli/internal/api.d.ts +0 -3
  326. package/cli/internal/api.js +0 -110
  327. package/cli/internal/api.ts +0 -38
  328. package/cli/internal/index.d.ts +0 -2
  329. package/cli/internal/index.js +0 -13
  330. package/cli/internal/index.ts +0 -9
  331. package/cli/internal/migration.d.ts +0 -3
  332. package/cli/internal/migration.js +0 -214
  333. package/cli/internal/migration.ts +0 -110
  334. package/cli/internal/queue.d.ts +0 -3
  335. package/cli/internal/queue.js +0 -147
  336. package/cli/internal/queue.ts +0 -60
  337. package/cli/utils.d.ts +0 -18
  338. package/cli/utils.js +0 -52
  339. package/cli/utils.ts +0 -48
  340. package/config/config.d.ts +0 -5
  341. package/config/config.ts +0 -6
  342. package/config/configuration.d.ts +0 -63
  343. package/config/configuration.ts +0 -72
  344. package/config/default.d.ts +0 -33
  345. package/config/default.js +0 -34
  346. package/config/default.ts +0 -40
  347. package/config/env.d.ts +0 -66
  348. package/config/env.js +0 -72
  349. package/config/env.ts +0 -79
  350. package/config/index.d.ts +0 -8
  351. package/config/index.js +0 -91
  352. package/config/index.ts +0 -101
  353. package/config/loadFile.d.ts +0 -2
  354. package/config/loadFile.js +0 -13
  355. package/config/loadFile.ts +0 -9
  356. package/config/node.d.ts +0 -5
  357. package/config/node.js +0 -11
  358. package/config/node.ts +0 -7
  359. package/config/store.d.ts +0 -6
  360. package/config/store.js +0 -20
  361. package/config/store.ts +0 -15
  362. package/db/config/index.d.ts +0 -10
  363. package/db/config/index.js +0 -43
  364. package/db/config/index.ts +0 -35
  365. package/db/config/memory.d.ts +0 -3
  366. package/db/config/memory.js +0 -15
  367. package/db/config/memory.ts +0 -13
  368. package/db/config/mysql.d.ts +0 -3
  369. package/db/config/mysql.js +0 -56
  370. package/db/config/mysql.ts +0 -58
  371. package/db/config/postgres.d.ts +0 -3
  372. package/db/config/postgres.js +0 -59
  373. package/db/config/postgres.ts +0 -61
  374. package/db/config/sqlite.d.ts +0 -3
  375. package/db/config/sqlite.js +0 -21
  376. package/db/config/sqlite.ts +0 -20
  377. package/db/database.d.ts +0 -3
  378. package/db/database.js +0 -3
  379. package/db/database.ts +0 -5
  380. package/db/index.d.ts +0 -10
  381. package/db/index.js +0 -32
  382. package/db/index.ts +0 -26
  383. package/db/postProcess.d.ts +0 -3
  384. package/db/postProcess.js +0 -25
  385. package/db/postProcess.ts +0 -27
  386. package/db/schema/builder/_.d.ts +0 -30
  387. package/db/schema/builder/_.js +0 -87
  388. package/db/schema/builder/_.ts +0 -101
  389. package/db/schema/builder/columnBuilder.d.ts +0 -7
  390. package/db/schema/builder/columnBuilder.js +0 -14
  391. package/db/schema/builder/columnBuilder.ts +0 -15
  392. package/db/schema/builder/dataType.d.ts +0 -28
  393. package/db/schema/builder/dataType.js +0 -170
  394. package/db/schema/builder/dataType.ts +0 -184
  395. package/db/schema/builder/index.d.ts +0 -15
  396. package/db/schema/builder/index.js +0 -42
  397. package/db/schema/builder/index.ts +0 -50
  398. package/db/schema/builder/tableBuilder.d.ts +0 -45
  399. package/db/schema/builder/tableBuilder.js +0 -307
  400. package/db/schema/builder/tableBuilder.ts +0 -409
  401. package/db/schema/config.d.ts +0 -4
  402. package/db/schema/config.js +0 -5
  403. package/db/schema/config.ts +0 -3
  404. package/db/schema/index.d.ts +0 -7
  405. package/db/schema/index.js +0 -252
  406. package/db/schema/index.ts +0 -88
  407. package/db/schema/migration.d.ts +0 -6
  408. package/db/schema/migration.ts +0 -7
  409. package/db/schema/migrationList.d.ts +0 -5
  410. package/db/schema/migrationList.ts +0 -5
  411. package/db/schema/migrationSource.d.ts +0 -10
  412. package/db/schema/migrationSource.js +0 -60
  413. package/db/schema/migrationSource.ts +0 -24
  414. package/db/schema/schema.d.ts +0 -6
  415. package/db/schema/schema.ts +0 -7
  416. package/db/utils/index.d.ts +0 -7
  417. package/db/utils/index.js +0 -10
  418. package/db/utils/index.ts +0 -8
  419. package/db/utils/insertGetKey.d.ts +0 -8
  420. package/db/utils/insertGetKey.js +0 -109
  421. package/db/utils/insertGetKey.ts +0 -80
  422. package/i18n/config.d.ts +0 -4
  423. package/i18n/config.js +0 -9
  424. package/i18n/config.ts +0 -9
  425. package/i18n/i18n.d.ts +0 -5
  426. package/i18n/i18n.ts +0 -6
  427. package/i18n/index.d.ts +0 -8
  428. package/i18n/index.js +0 -155
  429. package/i18n/index.ts +0 -42
  430. package/i18n/internationalization.d.ts +0 -3
  431. package/i18n/internationalization.ts +0 -5
  432. package/i18n/translation.d.ts +0 -4
  433. package/i18n/translation.ts +0 -4
  434. package/jwt/config.d.ts +0 -5
  435. package/jwt/config.js +0 -12
  436. package/jwt/config.ts +0 -11
  437. package/jwt/index.d.ts +0 -8
  438. package/jwt/index.js +0 -90
  439. package/jwt/index.ts +0 -60
  440. package/jwt/jwt.d.ts +0 -6
  441. package/jwt/jwt.ts +0 -19
  442. package/jwt/user.d.ts +0 -4
  443. package/jwt/user.ts +0 -4
  444. package/log/config.d.ts +0 -23
  445. package/log/config.js +0 -47
  446. package/log/config.ts +0 -43
  447. package/log/index.d.ts +0 -4
  448. package/log/index.js +0 -9
  449. package/log/index.ts +0 -9
  450. package/log/logger.d.ts +0 -3
  451. package/log/logger.ts +0 -5
  452. package/mail/config.d.ts +0 -4
  453. package/mail/config.js +0 -5
  454. package/mail/config.ts +0 -3
  455. package/mail/email.d.ts +0 -20
  456. package/mail/email.ts +0 -21
  457. package/mail/index.d.ts +0 -2
  458. package/mail/index.js +0 -4
  459. package/mail/index.ts +0 -3
  460. package/mail/mail.d.ts +0 -12
  461. package/mail/mail.ts +0 -13
  462. package/mail/module/bypass/index.d.ts +0 -6
  463. package/mail/module/bypass/index.js +0 -74
  464. package/mail/module/bypass/index.ts +0 -9
  465. package/mail/module/config.d.ts +0 -11
  466. package/mail/module/config.js +0 -24
  467. package/mail/module/config.ts +0 -25
  468. package/mail/module/index.d.ts +0 -8
  469. package/mail/module/index.js +0 -107
  470. package/mail/module/index.ts +0 -61
  471. package/mail/module/smtp/config.d.ts +0 -6
  472. package/mail/module/smtp/config.js +0 -25
  473. package/mail/module/smtp/config.ts +0 -25
  474. package/mail/module/smtp/index.d.ts +0 -9
  475. package/mail/module/smtp/index.js +0 -104
  476. package/mail/module/smtp/index.ts +0 -36
  477. package/mq/index.d.ts +0 -3
  478. package/mq/index.js +0 -27
  479. package/mq/index.ts +0 -4
  480. package/mq/module/bypass/index.d.ts +0 -13
  481. package/mq/module/bypass/index.js +0 -86
  482. package/mq/module/bypass/index.ts +0 -20
  483. package/mq/module/config.d.ts +0 -6
  484. package/mq/module/config.js +0 -15
  485. package/mq/module/config.ts +0 -14
  486. package/mq/module/index.d.ts +0 -9
  487. package/mq/module/index.js +0 -93
  488. package/mq/module/index.ts +0 -24
  489. package/mq/module/redis/config.d.ts +0 -27
  490. package/mq/module/redis/config.js +0 -37
  491. package/mq/module/redis/config.ts +0 -34
  492. package/mq/module/redis/index.d.ts +0 -15
  493. package/mq/module/redis/index.js +0 -132
  494. package/mq/module/redis/index.ts +0 -60
  495. package/mq/mq.d.ts +0 -15
  496. package/mq/mq.js +0 -2
  497. package/mq/mq.ts +0 -18
  498. package/mq/queue.d.ts +0 -9
  499. package/mq/queue.js +0 -2
  500. package/mq/queue.ts +0 -11
  501. package/pwd/config.d.ts +0 -4
  502. package/pwd/config.js +0 -9
  503. package/pwd/config.ts +0 -9
  504. package/pwd/index.d.ts +0 -6
  505. package/pwd/index.js +0 -21
  506. package/pwd/index.ts +0 -20
  507. package/pwd/pwd.d.ts +0 -4
  508. package/pwd/pwd.js +0 -2
  509. package/pwd/pwd.ts +0 -4
  510. package/utils/index.d.ts +0 -25
  511. package/utils/index.js +0 -72
  512. package/utils/index.ts +0 -56
  513. /package/api/{api.js → Endpoint.js} +0 -0
  514. /package/api/{route.js → ErrorHandler.js} +0 -0
  515. /package/{app/app.js → api/Handler.js} +0 -0
  516. /package/{app/boot.js → api/Schema.js} +0 -0
  517. /package/{app/bundle.js → cli/Args.js} +0 -0
  518. /package/cli/{command.js → Command.js} +0 -0
  519. /package/config/{config.js → Config.js} +0 -0
  520. /package/config/{configuration.js → Properties.js} +0 -0
  521. /package/{db/schema/migration.js → env/Env.js} +0 -0
  522. /package/{db/schema/migrationList.js → jwt/Payload.js} +0 -0
  523. /package/{db/schema/schema.js → mailer/Address.js} +0 -0
  524. /package/{i18n/i18n.js → mailer/Attachment.js} +0 -0
  525. /package/{i18n/internationalization.js → mailer/Event.js} +0 -0
  526. /package/{i18n/translation.js → mailer/List.js} +0 -0
  527. /package/{jwt/jwt.js → mailer/Location.js} +0 -0
  528. /package/{jwt/user.js → mailer/Mail.js} +0 -0
  529. /package/{log/logger.js → parser/Parser.js} +0 -0
  530. /package/{mail/email.js → parser/factories/unit/Unit.js} +0 -0
  531. /package/{mail/mail.js → tls/Tls.js} +0 -0
package/cli/getArgs.ts ADDED
@@ -0,0 +1,10 @@
1
+ import { parseArgs } from './parseArgs'
2
+ import type { Args } from './Args'
3
+
4
+ const getArgs = (): Args => {
5
+ return parseArgs(process.argv.slice(2))
6
+ }
7
+
8
+ export {
9
+ getArgs,
10
+ }
@@ -0,0 +1,3 @@
1
+ import type { Args } from './Args';
2
+ declare const parseArgs: (args: string[]) => Args;
3
+ export { parseArgs, };
@@ -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.parseArgs = void 0;
7
+ const yargs_parser_1 = __importDefault(require("yargs-parser"));
8
+ const parseArgs = (args) => {
9
+ const parsed = (0, yargs_parser_1.default)(args, {
10
+ configuration: {
11
+ 'boolean-negation': false,
12
+ 'camel-case-expansion': true,
13
+ 'dot-notation': false,
14
+ 'duplicate-arguments-array': false,
15
+ 'flatten-duplicate-arrays': false,
16
+ 'greedy-arrays': false,
17
+ 'parse-numbers': false,
18
+ 'parse-positional-numbers': false,
19
+ 'short-option-groups': true,
20
+ 'strip-dashed': true,
21
+ },
22
+ });
23
+ const positional = parsed._;
24
+ const optional = parsed;
25
+ delete optional._;
26
+ return {
27
+ positional,
28
+ optional,
29
+ };
30
+ };
31
+ exports.parseArgs = parseArgs;
@@ -0,0 +1,34 @@
1
+ import yargsParser from 'yargs-parser'
2
+ import type { Args } from './Args'
3
+
4
+ const parseArgs = (args: string[]): Args => {
5
+ const parsed = yargsParser(args, {
6
+ configuration: {
7
+ 'boolean-negation': false,
8
+ 'camel-case-expansion': true,
9
+ 'dot-notation': false,
10
+ 'duplicate-arguments-array': false,
11
+ 'flatten-duplicate-arrays': false,
12
+ 'greedy-arrays': false,
13
+ 'parse-numbers': false,
14
+ 'parse-positional-numbers': false,
15
+ 'short-option-groups': true,
16
+ 'strip-dashed': true,
17
+ },
18
+ })
19
+
20
+ const positional = parsed._ as string[]
21
+
22
+ const optional = parsed as Record<string, boolean | string>
23
+
24
+ delete optional._
25
+
26
+ return {
27
+ positional,
28
+ optional,
29
+ }
30
+ }
31
+
32
+ export {
33
+ parseArgs,
34
+ }
@@ -0,0 +1,2 @@
1
+ declare const exit: (code?: number) => void;
2
+ export { exit, };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exit = void 0;
4
+ const exit = (code) => {
5
+ process.exit(code);
6
+ };
7
+ exports.exit = exit;
@@ -0,0 +1,7 @@
1
+ const exit = (code?: number): void => {
2
+ process.exit(code)
3
+ }
4
+
5
+ export {
6
+ exit,
7
+ }
@@ -0,0 +1,2 @@
1
+ declare const formatList: (list: string[]) => string;
2
+ export { formatList, };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatList = void 0;
4
+ const os_1 = require("os");
5
+ const formatList = (list) => {
6
+ return list
7
+ .map((item) => { return ` ${item}`; })
8
+ .join(os_1.EOL);
9
+ };
10
+ exports.formatList = formatList;
@@ -0,0 +1,11 @@
1
+ import { EOL } from 'os'
2
+
3
+ const formatList = (list: string[]): string => {
4
+ return list
5
+ .map((item) => { return ` ${item}` })
6
+ .join(EOL)
7
+ }
8
+
9
+ export {
10
+ formatList,
11
+ }
@@ -0,0 +1,2 @@
1
+ declare const formatTable: (table: string[][]) => string;
2
+ export { formatTable, };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatTable = void 0;
4
+ const os_1 = require("os");
5
+ const formatTable = (table) => {
6
+ const colLength = [];
7
+ table.forEach((row) => {
8
+ ['', ...row].forEach((col, i) => {
9
+ colLength[i] = col.length > (colLength[i] ?? 0)
10
+ ? col.length
11
+ : colLength[i] ?? 0;
12
+ });
13
+ });
14
+ return table
15
+ .map((row) => {
16
+ return ['', ...row]
17
+ .map((col, i) => { return col.padEnd(colLength[i], ' '); })
18
+ .join(' ');
19
+ })
20
+ .join(os_1.EOL);
21
+ };
22
+ exports.formatTable = formatTable;
@@ -0,0 +1,25 @@
1
+ import { EOL } from 'os'
2
+
3
+ const formatTable = (table: string[][]): string => {
4
+ const colLength: number[] = []
5
+
6
+ table.forEach((row) => {
7
+ ['', ...row].forEach((col, i) => {
8
+ colLength[i] = col.length > (colLength[i] ?? 0)
9
+ ? col.length
10
+ : colLength[i] ?? 0
11
+ })
12
+ })
13
+
14
+ return table
15
+ .map((row) => {
16
+ return ['', ...row]
17
+ .map((col, i) => { return col.padEnd(colLength[i], ' ') })
18
+ .join(' ')
19
+ })
20
+ .join(EOL)
21
+ }
22
+
23
+ export {
24
+ formatTable,
25
+ }
@@ -0,0 +1,2 @@
1
+ declare const formatText: (text: string[]) => string;
2
+ export { formatText, };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatText = void 0;
4
+ const os_1 = require("os");
5
+ const formatText = (text) => {
6
+ return text.join(os_1.EOL);
7
+ };
8
+ exports.formatText = formatText;
@@ -0,0 +1,9 @@
1
+ import { EOL } from 'os'
2
+
3
+ const formatText = (text: string[]): string => {
4
+ return text.join(EOL)
5
+ }
6
+
7
+ export {
8
+ formatText,
9
+ }
@@ -0,0 +1,2 @@
1
+ declare const print: (s: string) => void;
2
+ export { print, };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.print = void 0;
4
+ const print = (s) => {
5
+ process.stdout.write(s);
6
+ };
7
+ exports.print = print;
@@ -0,0 +1,7 @@
1
+ const print = (s: string): void => {
2
+ process.stdout.write(s)
3
+ }
4
+
5
+ export {
6
+ print,
7
+ }
@@ -0,0 +1,2 @@
1
+ declare const printLn: (s: string) => void;
2
+ export { printLn, };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.printLn = void 0;
4
+ const os_1 = require("os");
5
+ const printLn = (s) => {
6
+ process.stdout.write(`${s}${os_1.EOL}`);
7
+ };
8
+ exports.printLn = printLn;
@@ -0,0 +1,9 @@
1
+ import { EOL } from 'os'
2
+
3
+ const printLn = (s: string): void => {
4
+ process.stdout.write(`${s}${EOL}`)
5
+ }
6
+
7
+ export {
8
+ printLn,
9
+ }
@@ -0,0 +1,2 @@
1
+ type Config = Record<string, boolean | number | string>;
2
+ export { type Config, };
@@ -0,0 +1,5 @@
1
+ type Config = Record<string, boolean | number | string>
2
+
3
+ export {
4
+ type Config,
5
+ }
@@ -0,0 +1,8 @@
1
+ import type { Parser } from '../parser/Parser';
2
+ type Properties<Type> = {
3
+ [Property in keyof Type]: {
4
+ parser: Parser<Type[Property]>;
5
+ default?: any;
6
+ };
7
+ };
8
+ export { type Properties, };
@@ -0,0 +1,12 @@
1
+ import type { Parser } from '../parser/Parser'
2
+
3
+ type Properties<Type> = {
4
+ [Property in keyof Type]: {
5
+ parser: Parser<Type[Property]>,
6
+ default?: any,
7
+ }
8
+ }
9
+
10
+ export {
11
+ type Properties,
12
+ }
@@ -0,0 +1,5 @@
1
+ import { BaseError } from '../../error/BaseError';
2
+ declare class FileReadError extends BaseError {
3
+ constructor(path: string, message: string);
4
+ }
5
+ export { FileReadError, };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileReadError = void 0;
4
+ const BaseError_1 = require("../../error/BaseError");
5
+ class FileReadError extends BaseError_1.BaseError {
6
+ constructor(path, message) {
7
+ super(`failed reading file "${path}": ${message}`);
8
+ }
9
+ }
10
+ exports.FileReadError = FileReadError;
@@ -0,0 +1,11 @@
1
+ import { BaseError } from '../../error/BaseError'
2
+
3
+ class FileReadError extends BaseError {
4
+ public constructor(path: string, message: string) {
5
+ super(`failed reading file "${path}": ${message}`)
6
+ }
7
+ }
8
+
9
+ export {
10
+ FileReadError,
11
+ }
@@ -0,0 +1,5 @@
1
+ import { BaseError } from '../../error/BaseError';
2
+ declare class PropertyNameError extends BaseError {
3
+ constructor(name: string);
4
+ }
5
+ export { PropertyNameError, };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PropertyNameError = void 0;
4
+ const BaseError_1 = require("../../error/BaseError");
5
+ class PropertyNameError extends BaseError_1.BaseError {
6
+ constructor(name) {
7
+ super(`invalid property name "${name}"`);
8
+ }
9
+ }
10
+ exports.PropertyNameError = PropertyNameError;
@@ -0,0 +1,11 @@
1
+ import { BaseError } from '../../error/BaseError'
2
+
3
+ class PropertyNameError extends BaseError {
4
+ public constructor(name: string) {
5
+ super(`invalid property name "${name}"`)
6
+ }
7
+ }
8
+
9
+ export {
10
+ PropertyNameError,
11
+ }
@@ -0,0 +1,5 @@
1
+ import { BaseError } from '../../error/BaseError';
2
+ declare class PropertyParseError extends BaseError {
3
+ constructor(name: string, source: string, message: string);
4
+ }
5
+ export { PropertyParseError, };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PropertyParseError = void 0;
4
+ const BaseError_1 = require("../../error/BaseError");
5
+ class PropertyParseError extends BaseError_1.BaseError {
6
+ constructor(name, source, message) {
7
+ super(`failed parsing property "${name}" from ${source}: ${message}`);
8
+ }
9
+ }
10
+ exports.PropertyParseError = PropertyParseError;
@@ -0,0 +1,11 @@
1
+ import { BaseError } from '../../error/BaseError'
2
+
3
+ class PropertyParseError extends BaseError {
4
+ public constructor(name: string, source: string, message: string) {
5
+ super(`failed parsing property "${name}" from ${source}: ${message}`)
6
+ }
7
+ }
8
+
9
+ export {
10
+ PropertyParseError,
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 PropertyParseError_1 = require("./errors/PropertyParseError");
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 PropertyParseError_1.PropertyParseError(name, source.name, error.message);
35
+ }
36
+ };
37
+ exports.parseProperty = parseProperty;
@@ -0,0 +1,47 @@
1
+ import { PropertyParseError } from './errors/PropertyParseError'
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 PropertyParseError(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 FileReadError_1 = require("./errors/FileReadError");
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 FileReadError_1.FileReadError(path, error.message);
20
+ }
21
+ if (required && !fileExists) {
22
+ throw new FileReadError_1.FileReadError(path, 'missing file');
23
+ }
24
+ if (typeof json !== 'object'
25
+ || Array.isArray(json)
26
+ || json === null) {
27
+ throw new FileReadError_1.FileReadError(path, 'invalid content');
28
+ }
29
+ return json;
30
+ };
31
+ exports.readFile = readFile;