@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,602 +0,0 @@
1
- ---
2
- description: 'Disallow type aliases.'
3
- ---
4
-
5
- > 🛑 This file is source code, not the primary documentation location! 🛑
6
- >
7
- > See **https://typescript-eslint.io/rules/no-type-alias** for documentation.
8
-
9
- In TypeScript, type aliases serve three purposes:
10
-
11
- - Aliasing other types so that we can refer to them using a simpler name.
12
-
13
- ```ts
14
- // this...
15
- type Person = {
16
- firstName: string,
17
- lastName: string,
18
- age: number
19
- };
20
-
21
- function addPerson(person : Person) { ... }
22
-
23
- // is easier to read than this...
24
- function addPerson(person : { firstName: string, lastName: string, age: number}) { ... }
25
- ```
26
-
27
- - Act sort of like an interface, providing a set of methods and properties that must exist
28
- in the objects implementing the type.
29
-
30
- ```ts
31
- type Person = {
32
- firstName: string,
33
- lastName: string,
34
- age: number,
35
- walk: () => void,
36
- talk: () => void
37
- };
38
-
39
- // you know person will have 3 properties and 2 methods,
40
- // because the structure has already been defined.
41
- var person : Person = { ... }
42
-
43
- // so we can be sure that this will work
44
- person.walk();
45
- ```
46
-
47
- - Act like mapping tools between types to allow quick modifications.
48
-
49
- ```ts
50
- type Immutable<T> = { readonly [P in keyof T]: T[P] };
51
-
52
- type Person = {
53
- name: string;
54
- age: number;
55
- };
56
-
57
- type ImmutablePerson = Immutable<Person>;
58
-
59
- var person: ImmutablePerson = { name: 'John', age: 30 };
60
- person.name = 'Brad'; // error, readonly property
61
- ```
62
-
63
- When aliasing, the type alias does not create a new type, it just creates a new name
64
- to refer to the original type. So aliasing primitives and other simple types, tuples, unions
65
- or intersections can some times be redundant.
66
-
67
- ```ts
68
- // this doesn't make much sense
69
- type myString = string;
70
- ```
71
-
72
- On the other hand, using a type alias as an interface can limit your ability to:
73
-
74
- - Reuse your code: interfaces can be extended or implemented by other types. Type aliases cannot.
75
- - Debug your code: interfaces create a new name, so is easy to identify the base type of an object
76
- while debugging the application.
77
-
78
- Finally, mapping types is an advanced technique and leaving it open can quickly become a pain point
79
- in your application.
80
-
81
- ## Examples
82
-
83
- This rule disallows the use of type aliases in favor of interfaces
84
- and simplified types (primitives, tuples, unions, intersections, etc).
85
-
86
- ## Options
87
-
88
- ### `allowAliases`
89
-
90
- This applies to primitive types and reference types.
91
-
92
- The setting accepts the following values:
93
-
94
- - `"always"` or `"never"` to active or deactivate the feature.
95
- - `"in-unions"`, allows aliasing in union statements, e.g. `type Foo = string | string[];`
96
- - `"in-intersections"`, allows aliasing in intersection statements, e.g. `type Foo = string & string[];`
97
- - `"in-unions-and-intersections"`, allows aliasing in union and/or intersection statements.
98
-
99
- Examples of **correct** code for the `{ "allowAliases": "always" }` options:
100
-
101
- ```ts
102
- // primitives
103
- type Foo = 'a';
104
-
105
- type Foo = 'a' | 'b';
106
-
107
- type Foo = string;
108
-
109
- type Foo = string | string[];
110
-
111
- type Foo = string & string[];
112
-
113
- type Foo = `foo-${number}`;
114
-
115
- // reference types
116
- interface Bar {}
117
- class Baz implements Bar {}
118
-
119
- type Foo = Bar;
120
-
121
- type Foo = Bar | Baz;
122
-
123
- type Foo = Bar & Baz;
124
- ```
125
-
126
- Examples of **incorrect** code for the `{ "allowAliases": "in-unions" }` option:
127
-
128
- ```ts
129
- // primitives
130
- type Foo = 'a';
131
-
132
- type Foo = string;
133
-
134
- type Foo = string & string[];
135
-
136
- type Foo = `foo-${number}`;
137
-
138
- // reference types
139
- interface Bar {}
140
- class Baz implements Bar {}
141
-
142
- type Foo = Bar;
143
-
144
- type Foo = Bar & Baz;
145
- ```
146
-
147
- Examples of **correct** code for the `{ "allowAliases": "in-unions" }` option:
148
-
149
- ```ts
150
- // primitives
151
- type Foo = 'a' | 'b';
152
-
153
- type Foo = string | string[];
154
-
155
- type Foo = `a-${number}` | `b-${number}`;
156
-
157
- // reference types
158
- interface Bar {}
159
- class Baz implements Bar {}
160
-
161
- type Foo = Bar | Baz;
162
- ```
163
-
164
- Examples of **incorrect** code for the `{ "allowAliases": "in-intersections" }` option:
165
-
166
- ```ts
167
- // primitives
168
- type Foo = 'a';
169
-
170
- type Foo = 'a' | 'b';
171
-
172
- type Foo = string;
173
-
174
- type Foo = string | string[];
175
-
176
- type Foo = `a-${number}` | `b-${number}`;
177
-
178
- // reference types
179
- interface Bar {}
180
- class Baz implements Bar {}
181
-
182
- type Foo = Bar;
183
-
184
- type Foo = Bar | Baz;
185
- ```
186
-
187
- Examples of **correct** code for the `{ "allowAliases": "in-intersections" }` option:
188
-
189
- ```ts
190
- // primitives
191
- type Foo = string & string[];
192
-
193
- type Foo = `a-${number}` & `b-${number}`;
194
-
195
- // reference types
196
- interface Bar {}
197
- class Baz implements Bar {}
198
-
199
- type Foo = Bar & Baz;
200
- ```
201
-
202
- Examples of **incorrect** code for the `{ "allowAliases": "in-unions-and-intersections" }` option:
203
-
204
- ```ts
205
- // primitives
206
- type Foo = 'a';
207
-
208
- type Foo = string;
209
-
210
- type Foo = `foo-${number}`;
211
-
212
- // reference types
213
- interface Bar {}
214
- class Baz implements Bar {}
215
-
216
- type Foo = Bar;
217
- ```
218
-
219
- Examples of **correct** code for the `{ "allowAliases": "in-unions-and-intersections" }` option:
220
-
221
- ```ts
222
- // primitives
223
- type Foo = 'a' | 'b';
224
-
225
- type Foo = string | string[];
226
-
227
- type Foo = string & string[];
228
-
229
- type Foo = `a-${number}` & `b-${number}`;
230
-
231
- type Foo = `a-${number}` | `b-${number}`;
232
-
233
- // reference types
234
- interface Bar {}
235
- class Baz implements Bar {}
236
-
237
- type Foo = Bar | Baz;
238
-
239
- type Foo = Bar & Baz;
240
- ```
241
-
242
- ### `allowCallbacks`
243
-
244
- This applies to function types.
245
-
246
- The setting accepts the following values:
247
-
248
- - `"always"` or `"never"` to active or deactivate the feature.
249
-
250
- Examples of **correct** code for the `{ "allowCallbacks": "always" }` option:
251
-
252
- ```ts
253
- type Foo = () => void;
254
-
255
- type Foo = (name: string) => string;
256
-
257
- class Person {}
258
-
259
- type Foo = (name: string, age: number) => string | Person;
260
-
261
- type Foo = (name: string, age: number) => string & Person;
262
- ```
263
-
264
- ### `allowConditionalTypes`
265
-
266
- This applies to conditional types.
267
-
268
- Examples of **correct** code for the `{ "allowConditionalTypes": "always" }` option:
269
-
270
- ```ts
271
- type Foo<T> = T extends number ? number : null;
272
- ```
273
-
274
- ### `allowConstructors`
275
-
276
- This applies to constructor types.
277
-
278
- The setting accepts the following values:
279
-
280
- - `"always"` or `"never"` to active or deactivate the feature.
281
-
282
- Examples of **correct** code for the `{ "allowConstructors": "always" }` option:
283
-
284
- ```ts
285
- type Foo = new () => void;
286
- ```
287
-
288
- ### `allowLiterals`
289
-
290
- This applies to literal types (`type Foo = { ... }`).
291
-
292
- The setting accepts the following options:
293
-
294
- - `"always"` or `"never"` to active or deactivate the feature.
295
- - `"in-unions"`, allows literals in union statements, e.g. `type Foo = string | string[];`
296
- - `"in-intersections"`, allows literals in intersection statements, e.g. `type Foo = string & string[];`
297
- - `"in-unions-and-intersections"`, allows literals in union and/or intersection statements.
298
-
299
- Examples of **correct** code for the `{ "allowLiterals": "always" }` options:
300
-
301
- ```ts
302
- type Foo = {};
303
-
304
- type Foo = {
305
- name: string;
306
- age: number;
307
- };
308
-
309
- type Foo = {
310
- name: string;
311
- age: number;
312
- walk: (miles: number) => void;
313
- };
314
-
315
- type Foo = { name: string } | { age: number };
316
-
317
- type Foo = { name: string } & { age: number };
318
- ```
319
-
320
- Examples of **incorrect** code for the `{ "allowLiterals": "in-unions" }` option:
321
-
322
- ```ts
323
- type Foo = {};
324
-
325
- type Foo = {
326
- name: string;
327
- age: number;
328
- };
329
-
330
- type Foo = {
331
- name: string;
332
- age: number;
333
- walk: (miles: number) => void;
334
- };
335
-
336
- type Foo = { name: string } & { age: number };
337
- ```
338
-
339
- Examples of **correct** code for the `{ "allowLiterals": "in-unions" }` option:
340
-
341
- ```ts
342
- type Foo = { name: string } | { age: number };
343
- ```
344
-
345
- Examples of **incorrect** code for the `{ "allowLiterals": "in-intersections" }` option:
346
-
347
- ```ts
348
- type Foo = {};
349
-
350
- type Foo = {
351
- name: string;
352
- age: number;
353
- };
354
-
355
- type Foo = {
356
- name: string;
357
- age: number;
358
- walk: (miles: number) => void;
359
- };
360
-
361
- type Foo = { name: string } | { age: number };
362
- ```
363
-
364
- Examples of **correct** code for the `{ "allowLiterals": "in-intersections" }` option:
365
-
366
- ```ts
367
- type Foo = { name: string } & { age: number };
368
- ```
369
-
370
- Examples of **incorrect** code for the `{ "allowLiterals": "in-unions-and-intersections" }` option:
371
-
372
- ```ts
373
- type Foo = {};
374
-
375
- type Foo = {
376
- name: string;
377
- age: number;
378
- };
379
-
380
- type Foo = {
381
- name: string;
382
- age: number;
383
- walk: (miles: number) => void;
384
- };
385
- ```
386
-
387
- Examples of **correct** code for the `{ "allowLiterals": "in-unions-and-intersections" }` option:
388
-
389
- ```ts
390
- type Foo = { name: string } | { age: number };
391
-
392
- type Foo = { name: string } & { age: number };
393
- ```
394
-
395
- ### `allowMappedTypes`
396
-
397
- This applies to literal types.
398
-
399
- The setting accepts the following values:
400
-
401
- - `"always"` or `"never"` to active or deactivate the feature.
402
- - `"in-unions"`, allows aliasing in union statements, e.g. `type Foo = string | string[];`
403
- - `"in-intersections"`, allows aliasing in intersection statements, e.g. `type Foo = string & string[];`
404
- - `"in-unions-and-intersections"`, allows aliasing in union and/or intersection statements.
405
-
406
- Examples of **correct** code for the `{ "allowMappedTypes": "always" }` options:
407
-
408
- ```ts
409
- type Foo<T> = { readonly [P in keyof T]: T[P] };
410
-
411
- type Foo<T> = { [P in keyof T]?: T[P] };
412
-
413
- type Foo<T, U> =
414
- | { readonly [P in keyof T]: T[P] }
415
- | { readonly [P in keyof U]: U[P] };
416
-
417
- type Foo<T, U> = { [P in keyof T]?: T[P] } | { [P in keyof U]?: U[P] };
418
-
419
- type Foo<T, U> = { readonly [P in keyof T]: T[P] } & {
420
- readonly [P in keyof U]: U[P];
421
- };
422
-
423
- type Foo<T, U> = { [P in keyof T]?: T[P] } & { [P in keyof U]?: U[P] };
424
- ```
425
-
426
- Examples of **incorrect** code for the `{ "allowMappedTypes": "in-unions" }` option:
427
-
428
- ```ts
429
- type Foo<T> = { readonly [P in keyof T]: T[P] };
430
-
431
- type Foo<T> = { [P in keyof T]?: T[P] };
432
-
433
- type Foo<T, U> = { readonly [P in keyof T]: T[P] } & {
434
- readonly [P in keyof U]: U[P];
435
- };
436
-
437
- type Foo<T, U> = { [P in keyof T]?: T[P] } & { [P in keyof U]?: U[P] };
438
- ```
439
-
440
- Examples of **correct** code for the `{ "allowMappedTypes": "in-unions" }` option:
441
-
442
- ```ts
443
- type Foo<T, U> =
444
- | { readonly [P in keyof T]: T[P] }
445
- | { readonly [P in keyof U]: U[P] };
446
-
447
- type Foo<T, U> = { [P in keyof T]?: T[P] } | { [P in keyof U]?: U[P] };
448
- ```
449
-
450
- Examples of **incorrect** code for the `{ "allowMappedTypes": "in-intersections" }` option:
451
-
452
- ```ts
453
- type Foo<T> = { readonly [P in keyof T]: T[P] };
454
-
455
- type Foo<T> = { [P in keyof T]?: T[P] };
456
-
457
- type Foo<T, U> =
458
- | { readonly [P in keyof T]: T[P] }
459
- | { readonly [P in keyof U]: U[P] };
460
-
461
- type Foo<T, U> = { [P in keyof T]?: T[P] } | { [P in keyof U]?: U[P] };
462
- ```
463
-
464
- Examples of **correct** code for the `{ "allowMappedTypes": "in-intersections" }` option:
465
-
466
- ```ts
467
- type Foo<T, U> = { readonly [P in keyof T]: T[P] } & {
468
- readonly [P in keyof U]: U[P];
469
- };
470
-
471
- type Foo<T, U> = { [P in keyof T]?: T[P] } & { [P in keyof U]?: U[P] };
472
- ```
473
-
474
- Examples of **incorrect** code for the `{ "allowMappedTypes": "in-unions-and-intersections" }` option:
475
-
476
- ```ts
477
- type Foo<T> = { readonly [P in keyof T]: T[P] };
478
-
479
- type Foo<T> = { [P in keyof T]?: T[P] };
480
- ```
481
-
482
- Examples of **correct** code for the `{ "allowMappedTypes": "in-unions-and-intersections" }` option:
483
-
484
- ```ts
485
- type Foo<T, U> =
486
- | { readonly [P in keyof T]: T[P] }
487
- | { readonly [P in keyof U]: U[P] };
488
-
489
- type Foo<T, U> = { [P in keyof T]?: T[P] } | { [P in keyof U]?: U[P] };
490
-
491
- type Foo<T, U> = { readonly [P in keyof T]: T[P] } & {
492
- readonly [P in keyof U]: U[P];
493
- };
494
-
495
- type Foo<T, U> = { [P in keyof T]?: T[P] } & { [P in keyof U]?: U[P] };
496
- ```
497
-
498
- ### `allowTupleTypes`
499
-
500
- This applies to tuple types (`type Foo = [number]`).
501
-
502
- The setting accepts the following options:
503
-
504
- - `"always"` or `"never"` to active or deactivate the feature.
505
- - `"in-unions"`, allows tuples in union statements, e.g. `type Foo = [string] | [string, string];`
506
- - `"in-intersections"`, allows tuples in intersection statements, e.g. `type Foo = [string] & [string, string];`
507
- - `"in-unions-and-intersections"`, allows tuples in union and/or intersection statements.
508
-
509
- Examples of **correct** code for the `{ "allowTupleTypes": "always" }` options:
510
-
511
- ```ts
512
- type Foo = [number];
513
-
514
- type Foo = [number] | [number, number];
515
-
516
- type Foo = [number] & [number, number];
517
-
518
- type Foo = [number] | ([number, number] & [string, string]);
519
- ```
520
-
521
- Examples of **incorrect** code for the `{ "allowTupleTypes": "in-unions" }` option:
522
-
523
- ```ts
524
- type Foo = [number];
525
-
526
- type Foo = [number] & [number, number];
527
-
528
- type Foo = [string] & [number];
529
- ```
530
-
531
- Examples of **correct** code for the `{ "allowTupleTypes": "in-unions" }` option:
532
-
533
- ```ts
534
- type Foo = [number] | [number, number];
535
-
536
- type Foo = [string] | [number];
537
- ```
538
-
539
- Examples of **incorrect** code for the `{ "allowTupleTypes": "in-intersections" }` option:
540
-
541
- ```ts
542
- type Foo = [number];
543
-
544
- type Foo = [number] | [number, number];
545
-
546
- type Foo = [string] | [number];
547
- ```
548
-
549
- Examples of **correct** code for the `{ "allowTupleTypes": "in-intersections" }` option:
550
-
551
- ```ts
552
- type Foo = [number] & [number, number];
553
-
554
- type Foo = [string] & [number];
555
- ```
556
-
557
- Examples of **incorrect** code for the `{ "allowTupleTypes": "in-unions-and-intersections" }` option:
558
-
559
- ```ts
560
- type Foo = [number];
561
-
562
- type Foo = [string];
563
- ```
564
-
565
- Examples of **correct** code for the `{ "allowLiterals": "in-unions-and-intersections" }` option:
566
-
567
- ```ts
568
- type Foo = [number] & [number, number];
569
-
570
- type Foo = [string] | [number];
571
- ```
572
-
573
- ### `allowGenerics`
574
-
575
- This applies to generic types, including TypeScript provided global utility types (`type Foo = Record<string, number>`).
576
-
577
- The setting accepts the following options:
578
-
579
- - `"always"` or `"never"` to active or deactivate the feature.
580
-
581
- Examples of **correct** code for the `{ "allowGenerics": "always" }` options:
582
-
583
- ```ts
584
- type Foo = Bar<string>;
585
-
586
- type Foo = Record<string, number>;
587
-
588
- type Foo = Readonly<Bar>;
589
-
590
- type Foo = Partial<Bar>;
591
-
592
- type Foo = Omit<Bar, 'a' | 'b'>;
593
- ```
594
-
595
- ## When Not To Use It
596
-
597
- When you can't express some shape with an interface or you need to use a union, tuple type,
598
- callback, etc. that would cause the code to be unreadable or impractical.
599
-
600
- ## Further Reading
601
-
602
- - [Advanced Types](https://www.typescriptlang.org/docs/handbook/advanced-types.html)