validation-br 1.5.1 → 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.
- package/.prettierrc +9 -0
- package/dist/jest.config.d.ts +8 -0
- package/dist/jest.config.d.ts.map +1 -0
- package/dist/jest.config.js +154 -0
- package/dist/jest.config.js.map +1 -0
- package/dist/test/_helpers/array_random.spec.d.ts +2 -0
- package/dist/test/_helpers/array_random.spec.d.ts.map +1 -0
- package/dist/test/_helpers/array_random.spec.js +13 -0
- package/dist/test/_helpers/array_random.spec.js.map +1 -0
- package/dist/test/_helpers/crc.spec.d.ts +2 -0
- package/dist/test/_helpers/crc.spec.d.ts.map +1 -0
- package/dist/test/_helpers/crc.spec.js +11 -0
- package/dist/test/_helpers/crc.spec.js.map +1 -0
- package/dist/test/carplate.spec.d.ts +2 -0
- package/dist/test/carplate.spec.d.ts.map +1 -0
- package/dist/test/carplate.spec.js +141 -0
- package/dist/test/carplate.spec.js.map +1 -0
- package/dist/test/cnh.spec.d.ts +2 -0
- package/dist/test/cnh.spec.d.ts.map +1 -0
- package/dist/test/cnh.spec.js +60 -0
- package/dist/test/cnh.spec.js.map +1 -0
- package/dist/test/cnpj.spec.d.ts +2 -0
- package/dist/test/cnpj.spec.d.ts.map +1 -0
- package/dist/test/cnpj.spec.js +105 -0
- package/dist/test/cnpj.spec.js.map +1 -0
- package/dist/test/cpf.spec.d.ts +2 -0
- package/dist/test/cpf.spec.d.ts.map +1 -0
- package/dist/test/cpf.spec.js +66 -0
- package/dist/test/cpf.spec.js.map +1 -0
- package/dist/test/index.test.d.ts +2 -0
- package/dist/test/index.test.d.ts.map +1 -0
- package/dist/test/index.test.js +77 -0
- package/dist/test/index.test.js.map +1 -0
- package/dist/test/judicial-process.spec.d.ts +2 -0
- package/dist/test/judicial-process.spec.d.ts.map +1 -0
- package/dist/test/judicial-process.spec.js +101 -0
- package/dist/test/judicial-process.spec.js.map +1 -0
- package/dist/test/nup17.spec.d.ts +2 -0
- package/dist/test/nup17.spec.d.ts.map +1 -0
- package/dist/test/nup17.spec.js +70 -0
- package/dist/test/nup17.spec.js.map +1 -0
- package/dist/test/phone.spec.d.ts +2 -0
- package/dist/test/phone.spec.d.ts.map +1 -0
- package/dist/test/phone.spec.js +67 -0
- package/dist/test/phone.spec.js.map +1 -0
- package/dist/test/pis-pasep.spec.d.ts +2 -0
- package/dist/test/pis-pasep.spec.d.ts.map +1 -0
- package/dist/test/pis-pasep.spec.js +65 -0
- package/dist/test/pis-pasep.spec.js.map +1 -0
- package/dist/test/pix-copy-paste.spec.d.ts +2 -0
- package/dist/test/pix-copy-paste.spec.d.ts.map +1 -0
- package/dist/test/pix-copy-paste.spec.js +31 -0
- package/dist/test/pix-copy-paste.spec.js.map +1 -0
- package/dist/test/pix-key.spec.d.ts +2 -0
- package/dist/test/pix-key.spec.d.ts.map +1 -0
- package/dist/test/pix-key.spec.js +36 -0
- package/dist/test/pix-key.spec.js.map +1 -0
- package/dist/test/postal-track-code.test.d.ts +2 -0
- package/dist/test/postal-track-code.test.d.ts.map +1 -0
- package/dist/test/postal-track-code.test.js +75 -0
- package/dist/test/postal-track-code.test.js.map +1 -0
- package/dist/test/renavam.spec.d.ts +2 -0
- package/dist/test/renavam.spec.d.ts.map +1 -0
- package/dist/test/renavam.spec.js +63 -0
- package/dist/test/renavam.spec.js.map +1 -0
- package/dist/test/tituloEleitor.spec.d.ts +2 -0
- package/dist/test/tituloEleitor.spec.d.ts.map +1 -0
- package/dist/test/tituloEleitor.spec.js +68 -0
- package/dist/test/tituloEleitor.spec.js.map +1 -0
- package/dist/test/utils-applyMask.test.d.ts +2 -0
- package/dist/test/utils-applyMask.test.d.ts.map +1 -0
- package/dist/test/utils-applyMask.test.js +18 -0
- package/dist/test/utils-applyMask.test.js.map +1 -0
- package/dist/test/utils-checkRepeatedSequence.test.d.ts +2 -0
- package/dist/test/utils-checkRepeatedSequence.test.d.ts.map +1 -0
- package/dist/test/utils-checkRepeatedSequence.test.js +18 -0
- package/dist/test/utils-checkRepeatedSequence.test.js.map +1 -0
- package/dist/test/utils-clearValue.test.d.ts +2 -0
- package/dist/test/utils-clearValue.test.d.ts.map +1 -0
- package/dist/test/utils-clearValue.test.js +74 -0
- package/dist/test/utils-clearValue.test.js.map +1 -0
- package/dist/test/utils-fakeNumber.test.d.ts +2 -0
- package/dist/test/utils-fakeNumber.test.d.ts.map +1 -0
- package/dist/test/utils-fakeNumber.test.js +24 -0
- package/dist/test/utils-fakeNumber.test.js.map +1 -0
- package/dist/test/utils-insertAtPosition.test.d.ts +2 -0
- package/dist/test/utils-insertAtPosition.test.d.ts.map +1 -0
- package/dist/test/utils-insertAtPosition.test.js +16 -0
- package/dist/test/utils-insertAtPosition.test.js.map +1 -0
- package/dist/test/utils-randomLetter.test.d.ts +2 -0
- package/dist/test/utils-randomLetter.test.d.ts.map +1 -0
- package/dist/test/utils-randomLetter.test.js +14 -0
- package/dist/test/utils-randomLetter.test.js.map +1 -0
- package/dist/test/utils-removeFromPosition.test.d.ts +2 -0
- package/dist/test/utils-removeFromPosition.test.d.ts.map +1 -0
- package/dist/test/utils-removeFromPosition.test.js +16 -0
- package/dist/test/utils-removeFromPosition.test.js.map +1 -0
- package/dist/test/utils-sumElementsByMultipliers.test.d.ts +2 -0
- package/dist/test/utils-sumElementsByMultipliers.test.d.ts.map +1 -0
- package/dist/test/utils-sumElementsByMultipliers.test.js +23 -0
- package/dist/test/utils-sumElementsByMultipliers.test.js.map +1 -0
- package/dist/test/utils-sumToDV.test.d.ts +2 -0
- package/dist/test/utils-sumToDV.test.d.ts.map +1 -0
- package/dist/test/utils-sumToDV.test.js +17 -0
- package/dist/test/utils-sumToDV.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/eslint.config.mjs +11 -0
- package/jest.config.ts +210 -0
- package/package.json +4 -3
- package/readme.md +3 -2
- package/test/_helpers/array_random.spec.ts +12 -0
- package/test/_helpers/crc.spec.ts +13 -0
- package/test/carplate.spec.ts +161 -0
- package/test/cnh.spec.ts +71 -0
- package/test/cnpj.spec.ts +127 -0
- package/test/cpf.spec.ts +76 -0
- package/test/index.test.ts +112 -0
- package/test/judicial-process.spec.ts +131 -0
- package/test/nup17.spec.ts +79 -0
- package/test/phone.spec.ts +75 -0
- package/test/pis-pasep.spec.ts +73 -0
- package/test/pix-copy-paste.spec.ts +37 -0
- package/test/pix-key.spec.ts +41 -0
- package/test/postal-track-code.test.ts +83 -0
- package/test/renavam.spec.ts +71 -0
- package/test/tituloEleitor.spec.ts +72 -0
- package/test/utils-applyMask.test.ts +17 -0
- package/test/utils-checkRepeatedSequence.test.ts +17 -0
- package/test/utils-clearValue.test.ts +85 -0
- package/test/utils-fakeNumber.test.ts +28 -0
- package/test/utils-insertAtPosition.test.ts +15 -0
- package/test/utils-randomLetter.test.ts +14 -0
- package/test/utils-removeFromPosition.test.ts +15 -0
- package/test/utils-sumElementsByMultipliers.test.ts +24 -0
- package/test/utils-sumToDV.test.ts +16 -0
- package/todo.md +18 -0
- package/tsconfig.json +103 -23
- package/.github/workflows/test.yml +0 -39
- package/.prettierrc.js +0 -7
- package/dist/cnh.d.ts +0 -91
- package/dist/cnh.js +0 -139
- package/dist/cnh.js.map +0 -1
- package/dist/cnh.test.d.ts +0 -1
- package/dist/cnpj.d.ts +0 -87
- package/dist/cnpj.js +0 -151
- package/dist/cnpj.js.map +0 -1
- package/dist/cnpj.test.d.ts +0 -1
- package/dist/cpf.d.ts +0 -99
- package/dist/cpf.js +0 -147
- package/dist/cpf.js.map +0 -1
- package/dist/cpf.test.d.ts +0 -1
- package/dist/data/ValidationBRError.d.ts +0 -6
- package/dist/data/ValidationBRError.js +0 -10
- package/dist/data/ValidationBRError.js.map +0 -1
- package/dist/index.d.ts +0 -21
- package/dist/index.js +0 -42
- package/dist/index.js.map +0 -1
- package/dist/index.test.d.ts +0 -1
- package/dist/judicialProcess.d.ts +0 -126
- package/dist/judicialProcess.js +0 -190
- package/dist/judicialProcess.js.map +0 -1
- package/dist/judicialProcess.test.d.ts +0 -1
- package/dist/nup17.d.ts +0 -102
- package/dist/nup17.js +0 -155
- package/dist/nup17.js.map +0 -1
- package/dist/nup17.test.d.ts +0 -1
- package/dist/pisPasep.d.ts +0 -81
- package/dist/pisPasep.js +0 -126
- package/dist/pisPasep.js.map +0 -1
- package/dist/pisPasep.test.d.ts +0 -1
- package/dist/postalCode.d.ts +0 -83
- package/dist/postalCode.js +0 -136
- package/dist/postalCode.js.map +0 -1
- package/dist/postalCode.test.d.ts +0 -1
- package/dist/renavam.d.ts +0 -75
- package/dist/renavam.js +0 -122
- package/dist/renavam.js.map +0 -1
- package/dist/renavam.test.d.ts +0 -1
- package/dist/tituloEleitor.d.ts +0 -93
- package/dist/tituloEleitor.js +0 -143
- package/dist/tituloEleitor.js.map +0 -1
- package/dist/tituloEleitor.test.d.ts +0 -1
- package/dist/utils-applyMask.test.d.ts +0 -1
- package/dist/utils-checkRepeatedSequence.test.d.ts +0 -1
- package/dist/utils-clearValue.test.d.ts +0 -1
- package/dist/utils-fakeNumber.test.d.ts +0 -1
- package/dist/utils-insertAtPosition.test.d.ts +0 -1
- package/dist/utils-invalidListGenerator.test.d.ts +0 -1
- package/dist/utils-randomLetter.test.d.ts +0 -1
- package/dist/utils-removeFromPosition.test.d.ts +0 -1
- package/dist/utils-sumElementsByMultipliers.test.d.ts +0 -1
- package/dist/utils-sumToDV.test.d.ts +0 -1
- package/dist/utils.d.ts +0 -131
- package/dist/utils.js +0 -189
- package/dist/utils.js.map +0 -1
- package/docs/Nota.COCAD.SUARA.2024.05.49.CNPJ.Alfanumerico-1.pdf +0 -0
- package/eslint.config.js +0 -82
- 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,17 +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": "
|
|
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
|
-
"format": "prettier --write \"./**/*.{js,ts,json}\""
|
|
13
|
+
"format": "prettier --write \"./**/*.{js,ts,json}\"",
|
|
14
|
+
"build": "rm ./dist -r && npx jest && npx tsc",
|
|
15
|
+
"prepublishOnly": "npm run build"
|
|
15
16
|
},
|
|
16
17
|
"lint-staged": {
|
|
17
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
|
-

|
|
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
|
-

|
|
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
|
+
})
|
package/test/cnh.spec.ts
ADDED
|
@@ -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
|
+
});
|