validation-br 1.5.2 → 2.0.0-next-1

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 (197) hide show
  1. package/.prettierrc +9 -0
  2. package/dist/jest.config.d.ts +8 -0
  3. package/dist/jest.config.d.ts.map +1 -0
  4. package/dist/jest.config.js +154 -0
  5. package/dist/jest.config.js.map +1 -0
  6. package/dist/test/_helpers/array_random.spec.d.ts +2 -0
  7. package/dist/test/_helpers/array_random.spec.d.ts.map +1 -0
  8. package/dist/test/_helpers/array_random.spec.js +13 -0
  9. package/dist/test/_helpers/array_random.spec.js.map +1 -0
  10. package/dist/test/_helpers/crc.spec.d.ts +2 -0
  11. package/dist/test/_helpers/crc.spec.d.ts.map +1 -0
  12. package/dist/test/_helpers/crc.spec.js +11 -0
  13. package/dist/test/_helpers/crc.spec.js.map +1 -0
  14. package/dist/test/carplate.spec.d.ts +2 -0
  15. package/dist/test/carplate.spec.d.ts.map +1 -0
  16. package/dist/test/carplate.spec.js +141 -0
  17. package/dist/test/carplate.spec.js.map +1 -0
  18. package/dist/test/cnh.spec.d.ts +2 -0
  19. package/dist/test/cnh.spec.d.ts.map +1 -0
  20. package/dist/test/cnh.spec.js +60 -0
  21. package/dist/test/cnh.spec.js.map +1 -0
  22. package/dist/test/cnpj.spec.d.ts +2 -0
  23. package/dist/test/cnpj.spec.d.ts.map +1 -0
  24. package/dist/test/cnpj.spec.js +105 -0
  25. package/dist/test/cnpj.spec.js.map +1 -0
  26. package/dist/test/cpf.spec.d.ts +2 -0
  27. package/dist/test/cpf.spec.d.ts.map +1 -0
  28. package/dist/test/cpf.spec.js +66 -0
  29. package/dist/test/cpf.spec.js.map +1 -0
  30. package/dist/test/index.test.d.ts +2 -0
  31. package/dist/test/index.test.d.ts.map +1 -0
  32. package/dist/test/index.test.js +77 -0
  33. package/dist/test/index.test.js.map +1 -0
  34. package/dist/test/judicial-process.spec.d.ts +2 -0
  35. package/dist/test/judicial-process.spec.d.ts.map +1 -0
  36. package/dist/test/judicial-process.spec.js +101 -0
  37. package/dist/test/judicial-process.spec.js.map +1 -0
  38. package/dist/test/nup17.spec.d.ts +2 -0
  39. package/dist/test/nup17.spec.d.ts.map +1 -0
  40. package/dist/test/nup17.spec.js +70 -0
  41. package/dist/test/nup17.spec.js.map +1 -0
  42. package/dist/test/phone.spec.d.ts +2 -0
  43. package/dist/test/phone.spec.d.ts.map +1 -0
  44. package/dist/test/phone.spec.js +67 -0
  45. package/dist/test/phone.spec.js.map +1 -0
  46. package/dist/test/pis-pasep.spec.d.ts +2 -0
  47. package/dist/test/pis-pasep.spec.d.ts.map +1 -0
  48. package/dist/test/pis-pasep.spec.js +65 -0
  49. package/dist/test/pis-pasep.spec.js.map +1 -0
  50. package/dist/test/pix-copy-paste.spec.d.ts +2 -0
  51. package/dist/test/pix-copy-paste.spec.d.ts.map +1 -0
  52. package/dist/test/pix-copy-paste.spec.js +31 -0
  53. package/dist/test/pix-copy-paste.spec.js.map +1 -0
  54. package/dist/test/pix-key.spec.d.ts +2 -0
  55. package/dist/test/pix-key.spec.d.ts.map +1 -0
  56. package/dist/test/pix-key.spec.js +36 -0
  57. package/dist/test/pix-key.spec.js.map +1 -0
  58. package/dist/test/postal-track-code.test.d.ts +2 -0
  59. package/dist/test/postal-track-code.test.d.ts.map +1 -0
  60. package/dist/test/postal-track-code.test.js +75 -0
  61. package/dist/test/postal-track-code.test.js.map +1 -0
  62. package/dist/test/renavam.spec.d.ts +2 -0
  63. package/dist/test/renavam.spec.d.ts.map +1 -0
  64. package/dist/test/renavam.spec.js +63 -0
  65. package/dist/test/renavam.spec.js.map +1 -0
  66. package/dist/test/tituloEleitor.spec.d.ts +2 -0
  67. package/dist/test/tituloEleitor.spec.d.ts.map +1 -0
  68. package/dist/test/tituloEleitor.spec.js +68 -0
  69. package/dist/test/tituloEleitor.spec.js.map +1 -0
  70. package/dist/test/utils-applyMask.test.d.ts +2 -0
  71. package/dist/test/utils-applyMask.test.d.ts.map +1 -0
  72. package/dist/test/utils-applyMask.test.js +18 -0
  73. package/dist/test/utils-applyMask.test.js.map +1 -0
  74. package/dist/test/utils-checkRepeatedSequence.test.d.ts +2 -0
  75. package/dist/test/utils-checkRepeatedSequence.test.d.ts.map +1 -0
  76. package/dist/test/utils-checkRepeatedSequence.test.js +18 -0
  77. package/dist/test/utils-checkRepeatedSequence.test.js.map +1 -0
  78. package/dist/test/utils-clearValue.test.d.ts +2 -0
  79. package/dist/test/utils-clearValue.test.d.ts.map +1 -0
  80. package/dist/test/utils-clearValue.test.js +74 -0
  81. package/dist/test/utils-clearValue.test.js.map +1 -0
  82. package/dist/test/utils-fakeNumber.test.d.ts +2 -0
  83. package/dist/test/utils-fakeNumber.test.d.ts.map +1 -0
  84. package/dist/test/utils-fakeNumber.test.js +24 -0
  85. package/dist/test/utils-fakeNumber.test.js.map +1 -0
  86. package/dist/test/utils-insertAtPosition.test.d.ts +2 -0
  87. package/dist/test/utils-insertAtPosition.test.d.ts.map +1 -0
  88. package/dist/test/utils-insertAtPosition.test.js +16 -0
  89. package/dist/test/utils-insertAtPosition.test.js.map +1 -0
  90. package/dist/test/utils-randomLetter.test.d.ts +2 -0
  91. package/dist/test/utils-randomLetter.test.d.ts.map +1 -0
  92. package/dist/test/utils-randomLetter.test.js +14 -0
  93. package/dist/test/utils-randomLetter.test.js.map +1 -0
  94. package/dist/test/utils-removeFromPosition.test.d.ts +2 -0
  95. package/dist/test/utils-removeFromPosition.test.d.ts.map +1 -0
  96. package/dist/test/utils-removeFromPosition.test.js +16 -0
  97. package/dist/test/utils-removeFromPosition.test.js.map +1 -0
  98. package/dist/test/utils-sumElementsByMultipliers.test.d.ts +2 -0
  99. package/dist/test/utils-sumElementsByMultipliers.test.d.ts.map +1 -0
  100. package/dist/test/utils-sumElementsByMultipliers.test.js +23 -0
  101. package/dist/test/utils-sumElementsByMultipliers.test.js.map +1 -0
  102. package/dist/test/utils-sumToDV.test.d.ts +2 -0
  103. package/dist/test/utils-sumToDV.test.d.ts.map +1 -0
  104. package/dist/test/utils-sumToDV.test.js +17 -0
  105. package/dist/test/utils-sumToDV.test.js.map +1 -0
  106. package/dist/tsconfig.tsbuildinfo +1 -0
  107. package/eslint.config.mjs +11 -0
  108. package/jest.config.ts +210 -0
  109. package/package.json +3 -3
  110. package/readme.md +3 -2
  111. package/test/_helpers/array_random.spec.ts +12 -0
  112. package/test/_helpers/crc.spec.ts +13 -0
  113. package/test/carplate.spec.ts +161 -0
  114. package/test/cnh.spec.ts +71 -0
  115. package/test/cnpj.spec.ts +127 -0
  116. package/test/cpf.spec.ts +76 -0
  117. package/test/index.test.ts +112 -0
  118. package/test/judicial-process.spec.ts +131 -0
  119. package/test/nup17.spec.ts +79 -0
  120. package/test/phone.spec.ts +75 -0
  121. package/test/pis-pasep.spec.ts +73 -0
  122. package/test/pix-copy-paste.spec.ts +37 -0
  123. package/test/pix-key.spec.ts +41 -0
  124. package/test/postal-track-code.test.ts +83 -0
  125. package/test/renavam.spec.ts +71 -0
  126. package/test/tituloEleitor.spec.ts +72 -0
  127. package/test/utils-applyMask.test.ts +17 -0
  128. package/test/utils-checkRepeatedSequence.test.ts +17 -0
  129. package/test/utils-clearValue.test.ts +85 -0
  130. package/test/utils-fakeNumber.test.ts +28 -0
  131. package/test/utils-insertAtPosition.test.ts +15 -0
  132. package/test/utils-randomLetter.test.ts +14 -0
  133. package/test/utils-removeFromPosition.test.ts +15 -0
  134. package/test/utils-sumElementsByMultipliers.test.ts +24 -0
  135. package/test/utils-sumToDV.test.ts +16 -0
  136. package/todo.md +18 -0
  137. package/tsconfig.json +103 -23
  138. package/.github/workflows/test.yml +0 -39
  139. package/.prettierrc.js +0 -7
  140. package/dist/cnh.d.ts +0 -91
  141. package/dist/cnh.js +0 -139
  142. package/dist/cnh.js.map +0 -1
  143. package/dist/cnh.test.d.ts +0 -1
  144. package/dist/cnpj.d.ts +0 -114
  145. package/dist/cnpj.js +0 -180
  146. package/dist/cnpj.js.map +0 -1
  147. package/dist/cnpj.test.d.ts +0 -1
  148. package/dist/cpf.d.ts +0 -99
  149. package/dist/cpf.js +0 -147
  150. package/dist/cpf.js.map +0 -1
  151. package/dist/cpf.test.d.ts +0 -1
  152. package/dist/data/ValidationBRError.d.ts +0 -6
  153. package/dist/data/ValidationBRError.js +0 -10
  154. package/dist/data/ValidationBRError.js.map +0 -1
  155. package/dist/index.d.ts +0 -21
  156. package/dist/index.js +0 -42
  157. package/dist/index.js.map +0 -1
  158. package/dist/index.test.d.ts +0 -1
  159. package/dist/judicialProcess.d.ts +0 -126
  160. package/dist/judicialProcess.js +0 -190
  161. package/dist/judicialProcess.js.map +0 -1
  162. package/dist/judicialProcess.test.d.ts +0 -1
  163. package/dist/nup17.d.ts +0 -102
  164. package/dist/nup17.js +0 -155
  165. package/dist/nup17.js.map +0 -1
  166. package/dist/nup17.test.d.ts +0 -1
  167. package/dist/pisPasep.d.ts +0 -81
  168. package/dist/pisPasep.js +0 -126
  169. package/dist/pisPasep.js.map +0 -1
  170. package/dist/pisPasep.test.d.ts +0 -1
  171. package/dist/postalCode.d.ts +0 -83
  172. package/dist/postalCode.js +0 -136
  173. package/dist/postalCode.js.map +0 -1
  174. package/dist/postalCode.test.d.ts +0 -1
  175. package/dist/renavam.d.ts +0 -75
  176. package/dist/renavam.js +0 -122
  177. package/dist/renavam.js.map +0 -1
  178. package/dist/renavam.test.d.ts +0 -1
  179. package/dist/tituloEleitor.d.ts +0 -93
  180. package/dist/tituloEleitor.js +0 -143
  181. package/dist/tituloEleitor.js.map +0 -1
  182. package/dist/tituloEleitor.test.d.ts +0 -1
  183. package/dist/utils-applyMask.test.d.ts +0 -1
  184. package/dist/utils-checkRepeatedSequence.test.d.ts +0 -1
  185. package/dist/utils-clearValue.test.d.ts +0 -1
  186. package/dist/utils-fakeNumber.test.d.ts +0 -1
  187. package/dist/utils-insertAtPosition.test.d.ts +0 -1
  188. package/dist/utils-invalidListGenerator.test.d.ts +0 -1
  189. package/dist/utils-randomLetter.test.d.ts +0 -1
  190. package/dist/utils-removeFromPosition.test.d.ts +0 -1
  191. package/dist/utils-sumElementsByMultipliers.test.d.ts +0 -1
  192. package/dist/utils-sumToDV.test.d.ts +0 -1
  193. package/dist/utils.d.ts +0 -131
  194. package/dist/utils.js +0 -190
  195. package/dist/utils.js.map +0 -1
  196. package/eslint.config.js +0 -82
  197. package/jest.config.js +0 -11
