@nr1e/commons 0.1.1 → 0.1.3-alpha.0

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 (440) hide show
  1. package/package.json +1 -1
  2. package/.editorconfig +0 -19
  3. package/.eslintignore +0 -3
  4. package/.eslintrc.json +0 -4
  5. package/.git/COMMIT_EDITMSG +0 -5
  6. package/.git/FETCH_HEAD +0 -1
  7. package/.git/HEAD +0 -1
  8. package/.git/config +0 -18
  9. package/.git/config.worktree +0 -5
  10. package/.git/description +0 -1
  11. package/.git/hooks/applypatch-msg.sample +0 -15
  12. package/.git/hooks/commit-msg.sample +0 -24
  13. package/.git/hooks/fsmonitor-watchman.sample +0 -174
  14. package/.git/hooks/post-update.sample +0 -8
  15. package/.git/hooks/pre-applypatch.sample +0 -14
  16. package/.git/hooks/pre-commit.sample +0 -49
  17. package/.git/hooks/pre-merge-commit.sample +0 -13
  18. package/.git/hooks/pre-push.sample +0 -53
  19. package/.git/hooks/pre-rebase.sample +0 -169
  20. package/.git/hooks/pre-receive.sample +0 -24
  21. package/.git/hooks/prepare-commit-msg.sample +0 -42
  22. package/.git/hooks/push-to-checkout.sample +0 -78
  23. package/.git/hooks/sendemail-validate.sample +0 -77
  24. package/.git/hooks/update.sample +0 -128
  25. package/.git/index +0 -0
  26. package/.git/info/exclude +0 -6
  27. package/.git/logs/HEAD +0 -2
  28. package/.git/logs/refs/heads/main +0 -2
  29. package/.git/logs/refs/remotes/origin/main +0 -2
  30. package/.git/objects/07/c0af7cd711cab6a55ad3dc349ac8c70775623c +0 -0
  31. package/.git/objects/0d/698432e2c44311c17b845cc63093a898972b95 +0 -0
  32. package/.git/objects/10/ba4a7d64968326293182d571a9c73f5e041fb6 +0 -3
  33. package/.git/objects/12/069a5aa45479564e00749f730582627a276a55 +0 -3
  34. package/.git/objects/14/5ab9cf82c40696a07ab42f117ba199acb2a50b +0 -4
  35. package/.git/objects/17/7b0dc4bf884f8ae0403b4aad053e76baafd632 +0 -2
  36. package/.git/objects/1d/a517ce3527df45a4f28e52ff2c0d9d1c8179f6 +0 -0
  37. package/.git/objects/27/50076ed23b5211a52ef834f40f183ddecb917a +0 -0
  38. package/.git/objects/2a/96e4bb57fa4bd69c719dca224b17b569e94e82 +0 -2
  39. package/.git/objects/2b/38c26b4ec43b8f5574acb164d2ba64bca8e230 +0 -0
  40. package/.git/objects/2c/61d463bee185f04e7c2bd1d2a15ad1117c589e +0 -0
  41. package/.git/objects/2d/22dbc836cfd75c8d7640ebe5a4fe90bd2c23c6 +0 -0
  42. package/.git/objects/2e/58414df7b4d5c972167a83270f78fc4ed508f5 +0 -0
  43. package/.git/objects/38/0be191ee415827a1217f46626fea4fefba48e5 +0 -0
  44. package/.git/objects/3a/93aa29cd19bdc95a87d15910baec8455f8b7b7 +0 -0
  45. package/.git/objects/50/150b739272269be2ede552448013eba65323da +0 -0
  46. package/.git/objects/53/2b7b796ffd3223f913a5a5e1e17743ee3591fe +0 -0
  47. package/.git/objects/54/a8535f50287f6a7a8c00aed143ca6e5ee5f5d1 +0 -0
  48. package/.git/objects/5d/4aa0709f62f1bc1fa80251208b570cb3b89d9c +0 -0
  49. package/.git/objects/63/1c43e00d4c34ba914c510f4fe2e6df15b8b06e +0 -0
  50. package/.git/objects/63/9900d13c6182e452e33a3bd638e70a0146c785 +0 -2
  51. package/.git/objects/64/3fa02661c3a1b54205729a75d2fb5f013833af +0 -0
  52. package/.git/objects/6c/59086d862516d2fffa5da2035e5003100fb5c7 +0 -0
  53. package/.git/objects/6c/b74f90a0c799eea1c54a04d8d6a8a9e9691cca +0 -2
  54. package/.git/objects/70/0e093acb1c1e55d523507411b7940a01a3bb65 +0 -0
  55. package/.git/objects/71/1ba2014bc137dece4c4156ff5e77e6abaeb95c +0 -0
  56. package/.git/objects/74/c82ffe8eb71efecbccfdf67b590949c944dd1a +0 -0
  57. package/.git/objects/76/1413a07839108abb46ef0e4490bd1c1444b4fc +0 -0
  58. package/.git/objects/77/96f8282f2c553ecdde72bc976478eb3a8a948e +0 -0
  59. package/.git/objects/79/ee123c2b23e069e35ed634d687e17f731cc702 +0 -0
  60. package/.git/objects/7d/80af9735f0527db35ecc79ae3c887e445cb3e0 +0 -0
  61. package/.git/objects/85/1d8d26c2a946ccfd5461a2573665c1fb7d71f7 +0 -0
  62. package/.git/objects/85/c5f24b8c55496f82a2680f94a7d3fa32887ea0 +0 -0
  63. package/.git/objects/87/00b3833597b600e6f0ffcfbaf622fd8cfaa9c3 +0 -1
  64. package/.git/objects/87/f31d3df8e7edbf96e45d80126f878b8e0c243f +0 -0
  65. package/.git/objects/8b/cc95b71b20c79513e9157b921238ca2c79f906 +0 -0
  66. package/.git/objects/8d/d819967bdc8457f04c1b5498bce89380d6552b +0 -7
  67. package/.git/objects/91/b0fba96bf994b6232bb923f2a9929fc258a05f +0 -0
  68. package/.git/objects/92/608c4e069a4301d466d8d18daecbe7abc9500e +0 -0
  69. package/.git/objects/94/a25f7f4cb416c083d265558da75d457237d671 +0 -0
  70. package/.git/objects/9c/69411050eac81b5dce09314516a30b38c41a20 +0 -3
  71. package/.git/objects/9f/54b5b21769da383f12fb9c7bd364bdb05e13a9 +0 -0
  72. package/.git/objects/a5/886c22eb68b152bb95ec5151504676d8e78ae1 +0 -0
  73. package/.git/objects/a6/582c9510e264f3b46fc3b20597a16923a03523 +0 -0
  74. package/.git/objects/a9/d7db9c0a81b2db47ca92e4e180b30090b27632 +0 -0
  75. package/.git/objects/ad/c418f9105db9ec488de6831584b82e3929eaef +0 -0
  76. package/.git/objects/b0/c1c68fbbad6b190434cd2bb0e807796bd56fca +0 -0
  77. package/.git/objects/b1/0f0d0ef3bc5aaf3a91be0b991cb6fe0fcadc40 +0 -0
  78. package/.git/objects/b6/3b642cfb4254fc0f7058903abc5b481895c4ef +0 -0
  79. package/.git/objects/b8/a2c461d7ffed9d4ba242c58a52341832b99e0a +0 -0
  80. package/.git/objects/ba/5b53857ced8d97f6d6e3fb3538b3273743dafc +0 -2
  81. package/.git/objects/ba/5ef7104c0d019a9692cd2d78261d96f29e916f +0 -0
  82. package/.git/objects/bc/91e0079eb00d56dcde16714748f36a10dbd525 +0 -0
  83. package/.git/objects/c1/beeb895b71b709e48560460199db11b3fc18af +0 -0
  84. package/.git/objects/c5/166c2aeebaeb0a0f7654223c843c50cd4c8953 +0 -0
  85. package/.git/objects/d4/0a2096fc36c1fd9c7a9263c458d5e8a4a5bee7 +0 -0
  86. package/.git/objects/e1/b744bc6076ebeb02fa86af98583ac22e070ec0 +0 -0
  87. package/.git/objects/e8/019be9e978a8e2f094e748cbb6ce0c7163adee +0 -0
  88. package/.git/objects/eb/1d744c4e9b47bc902647298424320078e32980 +0 -0
  89. package/.git/objects/ee/15af38be7f3c3862229e59c6b5688f8e0f6099 +0 -0
  90. package/.git/objects/f1/9e0f429f231c34432784f9e33b92ac1d598c17 +0 -0
  91. package/.git/objects/f9/86f2fe82493e85651396b6d5886316d1c890dd +0 -0
  92. package/.git/refs/heads/main +0 -1
  93. package/.git/refs/remotes/origin/main +0 -1
  94. package/.git/refs/tags/v0.1.1 +0 -1
  95. package/.git/shallow +0 -1
  96. package/.github/dependabot.yml +0 -10
  97. package/.github/workflows/ci.yml +0 -12
  98. package/.github/workflows/issues.yml +0 -13
  99. package/.github/workflows/publish.yml +0 -21
  100. package/.gitignore +0 -13
  101. package/.idea/.gitignore +0 -10
  102. package/.idea/aws.xml +0 -11
  103. package/.idea/codeStyles/Project.xml +0 -58
  104. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  105. package/.idea/commons-js.iml +0 -14
  106. package/.idea/inspectionProfiles/Project_Default.xml +0 -7
  107. package/.idea/misc.xml +0 -6
  108. package/.idea/modules.xml +0 -8
  109. package/.idea/prettier.xml +0 -6
  110. package/.idea/vcs.xml +0 -6
  111. package/.npmrc +0 -1
  112. package/.prettierignore +0 -7
  113. package/.prettierrc.cjs +0 -3
  114. package/LICENSE +0 -26
  115. package/README.md +0 -14
  116. package/coverage/base.css +0 -224
  117. package/coverage/bitsnbytes/b64.mts.html +0 -559
  118. package/coverage/bitsnbytes/index.html +0 -131
  119. package/coverage/bitsnbytes/index.mts.html +0 -88
  120. package/coverage/clover.xml +0 -1003
  121. package/coverage/coverage-final.json +0 -15
  122. package/coverage/errors/errors.mts.html +0 -898
  123. package/coverage/errors/index.html +0 -131
  124. package/coverage/errors/index.mts.html +0 -88
  125. package/coverage/favicon.png +0 -0
  126. package/coverage/http/http-method.mts.html +0 -112
  127. package/coverage/http/http-status-code.mts.html +0 -211
  128. package/coverage/http/index.html +0 -146
  129. package/coverage/http/index.mts.html +0 -91
  130. package/coverage/index.html +0 -191
  131. package/coverage/lang/index.html +0 -146
  132. package/coverage/lang/index.mts.html +0 -91
  133. package/coverage/lang/sleep.mts.html +0 -109
  134. package/coverage/lang/type-functions.mts.html +0 -124
  135. package/coverage/oauth/crypto-functions.mts.html +0 -217
  136. package/coverage/oauth/index.html +0 -131
  137. package/coverage/oauth/index.mts.html +0 -88
  138. package/coverage/prettify.css +0 -1
  139. package/coverage/sort-arrow-sprite.png +0 -0
  140. package/coverage/validator/index.html +0 -131
  141. package/coverage/validator/index.mts.html +0 -88
  142. package/coverage/validator/validators.mts.html +0 -1237
  143. package/dist/bitsnbytes/b64.test.d.mts +0 -2
  144. package/dist/bitsnbytes/b64.test.d.mts.map +0 -1
  145. package/dist/bitsnbytes/b64.test.mjs +0 -71
  146. package/dist/bitsnbytes/b64.test.mjs.map +0 -1
  147. package/dist/errors/errors.test.d.mts +0 -2
  148. package/dist/errors/errors.test.d.mts.map +0 -1
  149. package/dist/errors/errors.test.mjs +0 -45
  150. package/dist/errors/errors.test.mjs.map +0 -1
  151. package/dist/oauth/crypto-functions.test.d.mts +0 -2
  152. package/dist/oauth/crypto-functions.test.d.mts.map +0 -1
  153. package/dist/oauth/crypto-functions.test.mjs +0 -36
  154. package/dist/oauth/crypto-functions.test.mjs.map +0 -1
  155. package/dist/package.json +0 -72
  156. package/dist/validator/validators.test.d.mts +0 -2
  157. package/dist/validator/validators.test.d.mts.map +0 -1
  158. package/dist/validator/validators.test.mjs +0 -177
  159. package/dist/validator/validators.test.mjs.map +0 -1
  160. package/node_modules/@eslint/eslintrc/LICENSE +0 -19
  161. package/node_modules/@eslint/eslintrc/README.md +0 -115
  162. package/node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs +0 -1104
  163. package/node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs.map +0 -1
  164. package/node_modules/@eslint/eslintrc/dist/eslintrc.cjs +0 -4344
  165. package/node_modules/@eslint/eslintrc/dist/eslintrc.cjs.map +0 -1
  166. package/node_modules/@eslint/eslintrc/package.json +0 -82
  167. package/node_modules/@eslint/eslintrc/universal.js +0 -9
  168. package/node_modules/@eslint/js/LICENSE +0 -19
  169. package/node_modules/@eslint/js/README.md +0 -57
  170. package/node_modules/@eslint/js/package.json +0 -31
  171. package/node_modules/@eslint/js/src/index.js +0 -17
  172. package/node_modules/@eslint-community/eslint-utils/LICENSE +0 -21
  173. package/node_modules/@eslint-community/eslint-utils/README.md +0 -37
  174. package/node_modules/@eslint-community/eslint-utils/index.js +0 -2068
  175. package/node_modules/@eslint-community/eslint-utils/index.js.map +0 -1
  176. package/node_modules/@eslint-community/eslint-utils/index.mjs +0 -2027
  177. package/node_modules/@eslint-community/eslint-utils/index.mjs.map +0 -1
  178. package/node_modules/@eslint-community/eslint-utils/package.json +0 -73
  179. package/node_modules/@eslint-community/regexpp/LICENSE +0 -21
  180. package/node_modules/@eslint-community/regexpp/README.md +0 -177
  181. package/node_modules/@eslint-community/regexpp/index.d.ts +0 -1065
  182. package/node_modules/@eslint-community/regexpp/index.js +0 -2747
  183. package/node_modules/@eslint-community/regexpp/index.js.map +0 -1
  184. package/node_modules/@eslint-community/regexpp/index.mjs +0 -2737
  185. package/node_modules/@eslint-community/regexpp/index.mjs.map +0 -1
  186. package/node_modules/@eslint-community/regexpp/package.json +0 -93
  187. package/node_modules/@types/node/LICENSE +0 -21
  188. package/node_modules/@types/node/README.md +0 -15
  189. package/node_modules/@types/node/package.json +0 -217
  190. package/node_modules/@typescript-eslint/eslint-plugin/LICENSE +0 -21
  191. package/node_modules/@typescript-eslint/eslint-plugin/README.md +0 -10
  192. package/node_modules/@typescript-eslint/eslint-plugin/dist/index.js +0 -23
  193. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/README.md +0 -23
  194. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/TEMPLATE.md +0 -26
  195. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/adjacent-overload-signatures.md +0 -93
  196. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/array-type.md +0 -103
  197. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/await-thenable.md +0 -40
  198. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-ts-comment.md +0 -148
  199. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-tslint-comment.md +0 -39
  200. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-types.md +0 -183
  201. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/block-spacing.md +0 -12
  202. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/brace-style.md +0 -12
  203. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/camelcase.md +0 -10
  204. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/class-literal-property-style.md +0 -114
  205. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-dangle.md +0 -22
  206. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-spacing.md +0 -12
  207. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-generic-constructors.md +0 -73
  208. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-indexed-object-style.md +0 -80
  209. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-assertions.md +0 -108
  210. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-definitions.md +0 -82
  211. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-exports.md +0 -100
  212. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-imports.md +0 -105
  213. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/default-param-last.md +0 -48
  214. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/dot-notation.md +0 -77
  215. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-function-return-type.md +0 -319
  216. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-member-accessibility.md +0 -331
  217. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-module-boundary-types.md +0 -250
  218. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/func-call-spacing.md +0 -12
  219. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/indent.md +0 -20
  220. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/init-declarations.md +0 -12
  221. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/key-spacing.md +0 -12
  222. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/keyword-spacing.md +0 -12
  223. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-around-comment.md +0 -37
  224. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-between-class-members.md +0 -63
  225. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-delimiter-style.md +0 -161
  226. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-ordering.md +0 -1360
  227. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/method-signature-style.md +0 -110
  228. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/naming-convention.md +0 -706
  229. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-array-constructor.md +0 -35
  230. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-base-to-string.md +0 -88
  231. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-non-null-assertion.md +0 -56
  232. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-void-expression.md +0 -116
  233. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dupe-class-members.md +0 -12
  234. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-enum-values.md +0 -50
  235. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-imports.md +0 -12
  236. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-type-constituents.md +0 -61
  237. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dynamic-delete.md +0 -53
  238. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-function.md +0 -88
  239. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-interface.md +0 -70
  240. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-explicit-any.md +0 -174
  241. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-non-null-assertion.md +0 -52
  242. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-parens.md +0 -12
  243. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-semi.md +0 -12
  244. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extraneous-class.md +0 -294
  245. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-floating-promises.md +0 -106
  246. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-for-in-array.md +0 -56
  247. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implicit-any-catch.md +0 -73
  248. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implied-eval.md +0 -101
  249. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-import-type-side-effects.md +0 -75
  250. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-inferrable-types.md +0 -103
  251. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-this.md +0 -12
  252. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-void-type.md +0 -113
  253. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loop-func.md +0 -12
  254. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loss-of-precision.md +0 -12
  255. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-magic-numbers.md +0 -131
  256. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-meaningless-void-operator.md +0 -47
  257. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-new.md +0 -46
  258. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-promises.md +0 -245
  259. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-mixed-enums.md +0 -88
  260. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-namespace.md +0 -129
  261. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-nullish-coalescing.md +0 -49
  262. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-optional-chain.md +0 -35
  263. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-assertion.md +0 -42
  264. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-parameter-properties.md +0 -406
  265. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redeclare.md +0 -73
  266. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redundant-type-constituents.md +0 -78
  267. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-require-imports.md +0 -37
  268. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-restricted-imports.md +0 -63
  269. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-shadow.md +0 -101
  270. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-this-alias.md +0 -38
  271. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-throw-literal.md +0 -111
  272. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-type-alias.md +0 -602
  273. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.md +0 -133
  274. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-condition.md +0 -103
  275. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-qualifier.md +0 -51
  276. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-arguments.md +0 -73
  277. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-assertion.md +0 -77
  278. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-constraint.md +0 -55
  279. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-argument.md +0 -83
  280. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-assignment.md +0 -86
  281. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-call.md +0 -58
  282. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-declaration-merging.md +0 -54
  283. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-enum-comparison.md +0 -75
  284. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-member-access.md +0 -64
  285. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-return.md +0 -103
  286. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-expressions.md +0 -12
  287. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-vars.md +0 -12
  288. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-use-before-define.md +0 -97
  289. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-constructor.md +0 -21
  290. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-empty-export.md +0 -43
  291. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-var-requires.md +0 -37
  292. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/non-nullable-type-assertion-style.md +0 -41
  293. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/object-curly-spacing.md +0 -12
  294. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/padding-line-between-statements.md +0 -35
  295. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/parameter-properties.md +0 -485
  296. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-as-const.md +0 -44
  297. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-enum-initializers.md +0 -62
  298. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-for-of.md +0 -46
  299. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-function-type.md +0 -92
  300. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-includes.md +0 -77
  301. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-literal-enum-member.md +0 -101
  302. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-namespace-keyword.md +0 -47
  303. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-nullish-coalescing.md +0 -164
  304. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-optional-chain.md +0 -71
  305. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly-parameter-types.md +0 -268
  306. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly.md +0 -87
  307. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-reduce-type-parameter.md +0 -58
  308. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-regexp-exec.md +0 -46
  309. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-return-this-type.md +0 -87
  310. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-string-starts-ends-with.md +0 -57
  311. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-ts-expect-error.md +0 -69
  312. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/promise-function-async.md +0 -59
  313. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/quotes.md +0 -12
  314. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-array-sort-compare.md +0 -78
  315. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-await.md +0 -24
  316. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-plus-operands.md +0 -208
  317. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-template-expressions.md +0 -117
  318. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/return-await.md +0 -216
  319. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/semi.md +0 -16
  320. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-constituents.md +0 -101
  321. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-union-intersection-members.md +0 -106
  322. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-blocks.md +0 -42
  323. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-function-paren.md +0 -12
  324. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-infix-ops.md +0 -16
  325. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/strict-boolean-expressions.md +0 -183
  326. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/switch-exhaustiveness-check.md +0 -106
  327. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/triple-slash-reference.md +0 -61
  328. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/type-annotation-spacing.md +0 -303
  329. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/typedef.md +0 -320
  330. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unbound-method.md +0 -103
  331. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unified-signatures.md +0 -70
  332. package/node_modules/@typescript-eslint/eslint-plugin/index.d.ts +0 -4
  333. package/node_modules/@typescript-eslint/eslint-plugin/package.json +0 -87
  334. package/node_modules/@typescript-eslint/parser/LICENSE +0 -22
  335. package/node_modules/@typescript-eslint/parser/README.md +0 -10
  336. package/node_modules/@typescript-eslint/parser/dist/index.js +0 -17
  337. package/node_modules/@typescript-eslint/parser/package.json +0 -75
  338. package/node_modules/@typescript-eslint/scope-manager/LICENSE +0 -21
  339. package/node_modules/@typescript-eslint/scope-manager/README.md +0 -8
  340. package/node_modules/@typescript-eslint/scope-manager/dist/index.js +0 -31
  341. package/node_modules/@typescript-eslint/scope-manager/package.json +0 -67
  342. package/node_modules/@typescript-eslint/type-utils/LICENSE +0 -21
  343. package/node_modules/@typescript-eslint/type-utils/README.md +0 -12
  344. package/node_modules/@typescript-eslint/type-utils/dist/index.js +0 -36
  345. package/node_modules/@typescript-eslint/type-utils/package.json +0 -71
  346. package/node_modules/@typescript-eslint/types/LICENSE +0 -21
  347. package/node_modules/@typescript-eslint/types/README.md +0 -12
  348. package/node_modules/@typescript-eslint/types/dist/index.js +0 -24
  349. package/node_modules/@typescript-eslint/types/package.json +0 -84
  350. package/node_modules/@typescript-eslint/typescript-estree/LICENSE +0 -26
  351. package/node_modules/@typescript-eslint/typescript-estree/README.md +0 -10
  352. package/node_modules/@typescript-eslint/typescript-estree/dist/index.js +0 -38
  353. package/node_modules/@typescript-eslint/typescript-estree/package.json +0 -85
  354. package/node_modules/@typescript-eslint/utils/LICENSE +0 -21
  355. package/node_modules/@typescript-eslint/utils/README.md +0 -10
  356. package/node_modules/@typescript-eslint/utils/dist/index.js +0 -41
  357. package/node_modules/@typescript-eslint/utils/package.json +0 -70
  358. package/node_modules/@typescript-eslint/visitor-keys/LICENSE +0 -21
  359. package/node_modules/@typescript-eslint/visitor-keys/README.md +0 -10
  360. package/node_modules/@typescript-eslint/visitor-keys/dist/index.js +0 -8
  361. package/node_modules/@typescript-eslint/visitor-keys/package.json +0 -60
  362. package/node_modules/@vitest/coverage-v8/LICENSE +0 -21
  363. package/node_modules/@vitest/coverage-v8/dist/index.js +0 -54
  364. package/node_modules/@vitest/coverage-v8/package.json +0 -72
  365. package/pnpm-lock.yaml +0 -3277
  366. package/src/bitsnbytes/b64.mts +0 -158
  367. package/src/bitsnbytes/b64.test.mts +0 -78
  368. package/src/bitsnbytes/index.mts +0 -1
  369. package/src/errors/errors.mts +0 -271
  370. package/src/errors/errors.test.mts +0 -74
  371. package/src/errors/index.mts +0 -1
  372. package/src/http/http-method.mts +0 -9
  373. package/src/http/http-status-code.mts +0 -42
  374. package/src/http/index.mts +0 -2
  375. package/src/lang/index.mts +0 -2
  376. package/src/lang/sleep.mts +0 -8
  377. package/src/lang/type-functions.mts +0 -13
  378. package/src/oauth/crypto-functions.mts +0 -44
  379. package/src/oauth/crypto-functions.test.mts +0 -48
  380. package/src/oauth/index.mts +0 -1
  381. package/src/validator/index.mts +0 -1
  382. package/src/validator/validators.mts +0 -384
  383. package/src/validator/validators.test.mts +0 -245
  384. package/tsconfig.json +0 -18
  385. /package/{dist/bitsnbytes → bitsnbytes}/b64.d.mts +0 -0
  386. /package/{dist/bitsnbytes → bitsnbytes}/b64.d.mts.map +0 -0
  387. /package/{dist/bitsnbytes → bitsnbytes}/b64.mjs +0 -0
  388. /package/{dist/bitsnbytes → bitsnbytes}/b64.mjs.map +0 -0
  389. /package/{dist/bitsnbytes → bitsnbytes}/index.d.mts +0 -0
  390. /package/{dist/bitsnbytes → bitsnbytes}/index.d.mts.map +0 -0
  391. /package/{dist/bitsnbytes → bitsnbytes}/index.mjs +0 -0
  392. /package/{dist/bitsnbytes → bitsnbytes}/index.mjs.map +0 -0
  393. /package/{dist/errors → errors}/errors.d.mts +0 -0
  394. /package/{dist/errors → errors}/errors.d.mts.map +0 -0
  395. /package/{dist/errors → errors}/errors.mjs +0 -0
  396. /package/{dist/errors → errors}/errors.mjs.map +0 -0
  397. /package/{dist/errors → errors}/index.d.mts +0 -0
  398. /package/{dist/errors → errors}/index.d.mts.map +0 -0
  399. /package/{dist/errors → errors}/index.mjs +0 -0
  400. /package/{dist/errors → errors}/index.mjs.map +0 -0
  401. /package/{dist/http → http}/http-method.d.mts +0 -0
  402. /package/{dist/http → http}/http-method.d.mts.map +0 -0
  403. /package/{dist/http → http}/http-method.mjs +0 -0
  404. /package/{dist/http → http}/http-method.mjs.map +0 -0
  405. /package/{dist/http → http}/http-status-code.d.mts +0 -0
  406. /package/{dist/http → http}/http-status-code.d.mts.map +0 -0
  407. /package/{dist/http → http}/http-status-code.mjs +0 -0
  408. /package/{dist/http → http}/http-status-code.mjs.map +0 -0
  409. /package/{dist/http → http}/index.d.mts +0 -0
  410. /package/{dist/http → http}/index.d.mts.map +0 -0
  411. /package/{dist/http → http}/index.mjs +0 -0
  412. /package/{dist/http → http}/index.mjs.map +0 -0
  413. /package/{dist/lang → lang}/index.d.mts +0 -0
  414. /package/{dist/lang → lang}/index.d.mts.map +0 -0
  415. /package/{dist/lang → lang}/index.mjs +0 -0
  416. /package/{dist/lang → lang}/index.mjs.map +0 -0
  417. /package/{dist/lang → lang}/sleep.d.mts +0 -0
  418. /package/{dist/lang → lang}/sleep.d.mts.map +0 -0
  419. /package/{dist/lang → lang}/sleep.mjs +0 -0
  420. /package/{dist/lang → lang}/sleep.mjs.map +0 -0
  421. /package/{dist/lang → lang}/type-functions.d.mts +0 -0
  422. /package/{dist/lang → lang}/type-functions.d.mts.map +0 -0
  423. /package/{dist/lang → lang}/type-functions.mjs +0 -0
  424. /package/{dist/lang → lang}/type-functions.mjs.map +0 -0
  425. /package/{dist/oauth → oauth}/crypto-functions.d.mts +0 -0
  426. /package/{dist/oauth → oauth}/crypto-functions.d.mts.map +0 -0
  427. /package/{dist/oauth → oauth}/crypto-functions.mjs +0 -0
  428. /package/{dist/oauth → oauth}/crypto-functions.mjs.map +0 -0
  429. /package/{dist/oauth → oauth}/index.d.mts +0 -0
  430. /package/{dist/oauth → oauth}/index.d.mts.map +0 -0
  431. /package/{dist/oauth → oauth}/index.mjs +0 -0
  432. /package/{dist/oauth → oauth}/index.mjs.map +0 -0
  433. /package/{dist/validator → validator}/index.d.mts +0 -0
  434. /package/{dist/validator → validator}/index.d.mts.map +0 -0
  435. /package/{dist/validator → validator}/index.mjs +0 -0
  436. /package/{dist/validator → validator}/index.mjs.map +0 -0
  437. /package/{dist/validator → validator}/validators.d.mts +0 -0
  438. /package/{dist/validator → validator}/validators.d.mts.map +0 -0
  439. /package/{dist/validator → validator}/validators.mjs +0 -0
  440. /package/{dist/validator → validator}/validators.mjs.map +0 -0
