@nr1e/commons 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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/package.json +0 -72
  144. package/node_modules/@eslint/eslintrc/LICENSE +0 -19
  145. package/node_modules/@eslint/eslintrc/README.md +0 -115
  146. package/node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs +0 -1104
  147. package/node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs.map +0 -1
  148. package/node_modules/@eslint/eslintrc/dist/eslintrc.cjs +0 -4344
  149. package/node_modules/@eslint/eslintrc/dist/eslintrc.cjs.map +0 -1
  150. package/node_modules/@eslint/eslintrc/package.json +0 -82
  151. package/node_modules/@eslint/eslintrc/universal.js +0 -9
  152. package/node_modules/@eslint/js/LICENSE +0 -19
  153. package/node_modules/@eslint/js/README.md +0 -57
  154. package/node_modules/@eslint/js/package.json +0 -31
  155. package/node_modules/@eslint/js/src/index.js +0 -17
  156. package/node_modules/@eslint-community/eslint-utils/LICENSE +0 -21
  157. package/node_modules/@eslint-community/eslint-utils/README.md +0 -37
  158. package/node_modules/@eslint-community/eslint-utils/index.js +0 -2068
  159. package/node_modules/@eslint-community/eslint-utils/index.js.map +0 -1
  160. package/node_modules/@eslint-community/eslint-utils/index.mjs +0 -2027
  161. package/node_modules/@eslint-community/eslint-utils/index.mjs.map +0 -1
  162. package/node_modules/@eslint-community/eslint-utils/package.json +0 -73
  163. package/node_modules/@eslint-community/regexpp/LICENSE +0 -21
  164. package/node_modules/@eslint-community/regexpp/README.md +0 -177
  165. package/node_modules/@eslint-community/regexpp/index.d.ts +0 -1065
  166. package/node_modules/@eslint-community/regexpp/index.js +0 -2747
  167. package/node_modules/@eslint-community/regexpp/index.js.map +0 -1
  168. package/node_modules/@eslint-community/regexpp/index.mjs +0 -2737
  169. package/node_modules/@eslint-community/regexpp/index.mjs.map +0 -1
  170. package/node_modules/@eslint-community/regexpp/package.json +0 -93
  171. package/node_modules/@types/node/LICENSE +0 -21
  172. package/node_modules/@types/node/README.md +0 -15
  173. package/node_modules/@types/node/package.json +0 -217
  174. package/node_modules/@typescript-eslint/eslint-plugin/LICENSE +0 -21
  175. package/node_modules/@typescript-eslint/eslint-plugin/README.md +0 -10
  176. package/node_modules/@typescript-eslint/eslint-plugin/dist/index.js +0 -23
  177. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/README.md +0 -23
  178. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/TEMPLATE.md +0 -26
  179. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/adjacent-overload-signatures.md +0 -93
  180. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/array-type.md +0 -103
  181. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/await-thenable.md +0 -40
  182. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-ts-comment.md +0 -148
  183. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-tslint-comment.md +0 -39
  184. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-types.md +0 -183
  185. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/block-spacing.md +0 -12
  186. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/brace-style.md +0 -12
  187. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/camelcase.md +0 -10
  188. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/class-literal-property-style.md +0 -114
  189. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-dangle.md +0 -22
  190. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-spacing.md +0 -12
  191. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-generic-constructors.md +0 -73
  192. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-indexed-object-style.md +0 -80
  193. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-assertions.md +0 -108
  194. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-definitions.md +0 -82
  195. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-exports.md +0 -100
  196. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-imports.md +0 -105
  197. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/default-param-last.md +0 -48
  198. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/dot-notation.md +0 -77
  199. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-function-return-type.md +0 -319
  200. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-member-accessibility.md +0 -331
  201. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-module-boundary-types.md +0 -250
  202. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/func-call-spacing.md +0 -12
  203. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/indent.md +0 -20
  204. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/init-declarations.md +0 -12
  205. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/key-spacing.md +0 -12
  206. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/keyword-spacing.md +0 -12
  207. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-around-comment.md +0 -37
  208. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-between-class-members.md +0 -63
  209. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-delimiter-style.md +0 -161
  210. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-ordering.md +0 -1360
  211. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/method-signature-style.md +0 -110
  212. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/naming-convention.md +0 -706
  213. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-array-constructor.md +0 -35
  214. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-base-to-string.md +0 -88
  215. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-non-null-assertion.md +0 -56
  216. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-void-expression.md +0 -116
  217. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dupe-class-members.md +0 -12
  218. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-enum-values.md +0 -50
  219. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-imports.md +0 -12
  220. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-type-constituents.md +0 -61
  221. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dynamic-delete.md +0 -53
  222. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-function.md +0 -88
  223. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-interface.md +0 -70
  224. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-explicit-any.md +0 -174
  225. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-non-null-assertion.md +0 -52
  226. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-parens.md +0 -12
  227. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-semi.md +0 -12
  228. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extraneous-class.md +0 -294
  229. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-floating-promises.md +0 -106
  230. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-for-in-array.md +0 -56
  231. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implicit-any-catch.md +0 -73
  232. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implied-eval.md +0 -101
  233. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-import-type-side-effects.md +0 -75
  234. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-inferrable-types.md +0 -103
  235. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-this.md +0 -12
  236. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-void-type.md +0 -113
  237. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loop-func.md +0 -12
  238. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loss-of-precision.md +0 -12
  239. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-magic-numbers.md +0 -131
  240. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-meaningless-void-operator.md +0 -47
  241. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-new.md +0 -46
  242. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-promises.md +0 -245
  243. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-mixed-enums.md +0 -88
  244. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-namespace.md +0 -129
  245. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-nullish-coalescing.md +0 -49
  246. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-optional-chain.md +0 -35
  247. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-assertion.md +0 -42
  248. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-parameter-properties.md +0 -406
  249. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redeclare.md +0 -73
  250. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redundant-type-constituents.md +0 -78
  251. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-require-imports.md +0 -37
  252. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-restricted-imports.md +0 -63
  253. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-shadow.md +0 -101
  254. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-this-alias.md +0 -38
  255. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-throw-literal.md +0 -111
  256. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-type-alias.md +0 -602
  257. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.md +0 -133
  258. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-condition.md +0 -103
  259. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-qualifier.md +0 -51
  260. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-arguments.md +0 -73
  261. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-assertion.md +0 -77
  262. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-constraint.md +0 -55
  263. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-argument.md +0 -83
  264. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-assignment.md +0 -86
  265. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-call.md +0 -58
  266. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-declaration-merging.md +0 -54
  267. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-enum-comparison.md +0 -75
  268. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-member-access.md +0 -64
  269. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-return.md +0 -103
  270. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-expressions.md +0 -12
  271. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-vars.md +0 -12
  272. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-use-before-define.md +0 -97
  273. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-constructor.md +0 -21
  274. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-empty-export.md +0 -43
  275. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-var-requires.md +0 -37
  276. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/non-nullable-type-assertion-style.md +0 -41
  277. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/object-curly-spacing.md +0 -12
  278. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/padding-line-between-statements.md +0 -35
  279. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/parameter-properties.md +0 -485
  280. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-as-const.md +0 -44
  281. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-enum-initializers.md +0 -62
  282. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-for-of.md +0 -46
  283. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-function-type.md +0 -92
  284. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-includes.md +0 -77
  285. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-literal-enum-member.md +0 -101
  286. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-namespace-keyword.md +0 -47
  287. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-nullish-coalescing.md +0 -164
  288. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-optional-chain.md +0 -71
  289. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly-parameter-types.md +0 -268
  290. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly.md +0 -87
  291. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-reduce-type-parameter.md +0 -58
  292. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-regexp-exec.md +0 -46
  293. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-return-this-type.md +0 -87
  294. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-string-starts-ends-with.md +0 -57
  295. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-ts-expect-error.md +0 -69
  296. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/promise-function-async.md +0 -59
  297. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/quotes.md +0 -12
  298. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-array-sort-compare.md +0 -78
  299. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-await.md +0 -24
  300. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-plus-operands.md +0 -208
  301. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-template-expressions.md +0 -117
  302. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/return-await.md +0 -216
  303. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/semi.md +0 -16
  304. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-constituents.md +0 -101
  305. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-union-intersection-members.md +0 -106
  306. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-blocks.md +0 -42
  307. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-function-paren.md +0 -12
  308. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-infix-ops.md +0 -16
  309. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/strict-boolean-expressions.md +0 -183
  310. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/switch-exhaustiveness-check.md +0 -106
  311. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/triple-slash-reference.md +0 -61
  312. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/type-annotation-spacing.md +0 -303
  313. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/typedef.md +0 -320
  314. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unbound-method.md +0 -103
  315. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unified-signatures.md +0 -70
  316. package/node_modules/@typescript-eslint/eslint-plugin/index.d.ts +0 -4
  317. package/node_modules/@typescript-eslint/eslint-plugin/package.json +0 -87
  318. package/node_modules/@typescript-eslint/parser/LICENSE +0 -22
  319. package/node_modules/@typescript-eslint/parser/README.md +0 -10
  320. package/node_modules/@typescript-eslint/parser/dist/index.js +0 -17
  321. package/node_modules/@typescript-eslint/parser/package.json +0 -75
  322. package/node_modules/@typescript-eslint/scope-manager/LICENSE +0 -21
  323. package/node_modules/@typescript-eslint/scope-manager/README.md +0 -8
  324. package/node_modules/@typescript-eslint/scope-manager/dist/index.js +0 -31
  325. package/node_modules/@typescript-eslint/scope-manager/package.json +0 -67
  326. package/node_modules/@typescript-eslint/type-utils/LICENSE +0 -21
  327. package/node_modules/@typescript-eslint/type-utils/README.md +0 -12
  328. package/node_modules/@typescript-eslint/type-utils/dist/index.js +0 -36
  329. package/node_modules/@typescript-eslint/type-utils/package.json +0 -71
  330. package/node_modules/@typescript-eslint/types/LICENSE +0 -21
  331. package/node_modules/@typescript-eslint/types/README.md +0 -12
  332. package/node_modules/@typescript-eslint/types/dist/index.js +0 -24
  333. package/node_modules/@typescript-eslint/types/package.json +0 -84
  334. package/node_modules/@typescript-eslint/typescript-estree/LICENSE +0 -26
  335. package/node_modules/@typescript-eslint/typescript-estree/README.md +0 -10
  336. package/node_modules/@typescript-eslint/typescript-estree/dist/index.js +0 -38
  337. package/node_modules/@typescript-eslint/typescript-estree/package.json +0 -85
  338. package/node_modules/@typescript-eslint/utils/LICENSE +0 -21
  339. package/node_modules/@typescript-eslint/utils/README.md +0 -10
  340. package/node_modules/@typescript-eslint/utils/dist/index.js +0 -41
  341. package/node_modules/@typescript-eslint/utils/package.json +0 -70
  342. package/node_modules/@typescript-eslint/visitor-keys/LICENSE +0 -21
  343. package/node_modules/@typescript-eslint/visitor-keys/README.md +0 -10
  344. package/node_modules/@typescript-eslint/visitor-keys/dist/index.js +0 -8
  345. package/node_modules/@typescript-eslint/visitor-keys/package.json +0 -60
  346. package/node_modules/@vitest/coverage-v8/LICENSE +0 -21
  347. package/node_modules/@vitest/coverage-v8/dist/index.js +0 -54
  348. package/node_modules/@vitest/coverage-v8/package.json +0 -72
  349. package/pnpm-lock.yaml +0 -3277
  350. package/src/bitsnbytes/b64.mts +0 -158
  351. package/src/bitsnbytes/b64.test.mts +0 -78
  352. package/src/bitsnbytes/index.mts +0 -1
  353. package/src/errors/errors.mts +0 -271
  354. package/src/errors/errors.test.mts +0 -74
  355. package/src/errors/index.mts +0 -1
  356. package/src/http/http-method.mts +0 -9
  357. package/src/http/http-status-code.mts +0 -42
  358. package/src/http/index.mts +0 -2
  359. package/src/lang/index.mts +0 -2
  360. package/src/lang/sleep.mts +0 -8
  361. package/src/lang/type-functions.mts +0 -13
  362. package/src/oauth/crypto-functions.mts +0 -44
  363. package/src/oauth/crypto-functions.test.mts +0 -48
  364. package/src/oauth/index.mts +0 -1
  365. package/src/validator/index.mts +0 -1
  366. package/src/validator/validators.mts +0 -384
  367. package/src/validator/validators.test.mts +0 -245
  368. package/tsconfig.json +0 -18
  369. /package/{dist/bitsnbytes → bitsnbytes}/b64.d.mts +0 -0
  370. /package/{dist/bitsnbytes → bitsnbytes}/b64.d.mts.map +0 -0
  371. /package/{dist/bitsnbytes → bitsnbytes}/b64.mjs +0 -0
  372. /package/{dist/bitsnbytes → bitsnbytes}/b64.mjs.map +0 -0
  373. /package/{dist/bitsnbytes → bitsnbytes}/b64.test.d.mts +0 -0
  374. /package/{dist/bitsnbytes → bitsnbytes}/b64.test.d.mts.map +0 -0
  375. /package/{dist/bitsnbytes → bitsnbytes}/b64.test.mjs +0 -0
  376. /package/{dist/bitsnbytes → bitsnbytes}/b64.test.mjs.map +0 -0
  377. /package/{dist/bitsnbytes → bitsnbytes}/index.d.mts +0 -0
  378. /package/{dist/bitsnbytes → bitsnbytes}/index.d.mts.map +0 -0
  379. /package/{dist/bitsnbytes → bitsnbytes}/index.mjs +0 -0
  380. /package/{dist/bitsnbytes → bitsnbytes}/index.mjs.map +0 -0
  381. /package/{dist/errors → errors}/errors.d.mts +0 -0
  382. /package/{dist/errors → errors}/errors.d.mts.map +0 -0
  383. /package/{dist/errors → errors}/errors.mjs +0 -0
  384. /package/{dist/errors → errors}/errors.mjs.map +0 -0
  385. /package/{dist/errors → errors}/errors.test.d.mts +0 -0
  386. /package/{dist/errors → errors}/errors.test.d.mts.map +0 -0
  387. /package/{dist/errors → errors}/errors.test.mjs +0 -0
  388. /package/{dist/errors → errors}/errors.test.mjs.map +0 -0
  389. /package/{dist/errors → errors}/index.d.mts +0 -0
  390. /package/{dist/errors → errors}/index.d.mts.map +0 -0
  391. /package/{dist/errors → errors}/index.mjs +0 -0
  392. /package/{dist/errors → errors}/index.mjs.map +0 -0
  393. /package/{dist/http → http}/http-method.d.mts +0 -0
  394. /package/{dist/http → http}/http-method.d.mts.map +0 -0
  395. /package/{dist/http → http}/http-method.mjs +0 -0
  396. /package/{dist/http → http}/http-method.mjs.map +0 -0
  397. /package/{dist/http → http}/http-status-code.d.mts +0 -0
  398. /package/{dist/http → http}/http-status-code.d.mts.map +0 -0
  399. /package/{dist/http → http}/http-status-code.mjs +0 -0
  400. /package/{dist/http → http}/http-status-code.mjs.map +0 -0
  401. /package/{dist/http → http}/index.d.mts +0 -0
  402. /package/{dist/http → http}/index.d.mts.map +0 -0
  403. /package/{dist/http → http}/index.mjs +0 -0
  404. /package/{dist/http → http}/index.mjs.map +0 -0
  405. /package/{dist/lang → lang}/index.d.mts +0 -0
  406. /package/{dist/lang → lang}/index.d.mts.map +0 -0
  407. /package/{dist/lang → lang}/index.mjs +0 -0
  408. /package/{dist/lang → lang}/index.mjs.map +0 -0
  409. /package/{dist/lang → lang}/sleep.d.mts +0 -0
  410. /package/{dist/lang → lang}/sleep.d.mts.map +0 -0
  411. /package/{dist/lang → lang}/sleep.mjs +0 -0
  412. /package/{dist/lang → lang}/sleep.mjs.map +0 -0
  413. /package/{dist/lang → lang}/type-functions.d.mts +0 -0
  414. /package/{dist/lang → lang}/type-functions.d.mts.map +0 -0
  415. /package/{dist/lang → lang}/type-functions.mjs +0 -0
  416. /package/{dist/lang → lang}/type-functions.mjs.map +0 -0
  417. /package/{dist/oauth → oauth}/crypto-functions.d.mts +0 -0
  418. /package/{dist/oauth → oauth}/crypto-functions.d.mts.map +0 -0
  419. /package/{dist/oauth → oauth}/crypto-functions.mjs +0 -0
  420. /package/{dist/oauth → oauth}/crypto-functions.mjs.map +0 -0
  421. /package/{dist/oauth → oauth}/crypto-functions.test.d.mts +0 -0
  422. /package/{dist/oauth → oauth}/crypto-functions.test.d.mts.map +0 -0
  423. /package/{dist/oauth → oauth}/crypto-functions.test.mjs +0 -0
  424. /package/{dist/oauth → oauth}/crypto-functions.test.mjs.map +0 -0
  425. /package/{dist/oauth → oauth}/index.d.mts +0 -0
  426. /package/{dist/oauth → oauth}/index.d.mts.map +0 -0
  427. /package/{dist/oauth → oauth}/index.mjs +0 -0
  428. /package/{dist/oauth → oauth}/index.mjs.map +0 -0
  429. /package/{dist/validator → validator}/index.d.mts +0 -0
  430. /package/{dist/validator → validator}/index.d.mts.map +0 -0
  431. /package/{dist/validator → validator}/index.mjs +0 -0
  432. /package/{dist/validator → validator}/index.mjs.map +0 -0
  433. /package/{dist/validator → validator}/validators.d.mts +0 -0
  434. /package/{dist/validator → validator}/validators.d.mts.map +0 -0
  435. /package/{dist/validator → validator}/validators.mjs +0 -0
  436. /package/{dist/validator → validator}/validators.mjs.map +0 -0
  437. /package/{dist/validator → validator}/validators.test.d.mts +0 -0
  438. /package/{dist/validator → validator}/validators.test.d.mts.map +0 -0
  439. /package/{dist/validator → validator}/validators.test.mjs +0 -0
  440. /package/{dist/validator → validator}/validators.test.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
- }