@@ -0,0 +1 @@
1
+ {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/typescript/lib/lib.es2022.full.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/@jest/types/build/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/jest-message-util/build/index.d.ts","../node_modules/@jest/console/build/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/jest-haste-map/build/index.d.ts","../node_modules/jest-resolve/build/index.d.ts","../node_modules/collect-v8-coverage/index.d.ts","../node_modules/@jest/test-result/build/index.d.ts","../node_modules/@jest/reporters/build/index.d.ts","../node_modules/jest-changed-files/build/index.d.ts","../node_modules/emittery/index.d.ts","../node_modules/jest-watcher/build/index.d.ts","../node_modules/jest-runner/build/index.d.ts","../node_modules/@jest/core/build/index.d.ts","../node_modules/jest-cli/build/index.d.ts","../node_modules/jest/build/index.d.ts","../jest.config.ts","../src/_exceptions/ValidationBRError.ts","../src/utils.ts","../src/_helpers/mask.ts","../src/base.ts","../src/carplate.ts","../src/cnh.ts","../src/cnpj.ts","../src/cpf.ts","../src/judicial-process.ts","../src/nup17.ts","../src/pis-pasep.ts","../src/renavam.ts","../src/_helpers/array_random.ts","../src/phone.ts","../src/pix-key.ts","../src/_helpers/crc.ts","../src/pix-copy-paste.ts","../src/postal-track-code.ts","../src/tituloEleitor.ts","../src/main.ts","../test/carplate.spec.ts","../test/cnh.spec.ts","../test/cnpj.spec.ts","../test/cpf.spec.ts","../test/index.test.ts","../test/judicial-process.spec.ts","../test/nup17.spec.ts","../test/phone.spec.ts","../test/pis-pasep.spec.ts","../test/pix-copy-paste.spec.ts","../test/pix-key.spec.ts","../test/postal-track-code.test.ts","../test/renavam.spec.ts","../test/tituloEleitor.spec.ts","../test/utils-applyMask.test.ts","../test/utils-checkRepeatedSequence.test.ts","../test/utils-clearValue.test.ts","../test/utils-fakeNumber.test.ts","../test/utils-insertAtPosition.test.ts","../test/utils-randomLetter.test.ts","../test/utils-removeFromPosition.test.ts","../test/utils-sumElementsByMultipliers.test.ts","../test/utils-sumToDV.test.ts","../test/_helpers/array_random.spec.ts","../test/_helpers/crc.spec.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/jest-diff/build/cleanupSemantic.d.ts","../node_modules/pretty-format/build/types.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/types.d.ts","../node_modules/jest-diff/build/diffLines.d.ts","../node_modules/jest-diff/build/printDiffs.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/@types/jest/index.d.ts"],"fileIdsList":[[133],[180],[71,101,108,117,119],[117,125,126,127,129,130],[108,117,125],[115],[111,117,120,122,123,124],[108,110,111,112,114,116],[180,181,182,183,184],[180,182],[78,108],[111],[113],[188,193],[65],[67],[68,73],[69,77,78,85,94],[69,70,77,85],[71,101],[72,73,78,86],[73,94],[74,75,77,85],[75],[76,77],[77],[77,78,79,94,100],[78,79],[77,80,85,94,100],[77,78,80,81,85,94,97,100],[80,82,94,97,100],[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],[77,83],[84,100],[75,77,85,94],[86],[87],[67,88],[89,99],[90],[91],[77,92],[92,93,101,103],[77,94],[95],[96],[85,94,97],[98],[85,99],[80,91,100],[101],[94,102],[103],[104],[77,79,94,100,103,105],[94,106],[109],[83,108],[110],[186,189],[186,189,190,191],[188],[108,117,121],[112,192],[117,118],[122],[117,125,129],[108,117,125,128],[117,131,132],[187],[136],[137],[135,136,138],[139,140,141,142,143,144,145,146,148,149,151,152,153],[135,136,138,147],[135,138,150],[135,138,154],[135],[147],[150],[139,154],[140],[141],[142],[154],[143],[144],[148],[145],[151],[149],[152],[146],[153]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"9e8ca8ed051c2697578c023d9c29d6df689a083561feba5c14aedee895853999","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"15c1c3d7b2e46e0025417ed6d5f03f419e57e6751f87925ca19dc88297053fe6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"f5331cb9cc00970e4831e7f0de9688e04986bcde808cac10caa3e7005e203907","impliedFormat":1},{"version":"d20bbe9029b614c171212c50c842fa7ddfc61a6bbc697710ac70e4f7f0c77d15","affectsGlobalScope":true,"impliedFormat":1},{"version":"a9d67f9ae6bb38f732c51d1081af6a0ac6cae5e122472cacc2d54db178013699","impliedFormat":1},{"version":"1296a364908ba9c646372edc18ee0e140d9a388956b0e9510eec906b19fa5b36","impliedFormat":1},{"version":"1c863a53fb796e962c4b3e54bc7b77fd04a518444263d307290ff04f619c275e","impliedFormat":1},{"version":"ff98afc32b01e580077faf85b60232b65c40df0c3ecaa765fabc347a639b4225","impliedFormat":1},{"version":"30133f9ceaa46c9a20092c382fed7b8d09393cf1934392149ea8202991edb3ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"30c05e45ec7e1247ba9b87ad2acfae4fda401737f0e8a59f78beda8a4e22b110","impliedFormat":1},{"version":"2da83cc57a94f7aee832f2a71e1a294d857492761c1f5db717ea42c1a22467bc","impliedFormat":1},{"version":"aa5cc73a5f548f5bc1b4279a730c03294dfa6e98bed228d4ed6322a4183b26ad","impliedFormat":1},{"version":"b3f1ac9fe3d18d6cd04ab1e67a5da8c33ceb47f26b47e67896a5b2f8293c8a32","impliedFormat":1},{"version":"ca88e8b07c8186ef3180bf9b6b4456311ae41bf3fe5652c27a2a3feba04136b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"592d937b7df1b74af7fa81656503fc268fee50f0e882178e851b667def34414b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fdfdf2eab2bded61ee321ec88b8e083fe8d9fedad25a16ae040740869bc64e48","impliedFormat":1},{"version":"e8067fc8b0247f8b5ad781bd22f5dd19f6a39961ba60fa6fc13cfe9e624ca92f","impliedFormat":1},{"version":"842ef57ce3043fba0b0fb7eece785140af9d2381e4bed4f2744d3060352f2fd5","impliedFormat":1},{"version":"9095b6f13d9e48704b919d9b4162c48b04236a4ce664dc07549a435d8f4e612e","impliedFormat":1},{"version":"111b4c048fe89d25bb4d2a0646623ff4c456a313ed5bfb647b2262dda69a4ff8","impliedFormat":1},{"version":"f70f62f5f87ff8900090069554f79d9757f8e385322d0e26268463e27c098204","impliedFormat":1},{"version":"0932ed41e23d22fa5359f74805c687314e4b707b3428e52419d0fbefc0d66661","impliedFormat":1},{"version":"af07f4baaca7e5cf70cb8887e7d4f23d6bb0c0dd6ca1329c3d959ea749b7a14d","impliedFormat":1},{"version":"c80402af7b0420f57372ac99885f1ab058121db72418e43d25f440abda7bbe23","impliedFormat":1},{"version":"71aba6ce66e76ccfd3ba92b8b5c6658bad293f1313f012821c4bff1dd64ca278","impliedFormat":1},{"version":"17d944cab17bc9e32975250e8abe8073702f9493582d847805e446641bd7798f","impliedFormat":1},{"version":"c6bfc70bbdee282436ee11e887cceaa5988ac4eec60d5eb9b3711748c811831a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9ca5159f56c1fe99cdfc5f942585de20695a2a343db8543383b239c050f6aa4","impliedFormat":1},{"version":"84634ac706042ac8ee3a1e141bcdee03621725ab55455dba878a5503c6c7e037","impliedFormat":1},{"version":"d796c62c3c91c22c331b7465be89d009459eb1eb689304c476275f48676eaf9e","impliedFormat":1},{"version":"51cbf03ad34c3e84d1998bd57d1fd8da333d66dd65904625d22dc01b751d99c7","impliedFormat":1},{"version":"c31bbdc27ef936061eaa9d423c5da7c5b439a4ff6b5f1b18f89b30cf119d5a56","impliedFormat":1},{"version":"2a4ae2a8f834858602089792c9e8bab00075f5c4b1708bd49c298a3e6c95a30c","impliedFormat":1},{"version":"71e29ae391229f876d8628987640c3c51c89a1c2fd980d1a72d69aeee4239f80","impliedFormat":1},{"version":"51c74d73649a4d788ed97b38bd55ebac57d85b35cbf4a0357e3382324e10bbe9","impliedFormat":1},{"version":"c8641524781fa803006a144fd3024d5273ab0c531d8a13bbeaa8c81d8241529f","impliedFormat":1},{"version":"73e218d8914afc428a24b7d1de42a2cb37f0be7ac1f5c32c4a66379572700b52","impliedFormat":1},{"version":"56ff5262d76c01b3637ca82f9749d3ec0d70cf57d87964bf3e9ba4204241849e","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e3a18040e5a95f61556e09c932393b49c3b21ce42abe0f4ed74b97173f320db","impliedFormat":1},{"version":"344922fac39b5732179b606e16781b354c160f0e9bd7f5921a0fdc9fe4ede1fb","impliedFormat":1},{"version":"c1449f51f9496bb23f33ee48ff590b815393ef560a9e80493614869fe50915da","impliedFormat":1},{"version":"87a49241df2b37e59f86619091dec2beb9ad8126d7649f0b0edb8fc99eca2499","impliedFormat":1},{"version":"07efd1f649e91967fada88d53ad64b61c1b2853d212f3eaffc946e7e13d03d67","impliedFormat":1},{"version":"6d79a0938f4b89c1c1fee2c3426754929173c8888fdfaab6b6d645269945f7bf","impliedFormat":1},{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true,"impliedFormat":1},{"version":"c6c0bd221bb1e94768e94218f8298e47633495529d60cae7d8da9374247a1cf5","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1},{"version":"035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","impliedFormat":1},{"version":"5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"e00243d23c495ca2170c9b9e20b5c92331239100b51efdc2b4401cdad859bbef","impliedFormat":1},{"version":"ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","impliedFormat":1},{"version":"6fa5d56af71f07dc276aae3f6f30807a9cccf758517fb39742af72e963553d80","impliedFormat":1},{"version":"253b95673c4e01189af13e855c76a7f7c24197f4179954521bf2a50db5cfe643","impliedFormat":1},{"version":"afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","impliedFormat":1},{"version":"31f24e33f22172ba0cc8cdc640779fb14c3480e10b517ad1b4564e83fa262a2b","impliedFormat":1},{"version":"f380ae8164792d9690a74f6b567b9e43d5323b580f074e50f68f983c0d073b5b","impliedFormat":1},{"version":"0fd641a3b3e3ec89058051a284135a3f30b94a325fb809c4e4159ec5495b5cdc","impliedFormat":1},{"version":"7b20065444d0353a2bc63145481e519e02d9113a098a2db079da21cb60590ef0","impliedFormat":1},{"version":"9f162ee475383c13e350c73e24db5adc246fba830b9d0cc11d7048af9bbd0a29","impliedFormat":1},{"version":"ce7c3363c40cd2fcc994517c7954954d1c70de2d972df7e45fa83837593b8687","impliedFormat":1},{"version":"6ab1224e0149cc983d5da72ff3540bc0cad8ee7b23cf2a3da136f77f76d01763","impliedFormat":1},{"version":"e059fb0805a29ea3976d703a6f082c1493ac5583ca8011e8c5b86d0a23667d0d","impliedFormat":1},{"version":"16fbf548a0337a83d30552e990b6832fd24bbc47042a8c491e1dc93029b4222f","impliedFormat":1},{"version":"0c4c7303956a4726568c801dcd81e9fbce32fbf74565f735bbcf46ba66417769","impliedFormat":1},{"version":"f39848c7895fd6373d5e30089e7fb1d10c464e7eeb37ce1ea47d188a707b162c","impliedFormat":1},{"version":"9249c34e7282d17a2749677c3521ea625f73c2b48792af08fa9c5e09abc6a882","impliedFormat":1},{"version":"c5c62931355f1089eddf4f90d2de51bd1e82325cea8804003d796d7551a57756","signature":"8514836d91a067df3bc62afbc4cc61cb7ec680e3869a6708d8156d6965dcee2b"},{"version":"4ec61c956d422af3e69ba85078b47b6bb3af76adce82715e4bc464bc0f21c4ed","signature":"ef35a7162b7c09e3670a05f1ec7e2cf4697ddd04a927663862835362659442fb"},{"version":"c773f8e1433fd8bdf77d95dc3d4673c503f86e5a036ffdb41f267a76f0ef660d","signature":"9130dae8950c1a1e0fc3c31a0d10d72125efc7863dc31cb6b9f489a7f6220c4e"},{"version":"a00928a610cf1fded8671cff02f6b05c5b13ebb9e20089f27997a4fda14c0f7d","signature":"071410ce6a25f996ba46268d97ccc9c6fbf46bb161101d2f816f955ba4a72645"},{"version":"acb92e042e5ba52cbdeafc5979ab011692408650a1cede961a9efa2f04042404","signature":"aed44b7716a6f12aa919e2de7595bd88728423403a9ee5c8bdd19a521b9bbe74"},{"version":"70b23383c6a5affd3f3d359fc507d306d9a444212e1e6b16911a1383a7671d26","signature":"d48126040aabbfa878c6c60907026797edfa65af032e2babbe32bac26497893c"},{"version":"797a3263b92d648d9a453aa8a8bb76032c1258109312d8843da06ca9e5e57db3","signature":"6500262aef19fe408f0100d6ecb62b7d2a939969ff61d4b2e8c660f4ba704f03"},{"version":"37f4322b8239447f30cf37177af062c07b16a9647fc47b2addcf8f9d4642d557","signature":"2ef0da8ee6e8edfc94c588f1c8003c9e9d2321fb58fc8ba62528800bfdb875ce"},{"version":"1b5e0440a2b2f5f2b574773053e73279472a04144942c5a52c3fdda3399495ad","signature":"0fd153a9f06cdf075bff155332ee323435e4d743c1c95d9a4b07997dd1759d8c"},{"version":"1eafb4ace2c3824181f1be638d6818a0b635f9819d31084d5fffc1cb8865a47a","signature":"8406d1ed309fc5f085a8652b454e052c4a449669bd47f6272d68a3cfcf69c2a0"},{"version":"d1989d643f6b53349e24184da1335e9a4f0432713c648e0b2988ae0e3f3505e5","signature":"cdf4658513e21e4f3a86a066a0e79fa4e3a3f9d6d66f9db97a23f2654eb10d2a"},{"version":"eddfb4e465f23dd62077cc99b1015e2e4f2623a645ee544ff0f6cbd955cc88d5","signature":"bed6b3d6553e04fb765a1e36d7a4b1901a0baf3f3d828d331755be7ebb28d0d5"},{"version":"466d1ff50de248853d92d7284e37ff84225cac9d8aeb583e60e22a3db7d97c01","signature":"3f2cec2aa3995d52a7fa32a98caddd7a2341c179c1b59652d5b5863fa7935497"},{"version":"e01c75755ac4a35acf341b792904ce5ad7f67c645b6dcd9104d86dcd16602a24","signature":"05de4e8bb071deac65cb657ba2439eedbc2d50d5b6c2d7330afd1fee785632ef"},{"version":"23bab265eda887ca92e4bcff745247ae55074fa86cc28c469f4a9b043e3cbeaf","signature":"a4f8ed31db826c6c2a557fe1568ca4475ff1aba3c5b7f4adb8fe143c46a790d1"},{"version":"28da2f27f55191bd2f6a2d80a1471af068bc1b7786bbbba1bdc0dd466860f4ea","signature":"12453e91a65d728d8f8b3ae1ce7c15f79d24f4f38dfa69cc9dde91823454700d"},{"version":"2a429fd6540de955deb34cc0b17e94a3212b74bcc017830daa037dc55c02ac27","signature":"7bf9899effef91a4ce2aded11d0a0619474dc4877e48ac4a4ab6e908ec4b6b9b"},{"version":"daa665c2246cce5ed12c02fe9f5d1aa5a698aec205b00da03ccb0bbb03e5cc32","signature":"5d6e5eeb02489b3a886a67659847680511f3ab7818c5793b05878d0b57363678"},{"version":"2b0021e80450ccfa37833a2dda35b9d0f5525dbcb2e8063ed9f944306659c65d","signature":"4c8fe4a65351d6d2075f7f8f3b7528dffa0a766eff95bd72950d610b268edf72"},{"version":"5eb1908156ff78fa102f303b30c3c23ca6818a02a715ad4e16cfd70c5ea62e40","signature":"da117083480278cfd70045b628712cbfc76c6e3ca4731d4da68d3beb62fce83b"},{"version":"b001cca8187569f6b5a20832473602f34897e8906c8208fd6ad75ed27b114254","signature":"eeb7f274f60b2298b4a1913a58e60f58deb4ba775ea3561d5ae3649d3160c431"},{"version":"7c7f7eacc5601b5dac77f5d0e1513b9222d245edd703dd4df586ff44c53cc4bc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c1ac085ec9fd9f31c634969f834efdae8dc0136f430ba193c691f2621730863d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f919c0f2982c83d8fa98768e13c933b9bad181f8819ae2478de1e360b09b6395","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c0f7a8e1ef529a45d3b3388dd17a4d2a2425129107cc64601fc1e62e4e46eb76","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e42aaa82c1c85b84ab8d43f94cf5196ed4b1647b6ea50f50c2fb5bcb7281f9dd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b6ce6ec0924a00c065b56bf3b0c591d2d56ada5836871bab69026e9a48eda7ab","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"18fe534304dd38ef5329bb7be8dee0409b7f17688254fb6d7f580113310f1e09","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"345cab8502f0ef919fc441bce9104147eb0a075170d3ea6f56291af23ed3bda5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e0d52167dc16205a4835659ef275c5ab35dcf489c9f75cabc1a8c73b91c107bf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8078dc550e847f6d41dff32801f80d9f4d0e9db9c13c026f26853f16d84de986","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"92821dff603e52977687ec782f170c0f706b4f0f3f006f5ab5326bfcc44e97da","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d7dc723b79af975aa3ac555f6b46fde95fbc90acf45ffc0dd709f3ae58913334","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"203ad5e4bebf79973ead227ee68408e910509326de9a0e4be2e4ffb234e5c0bc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"56dffe0a683708cd2e82372dc4ab7f0ad1aa5115162bb3d7e06f576db6570492","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"737bca735e34b1b4f22b3e423b951be5b5c873a6859aa326341234c02d9b2c36","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2cc09abbb7c196d918a0df65142290724795ccb94336f9a22f4c1baf57cd20ad","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1260d030e907ac67668570f1c741dac4092071e70c7d4e19aa044081d9a905f8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cc6cbdcdbbec6ba1f3332bb7b1efe72396e5049238a277c15d34ee7e3466fe81","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ff8f53b2844a4b8a609779131c016fb4e016a03ff91246369feb25f4b81c065e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a32f646008f76369fbbfd7a49d9d16aff74f14c02fe5cf2c55da1706ffcaa070","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"237b85b9ca3c78797d63d49b5a247642f22f623280711eebf4ce460030bf5692","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"145686e94fcc4d8c9abf02376d93786a51734685da1efe6ab6ebf6e867f69127","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"356e0806f9b6f19ce0f1cd4681f07141b1349bca5947940e5c128dfb71b1d2b0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7c64de3590be6351503a6e4f70b2131e71954912c5957e10cb8b1ca662f10420","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d1eb07946a503ad392f922dff89922a4ac5ce8f6d963c204ec95be21a0a12a7e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e74998d5cefc2f29d583c10b99c1478fb810f1e46fbb06535bfb0bbba3c84aa5","impliedFormat":1},{"version":"2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","impliedFormat":1},{"version":"43d058146b002d075f5d0033a6870321048297f1658eb0db559ba028383803a6","impliedFormat":1},{"version":"670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","impliedFormat":1},{"version":"9e0cf651e8e2c5b9bebbabdff2f7c6f8cedd91b1d9afcc0a854cdff053a88f1b","impliedFormat":1},{"version":"069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","impliedFormat":1},{"version":"d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","impliedFormat":1},{"version":"462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","impliedFormat":1},{"version":"5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","impliedFormat":1},{"version":"7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","impliedFormat":1},{"version":"dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","impliedFormat":1},{"version":"1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","impliedFormat":1},{"version":"8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","impliedFormat":1},{"version":"7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73","impliedFormat":1},{"version":"ccfd8774cd9b929f63ff7dcf657977eb0652e3547f1fcac1b3a1dc5db22d4d58","affectsGlobalScope":true,"impliedFormat":1}],"root":[[134,179]],"options":{"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"noImplicitAny":true,"noImplicitReturns":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"strictNullChecks":true,"target":9},"referencedMap":[[134,1],[182,2],[120,3],[131,4],[126,5],[116,6],[125,7],[117,8],[185,9],[181,2],[183,10],[184,2],[121,11],[113,12],[114,13],[194,14],[65,15],[67,16],[68,17],[69,18],[70,19],[71,20],[72,21],[73,22],[74,23],[75,24],[76,25],[77,26],[78,27],[79,28],[80,29],[81,30],[82,31],[108,32],[83,33],[84,34],[85,35],[86,36],[87,37],[88,38],[89,39],[90,40],[91,41],[92,42],[93,43],[94,44],[95,45],[96,46],[97,47],[98,48],[99,49],[100,50],[101,51],[102,52],[103,53],[104,54],[105,55],[106,56],[110,57],[124,58],[132,59],[190,60],[192,61],[191,60],[189,62],[122,63],[193,64],[119,65],[123,66],[130,67],[129,68],[133,69],[188,70],[137,71],[138,72],[139,73],[140,73],[141,73],[142,73],[143,73],[154,74],[144,73],[148,75],[145,73],[151,76],[149,77],[152,73],[146,73],[153,73],[136,78],[178,79],[179,80],[155,81],[156,82],[157,83],[158,84],[159,85],[160,86],[161,87],[162,88],[163,89],[164,90],[165,91],[166,92],[167,93],[168,94],[169,71],[170,71],[171,71],[172,71],[173,71],[174,71],[175,71],[176,71],[177,71]],"version":"5.6.2"}
@@ -0,0 +1,11 @@
1
+ import globals from "globals";
2
+ import pluginJs from "@eslint/js";
3
+ import tseslint from "typescript-eslint";
4
+
5
+
6
+ export default [
7
+ {files: ["**/*.{js,mjs,cjs,ts}"]},
8
+ {languageOptions: { globals: globals.browser }},
9
+ pluginJs.configs.recommended,
10
+ ...tseslint.configs.recommended,
11
+ ];
package/jest.config.ts ADDED
@@ -0,0 +1,210 @@
1
+ /**
2
+ * For a detailed explanation regarding each configuration property, visit:
3
+ * https://jestjs.io/docs/configuration
4
+ */
5
+
6
+ import type { Config } from 'jest';
7
+
8
+ const config: Config = {
9
+
10
+
11
+ testEnvironment: 'node',
12
+
13
+ // All imported modules in your tests should be mocked automatically
14
+ // automock: false,
15
+
16
+ // Stop running tests after `n` failures
17
+ // bail: 0,
18
+
19
+ // The directory where Jest should store its cached dependency information
20
+ // cacheDirectory: "/tmp/jest_ru",
21
+
22
+ // Automatically clear mock calls, instances, contexts and results before every test
23
+ clearMocks: true,
24
+
25
+ // Indicates whether the coverage information should be collected while executing the test
26
+ collectCoverage: false,
27
+
28
+ // An array of glob patterns indicating a set of files for which coverage information should be collected
29
+ // collectCoverageFrom: undefined,
30
+
31
+ // The directory where Jest should output its coverage files
32
+ coverageDirectory: './coverage/',
33
+
34
+ // An array of regexp pattern strings used to skip coverage collection
35
+ // coveragePathIgnorePatterns: [
36
+ // "/node_modules/"
37
+ // ],
38
+
39
+ // Indicates which provider should be used to instrument code for coverage
40
+ coverageProvider: "v8",
41
+
42
+ // A list of reporter names that Jest uses when writing coverage reports
43
+ // coverageReporters: [
44
+ // "json",
45
+ // "text",
46
+ // "lcov",
47
+ // "clover"
48
+ // ],
49
+
50
+ // An object that configures minimum threshold enforcement for coverage results
51
+ // coverageThreshold: undefined,
52
+
53
+ // A path to a custom dependency extractor
54
+ // dependencyExtractor: undefined,
55
+
56
+ // Make calling deprecated APIs throw helpful error messages
57
+ // errorOnDeprecated: false,
58
+
59
+ // The default configuration for fake timers
60
+ // fakeTimers: {
61
+ // "enableGlobally": false
62
+ // },
63
+
64
+ // Force coverage collection from ignored files using an array of glob patterns
65
+ // forceCoverageMatch: [],
66
+
67
+ // A path to a module which exports an async function that is triggered once before all test suites
68
+ // globalSetup: undefined,
69
+
70
+ // A path to a module which exports an async function that is triggered once after all test suites
71
+ // globalTeardown: undefined,
72
+
73
+ // A set of global variables that need to be available in all test environments
74
+ // globals: {},
75
+
76
+ // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers.
77
+ // maxWorkers: "50%",
78
+
79
+ // An array of directory names to be searched recursively up from the requiring module's location
80
+ // moduleDirectories: [
81
+ // "node_modules"
82
+ // ],
83
+
84
+ // An array of file extensions your modules use
85
+ moduleFileExtensions: ['ts', 'js'],
86
+ // moduleFileExtensions: [
87
+ // "js",
88
+ // "mjs",
89
+ // "cjs",
90
+ // "jsx",
91
+ // "ts",
92
+ // "tsx",
93
+ // "json",
94
+ // "node"
95
+ // ],
96
+
97
+ // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module
98
+ // moduleNameMapper: {},
99
+
100
+ // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader
101
+ // modulePathIgnorePatterns: [],
102
+
103
+ // Activates notifications for test results
104
+ // notify: false,
105
+
106
+ // An enum that specifies notification mode. Requires { notify: true }
107
+ // notifyMode: "failure-change",
108
+
109
+ // A preset that is used as a base for Jest's configuration
110
+ // preset: undefined,
111
+
112
+ // Run tests from one or more projects
113
+ // projects: undefined,
114
+
115
+ // Use this configuration option to add custom reporters to Jest
116
+ // reporters: undefined,
117
+
118
+ // Automatically reset mock state before every test
119
+ // resetMocks: false,
120
+
121
+ // Reset the module registry before running each individual test
122
+ // resetModules: false,
123
+
124
+ // A path to a custom resolver
125
+ // resolver: undefined,
126
+
127
+ // Automatically restore mock state and implementation before every test
128
+ // restoreMocks: false,
129
+
130
+ // The root directory that Jest should scan for tests and modules within
131
+ // rootDir: undefined,
132
+
133
+ // A list of paths to directories that Jest should use to search for files in
134
+ roots: [
135
+ "./test",
136
+ "./src",
137
+ ],
138
+
139
+ // Allows you to use a custom runner instead of Jest's default test runner
140
+ // runner: "jest-runner",
141
+
142
+ // The paths to modules that run some code to configure or set up the testing environment before each test
143
+ // setupFiles: [],
144
+
145
+ // A list of paths to modules that run some code to configure or set up the testing framework before each test
146
+ // setupFilesAfterEnv: [],
147
+
148
+ // The number of seconds after which a test is considered as slow and reported as such in the results.
149
+ // slowTestThreshold: 5,
150
+
151
+ // A list of paths to snapshot serializer modules Jest should use for snapshot testing
152
+ // snapshotSerializers: [],
153
+
154
+ // The test environment that will be used for testing
155
+ // testEnvironment: "jest-environment-node",
156
+
157
+ // Options that will be passed to the testEnvironment
158
+ // testEnvironmentOptions: {},
159
+
160
+ // Adds a location field to test results
161
+ // testLocationInResults: false,
162
+
163
+ // The glob patterns Jest uses to detect test files
164
+ // testMatch: [
165
+ // "**/__tests__/**/*.[jt]s?(x)",
166
+ // "**/?(*.)+(spec|test).[tj]s?(x)"
167
+ // ],
168
+
169
+ // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped
170
+ // testPathIgnorePatterns: [
171
+ // "/node_modules/"
172
+ // ],
173
+
174
+ // The regexp pattern or array of patterns that Jest uses to detect test files
175
+ // testRegex: '(/test/.*\\.(test|spec))\\.(jsx?|tsx?)$',
176
+ testRegex: '(/.*\\.(test|spec))\\.(jsx?|tsx?)$',
177
+ // testRegex: [],
178
+
179
+ // This option allows the use of a custom results processor
180
+ // testResultsProcessor: undefined,
181
+
182
+ // This option allows use of a custom test runner
183
+ // testRunner: "jest-circus/runner",
184
+
185
+ // A map from regular expressions to paths to transformers
186
+ transform: {
187
+ '^.+\\.(ts|tsx)$': ['ts-jest', { /* ts-jest config goes here in Jest */ }],
188
+ },
189
+ // transform: undefined,
190
+
191
+ // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation
192
+ // transformIgnorePatterns: [
193
+ // "/node_modules/",
194
+ // "\\.pnp\\.[^\\/]+$"
195
+ // ],
196
+
197
+ // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them
198
+ // unmockedModulePathPatterns: undefined,
199
+
200
+ // Indicates whether each individual test should be reported during the run
201
+ // verbose: undefined,
202
+
203
+ // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode
204
+ // watchPathIgnorePatterns: [],
205
+
206
+ // Whether to use watchman for file crawling
207
+ // watchman: true,
208
+ };
209
+
210
+ export default config;
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "validation-br",
3
3
  "description": "Brazilian personal documents validation - cpf, cnpj, titulo, pis/pasep, cnh, renavam, processos judiciais, protocolo federal, código de rastreamento dos correios",
4
- "version": "1.5.2",
4
+ "version": "2.0.0-next-1",
5
5
  "main": "dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "author": "Cláudio Medeiros <klawdyo@gmail.com>",
8
8
  "license": "MIT",
9
9
  "scripts": {
10
- "build": "tsc",
11
10
  "test": "jest",
12
11
  "test:watch": "jest --watch",
13
12
  "test:coverage": "jest --collectCoverageFrom=src/**/*.ts --coverage",
14
13
  "format": "prettier --write \"./**/*.{js,ts,json}\"",
15
- "prepublish": "npm run build"
14
+ "build": "rm ./dist -r && npx jest && npx tsc",
15
+ "prepublishOnly": "npm run build"
16
16
  },
17
17
  "lint-staged": {
18
18
  "*.{js,ts}": [
package/readme.md CHANGED
@@ -411,13 +411,14 @@ titulo.dv('5250288816') // -> '94'
411
411
 
412
412
  Todos os testes passando com 100% de cobertura
413
413
 
414
- ![Testes passando com 100% de cobertura](https://github.com/klawdyo/validation-br/assets/100168/bb83df1e-774c-4a92-bf83-7b451682264e)
414
+ ![Testes passando com 100% de cobertura](https://github.com/user-attachments/assets/86c75eda-077f-4386-ba9c-20b588b6bd36)
415
+
415
416
 
416
417
  # Github Actions
417
418
 
418
419
  Github actions executados nas versões 18, 20 e 22 do Node.
419
420
 
420
- ![Github actions executados nas versões 12, 14, 16, 18 e 20 do Node](https://github.com/klawdyo/validation-br/assets/100168/50f5b3c3-f1b0-46ac-a6b1-e31a366b27c7)
421
+ ![Github actions executados nas versões 18, 20 e 22 do Node](https://github.com/user-attachments/assets/34b2b82d-67e3-4c00-b9c6-7160279123d2)
421
422
 
422
423
  # Changelog
423
424
 
@@ -0,0 +1,12 @@
1
+ import { arrayRandom } from "../../src/_helpers/array_random"
2
+
3
+
4
+ describe('arrayRandom()', () => {
5
+ describe('Testa se o valor escolhido está dentro da lista', () => {
6
+ test.each([...Array(20)])('Testa se está no array', () => {
7
+ const list = [1, 2, 3, 4]
8
+ const selected = arrayRandom(list)
9
+ expect(list).toContain(selected)
10
+ })
11
+ })
12
+ })
@@ -0,0 +1,13 @@
1
+ import { CRC } from '../../src/_helpers/crc';
2
+
3
+ describe('CRC', () => {
4
+ test('Converte string para o formato CRC16', () => {
5
+ // console.log(CRC(12345678))
6
+ expect(new CRC('12345678').calculate()).toBe('A12B');
7
+ expect(
8
+ new CRC(
9
+ '00020101021226390014BR.GOV.BCB.PIX0117klawdyo@gmail.com52040000530398654041.005802BR5924Jose Claudio Medeiros de6006AssuRN61085965000062200516SINASEFE-18/20216304'
10
+ ).calculate()
11
+ ).toBe('EB13');
12
+ });
13
+ });
@@ -0,0 +1,161 @@
1
+ import { CarPlate } from '../src/carplate'
2
+ import { isCarPlate } from '../src/main';
3
+
4
+ describe('CarPlate', () => {
5
+ describe('construtor', () => {
6
+
7
+ test.each([
8
+ 'AAA0000',
9
+ 'AAA-0000',
10
+ 'AAA0F00',
11
+ 'AAA-0F00',
12
+ 'AbA0F00',
13
+ 'abc-0h00',
14
+ 'abc-0h00 ',
15
+ ])('A placa %s deve ser válida', (input) => {
16
+ expect(new CarPlate(input)).toBeDefined()
17
+ });
18
+
19
+ test.each([
20
+ 'A2A0000',
21
+ 'AAA-00A0',
22
+ 'AAA0F0',
23
+ 'AAA0F077',
24
+ 'AAA0F-077',
25
+ '',
26
+ null,
27
+ undefined,
28
+ ])('A placa %s deve lançar erro', (input) => {
29
+ expect(() => new CarPlate(input as any)).toThrow()
30
+ })
31
+ })
32
+
33
+ describe('isCarPlate', () => {
34
+
35
+ test.each([
36
+ 'AAA0000',
37
+ 'AAA-0000',
38
+ 'AAA0F00',
39
+ 'AAA-0F00',
40
+ 'AbA0F00',
41
+ 'abc-0h00',
42
+ ])('A placa %s deve ser válida', (clarPlate) => {
43
+ expect(isCarPlate(clarPlate)).toBeTruthy()
44
+ });
45
+
46
+ test.each([
47
+ 'A2A0000',
48
+ 'AAA-00A0',
49
+ 'AAA0F0',
50
+ 'AAA0F077',
51
+ '',
52
+ null,
53
+ undefined,
54
+ ])('A placa %s não deve ser válida', (clarPlate) => {
55
+ expect(isCarPlate(clarPlate as any)).toBeFalsy()
56
+ })
57
+ })
58
+
59
+ // describe('validate', () => {
60
+
61
+ // test.each([
62
+ // 'AAA0000',
63
+ // 'AAA-0000',
64
+ // 'AAA0F00',
65
+ // 'AAA-0F00',
66
+ // 'AbA0F00',
67
+ // 'abc-0h00',
68
+ // ])('A placa %s deve ser válida', (clarPlate) => {
69
+ // expect(validate(clarPlate)).toBeTruthy()
70
+ // });
71
+
72
+ // test.each([
73
+ // 'A2A0000',
74
+ // 'AAA-00A0',
75
+ // 'AAA0F0',
76
+ // 'AAA0F077',
77
+ // '',
78
+ // null,
79
+ // undefined,
80
+ // ])('A placa %s não deve ser válida', (clarPlate) => {
81
+ // // @ts-ignore
82
+ // expect(validate(clarPlate)).toBeFalsy()
83
+ // })
84
+ // })
85
+
86
+
87
+ // describe('validateOrFail', () => {
88
+
89
+ // test.each([
90
+ // 'AAA0000',
91
+ // 'AAA-0000',
92
+ // 'AAA0F00',
93
+ // 'AAA-0F00',
94
+ // 'AbA0F00',
95
+ // 'abc-0h00',
96
+ // ])('A placa %s deve ser válida', (clarPlate) => {
97
+ // expect(validateOrFail(clarPlate)).toBeTruthy()
98
+ // });
99
+
100
+ // test.each([
101
+ // 'A2A0000',
102
+ // 'AAA-00A0',
103
+ // 'AAA0F0',
104
+ // 'AAA0F077',
105
+ // '',
106
+ // null,
107
+ // undefined,
108
+ // ])('A placa %s não deve ser válida', (clarPlate) => {
109
+ // // @ts-ignore
110
+ // expect(()=>validateOrFail(clarPlate)).toThrow()
111
+ // })
112
+ // })
113
+
114
+
115
+ // describe('DV', () => {
116
+
117
+ // test('Car plate não tem DV', () => {
118
+ // expect(dv('AAA0000')).toBeNull()
119
+ // expect(checksum('AAA0000')).toBeNull()
120
+ // })
121
+ // })
122
+
123
+ // describe('fake', () => {
124
+
125
+ // test('Gera fakes sem mascara', () => {
126
+ // for (let i = 0; i <= 20; i++) {
127
+ // const carPlate = fake()
128
+
129
+
130
+ // expect(validate(carPlate)).toBeTruthy()
131
+ // expect(carPlate.length).toBe(7)
132
+ // }
133
+ // })
134
+
135
+ // test('Gera fakes com mascara', () => {
136
+ // for (let i = 0; i <= 20; i++) {
137
+ // const carPlate = fake(true)
138
+ // expect(validate(carPlate)).toBeTruthy()
139
+ // expect(carPlate.length).toBe(8)
140
+ // }
141
+ // })
142
+ // })
143
+
144
+ // describe('mask', () => {
145
+
146
+ // test.each([
147
+ // 'AAA0000',
148
+ // 'AAA0900',
149
+ // 'AAA0F00',
150
+ // 'AGA0F00',
151
+ // 'aba0F00',
152
+ // 'abc0h00',
153
+ // ])('A placa %s deve ser válida', (clarPlate) => {
154
+ // const masked = mask(clarPlate)
155
+ // expect(masked).toBeDefined()
156
+ // expect(masked).toBe(masked.toLocaleUpperCase())
157
+ // expect(masked.length).toBe(8)
158
+ // expect(masked).toMatch(/^[A-Z]{3}-[0-9][A-Z0-9][0-9]{2}$/)
159
+ // })
160
+ // })
161
+ })
@@ -0,0 +1,71 @@
1
+ import { CNH } from '../src/cnh';
2
+ import * as _cnh from '../src/cnh';
3
+
4
+ describe('CNH', () => {
5
+ describe('constructor', () => {
6
+ test.each([
7
+ '50195131143',
8
+ '58316794534',
9
+ '50195471165',
10
+ '69044271146',
11
+ '46190906839',
12
+ '624729276-37',
13
+ ])('deve estar definido', (input) => {
14
+ expect(new CNH(input)).toBeDefined();
15
+ });
16
+
17
+ test.each([
18
+ '50195131143',
19
+ '58316794534',
20
+ '50195471165',
21
+ '69044271146',
22
+ '46190906839',
23
+ '624729276-37',
24
+ ])('deve lançar erro', (input) => {
25
+ expect(new CNH(input)).toBeDefined();
26
+ });
27
+ });
28
+
29
+ describe('fake', () => {
30
+ test.each([...Array(5)])('Gera fakes', () => {
31
+ const cnh = CNH.fake();
32
+ expect(cnh).toBeDefined();
33
+ expect(cnh.value).toHaveLength(11);
34
+ });
35
+ });
36
+
37
+ describe('checksum', () => {
38
+ test.each([
39
+ { num: '501954711', expected: '65' },
40
+ { num: '583164745', expected: '75' },
41
+ { num: '690444711', expected: '17' },
42
+ ])('O DV gerado deve estar correto', (item) => {
43
+ const calcDv = CNH.checksum(item.num);
44
+
45
+ expect(calcDv).toBe(item.expected);
46
+ expect(typeof calcDv).toBe('string');
47
+ });
48
+
49
+
50
+ test.each(['50195471', '5831641745', ''])(
51
+ 'deve lançar erro de dv',
52
+ (item) => {
53
+ expect(() => CNH.checksum(item)).toThrow();
54
+ }
55
+ );
56
+
57
+ });
58
+
59
+ describe('mask', () => {
60
+ test.each([
61
+ { value: '50195471143', expected: '501954711-43' },
62
+ { value: '58316474534', expected: '583164745-34' },
63
+ { value: '69044471146', expected: '690444711-46' },
64
+ ])('máscara deve ser gerada corretamente', (input) => {
65
+ const cnh = new CNH(input.value);
66
+
67
+ expect(cnh.mask()).toBe(input.expected);
68
+ expect(cnh.mask()).toHaveLength(12);
69
+ });
70
+ });
71
+ });