@@ -1,44 +0,0 @@
1
- import * as crypto from 'crypto';
2
- import {tob64s} from '../bitsnbytes/index.mjs';
3
-
4
- /**
5
- * Generates a state string for use with OAuth2.0 authorization requests.
6
- *
7
- * @param len The length of the state string in bytes. Defaults to 16 bytes.
8
- */
9
- export function generateState(len?: number): string {
10
- if (len && len < 16) {
11
- throw new Error('State must be at least 16 bytes');
12
- }
13
- return tob64s(crypto.randomBytes(len ?? 16), {
14
- b64chars: 'url',
15
- });
16
- }
17
-
18
- /**
19
- * Generates a nonce string for use with OAuth2.0 authorization requests.
20
- *
21
- * @param len The length of the state string in bytes. Defaults to 16 bytes.
22
- */
23
- export function generateNonce(len?: number): string {
24
- if (len && len < 16) {
25
- throw new Error('Nonce must be at least 16 bytes');
26
- }
27
- return tob64s(crypto.randomBytes(len ?? 16), {
28
- b64chars: 'url',
29
- });
30
- }
31
-
32
- /**
33
- * Generates a secret string for use with OAuth2.0 authorization requests.
34
- *
35
- * @param len The length of the state string in bytes. Defaults to 32 bytes.
36
- */
37
- export function generateSecret(len?: number): string {
38
- if (len && len < 32) {
39
- throw new Error('Secret must be at least 32 bytes');
40
- }
41
- return tob64s(crypto.randomBytes(len ?? 32), {
42
- b64chars: 'url',
43
- });
44
- }
@@ -1,48 +0,0 @@
1
- import {test, expect} from 'vitest';
2
- import {
3
- generateNonce,
4
- generateSecret,
5
- generateState,
6
- } from './crypto-functions.mjs';
7
-
8
- test('Test generateState', () => {
9
- const state = generateState();
10
- expect(state).toMatch(/^[A-Za-z0-9_-]{22}$/);
11
- });
12
-
13
- test('Test generateState with custom length', () => {
14
- const state = generateState(32);
15
- expect(state).toMatch(/^[A-Za-z0-9_-]{43}$/);
16
- });
17
-
18
- test('Test generateState with invalid length', () => {
19
- expect(() => generateState(10)).toThrow('State must be at least 16 bytes');
20
- });
21
-
22
- test('Test generateNonce', () => {
23
- const nonce = generateNonce();
24
- expect(nonce).toMatch(/^[A-Za-z0-9_-]{22}$/);
25
- });
26
-
27
- test('Test generateNonce with custom length', () => {
28
- const nonce = generateNonce(32);
29
- expect(nonce).toMatch(/^[A-Za-z0-9_-]{43}$/);
30
- });
31
-
32
- test('Test generateNonce with invalid length', () => {
33
- expect(() => generateNonce(10)).toThrow('Nonce must be at least 16 bytes');
34
- });
35
-
36
- test('Test generateSecret', () => {
37
- const secret = generateSecret();
38
- expect(secret).toMatch(/^[A-Za-z0-9_-]{43}$/);
39
- });
40
-
41
- test('Test generateSecret with custom length', () => {
42
- const secret = generateSecret(64);
43
- expect(secret).toMatch(/^[A-Za-z0-9_-]{86}$/);
44
- });
45
-
46
- test('Test generateSecret with invalid length', () => {
47
- expect(() => generateSecret(10)).toThrow('Secret must be at least 32 bytes');
48
- });
@@ -1 +0,0 @@
1
- export * from './crypto-functions.mjs';
@@ -1 +0,0 @@
1
- export * from './validators.mjs';
@@ -1,384 +0,0 @@
1
- import {ValidationError} from '../errors/index.mjs';
2
-
3
- /**
4
- * Tests if a value is null or undefined.
5
- *
6
- * @param o the value to check
7
- */
8
- export function isNotNull(o?: unknown): o is NonNullable<unknown> {
9
- return o !== undefined && o !== null;
10
- }
11
-
12
- /**
13
- * Throws a ValidationError if the value is null or undefined.
14
- * This function also asserts the value to be NonNullable if the check passes.
15
- *
16
- * @param name the name of the variable
17
- * @param o the value to check
18
- */
19
- export function notNull(
20
- name: string,
21
- o?: unknown
22
- ): asserts o is NonNullable<unknown> {
23
- if (!isNotNull(o)) {
24
- throw new ValidationError(`${name} may not be null or undefined`);
25
- }
26
- }
27
-
28
- /**
29
- * Tests if a value is empty, null, undefined or has a length of 0.
30
- *
31
- * @param o the value to check
32
- */
33
- export function isNotEmpty(o?: unknown): o is NonNullable<unknown> {
34
- return !(o === undefined || o === null || o.toString().length === 0);
35
- }
36
-
37
- /**
38
- * Throws a ValidationError if the value is null, undefined or the length is 0.
39
- * This function also asserts the value to be NonNullable if the check passes.
40
- *
41
- * @param name the name of the variable
42
- * @param o the value to check
43
- */
44
- export function notEmpty(
45
- name: string,
46
- o?: unknown
47
- ): asserts o is NonNullable<unknown> {
48
- if (!isNotEmpty(o)) {
49
- throw new ValidationError(`${name} may not be empty`);
50
- }
51
- }
52
-
53
- /**
54
- * Tests if a value is null, undefined, has a length of 0 or contains only whitespace.
55
- *
56
- * @param o the value to check
57
- */
58
- export function isNotBlank(o?: unknown): o is NonNullable<unknown> {
59
- return !(o === undefined || o === null || o.toString().trim().length === 0);
60
- }
61
-
62
- /**
63
- * Throws a ValidationError if the value is null, undefined, has a length of 0 or contains only whitespace.
64
- * This function also asserts the value to be NonNullable if the check passes.
65
- *
66
- * @param name the name of the variable
67
- * @param o the value to check
68
- */
69
- export function notBlank(
70
- name: string,
71
- o?: unknown
72
- ): asserts o is NonNullable<unknown> {
73
- if (!isNotBlank(o)) {
74
- throw new ValidationError(`${name} may not be blank`);
75
- }
76
- }
77
-
78
- /**
79
- * Tests if a value does not match the regular expression provided.
80
- * Undefined and null values are skipped and not tested.
81
- *
82
- * @param regex the regular expression to test with
83
- * @param o the value to check
84
- */
85
- export function isMatch(regex: RegExp, o?: string | null): o is string {
86
- if (o === undefined || o === null) {
87
- return true;
88
- }
89
- return o.match(regex) !== null;
90
- }
91
-
92
- /**
93
- * Throws a ValidationError if the value matches the regular expression provided.
94
- * Undefined and null values are skipped and not validated.
95
- *
96
- * @param name the name of the variable
97
- * @param regex the regular expression to validate with
98
- * @param o the value to check
99
- */
100
- export function match(name: string, regex: RegExp, o?: string | null) {
101
- if (!isMatch(regex, o)) {
102
- throw new ValidationError(`${name} must match ${regex}`);
103
- }
104
- }
105
-
106
- /**
107
- * Tests if a value is a valid email address.
108
- * Undefined and null values are skipped and not validated.
109
- *
110
- * @param o the value to check
111
- */
112
- export function isEmail(o?: string | null): o is string {
113
- const expression =
114
- /^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/;
115
- return !(o !== undefined && o !== null && !expression.test(o));
116
- }
117
-
118
- /**
119
- * Throws a ValidationError if the value provided is not an email.
120
- * Undefined and null values are skipped and not validated.
121
- *
122
- * @param name the name of the variable
123
- * @param o the value to check
124
- */
125
- export function email(name: string, o?: string | null) {
126
- if (!isEmail(o)) {
127
- throw new ValidationError(`${name} is not a valid email address`);
128
- }
129
- }
130
-
131
- /**
132
- * Tests if a value has a length that is less than the provided length.
133
- * Undefined and null values are skipped and not validated.
134
- *
135
- * @param length the maximum length of the variable
136
- * @param o the value to check
137
- */
138
- export function isMaxLength(length: number, o?: string | unknown[] | null) {
139
- return !(o !== undefined && o !== null && o.length > length);
140
- }
141
-
142
- /**
143
- * Throws a ValidationError if the value provided has a length that exceeds the provided length.
144
- * Undefined and null values are skipped and not validated.
145
- *
146
- * @param name the name of the variable
147
- * @param length the maximum length of the variable
148
- * @param o the value to check
149
- */
150
- export function maxLength(
151
- name: string,
152
- length: number,
153
- o?: string | unknown[] | null
154
- ) {
155
- if (!isMaxLength(length, o)) {
156
- throw new ValidationError(`length of ${name} may not exceed ${length}`);
157
- }
158
- }
159
-
160
- /**
161
- * Tests if a value has a length that is greater than the provided length.
162
- * Undefined and null values are skipped and not validated.
163
- *
164
- * @param length the minimum length of the variable
165
- * @param o the value to check
166
- */
167
- export function isMinLength(length: number, o?: string | unknown[] | null) {
168
- return !(o !== undefined && o !== null && o.length < length);
169
- }
170
-
171
- /**
172
- * Throws a ValidationError if the value provided has a length that is less than the provided length.
173
- * Undefined and null values are skipped and not validated.
174
- *
175
- * @param name the name of the variable
176
- * @param length the minimum length of the variable
177
- * @param o the value to check
178
- */
179
- export function minLength(
180
- name: string,
181
- length: number,
182
- o?: string | unknown[] | null
183
- ) {
184
- if (!isMinLength(length, o)) {
185
- throw new ValidationError(
186
- `length of ${name} may not be less than ${length}`
187
- );
188
- }
189
- }
190
-
191
- /**
192
- * Tests if a value provided is a number.
193
- * Undefined and null values are skipped and not validated.
194
- *
195
- * @param o the value to check
196
- */
197
- export function isNumber(o?: string | null | number): boolean {
198
- return o === undefined || o === null || !isNaN(+o);
199
- }
200
-
201
- /**
202
- * Throws a ValidationError if the value provided is not a number.
203
- * Undefined and null values are skipped and not validated.
204
- *
205
- * @param name the name of the variable
206
- * @param o the value to check
207
- */
208
- export function number(name: string, o?: string | null | number) {
209
- if (!isNumber(o)) {
210
- throw new ValidationError(`${name} is not a number`);
211
- }
212
- }
213
-
214
- /**
215
- * Tests if a value is less than the provided minimum value.
216
- * Undefined and null values are skipped and not validated.
217
- *
218
- * @param minValue the minimum value allowed
219
- * @param o the value to check
220
- */
221
- export function isMinValue(minValue: number, o?: string | number | null) {
222
- return o === undefined || o === null || +o >= minValue;
223
- }
224
-
225
- /**
226
- * Throws a ValidationError if the value is less than the provided minimum value.
227
- * Undefined and null values are skipped and not validated.
228
- *
229
- * @param name the name of the variable
230
- * @param minValue the minimum value allowed
231
- * @param o the value to check
232
- */
233
- export function minValue(
234
- name: string,
235
- minValue: number,
236
- o?: number | string | null
237
- ) {
238
- if (!isMinValue(minValue, o)) {
239
- throw new ValidationError(`${name} may not be less than ${minValue}`);
240
- }
241
- }
242
-
243
- /**
244
- * Tests if a value is more than the provided maximum value.
245
- * Undefined and null values are skipped and not validated.
246
- *
247
- * @param maxValue the maximum value allowed
248
- * @param o the value to check
249
- */
250
- export function isMaxValue(
251
- maxValue: number,
252
- o?: string | number | null
253
- ): boolean {
254
- return !(o !== undefined && o !== null && +o > maxValue);
255
- }
256
-
257
- /**
258
- * Throws a ValidationError if the value is more than the provided maximum value.
259
- * Undefined and null values are skipped and not validated.
260
- *
261
- * @param name the name of the variable
262
- * @param maxValue the maximum value allowed
263
- * @param o the value to check
264
- */
265
- export function maxValue(
266
- name: string,
267
- maxValue: number,
268
- o?: number | string | null
269
- ) {
270
- if (!isMaxValue(maxValue, o)) {
271
- throw new ValidationError(`${name} may not be greater than ${maxValue}`);
272
- }
273
- }
274
-
275
- /**
276
- * Tests if the value is between the provided minimum and maximum values inclusive.
277
- * Undefined and null values are skipped and not validated.
278
- *
279
- * @param minValue the minimum value allowed
280
- * @param maxValue the maximum value allowed
281
- * @param o the value to check
282
- */
283
- export function isBetweenValues(
284
- minValue: number,
285
- maxValue: number,
286
- o?: string | number | null
287
- ): boolean {
288
- return !(o !== undefined && o !== null && (+o < minValue || +o > maxValue));
289
- }
290
-
291
- /**
292
- * Throws a ValidationError if the value is not between the provided minimum and maximum values inclusive.
293
- * Undefined and null values are skipped and not validated.
294
- *
295
- * @param name the name of the variable
296
- * @param minValue the minimum value allowed
297
- * @param maxValue the maximum value allowed
298
- * @param o the value to check
299
- */
300
- export function betweenValues(
301
- name: string,
302
- minValue: number,
303
- maxValue: number,
304
- o?: string | number | null
305
- ) {
306
- if (!isBetweenValues(minValue, maxValue, o)) {
307
- throw new ValidationError(
308
- `${name} must be between ${minValue} and ${maxValue}`
309
- );
310
- }
311
- }
312
-
313
- const isString = (value: unknown): value is string => typeof value === 'string';
314
-
315
- export interface StringValidationOptions {
316
- readonly required: boolean;
317
- readonly minLength?: number;
318
- readonly maxLength?: number;
319
- readonly regex?: RegExp;
320
- readonly notBlank?: boolean;
321
- readonly notEmpty?: boolean;
322
- readonly email?: boolean;
323
- readonly number?: boolean;
324
- }
325
-
326
- export function isValidString(
327
- options: StringValidationOptions,
328
- value?: unknown
329
- ): value is string {
330
- if (options.required) {
331
- if (!isNotNull(value)) {
332
- return false;
333
- }
334
- } else if (value === undefined || value === null) {
335
- return true;
336
- }
337
- if (!isString(value)) {
338
- return false;
339
- }
340
- if (options.minLength && !isMinLength(options.minLength, value)) {
341
- return false;
342
- }
343
- if (options.maxLength && !isMaxLength(options.maxLength, value)) {
344
- return false;
345
- }
346
- if (options.regex && !isMatch(options.regex, value)) {
347
- return false;
348
- }
349
- if (options.notBlank && !isNotBlank(value)) {
350
- return false;
351
- }
352
- if (options.notEmpty && !isNotEmpty(value)) {
353
- return false;
354
- }
355
- if (options.email && !isEmail(value)) {
356
- return false;
357
- }
358
- if (options.number && !isNumber(value)) {
359
- return false;
360
- }
361
- return true;
362
- }
363
-
364
- export function validString(
365
- name: string,
366
- options: StringValidationOptions,
367
- value?: unknown
368
- ): void {
369
- if (options.required) {
370
- notNull(name, value);
371
- } else if (value === undefined || value === null) {
372
- return;
373
- }
374
- if (!isString(value)) {
375
- throw new ValidationError(`${name} must be a string`);
376
- }
377
- options.minLength && minLength(name, options.minLength, value);
378
- options.maxLength && maxLength(name, options.maxLength, value);
379
- options.regex && match(name, options.regex, value);
380
- options.notBlank && notBlank(name, value);
381
- options.notEmpty && notEmpty(name, value);
382
- options.email && email(name, value);
383
- options.number && number(name, value);
384
- }