@discretion/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +117 -0
- package/LICENSE +21 -0
- package/README.md +319 -0
- package/dist/src/checksums/aba.d.ts +25 -0
- package/dist/src/checksums/aba.d.ts.map +1 -0
- package/dist/src/checksums/aba.js +47 -0
- package/dist/src/checksums/aba.js.map +1 -0
- package/dist/src/checksums/digits.d.ts +55 -0
- package/dist/src/checksums/digits.d.ts.map +1 -0
- package/dist/src/checksums/digits.js +114 -0
- package/dist/src/checksums/digits.js.map +1 -0
- package/dist/src/checksums/icao9303.d.ts +29 -0
- package/dist/src/checksums/icao9303.d.ts.map +1 -0
- package/dist/src/checksums/icao9303.js +56 -0
- package/dist/src/checksums/icao9303.js.map +1 -0
- package/dist/src/checksums/index.d.ts +21 -0
- package/dist/src/checksums/index.d.ts.map +1 -0
- package/dist/src/checksums/index.js +21 -0
- package/dist/src/checksums/index.js.map +1 -0
- package/dist/src/checksums/iso7064.d.ts +67 -0
- package/dist/src/checksums/iso7064.d.ts.map +1 -0
- package/dist/src/checksums/iso7064.js +159 -0
- package/dist/src/checksums/iso7064.js.map +1 -0
- package/dist/src/checksums/luhn.d.ts +32 -0
- package/dist/src/checksums/luhn.d.ts.map +1 -0
- package/dist/src/checksums/luhn.js +66 -0
- package/dist/src/checksums/luhn.js.map +1 -0
- package/dist/src/checksums/mod97.d.ts +55 -0
- package/dist/src/checksums/mod97.d.ts.map +1 -0
- package/dist/src/checksums/mod97.js +94 -0
- package/dist/src/checksums/mod97.js.map +1 -0
- package/dist/src/checksums/verhoeff.d.ts +28 -0
- package/dist/src/checksums/verhoeff.d.ts.map +1 -0
- package/dist/src/checksums/verhoeff.js +80 -0
- package/dist/src/checksums/verhoeff.js.map +1 -0
- package/dist/src/checksums/weighted.d.ts +64 -0
- package/dist/src/checksums/weighted.d.ts.map +1 -0
- package/dist/src/checksums/weighted.js +97 -0
- package/dist/src/checksums/weighted.js.map +1 -0
- package/dist/src/context/documentProfile.d.ts +34 -0
- package/dist/src/context/documentProfile.d.ts.map +1 -0
- package/dist/src/context/documentProfile.js +253 -0
- package/dist/src/context/documentProfile.js.map +1 -0
- package/dist/src/context/negativeRules.d.ts +60 -0
- package/dist/src/context/negativeRules.d.ts.map +1 -0
- package/dist/src/context/negativeRules.js +696 -0
- package/dist/src/context/negativeRules.js.map +1 -0
- package/dist/src/context/score.d.ts +52 -0
- package/dist/src/context/score.d.ts.map +1 -0
- package/dist/src/context/score.js +346 -0
- package/dist/src/context/score.js.map +1 -0
- package/dist/src/context/structure.d.ts +46 -0
- package/dist/src/context/structure.d.ts.map +1 -0
- package/dist/src/context/structure.js +528 -0
- package/dist/src/context/structure.js.map +1 -0
- package/dist/src/context/triggers.d.ts +73 -0
- package/dist/src/context/triggers.d.ts.map +1 -0
- package/dist/src/context/triggers.js +172 -0
- package/dist/src/context/triggers.js.map +1 -0
- package/dist/src/context/types.d.ts +137 -0
- package/dist/src/context/types.d.ts.map +1 -0
- package/dist/src/context/types.js +25 -0
- package/dist/src/context/types.js.map +1 -0
- package/dist/src/crypto/keccak256.d.ts +15 -0
- package/dist/src/crypto/keccak256.d.ts.map +1 -0
- package/dist/src/crypto/keccak256.js +89 -0
- package/dist/src/crypto/keccak256.js.map +1 -0
- package/dist/src/crypto/sha256.d.ts +16 -0
- package/dist/src/crypto/sha256.d.ts.map +1 -0
- package/dist/src/crypto/sha256.js +81 -0
- package/dist/src/crypto/sha256.js.map +1 -0
- package/dist/src/detect/detectors/bankcodes/auBsb.d.ts +11 -0
- package/dist/src/detect/detectors/bankcodes/auBsb.d.ts.map +1 -0
- package/dist/src/detect/detectors/bankcodes/auBsb.js +34 -0
- package/dist/src/detect/detectors/bankcodes/auBsb.js.map +1 -0
- package/dist/src/detect/detectors/bankcodes/brAgencia.d.ts +15 -0
- package/dist/src/detect/detectors/bankcodes/brAgencia.d.ts.map +1 -0
- package/dist/src/detect/detectors/bankcodes/brAgencia.js +43 -0
- package/dist/src/detect/detectors/bankcodes/brAgencia.js.map +1 -0
- package/dist/src/detect/detectors/bankcodes/caTransit.d.ts +13 -0
- package/dist/src/detect/detectors/bankcodes/caTransit.d.ts.map +1 -0
- package/dist/src/detect/detectors/bankcodes/caTransit.js +86 -0
- package/dist/src/detect/detectors/bankcodes/caTransit.js.map +1 -0
- package/dist/src/detect/detectors/bankcodes/inIfsc.d.ts +13 -0
- package/dist/src/detect/detectors/bankcodes/inIfsc.d.ts.map +1 -0
- package/dist/src/detect/detectors/bankcodes/inIfsc.js +37 -0
- package/dist/src/detect/detectors/bankcodes/inIfsc.js.map +1 -0
- package/dist/src/detect/detectors/bankcodes/index.d.ts +10 -0
- package/dist/src/detect/detectors/bankcodes/index.d.ts.map +1 -0
- package/dist/src/detect/detectors/bankcodes/index.js +10 -0
- package/dist/src/detect/detectors/bankcodes/index.js.map +1 -0
- package/dist/src/detect/detectors/bankcodes/ukSortCode.d.ts +13 -0
- package/dist/src/detect/detectors/bankcodes/ukSortCode.d.ts.map +1 -0
- package/dist/src/detect/detectors/bankcodes/ukSortCode.js +36 -0
- package/dist/src/detect/detectors/bankcodes/ukSortCode.js.map +1 -0
- package/dist/src/detect/detectors/bankcodes/usRouting.d.ts +12 -0
- package/dist/src/detect/detectors/bankcodes/usRouting.d.ts.map +1 -0
- package/dist/src/detect/detectors/bankcodes/usRouting.js +45 -0
- package/dist/src/detect/detectors/bankcodes/usRouting.js.map +1 -0
- package/dist/src/detect/detectors/contact/email.d.ts +16 -0
- package/dist/src/detect/detectors/contact/email.d.ts.map +1 -0
- package/dist/src/detect/detectors/contact/email.js +111 -0
- package/dist/src/detect/detectors/contact/email.js.map +1 -0
- package/dist/src/detect/detectors/contact/index.d.ts +11 -0
- package/dist/src/detect/detectors/contact/index.d.ts.map +1 -0
- package/dist/src/detect/detectors/contact/index.js +11 -0
- package/dist/src/detect/detectors/contact/index.js.map +1 -0
- package/dist/src/detect/detectors/contact/ipv4.d.ts +12 -0
- package/dist/src/detect/detectors/contact/ipv4.d.ts.map +1 -0
- package/dist/src/detect/detectors/contact/ipv4.js +109 -0
- package/dist/src/detect/detectors/contact/ipv4.js.map +1 -0
- package/dist/src/detect/detectors/contact/ipv6.d.ts +16 -0
- package/dist/src/detect/detectors/contact/ipv6.d.ts.map +1 -0
- package/dist/src/detect/detectors/contact/ipv6.js +187 -0
- package/dist/src/detect/detectors/contact/ipv6.js.map +1 -0
- package/dist/src/detect/detectors/contact/mac.d.ts +14 -0
- package/dist/src/detect/detectors/contact/mac.d.ts.map +1 -0
- package/dist/src/detect/detectors/contact/mac.js +64 -0
- package/dist/src/detect/detectors/contact/mac.js.map +1 -0
- package/dist/src/detect/detectors/contact/phone.d.ts +21 -0
- package/dist/src/detect/detectors/contact/phone.d.ts.map +1 -0
- package/dist/src/detect/detectors/contact/phone.js +76 -0
- package/dist/src/detect/detectors/contact/phone.js.map +1 -0
- package/dist/src/detect/detectors/contact/urlCredentials.d.ts +23 -0
- package/dist/src/detect/detectors/contact/urlCredentials.d.ts.map +1 -0
- package/dist/src/detect/detectors/contact/urlCredentials.js +123 -0
- package/dist/src/detect/detectors/contact/urlCredentials.js.map +1 -0
- package/dist/src/detect/detectors/crypto/ada.d.ts +13 -0
- package/dist/src/detect/detectors/crypto/ada.d.ts.map +1 -0
- package/dist/src/detect/detectors/crypto/ada.js +51 -0
- package/dist/src/detect/detectors/crypto/ada.js.map +1 -0
- package/dist/src/detect/detectors/crypto/btc.d.ts +15 -0
- package/dist/src/detect/detectors/crypto/btc.d.ts.map +1 -0
- package/dist/src/detect/detectors/crypto/btc.js +78 -0
- package/dist/src/detect/detectors/crypto/btc.js.map +1 -0
- package/dist/src/detect/detectors/crypto/dot.d.ts +13 -0
- package/dist/src/detect/detectors/crypto/dot.d.ts.map +1 -0
- package/dist/src/detect/detectors/crypto/dot.js +41 -0
- package/dist/src/detect/detectors/crypto/dot.js.map +1 -0
- package/dist/src/detect/detectors/crypto/eth.d.ts +15 -0
- package/dist/src/detect/detectors/crypto/eth.d.ts.map +1 -0
- package/dist/src/detect/detectors/crypto/eth.js +63 -0
- package/dist/src/detect/detectors/crypto/eth.js.map +1 -0
- package/dist/src/detect/detectors/crypto/index.d.ts +12 -0
- package/dist/src/detect/detectors/crypto/index.d.ts.map +1 -0
- package/dist/src/detect/detectors/crypto/index.js +12 -0
- package/dist/src/detect/detectors/crypto/index.js.map +1 -0
- package/dist/src/detect/detectors/crypto/ltc.d.ts +12 -0
- package/dist/src/detect/detectors/crypto/ltc.d.ts.map +1 -0
- package/dist/src/detect/detectors/crypto/ltc.js +71 -0
- package/dist/src/detect/detectors/crypto/ltc.js.map +1 -0
- package/dist/src/detect/detectors/crypto/sol.d.ts +13 -0
- package/dist/src/detect/detectors/crypto/sol.d.ts.map +1 -0
- package/dist/src/detect/detectors/crypto/sol.js +39 -0
- package/dist/src/detect/detectors/crypto/sol.js.map +1 -0
- package/dist/src/detect/detectors/crypto/trx.d.ts +8 -0
- package/dist/src/detect/detectors/crypto/trx.d.ts.map +1 -0
- package/dist/src/detect/detectors/crypto/trx.js +34 -0
- package/dist/src/detect/detectors/crypto/trx.js.map +1 -0
- package/dist/src/detect/detectors/crypto/xmr.d.ts +10 -0
- package/dist/src/detect/detectors/crypto/xmr.d.ts.map +1 -0
- package/dist/src/detect/detectors/crypto/xmr.js +51 -0
- package/dist/src/detect/detectors/crypto/xmr.js.map +1 -0
- package/dist/src/detect/detectors/documents/driversLicense.d.ts +24 -0
- package/dist/src/detect/detectors/documents/driversLicense.d.ts.map +1 -0
- package/dist/src/detect/detectors/documents/driversLicense.js +79 -0
- package/dist/src/detect/detectors/documents/driversLicense.js.map +1 -0
- package/dist/src/detect/detectors/documents/healthData.d.ts +23 -0
- package/dist/src/detect/detectors/documents/healthData.d.ts.map +1 -0
- package/dist/src/detect/detectors/documents/healthData.js +78 -0
- package/dist/src/detect/detectors/documents/healthData.js.map +1 -0
- package/dist/src/detect/detectors/documents/index.d.ts +9 -0
- package/dist/src/detect/detectors/documents/index.d.ts.map +1 -0
- package/dist/src/detect/detectors/documents/index.js +9 -0
- package/dist/src/detect/detectors/documents/index.js.map +1 -0
- package/dist/src/detect/detectors/documents/passportMrz.d.ts +20 -0
- package/dist/src/detect/detectors/documents/passportMrz.d.ts.map +1 -0
- package/dist/src/detect/detectors/documents/passportMrz.js +194 -0
- package/dist/src/detect/detectors/documents/passportMrz.js.map +1 -0
- package/dist/src/detect/detectors/documents/usNpi.d.ts +16 -0
- package/dist/src/detect/detectors/documents/usNpi.d.ts.map +1 -0
- package/dist/src/detect/detectors/documents/usNpi.js +48 -0
- package/dist/src/detect/detectors/documents/usNpi.js.map +1 -0
- package/dist/src/detect/detectors/documents/vin.d.ts +15 -0
- package/dist/src/detect/detectors/documents/vin.d.ts.map +1 -0
- package/dist/src/detect/detectors/documents/vin.js +64 -0
- package/dist/src/detect/detectors/documents/vin.js.map +1 -0
- package/dist/src/detect/detectors/financial/creditCard.d.ts +23 -0
- package/dist/src/detect/detectors/financial/creditCard.d.ts.map +1 -0
- package/dist/src/detect/detectors/financial/creditCard.js +157 -0
- package/dist/src/detect/detectors/financial/creditCard.js.map +1 -0
- package/dist/src/detect/detectors/financial/iban.d.ts +18 -0
- package/dist/src/detect/detectors/financial/iban.d.ts.map +1 -0
- package/dist/src/detect/detectors/financial/iban.js +80 -0
- package/dist/src/detect/detectors/financial/iban.js.map +1 -0
- package/dist/src/detect/detectors/financial/ibanRegistry.d.ts +35 -0
- package/dist/src/detect/detectors/financial/ibanRegistry.d.ts.map +1 -0
- package/dist/src/detect/detectors/financial/ibanRegistry.js +92 -0
- package/dist/src/detect/detectors/financial/ibanRegistry.js.map +1 -0
- package/dist/src/detect/detectors/financial/index.d.ts +7 -0
- package/dist/src/detect/detectors/financial/index.d.ts.map +1 -0
- package/dist/src/detect/detectors/financial/index.js +7 -0
- package/dist/src/detect/detectors/financial/index.js.map +1 -0
- package/dist/src/detect/detectors/financial/swiftBic.d.ts +17 -0
- package/dist/src/detect/detectors/financial/swiftBic.d.ts.map +1 -0
- package/dist/src/detect/detectors/financial/swiftBic.js +55 -0
- package/dist/src/detect/detectors/financial/swiftBic.js.map +1 -0
- package/dist/src/detect/detectors/index.d.ts +15 -0
- package/dist/src/detect/detectors/index.d.ts.map +1 -0
- package/dist/src/detect/detectors/index.js +15 -0
- package/dist/src/detect/detectors/index.js.map +1 -0
- package/dist/src/detect/detectors/location/coordinates.d.ts +14 -0
- package/dist/src/detect/detectors/location/coordinates.d.ts.map +1 -0
- package/dist/src/detect/detectors/location/coordinates.js +79 -0
- package/dist/src/detect/detectors/location/coordinates.js.map +1 -0
- package/dist/src/detect/detectors/location/index.d.ts +7 -0
- package/dist/src/detect/detectors/location/index.d.ts.map +1 -0
- package/dist/src/detect/detectors/location/index.js +7 -0
- package/dist/src/detect/detectors/location/index.js.map +1 -0
- package/dist/src/detect/detectors/location/postalCode.d.ts +13 -0
- package/dist/src/detect/detectors/location/postalCode.d.ts.map +1 -0
- package/dist/src/detect/detectors/location/postalCode.js +53 -0
- package/dist/src/detect/detectors/location/postalCode.js.map +1 -0
- package/dist/src/detect/detectors/location/postalRegistry.d.ts +19 -0
- package/dist/src/detect/detectors/location/postalRegistry.d.ts.map +1 -0
- package/dist/src/detect/detectors/location/postalRegistry.js +73 -0
- package/dist/src/detect/detectors/location/postalRegistry.js.map +1 -0
- package/dist/src/detect/detectors/location/streetAddress.d.ts +21 -0
- package/dist/src/detect/detectors/location/streetAddress.d.ts.map +1 -0
- package/dist/src/detect/detectors/location/streetAddress.js +70 -0
- package/dist/src/detect/detectors/location/streetAddress.js.map +1 -0
- package/dist/src/detect/detectors/natid/africa.d.ts +17 -0
- package/dist/src/detect/detectors/natid/africa.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/africa.js +106 -0
- package/dist/src/detect/detectors/natid/africa.js.map +1 -0
- package/dist/src/detect/detectors/natid/ar.d.ts +14 -0
- package/dist/src/detect/detectors/natid/ar.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/ar.js +62 -0
- package/dist/src/detect/detectors/natid/ar.js.map +1 -0
- package/dist/src/detect/detectors/natid/au.d.ts +13 -0
- package/dist/src/detect/detectors/natid/au.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/au.js +100 -0
- package/dist/src/detect/detectors/natid/au.js.map +1 -0
- package/dist/src/detect/detectors/natid/be.d.ts +8 -0
- package/dist/src/detect/detectors/natid/be.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/be.js +44 -0
- package/dist/src/detect/detectors/natid/be.js.map +1 -0
- package/dist/src/detect/detectors/natid/bg.d.ts +7 -0
- package/dist/src/detect/detectors/natid/bg.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/bg.js +44 -0
- package/dist/src/detect/detectors/natid/bg.js.map +1 -0
- package/dist/src/detect/detectors/natid/br.d.ts +8 -0
- package/dist/src/detect/detectors/natid/br.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/br.js +85 -0
- package/dist/src/detect/detectors/natid/br.js.map +1 -0
- package/dist/src/detect/detectors/natid/ca.d.ts +8 -0
- package/dist/src/detect/detectors/natid/ca.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/ca.js +41 -0
- package/dist/src/detect/detectors/natid/ca.js.map +1 -0
- package/dist/src/detect/detectors/natid/cl.d.ts +9 -0
- package/dist/src/detect/detectors/natid/cl.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/cl.js +47 -0
- package/dist/src/detect/detectors/natid/cl.js.map +1 -0
- package/dist/src/detect/detectors/natid/cn.d.ts +9 -0
- package/dist/src/detect/detectors/natid/cn.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/cn.js +49 -0
- package/dist/src/detect/detectors/natid/cn.js.map +1 -0
- package/dist/src/detect/detectors/natid/co.d.ts +10 -0
- package/dist/src/detect/detectors/natid/co.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/co.js +43 -0
- package/dist/src/detect/detectors/natid/co.js.map +1 -0
- package/dist/src/detect/detectors/natid/cz.d.ts +11 -0
- package/dist/src/detect/detectors/natid/cz.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/cz.js +44 -0
- package/dist/src/detect/detectors/natid/cz.js.map +1 -0
- package/dist/src/detect/detectors/natid/de.d.ts +16 -0
- package/dist/src/detect/detectors/natid/de.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/de.js +77 -0
- package/dist/src/detect/detectors/natid/de.js.map +1 -0
- package/dist/src/detect/detectors/natid/dk.d.ts +9 -0
- package/dist/src/detect/detectors/natid/dk.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/dk.js +31 -0
- package/dist/src/detect/detectors/natid/dk.js.map +1 -0
- package/dist/src/detect/detectors/natid/es.d.ts +12 -0
- package/dist/src/detect/detectors/natid/es.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/es.js +96 -0
- package/dist/src/detect/detectors/natid/es.js.map +1 -0
- package/dist/src/detect/detectors/natid/fi.d.ts +10 -0
- package/dist/src/detect/detectors/natid/fi.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/fi.js +40 -0
- package/dist/src/detect/detectors/natid/fi.js.map +1 -0
- package/dist/src/detect/detectors/natid/fr.d.ts +12 -0
- package/dist/src/detect/detectors/natid/fr.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/fr.js +61 -0
- package/dist/src/detect/detectors/natid/fr.js.map +1 -0
- package/dist/src/detect/detectors/natid/gb.d.ts +10 -0
- package/dist/src/detect/detectors/natid/gb.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/gb.js +72 -0
- package/dist/src/detect/detectors/natid/gb.js.map +1 -0
- package/dist/src/detect/detectors/natid/gr.d.ts +7 -0
- package/dist/src/detect/detectors/natid/gr.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/gr.js +36 -0
- package/dist/src/detect/detectors/natid/gr.js.map +1 -0
- package/dist/src/detect/detectors/natid/gulf.d.ts +16 -0
- package/dist/src/detect/detectors/natid/gulf.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/gulf.js +121 -0
- package/dist/src/detect/detectors/natid/gulf.js.map +1 -0
- package/dist/src/detect/detectors/natid/hk.d.ts +9 -0
- package/dist/src/detect/detectors/natid/hk.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/hk.js +41 -0
- package/dist/src/detect/detectors/natid/hk.js.map +1 -0
- package/dist/src/detect/detectors/natid/hr.d.ts +6 -0
- package/dist/src/detect/detectors/natid/hr.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/hr.js +32 -0
- package/dist/src/detect/detectors/natid/hr.js.map +1 -0
- package/dist/src/detect/detectors/natid/hu.d.ts +7 -0
- package/dist/src/detect/detectors/natid/hu.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/hu.js +37 -0
- package/dist/src/detect/detectors/natid/hu.js.map +1 -0
- package/dist/src/detect/detectors/natid/ie.d.ts +9 -0
- package/dist/src/detect/detectors/natid/ie.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/ie.js +36 -0
- package/dist/src/detect/detectors/natid/ie.js.map +1 -0
- package/dist/src/detect/detectors/natid/il.d.ts +10 -0
- package/dist/src/detect/detectors/natid/il.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/il.js +38 -0
- package/dist/src/detect/detectors/natid/il.js.map +1 -0
- package/dist/src/detect/detectors/natid/in.d.ts +17 -0
- package/dist/src/detect/detectors/natid/in.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/in.js +67 -0
- package/dist/src/detect/detectors/natid/in.js.map +1 -0
- package/dist/src/detect/detectors/natid/index.d.ts +55 -0
- package/dist/src/detect/detectors/natid/index.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/index.js +55 -0
- package/dist/src/detect/detectors/natid/index.js.map +1 -0
- package/dist/src/detect/detectors/natid/is.d.ts +8 -0
- package/dist/src/detect/detectors/natid/is.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/is.js +42 -0
- package/dist/src/detect/detectors/natid/is.js.map +1 -0
- package/dist/src/detect/detectors/natid/it.d.ts +12 -0
- package/dist/src/detect/detectors/natid/it.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/it.js +62 -0
- package/dist/src/detect/detectors/natid/it.js.map +1 -0
- package/dist/src/detect/detectors/natid/jp.d.ts +9 -0
- package/dist/src/detect/detectors/natid/jp.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/jp.js +46 -0
- package/dist/src/detect/detectors/natid/jp.js.map +1 -0
- package/dist/src/detect/detectors/natid/kr.d.ts +11 -0
- package/dist/src/detect/detectors/natid/kr.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/kr.js +40 -0
- package/dist/src/detect/detectors/natid/kr.js.map +1 -0
- package/dist/src/detect/detectors/natid/kz.d.ts +8 -0
- package/dist/src/detect/detectors/natid/kz.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/kz.js +46 -0
- package/dist/src/detect/detectors/natid/kz.js.map +1 -0
- package/dist/src/detect/detectors/natid/mx.d.ts +16 -0
- package/dist/src/detect/detectors/natid/mx.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/mx.js +82 -0
- package/dist/src/detect/detectors/natid/mx.js.map +1 -0
- package/dist/src/detect/detectors/natid/nl.d.ts +8 -0
- package/dist/src/detect/detectors/natid/nl.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/nl.js +40 -0
- package/dist/src/detect/detectors/natid/nl.js.map +1 -0
- package/dist/src/detect/detectors/natid/no.d.ts +9 -0
- package/dist/src/detect/detectors/natid/no.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/no.js +52 -0
- package/dist/src/detect/detectors/natid/no.js.map +1 -0
- package/dist/src/detect/detectors/natid/nz.d.ts +9 -0
- package/dist/src/detect/detectors/natid/nz.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/nz.js +52 -0
- package/dist/src/detect/detectors/natid/nz.js.map +1 -0
- package/dist/src/detect/detectors/natid/pe.d.ts +7 -0
- package/dist/src/detect/detectors/natid/pe.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/pe.js +26 -0
- package/dist/src/detect/detectors/natid/pe.js.map +1 -0
- package/dist/src/detect/detectors/natid/pl.d.ts +11 -0
- package/dist/src/detect/detectors/natid/pl.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/pl.js +105 -0
- package/dist/src/detect/detectors/natid/pl.js.map +1 -0
- package/dist/src/detect/detectors/natid/pt.d.ts +6 -0
- package/dist/src/detect/detectors/natid/pt.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/pt.js +35 -0
- package/dist/src/detect/detectors/natid/pt.js.map +1 -0
- package/dist/src/detect/detectors/natid/ro.d.ts +8 -0
- package/dist/src/detect/detectors/natid/ro.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/ro.js +48 -0
- package/dist/src/detect/detectors/natid/ro.js.map +1 -0
- package/dist/src/detect/detectors/natid/ru.d.ts +11 -0
- package/dist/src/detect/detectors/natid/ru.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/ru.js +86 -0
- package/dist/src/detect/detectors/natid/ru.js.map +1 -0
- package/dist/src/detect/detectors/natid/se.d.ts +9 -0
- package/dist/src/detect/detectors/natid/se.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/se.js +43 -0
- package/dist/src/detect/detectors/natid/se.js.map +1 -0
- package/dist/src/detect/detectors/natid/seasia.d.ts +19 -0
- package/dist/src/detect/detectors/natid/seasia.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/seasia.js +182 -0
- package/dist/src/detect/detectors/natid/seasia.js.map +1 -0
- package/dist/src/detect/detectors/natid/sg.d.ts +8 -0
- package/dist/src/detect/detectors/natid/sg.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/sg.js +39 -0
- package/dist/src/detect/detectors/natid/sg.js.map +1 -0
- package/dist/src/detect/detectors/natid/si.d.ts +8 -0
- package/dist/src/detect/detectors/natid/si.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/si.js +44 -0
- package/dist/src/detect/detectors/natid/si.js.map +1 -0
- package/dist/src/detect/detectors/natid/tr.d.ts +14 -0
- package/dist/src/detect/detectors/natid/tr.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/tr.js +79 -0
- package/dist/src/detect/detectors/natid/tr.js.map +1 -0
- package/dist/src/detect/detectors/natid/tw.d.ts +9 -0
- package/dist/src/detect/detectors/natid/tw.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/tw.js +40 -0
- package/dist/src/detect/detectors/natid/tw.js.map +1 -0
- package/dist/src/detect/detectors/natid/ua.d.ts +7 -0
- package/dist/src/detect/detectors/natid/ua.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/ua.js +38 -0
- package/dist/src/detect/detectors/natid/ua.js.map +1 -0
- package/dist/src/detect/detectors/natid/us.d.ts +15 -0
- package/dist/src/detect/detectors/natid/us.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/us.js +119 -0
- package/dist/src/detect/detectors/natid/us.js.map +1 -0
- package/dist/src/detect/detectors/natid/za.d.ts +9 -0
- package/dist/src/detect/detectors/natid/za.d.ts.map +1 -0
- package/dist/src/detect/detectors/natid/za.js +44 -0
- package/dist/src/detect/detectors/natid/za.js.map +1 -0
- package/dist/src/detect/detectors/secrets/apiKey.d.ts +14 -0
- package/dist/src/detect/detectors/secrets/apiKey.d.ts.map +1 -0
- package/dist/src/detect/detectors/secrets/apiKey.js +103 -0
- package/dist/src/detect/detectors/secrets/apiKey.js.map +1 -0
- package/dist/src/detect/detectors/secrets/connectionString.d.ts +12 -0
- package/dist/src/detect/detectors/secrets/connectionString.d.ts.map +1 -0
- package/dist/src/detect/detectors/secrets/connectionString.js +70 -0
- package/dist/src/detect/detectors/secrets/connectionString.js.map +1 -0
- package/dist/src/detect/detectors/secrets/genericSecret.d.ts +22 -0
- package/dist/src/detect/detectors/secrets/genericSecret.d.ts.map +1 -0
- package/dist/src/detect/detectors/secrets/genericSecret.js +77 -0
- package/dist/src/detect/detectors/secrets/genericSecret.js.map +1 -0
- package/dist/src/detect/detectors/secrets/index.d.ts +9 -0
- package/dist/src/detect/detectors/secrets/index.d.ts.map +1 -0
- package/dist/src/detect/detectors/secrets/index.js +9 -0
- package/dist/src/detect/detectors/secrets/index.js.map +1 -0
- package/dist/src/detect/detectors/secrets/jwt.d.ts +11 -0
- package/dist/src/detect/detectors/secrets/jwt.d.ts.map +1 -0
- package/dist/src/detect/detectors/secrets/jwt.js +111 -0
- package/dist/src/detect/detectors/secrets/jwt.js.map +1 -0
- package/dist/src/detect/detectors/secrets/pemPrivateKey.d.ts +16 -0
- package/dist/src/detect/detectors/secrets/pemPrivateKey.d.ts.map +1 -0
- package/dist/src/detect/detectors/secrets/pemPrivateKey.js +56 -0
- package/dist/src/detect/detectors/secrets/pemPrivateKey.js.map +1 -0
- package/dist/src/detect/detectors/vat/euVat.d.ts +17 -0
- package/dist/src/detect/detectors/vat/euVat.d.ts.map +1 -0
- package/dist/src/detect/detectors/vat/euVat.js +293 -0
- package/dist/src/detect/detectors/vat/euVat.js.map +1 -0
- package/dist/src/detect/detectors/vat/index.d.ts +5 -0
- package/dist/src/detect/detectors/vat/index.d.ts.map +1 -0
- package/dist/src/detect/detectors/vat/index.js +5 -0
- package/dist/src/detect/detectors/vat/index.js.map +1 -0
- package/dist/src/detect/entropy.d.ts +28 -0
- package/dist/src/detect/entropy.d.ts.map +1 -0
- package/dist/src/detect/entropy.js +64 -0
- package/dist/src/detect/entropy.js.map +1 -0
- package/dist/src/detect/isoCountries.d.ts +10 -0
- package/dist/src/detect/isoCountries.d.ts.map +1 -0
- package/dist/src/detect/isoCountries.js +25 -0
- package/dist/src/detect/isoCountries.js.map +1 -0
- package/dist/src/detect/registry.d.ts +50 -0
- package/dist/src/detect/registry.d.ts.map +1 -0
- package/dist/src/detect/registry.js +110 -0
- package/dist/src/detect/registry.js.map +1 -0
- package/dist/src/detect/runner.d.ts +64 -0
- package/dist/src/detect/runner.d.ts.map +1 -0
- package/dist/src/detect/runner.js +142 -0
- package/dist/src/detect/runner.js.map +1 -0
- package/dist/src/detect/types.d.ts +251 -0
- package/dist/src/detect/types.d.ts.map +1 -0
- package/dist/src/detect/types.js +59 -0
- package/dist/src/detect/types.js.map +1 -0
- package/dist/src/encoding/base58.d.ts +26 -0
- package/dist/src/encoding/base58.d.ts.map +1 -0
- package/dist/src/encoding/base58.js +77 -0
- package/dist/src/encoding/base58.js.map +1 -0
- package/dist/src/encoding/base58monero.d.ts +15 -0
- package/dist/src/encoding/base58monero.d.ts.map +1 -0
- package/dist/src/encoding/base58monero.js +87 -0
- package/dist/src/encoding/base58monero.js.map +1 -0
- package/dist/src/encoding/bech32.d.ts +28 -0
- package/dist/src/encoding/bech32.d.ts.map +1 -0
- package/dist/src/encoding/bech32.js +108 -0
- package/dist/src/encoding/bech32.js.map +1 -0
- package/dist/src/encoding/bytes.d.ts +15 -0
- package/dist/src/encoding/bytes.d.ts.map +1 -0
- package/dist/src/encoding/bytes.js +46 -0
- package/dist/src/encoding/bytes.js.map +1 -0
- package/dist/src/entityFamily.d.ts +18 -0
- package/dist/src/entityFamily.d.ts.map +1 -0
- package/dist/src/entityFamily.js +54 -0
- package/dist/src/entityFamily.js.map +1 -0
- package/dist/src/entityLabel.d.ts +18 -0
- package/dist/src/entityLabel.d.ts.map +1 -0
- package/dist/src/entityLabel.js +53 -0
- package/dist/src/entityLabel.js.map +1 -0
- package/dist/src/entityTypes.d.ts +64 -0
- package/dist/src/entityTypes.d.ts.map +1 -0
- package/dist/src/entityTypes.js +94 -0
- package/dist/src/entityTypes.js.map +1 -0
- package/dist/src/exposure/index.d.ts +86 -0
- package/dist/src/exposure/index.d.ts.map +1 -0
- package/dist/src/exposure/index.js +134 -0
- package/dist/src/exposure/index.js.map +1 -0
- package/dist/src/fuse/calibrate.d.ts +95 -0
- package/dist/src/fuse/calibrate.d.ts.map +1 -0
- package/dist/src/fuse/calibrate.js +165 -0
- package/dist/src/fuse/calibrate.js.map +1 -0
- package/dist/src/fuse/defaultCalibration.d.ts +52 -0
- package/dist/src/fuse/defaultCalibration.d.ts.map +1 -0
- package/dist/src/fuse/defaultCalibration.js +41 -0
- package/dist/src/fuse/defaultCalibration.js.map +1 -0
- package/dist/src/fuse/explain.d.ts +55 -0
- package/dist/src/fuse/explain.d.ts.map +1 -0
- package/dist/src/fuse/explain.js +91 -0
- package/dist/src/fuse/explain.js.map +1 -0
- package/dist/src/fuse/profiles.d.ts +80 -0
- package/dist/src/fuse/profiles.d.ts.map +1 -0
- package/dist/src/fuse/profiles.js +126 -0
- package/dist/src/fuse/profiles.js.map +1 -0
- package/dist/src/fuse/resolve.d.ts +73 -0
- package/dist/src/fuse/resolve.d.ts.map +1 -0
- package/dist/src/fuse/resolve.js +206 -0
- package/dist/src/fuse/resolve.js.map +1 -0
- package/dist/src/gazetteer/index.d.ts +41 -0
- package/dist/src/gazetteer/index.d.ts.map +1 -0
- package/dist/src/gazetteer/index.js +117 -0
- package/dist/src/gazetteer/index.js.map +1 -0
- package/dist/src/generate/bankcodes.d.ts +20 -0
- package/dist/src/generate/bankcodes.d.ts.map +1 -0
- package/dist/src/generate/bankcodes.js +71 -0
- package/dist/src/generate/bankcodes.js.map +1 -0
- package/dist/src/generate/contact.d.ts +31 -0
- package/dist/src/generate/contact.d.ts.map +1 -0
- package/dist/src/generate/contact.js +139 -0
- package/dist/src/generate/contact.js.map +1 -0
- package/dist/src/generate/crypto.d.ts +27 -0
- package/dist/src/generate/crypto.d.ts.map +1 -0
- package/dist/src/generate/crypto.js +88 -0
- package/dist/src/generate/crypto.js.map +1 -0
- package/dist/src/generate/documents.d.ts +24 -0
- package/dist/src/generate/documents.d.ts.map +1 -0
- package/dist/src/generate/documents.js +124 -0
- package/dist/src/generate/documents.js.map +1 -0
- package/dist/src/generate/financial.d.ts +26 -0
- package/dist/src/generate/financial.d.ts.map +1 -0
- package/dist/src/generate/financial.js +136 -0
- package/dist/src/generate/financial.js.map +1 -0
- package/dist/src/generate/index.d.ts +23 -0
- package/dist/src/generate/index.d.ts.map +1 -0
- package/dist/src/generate/index.js +23 -0
- package/dist/src/generate/index.js.map +1 -0
- package/dist/src/generate/location.d.ts +12 -0
- package/dist/src/generate/location.d.ts.map +1 -0
- package/dist/src/generate/location.js +75 -0
- package/dist/src/generate/location.js.map +1 -0
- package/dist/src/generate/natidAmOc.d.ts +22 -0
- package/dist/src/generate/natidAmOc.d.ts.map +1 -0
- package/dist/src/generate/natidAmOc.js +181 -0
- package/dist/src/generate/natidAmOc.js.map +1 -0
- package/dist/src/generate/natidAsia.d.ts +20 -0
- package/dist/src/generate/natidAsia.d.ts.map +1 -0
- package/dist/src/generate/natidAsia.js +147 -0
- package/dist/src/generate/natidAsia.js.map +1 -0
- package/dist/src/generate/natidCee.d.ts +21 -0
- package/dist/src/generate/natidCee.d.ts.map +1 -0
- package/dist/src/generate/natidCee.js +181 -0
- package/dist/src/generate/natidCee.js.map +1 -0
- package/dist/src/generate/natidMeCis.d.ts +17 -0
- package/dist/src/generate/natidMeCis.d.ts.map +1 -0
- package/dist/src/generate/natidMeCis.js +121 -0
- package/dist/src/generate/natidMeCis.js.map +1 -0
- package/dist/src/generate/natidWest.d.ts +32 -0
- package/dist/src/generate/natidWest.d.ts.map +1 -0
- package/dist/src/generate/natidWest.js +187 -0
- package/dist/src/generate/natidWest.js.map +1 -0
- package/dist/src/generate/prng.d.ts +10 -0
- package/dist/src/generate/prng.d.ts.map +1 -0
- package/dist/src/generate/prng.js +18 -0
- package/dist/src/generate/prng.js.map +1 -0
- package/dist/src/generate/secrets.d.ts +23 -0
- package/dist/src/generate/secrets.d.ts.map +1 -0
- package/dist/src/generate/secrets.js +126 -0
- package/dist/src/generate/secrets.js.map +1 -0
- package/dist/src/generate/vat.d.ts +11 -0
- package/dist/src/generate/vat.d.ts.map +1 -0
- package/dist/src/generate/vat.js +233 -0
- package/dist/src/generate/vat.js.map +1 -0
- package/dist/src/index.d.ts +81 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +76 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/mask/egressGuard.d.ts +54 -0
- package/dist/src/mask/egressGuard.d.ts.map +1 -0
- package/dist/src/mask/egressGuard.js +67 -0
- package/dist/src/mask/egressGuard.js.map +1 -0
- package/dist/src/mask/masker.d.ts +76 -0
- package/dist/src/mask/masker.d.ts.map +1 -0
- package/dist/src/mask/masker.js +201 -0
- package/dist/src/mask/masker.js.map +1 -0
- package/dist/src/mask/restorer.d.ts +96 -0
- package/dist/src/mask/restorer.d.ts.map +1 -0
- package/dist/src/mask/restorer.js +263 -0
- package/dist/src/mask/restorer.js.map +1 -0
- package/dist/src/mask/surrogatePools.d.ts +33 -0
- package/dist/src/mask/surrogatePools.d.ts.map +1 -0
- package/dist/src/mask/surrogatePools.js +81 -0
- package/dist/src/mask/surrogatePools.js.map +1 -0
- package/dist/src/mask/surrogates.d.ts +45 -0
- package/dist/src/mask/surrogates.d.ts.map +1 -0
- package/dist/src/mask/surrogates.js +241 -0
- package/dist/src/mask/surrogates.js.map +1 -0
- package/dist/src/mask/vault.d.ts +76 -0
- package/dist/src/mask/vault.d.ts.map +1 -0
- package/dist/src/mask/vault.js +141 -0
- package/dist/src/mask/vault.js.map +1 -0
- package/dist/src/ner/align.d.ts +36 -0
- package/dist/src/ner/align.d.ts.map +1 -0
- package/dist/src/ner/align.js +73 -0
- package/dist/src/ner/align.js.map +1 -0
- package/dist/src/ner/chunk.d.ts +27 -0
- package/dist/src/ner/chunk.d.ts.map +1 -0
- package/dist/src/ner/chunk.js +55 -0
- package/dist/src/ner/chunk.js.map +1 -0
- package/dist/src/ner/chunkCache.d.ts +63 -0
- package/dist/src/ner/chunkCache.d.ts.map +1 -0
- package/dist/src/ner/chunkCache.js +99 -0
- package/dist/src/ner/chunkCache.js.map +1 -0
- package/dist/src/ner/engine.d.ts +53 -0
- package/dist/src/ner/engine.d.ts.map +1 -0
- package/dist/src/ner/engine.js +113 -0
- package/dist/src/ner/engine.js.map +1 -0
- package/dist/src/ner/merge.d.ts +26 -0
- package/dist/src/ner/merge.d.ts.map +1 -0
- package/dist/src/ner/merge.js +108 -0
- package/dist/src/ner/merge.js.map +1 -0
- package/dist/src/ner/runStage2.d.ts +17 -0
- package/dist/src/ner/runStage2.d.ts.map +1 -0
- package/dist/src/ner/runStage2.js +43 -0
- package/dist/src/ner/runStage2.js.map +1 -0
- package/dist/src/ner/stage2b.d.ts +59 -0
- package/dist/src/ner/stage2b.d.ts.map +1 -0
- package/dist/src/ner/stage2b.js +51 -0
- package/dist/src/ner/stage2b.js.map +1 -0
- package/dist/src/ner/transformersClassifier.d.ts +45 -0
- package/dist/src/ner/transformersClassifier.d.ts.map +1 -0
- package/dist/src/ner/transformersClassifier.js +40 -0
- package/dist/src/ner/transformersClassifier.js.map +1 -0
- package/dist/src/ner/types.d.ts +93 -0
- package/dist/src/ner/types.d.ts.map +1 -0
- package/dist/src/ner/types.js +12 -0
- package/dist/src/ner/types.js.map +1 -0
- package/dist/src/normalization.d.ts +24 -0
- package/dist/src/normalization.d.ts.map +1 -0
- package/dist/src/normalization.js +92 -0
- package/dist/src/normalization.js.map +1 -0
- package/dist/src/offsetMap.d.ts +165 -0
- package/dist/src/offsetMap.d.ts.map +1 -0
- package/dist/src/offsetMap.js +225 -0
- package/dist/src/offsetMap.js.map +1 -0
- package/dist/src/pipeline.d.ts +58 -0
- package/dist/src/pipeline.d.ts.map +1 -0
- package/dist/src/pipeline.js +57 -0
- package/dist/src/pipeline.js.map +1 -0
- package/dist/src/protect.d.ts +146 -0
- package/dist/src/protect.d.ts.map +1 -0
- package/dist/src/protect.js +161 -0
- package/dist/src/protect.js.map +1 -0
- package/dist/src/scripts.d.ts +37 -0
- package/dist/src/scripts.d.ts.map +1 -0
- package/dist/src/scripts.js +145 -0
- package/dist/src/scripts.js.map +1 -0
- package/dist/src/transforms/foldDigits.d.ts +49 -0
- package/dist/src/transforms/foldDigits.d.ts.map +1 -0
- package/dist/src/transforms/foldDigits.js +135 -0
- package/dist/src/transforms/foldDigits.js.map +1 -0
- package/dist/src/transforms/graphemes.d.ts +6 -0
- package/dist/src/transforms/graphemes.d.ts.map +1 -0
- package/dist/src/transforms/graphemes.js +6 -0
- package/dist/src/transforms/graphemes.js.map +1 -0
- package/dist/src/transforms/homoglyphFold.d.ts +5 -0
- package/dist/src/transforms/homoglyphFold.d.ts.map +1 -0
- package/dist/src/transforms/homoglyphFold.js +214 -0
- package/dist/src/transforms/homoglyphFold.js.map +1 -0
- package/dist/src/transforms/nfkc.d.ts +20 -0
- package/dist/src/transforms/nfkc.d.ts.map +1 -0
- package/dist/src/transforms/nfkc.js +48 -0
- package/dist/src/transforms/nfkc.js.map +1 -0
- package/dist/src/transforms/stripInvisibles.d.ts +37 -0
- package/dist/src/transforms/stripInvisibles.d.ts.map +1 -0
- package/dist/src/transforms/stripInvisibles.js +151 -0
- package/dist/src/transforms/stripInvisibles.js.map +1 -0
- package/dist/src/transforms/whitespacePunct.d.ts +21 -0
- package/dist/src/transforms/whitespacePunct.d.ts.map +1 -0
- package/dist/src/transforms/whitespacePunct.js +100 -0
- package/dist/src/transforms/whitespacePunct.js.map +1 -0
- package/dist/src/types.d.ts +212 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +14 -0
- package/dist/src/types.js.map +1 -0
- package/package.json +67 -0
- package/src/checksums/aba.ts +45 -0
- package/src/checksums/digits.ts +108 -0
- package/src/checksums/icao9303.ts +53 -0
- package/src/checksums/index.ts +36 -0
- package/src/checksums/iso7064.ts +168 -0
- package/src/checksums/luhn.ts +66 -0
- package/src/checksums/mod97.ts +91 -0
- package/src/checksums/verhoeff.ts +84 -0
- package/src/checksums/weighted.ts +108 -0
- package/src/context/documentProfile.ts +293 -0
- package/src/context/negativeRules.ts +765 -0
- package/src/context/score.ts +430 -0
- package/src/context/structure.ts +611 -0
- package/src/context/triggers.ts +266 -0
- package/src/context/types.ts +150 -0
- package/src/crypto/keccak256.ts +98 -0
- package/src/crypto/sha256.ts +76 -0
- package/src/detect/AUTHORING.md +50 -0
- package/src/detect/detectors/bankcodes/auBsb.ts +36 -0
- package/src/detect/detectors/bankcodes/brAgencia.ts +46 -0
- package/src/detect/detectors/bankcodes/caTransit.ts +89 -0
- package/src/detect/detectors/bankcodes/inIfsc.ts +40 -0
- package/src/detect/detectors/bankcodes/index.ts +9 -0
- package/src/detect/detectors/bankcodes/ukSortCode.ts +38 -0
- package/src/detect/detectors/bankcodes/usRouting.ts +47 -0
- package/src/detect/detectors/contact/email.ts +113 -0
- package/src/detect/detectors/contact/index.ts +10 -0
- package/src/detect/detectors/contact/ipv4.ts +112 -0
- package/src/detect/detectors/contact/ipv6.ts +188 -0
- package/src/detect/detectors/contact/mac.ts +68 -0
- package/src/detect/detectors/contact/phone.ts +81 -0
- package/src/detect/detectors/contact/urlCredentials.ts +124 -0
- package/src/detect/detectors/crypto/ada.ts +52 -0
- package/src/detect/detectors/crypto/btc.ts +77 -0
- package/src/detect/detectors/crypto/dot.ts +42 -0
- package/src/detect/detectors/crypto/eth.ts +70 -0
- package/src/detect/detectors/crypto/index.ts +11 -0
- package/src/detect/detectors/crypto/ltc.ts +69 -0
- package/src/detect/detectors/crypto/sol.ts +41 -0
- package/src/detect/detectors/crypto/trx.ts +35 -0
- package/src/detect/detectors/crypto/xmr.ts +54 -0
- package/src/detect/detectors/documents/driversLicense.ts +83 -0
- package/src/detect/detectors/documents/healthData.ts +88 -0
- package/src/detect/detectors/documents/index.ts +8 -0
- package/src/detect/detectors/documents/passportMrz.ts +203 -0
- package/src/detect/detectors/documents/usNpi.ts +50 -0
- package/src/detect/detectors/documents/vin.ts +67 -0
- package/src/detect/detectors/financial/creditCard.ts +167 -0
- package/src/detect/detectors/financial/iban.ts +82 -0
- package/src/detect/detectors/financial/ibanRegistry.ts +112 -0
- package/src/detect/detectors/financial/index.ts +6 -0
- package/src/detect/detectors/financial/swiftBic.ts +61 -0
- package/src/detect/detectors/index.ts +14 -0
- package/src/detect/detectors/location/coordinates.ts +84 -0
- package/src/detect/detectors/location/index.ts +6 -0
- package/src/detect/detectors/location/postalCode.ts +56 -0
- package/src/detect/detectors/location/postalRegistry.ts +74 -0
- package/src/detect/detectors/location/streetAddress.ts +84 -0
- package/src/detect/detectors/natid/africa.ts +108 -0
- package/src/detect/detectors/natid/ar.ts +62 -0
- package/src/detect/detectors/natid/au.ts +99 -0
- package/src/detect/detectors/natid/be.ts +45 -0
- package/src/detect/detectors/natid/bg.ts +44 -0
- package/src/detect/detectors/natid/br.ts +81 -0
- package/src/detect/detectors/natid/ca.ts +40 -0
- package/src/detect/detectors/natid/cl.ts +47 -0
- package/src/detect/detectors/natid/cn.ts +48 -0
- package/src/detect/detectors/natid/co.ts +46 -0
- package/src/detect/detectors/natid/cz.ts +44 -0
- package/src/detect/detectors/natid/de.ts +75 -0
- package/src/detect/detectors/natid/dk.ts +31 -0
- package/src/detect/detectors/natid/es.ts +95 -0
- package/src/detect/detectors/natid/fi.ts +41 -0
- package/src/detect/detectors/natid/fr.ts +63 -0
- package/src/detect/detectors/natid/gb.ts +70 -0
- package/src/detect/detectors/natid/gr.ts +35 -0
- package/src/detect/detectors/natid/gulf.ts +116 -0
- package/src/detect/detectors/natid/hk.ts +42 -0
- package/src/detect/detectors/natid/hr.ts +32 -0
- package/src/detect/detectors/natid/hu.ts +36 -0
- package/src/detect/detectors/natid/ie.ts +37 -0
- package/src/detect/detectors/natid/il.ts +37 -0
- package/src/detect/detectors/natid/in.ts +67 -0
- package/src/detect/detectors/natid/index.ts +54 -0
- package/src/detect/detectors/natid/is.ts +42 -0
- package/src/detect/detectors/natid/it.ts +65 -0
- package/src/detect/detectors/natid/jp.ts +48 -0
- package/src/detect/detectors/natid/kr.ts +41 -0
- package/src/detect/detectors/natid/kz.ts +44 -0
- package/src/detect/detectors/natid/mx.ts +83 -0
- package/src/detect/detectors/natid/nl.ts +38 -0
- package/src/detect/detectors/natid/no.ts +50 -0
- package/src/detect/detectors/natid/nz.ts +53 -0
- package/src/detect/detectors/natid/pe.ts +28 -0
- package/src/detect/detectors/natid/pl.ts +100 -0
- package/src/detect/detectors/natid/pt.ts +36 -0
- package/src/detect/detectors/natid/ro.ts +47 -0
- package/src/detect/detectors/natid/ru.ts +82 -0
- package/src/detect/detectors/natid/se.ts +42 -0
- package/src/detect/detectors/natid/seasia.ts +174 -0
- package/src/detect/detectors/natid/sg.ts +39 -0
- package/src/detect/detectors/natid/si.ts +42 -0
- package/src/detect/detectors/natid/tr.ts +76 -0
- package/src/detect/detectors/natid/tw.ts +41 -0
- package/src/detect/detectors/natid/ua.ts +38 -0
- package/src/detect/detectors/natid/us.ts +118 -0
- package/src/detect/detectors/natid/za.ts +42 -0
- package/src/detect/detectors/secrets/apiKey.ts +115 -0
- package/src/detect/detectors/secrets/connectionString.ts +71 -0
- package/src/detect/detectors/secrets/genericSecret.ts +81 -0
- package/src/detect/detectors/secrets/index.ts +8 -0
- package/src/detect/detectors/secrets/jwt.ts +101 -0
- package/src/detect/detectors/secrets/pemPrivateKey.ts +59 -0
- package/src/detect/detectors/vat/euVat.ts +280 -0
- package/src/detect/detectors/vat/index.ts +4 -0
- package/src/detect/entropy.ts +60 -0
- package/src/detect/isoCountries.ts +30 -0
- package/src/detect/registry.ts +134 -0
- package/src/detect/runner.ts +187 -0
- package/src/detect/types.ts +296 -0
- package/src/encoding/base58.ts +85 -0
- package/src/encoding/base58monero.ts +90 -0
- package/src/encoding/bech32.ts +125 -0
- package/src/encoding/bytes.ts +48 -0
- package/src/entityFamily.ts +70 -0
- package/src/entityLabel.ts +56 -0
- package/src/entityTypes.ts +107 -0
- package/src/exposure/index.ts +189 -0
- package/src/fuse/calibrate.ts +224 -0
- package/src/fuse/defaultCalibration.ts +71 -0
- package/src/fuse/explain.ts +114 -0
- package/src/fuse/profiles.ts +187 -0
- package/src/fuse/resolve.ts +237 -0
- package/src/gazetteer/index.ts +139 -0
- package/src/generate/bankcodes.ts +82 -0
- package/src/generate/contact.ts +147 -0
- package/src/generate/crypto.ts +91 -0
- package/src/generate/documents.ts +142 -0
- package/src/generate/financial.ts +149 -0
- package/src/generate/index.ts +22 -0
- package/src/generate/location.ts +80 -0
- package/src/generate/natidAmOc.ts +198 -0
- package/src/generate/natidAsia.ts +162 -0
- package/src/generate/natidCee.ts +196 -0
- package/src/generate/natidMeCis.ts +131 -0
- package/src/generate/natidWest.ts +208 -0
- package/src/generate/prng.ts +17 -0
- package/src/generate/secrets.ts +141 -0
- package/src/generate/vat.ts +239 -0
- package/src/index.ts +186 -0
- package/src/mask/egressGuard.ts +88 -0
- package/src/mask/masker.ts +276 -0
- package/src/mask/restorer.ts +284 -0
- package/src/mask/surrogatePools.ts +96 -0
- package/src/mask/surrogates.ts +248 -0
- package/src/mask/vault.ts +153 -0
- package/src/ner/align.ts +86 -0
- package/src/ner/chunk.ts +65 -0
- package/src/ner/chunkCache.ts +110 -0
- package/src/ner/engine.ts +141 -0
- package/src/ner/merge.ts +123 -0
- package/src/ner/runStage2.ts +51 -0
- package/src/ner/stage2b.ts +73 -0
- package/src/ner/transformersClassifier.ts +79 -0
- package/src/ner/types.ts +99 -0
- package/src/normalization.ts +119 -0
- package/src/offsetMap.ts +271 -0
- package/src/pipeline.ts +96 -0
- package/src/protect.ts +284 -0
- package/src/scripts.ts +164 -0
- package/src/transforms/foldDigits.ts +138 -0
- package/src/transforms/graphemes.ts +5 -0
- package/src/transforms/homoglyphFold.ts +221 -0
- package/src/transforms/nfkc.ts +48 -0
- package/src/transforms/stripInvisibles.ts +158 -0
- package/src/transforms/whitespacePunct.ts +100 -0
- package/src/types.ts +339 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ibanRegistry.js","sourceRoot":"","sources":["../../../../../src/detect/detectors/financial/ibanRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/detect/detectors/financial/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,iBAAiB,CAAC;AACzB,OAAO,WAAW,CAAC;AACnB,OAAO,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/detect/detectors/financial/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,iBAAiB,CAAC;AACzB,OAAO,WAAW,CAAC;AACnB,OAAO,eAAe,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SWIFT_BIC — structural validation against country and location code rules.
|
|
3
|
+
*
|
|
4
|
+
* ISO 9362: 4-letter bank code, 2-letter ISO country code, 2-character
|
|
5
|
+
* location code, optional 3-character branch. Location rules: the first
|
|
6
|
+
* location character must not be '0' or '1'; a location code whose SECOND
|
|
7
|
+
* character is '0' designates a TEST BIC (non-production) — detected but
|
|
8
|
+
* classified non-sensitive, like other known test values.
|
|
9
|
+
*
|
|
10
|
+
* A BIC has no checksum, and an 8-character uppercase English word whose
|
|
11
|
+
* characters happen to parse ("FEEDBACK" → bank FEED, country BA, location
|
|
12
|
+
* CK) is structurally a BIC. Confidence therefore reflects the evidence:
|
|
13
|
+
* MEDIUM for the bare all-letter 8-char form, HIGH when the BIC carries a
|
|
14
|
+
* digit or an explicit branch code, which English words do not.
|
|
15
|
+
*/
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=swiftBic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swiftBic.d.ts","sourceRoot":"","sources":["../../../../../src/detect/detectors/financial/swiftBic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SWIFT_BIC — structural validation against country and location code rules.
|
|
3
|
+
*
|
|
4
|
+
* ISO 9362: 4-letter bank code, 2-letter ISO country code, 2-character
|
|
5
|
+
* location code, optional 3-character branch. Location rules: the first
|
|
6
|
+
* location character must not be '0' or '1'; a location code whose SECOND
|
|
7
|
+
* character is '0' designates a TEST BIC (non-production) — detected but
|
|
8
|
+
* classified non-sensitive, like other known test values.
|
|
9
|
+
*
|
|
10
|
+
* A BIC has no checksum, and an 8-character uppercase English word whose
|
|
11
|
+
* characters happen to parse ("FEEDBACK" → bank FEED, country BA, location
|
|
12
|
+
* CK) is structurally a BIC. Confidence therefore reflects the evidence:
|
|
13
|
+
* MEDIUM for the bare all-letter 8-char form, HIGH when the BIC carries a
|
|
14
|
+
* digit or an explicit branch code, which English words do not.
|
|
15
|
+
*/
|
|
16
|
+
import { registerDetector } from '../../registry.js';
|
|
17
|
+
import { CONFIDENCE, GLOBAL_REGION, invalid, valid } from '../../types.js';
|
|
18
|
+
import { ISO_COUNTRY_CODES } from '../../isoCountries.js';
|
|
19
|
+
function validateBic(ctx) {
|
|
20
|
+
const raw = ctx.match[0];
|
|
21
|
+
const bic = raw.toUpperCase();
|
|
22
|
+
const country = bic.slice(4, 6);
|
|
23
|
+
if (!ISO_COUNTRY_CODES.has(country))
|
|
24
|
+
return invalid('not an ISO country code');
|
|
25
|
+
const location = bic.slice(6, 8);
|
|
26
|
+
if (location[0] === '0' || location[0] === '1') {
|
|
27
|
+
return invalid('location code cannot begin with 0 or 1');
|
|
28
|
+
}
|
|
29
|
+
const branch = bic.length === 11 ? bic.slice(8) : undefined;
|
|
30
|
+
const hasDigit = /\d/.test(bic);
|
|
31
|
+
const isTest = location[1] === '0';
|
|
32
|
+
return valid({
|
|
33
|
+
canonical: bic,
|
|
34
|
+
sensitive: !isTest,
|
|
35
|
+
confidence: hasDigit || branch !== undefined ? CONFIDENCE.HIGH : CONFIDENCE.MEDIUM,
|
|
36
|
+
metadata: {
|
|
37
|
+
country,
|
|
38
|
+
...(branch !== undefined ? { branch } : {}),
|
|
39
|
+
...(isTest ? { test: true } : {}),
|
|
40
|
+
},
|
|
41
|
+
validator: 'bic-structural',
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
registerDetector({
|
|
45
|
+
id: 'swift-bic',
|
|
46
|
+
entityType: 'SWIFT_BIC',
|
|
47
|
+
regions: [GLOBAL_REGION],
|
|
48
|
+
// Uppercase only: BICs are written uppercase by standard, and admitting
|
|
49
|
+
// lowercase would sweep in ordinary 8-letter words.
|
|
50
|
+
pattern: /\b[A-Z]{6}[A-Z0-9]{2}(?:[A-Z0-9]{3})?\b/g,
|
|
51
|
+
baseConfidence: CONFIDENCE.MEDIUM,
|
|
52
|
+
description: 'SWIFT/BIC codes: country and location rules; test BICs non-sensitive.',
|
|
53
|
+
validate: validateBic,
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=swiftBic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swiftBic.js","sourceRoot":"","sources":["../../../../../src/detect/detectors/financial/swiftBic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,SAAS,WAAW,CAAC,GAAsB;IACzC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAE9B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAE/E,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAC/C,OAAO,OAAO,CAAC,wCAAwC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;IAEnC,OAAO,KAAK,CAAC;QACX,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,CAAC,MAAM;QAClB,UAAU,EAAE,QAAQ,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM;QAClF,QAAQ,EAAE;YACR,OAAO;YACP,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC;QACD,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;AACL,CAAC;AAED,gBAAgB,CAAC;IACf,EAAE,EAAE,WAAW;IACf,UAAU,EAAE,WAAW;IACvB,OAAO,EAAE,CAAC,aAAa,CAAC;IACxB,wEAAwE;IACxE,oDAAoD;IACpD,OAAO,EAAE,0CAA0C;IACnD,cAAc,EAAE,UAAU,CAAC,MAAM;IACjC,WAAW,EAAE,uEAAuE;IACpF,QAAQ,EAAE,WAAW;CACtB,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every Stage 1 detector family, loaded for registration side effects.
|
|
3
|
+
* Importing this module (directly or via the package root) populates the
|
|
4
|
+
* registry. One line per family; families grow by batch during M2.
|
|
5
|
+
*/
|
|
6
|
+
import './contact/index.js';
|
|
7
|
+
import './financial/index.js';
|
|
8
|
+
import './bankcodes/index.js';
|
|
9
|
+
import './crypto/index.js';
|
|
10
|
+
import './secrets/index.js';
|
|
11
|
+
import './documents/index.js';
|
|
12
|
+
import './location/index.js';
|
|
13
|
+
import './natid/index.js';
|
|
14
|
+
import './vat/index.js';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/detect/detectors/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,oBAAoB,CAAC;AAC5B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every Stage 1 detector family, loaded for registration side effects.
|
|
3
|
+
* Importing this module (directly or via the package root) populates the
|
|
4
|
+
* registry. One line per family; families grow by batch during M2.
|
|
5
|
+
*/
|
|
6
|
+
import './contact/index.js';
|
|
7
|
+
import './financial/index.js';
|
|
8
|
+
import './bankcodes/index.js';
|
|
9
|
+
import './crypto/index.js';
|
|
10
|
+
import './secrets/index.js';
|
|
11
|
+
import './documents/index.js';
|
|
12
|
+
import './location/index.js';
|
|
13
|
+
import './natid/index.js';
|
|
14
|
+
import './vat/index.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/detect/detectors/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,oBAAoB,CAAC;AAC5B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* COORDINATES — latitude/longitude in decimal degrees and DMS.
|
|
3
|
+
*
|
|
4
|
+
* This one HAS a real validator (unlike its two siblings): parsed values
|
|
5
|
+
* must lie in [−90, 90] × [−180, 180]. DMS with its degree/minute/second
|
|
6
|
+
* marks is unmistakable → HIGH. A bare decimal pair is weaker evidence even
|
|
7
|
+
* in range — "3.141, 2.718" is a coordinate to no one — so decimal pairs
|
|
8
|
+
* demand ≥3 fraction digits (GPS-typical precision) and earn MEDIUM, with
|
|
9
|
+
* hemisphere suffixes lifting them to HIGH.
|
|
10
|
+
*
|
|
11
|
+
* (0, 0) — "null island" — is the classic placeholder and is rejected.
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=coordinates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinates.d.ts","sourceRoot":"","sources":["../../../../../src/detect/detectors/location/coordinates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* COORDINATES — latitude/longitude in decimal degrees and DMS.
|
|
3
|
+
*
|
|
4
|
+
* This one HAS a real validator (unlike its two siblings): parsed values
|
|
5
|
+
* must lie in [−90, 90] × [−180, 180]. DMS with its degree/minute/second
|
|
6
|
+
* marks is unmistakable → HIGH. A bare decimal pair is weaker evidence even
|
|
7
|
+
* in range — "3.141, 2.718" is a coordinate to no one — so decimal pairs
|
|
8
|
+
* demand ≥3 fraction digits (GPS-typical precision) and earn MEDIUM, with
|
|
9
|
+
* hemisphere suffixes lifting them to HIGH.
|
|
10
|
+
*
|
|
11
|
+
* (0, 0) — "null island" — is the classic placeholder and is rejected.
|
|
12
|
+
*/
|
|
13
|
+
import { registerDetector } from '../../registry.js';
|
|
14
|
+
import { CONFIDENCE, GLOBAL_REGION, invalid, valid } from '../../types.js';
|
|
15
|
+
const DECIMAL_PAIR = /^(-?\d{1,3}\.\d{3,8})°?\s*([NS])?[,;]\s*(-?\d{1,3}\.\d{3,8})°?\s*([EW])?$/;
|
|
16
|
+
// The seconds mark: detectors see NORMALIZED text, and NFKC decomposes
|
|
17
|
+
// U+2033 DOUBLE PRIME into TWO U+2032 PRIMEs — so ″ arrives here as ′′.
|
|
18
|
+
// Straight quotes pass normalization unchanged; curly ones become straight.
|
|
19
|
+
const SECONDS = String.raw `(?:′′|''|″|")`;
|
|
20
|
+
const DMS_ONE = String.raw `(\d{1,3})°\s?(\d{1,2})[′']\s?(\d{1,2}(?:\.\d+)?)${SECONDS}?\s?([NSEW])`;
|
|
21
|
+
const DMS_PAIR = new RegExp(`^${DMS_ONE}[,;]?\\s*${DMS_ONE}$`);
|
|
22
|
+
function validateCoordinates(ctx) {
|
|
23
|
+
const value = ctx.match[0].trim();
|
|
24
|
+
const dms = DMS_PAIR.exec(value);
|
|
25
|
+
if (dms !== null) {
|
|
26
|
+
const first = dmsToDecimal(Number(dms[1]), Number(dms[2]), Number(dms[3]), dms[4]);
|
|
27
|
+
const second = dmsToDecimal(Number(dms[5]), Number(dms[6]), Number(dms[7]), dms[8]);
|
|
28
|
+
if (first === null || second === null)
|
|
29
|
+
return invalid('DMS component out of range');
|
|
30
|
+
const lat = dms[4] === 'N' || dms[4] === 'S' ? first : second;
|
|
31
|
+
const lon = dms[4] === 'N' || dms[4] === 'S' ? second : first;
|
|
32
|
+
if (Math.abs(lat) > 90 || Math.abs(lon) > 180)
|
|
33
|
+
return invalid('coordinate out of range');
|
|
34
|
+
return valid({
|
|
35
|
+
confidence: CONFIDENCE.HIGH,
|
|
36
|
+
metadata: { format: 'dms', lat: round6(lat), lon: round6(lon) },
|
|
37
|
+
validator: 'coordinate-range',
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
const dec = DECIMAL_PAIR.exec(value);
|
|
41
|
+
if (dec !== null) {
|
|
42
|
+
let lat = Number(dec[1]);
|
|
43
|
+
let lon = Number(dec[3]);
|
|
44
|
+
if (dec[2] === 'S')
|
|
45
|
+
lat = -lat;
|
|
46
|
+
if (dec[4] === 'W')
|
|
47
|
+
lon = -lon;
|
|
48
|
+
if (Math.abs(lat) > 90 || Math.abs(lon) > 180)
|
|
49
|
+
return invalid('coordinate out of range');
|
|
50
|
+
if (lat === 0 && lon === 0)
|
|
51
|
+
return invalid('null island placeholder');
|
|
52
|
+
const hasHemispheres = dec[2] !== undefined && dec[4] !== undefined;
|
|
53
|
+
return valid({
|
|
54
|
+
confidence: hasHemispheres ? CONFIDENCE.HIGH : CONFIDENCE.MEDIUM,
|
|
55
|
+
metadata: { format: 'decimal', lat: round6(lat), lon: round6(lon) },
|
|
56
|
+
validator: 'coordinate-range',
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
return invalid('not a coordinate pair');
|
|
60
|
+
}
|
|
61
|
+
function dmsToDecimal(deg, min, sec, hemi) {
|
|
62
|
+
if (min >= 60 || sec >= 60)
|
|
63
|
+
return null;
|
|
64
|
+
const value = deg + min / 60 + sec / 3600;
|
|
65
|
+
return hemi === 'S' || hemi === 'W' ? -value : value;
|
|
66
|
+
}
|
|
67
|
+
const round6 = (n) => Math.round(n * 1e6) / 1e6;
|
|
68
|
+
registerDetector({
|
|
69
|
+
id: 'coordinates',
|
|
70
|
+
entityType: 'COORDINATES',
|
|
71
|
+
regions: [GLOBAL_REGION],
|
|
72
|
+
// Hemisphere letters are grouped WITH their leading space so that an
|
|
73
|
+
// absent hemisphere cannot leave a trailing space inside the span.
|
|
74
|
+
pattern: /(?<![\d.])(?:-?\d{1,3}\.\d{3,8}°?(?: ?[NS])?[,;]\s*-?\d{1,3}\.\d{3,8}°?(?: ?[EW])?|\d{1,3}° ?\d{1,2}[′'] ?\d{1,2}(?:\.\d+)?(?:′′|''|″|")? ?[NSEW][,;]? ?\d{1,3}° ?\d{1,2}[′'] ?\d{1,2}(?:\.\d+)?(?:′′|''|″|")? ?[NSEW])(?![\d.])/g,
|
|
75
|
+
baseConfidence: CONFIDENCE.MEDIUM,
|
|
76
|
+
description: 'Lat/long pairs in decimal (≥3 fraction digits) and DMS, range-validated.',
|
|
77
|
+
validate: validateCoordinates,
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=coordinates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinates.js","sourceRoot":"","sources":["../../../../../src/detect/detectors/location/coordinates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/detect/detectors/location/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,iBAAiB,CAAC;AACzB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/detect/detectors/location/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,iBAAiB,CAAC;AACzB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* POSTAL_CODE — the per-country table, context-gated.
|
|
3
|
+
*
|
|
4
|
+
* A five-digit number satisfies twenty countries' postal formats and is
|
|
5
|
+
* also a quantity, a price, and a PIN. SPEC.md therefore assigns "low base
|
|
6
|
+
* confidence, requires context boost": this detector declares
|
|
7
|
+
* requiresContext, the runner caps it at LOW until Stage 3 supplies a
|
|
8
|
+
* trigger ("postcode", "PLZ", "郵便番号") or an address co-occurrence, and
|
|
9
|
+
* the candidate carries every country whose format it satisfies so fusion
|
|
10
|
+
* can reconcile it with the document's other evidence.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=postalCode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postalCode.d.ts","sourceRoot":"","sources":["../../../../../src/detect/detectors/location/postalCode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* POSTAL_CODE — the per-country table, context-gated.
|
|
3
|
+
*
|
|
4
|
+
* A five-digit number satisfies twenty countries' postal formats and is
|
|
5
|
+
* also a quantity, a price, and a PIN. SPEC.md therefore assigns "low base
|
|
6
|
+
* confidence, requires context boost": this detector declares
|
|
7
|
+
* requiresContext, the runner caps it at LOW until Stage 3 supplies a
|
|
8
|
+
* trigger ("postcode", "PLZ", "郵便番号") or an address co-occurrence, and
|
|
9
|
+
* the candidate carries every country whose format it satisfies so fusion
|
|
10
|
+
* can reconcile it with the document's other evidence.
|
|
11
|
+
*/
|
|
12
|
+
import { registerDetector } from '../../registry.js';
|
|
13
|
+
import { CONFIDENCE, GLOBAL_REGION, invalid, valid } from '../../types.js';
|
|
14
|
+
import { postalCountriesFor } from './postalRegistry.js';
|
|
15
|
+
function validatePostal(ctx) {
|
|
16
|
+
const before = ctx.start > 0 ? ctx.text[ctx.start - 1] : '';
|
|
17
|
+
if (/[\d,.-]/.test(before ?? ''))
|
|
18
|
+
return invalid('fragment of a longer number');
|
|
19
|
+
const after = ctx.text.slice(ctx.end, ctx.end + 2);
|
|
20
|
+
if (/^[\d]/.test(after) || /^[.,]\d/.test(after))
|
|
21
|
+
return invalid('fragment of a longer number');
|
|
22
|
+
const candidate = ctx.match[0].toUpperCase();
|
|
23
|
+
const countries = postalCountriesFor(candidate);
|
|
24
|
+
if (countries.length === 0)
|
|
25
|
+
return invalid('no country format matched');
|
|
26
|
+
// A year-shaped 4-digit number is overwhelmingly a year in running text;
|
|
27
|
+
// the postal reading needs Stage 3 to argue otherwise, and until then it
|
|
28
|
+
// is noise we do not emit at all.
|
|
29
|
+
if (/^\d{4}$/.test(candidate)) {
|
|
30
|
+
const year = Number(candidate);
|
|
31
|
+
if (year >= 1900 && year <= 2099)
|
|
32
|
+
return invalid('year-shaped');
|
|
33
|
+
}
|
|
34
|
+
return valid({
|
|
35
|
+
canonical: candidate.replace(/ /g, ''),
|
|
36
|
+
metadata: { countries },
|
|
37
|
+
validator: 'postal-format-table',
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
registerDetector({
|
|
41
|
+
id: 'postal-code',
|
|
42
|
+
entityType: 'POSTAL_CODE',
|
|
43
|
+
regions: [GLOBAL_REGION],
|
|
44
|
+
// Structured letter formats (UK, CA, NL, IE, MT, AZ/AD/MD/LV/LT…) plus
|
|
45
|
+
// digit groups with optional internal dash/space. Uppercase only — postal
|
|
46
|
+
// codes are written uppercase, and lowercase admits ordinary words.
|
|
47
|
+
pattern: /\b(?:[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}|[A-Z]\d[A-Z] ?\d[A-Z]\d|\d{4} ?[A-Z]{2}|[A-Z]{2,3}[- ]?\d{4,5}|[A-Z]\d{2} ?[A-Z0-9]{4}|\d{2,7}(?:[- ]\d{2,4})?)\b/g,
|
|
48
|
+
baseConfidence: CONFIDENCE.MEDIUM,
|
|
49
|
+
requiresContext: true,
|
|
50
|
+
description: 'Postal codes against the per-country format table; LOW until Stage 3 context.',
|
|
51
|
+
validate: validatePostal,
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=postalCode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postalCode.js","sourceRoot":"","sources":["../../../../../src/detect/detectors/location/postalCode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,SAAS,cAAc,CAAC,GAAsB;IAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAAE,OAAO,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAChF,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAEhG,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAExE,yEAAyE;IACzE,yEAAyE;IACzE,kCAAkC;IAClC,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,KAAK,CAAC;QACX,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,QAAQ,EAAE,EAAE,SAAS,EAAE;QACvB,SAAS,EAAE,qBAAqB;KACjC,CAAC,CAAC;AACL,CAAC;AAED,gBAAgB,CAAC;IACf,EAAE,EAAE,aAAa;IACjB,UAAU,EAAE,aAAa;IACzB,OAAO,EAAE,CAAC,aAAa,CAAC;IACxB,uEAAuE;IACvE,0EAA0E;IAC1E,oEAAoE;IACpE,OAAO,EACL,0JAA0J;IAC5J,cAAc,EAAE,UAAU,CAAC,MAAM;IACjC,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE,+EAA+E;IAC5F,QAAQ,EAAE,cAAc;CACzB,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-country postal code formats.
|
|
3
|
+
*
|
|
4
|
+
* SPEC.md: "per-country format table covering all countries with postal
|
|
5
|
+
* systems, low base confidence, requires context boost." This table is the
|
|
6
|
+
* format half; the LOW cap comes from the detector's requiresContext flag.
|
|
7
|
+
*
|
|
8
|
+
* Countries sharing a bare digit-count share a regex constant; countries
|
|
9
|
+
* with real internal structure (UK, CA, NL, PL, PT, BR, JP, IE, MT…) get
|
|
10
|
+
* their own, and where the structure encodes genuine rules — Canada's
|
|
11
|
+
* excluded letters, the UK outward/inward split — those rules are in the
|
|
12
|
+
* regex, not commentary. Countries without an operating postal-code system
|
|
13
|
+
* (e.g. AE, HK, PA at the street level, many Caribbean and African states)
|
|
14
|
+
* are deliberately absent; absence here is a statement, not an omission.
|
|
15
|
+
*/
|
|
16
|
+
export declare const POSTAL_FORMATS: Readonly<Record<string, RegExp>>;
|
|
17
|
+
/** Every country whose format the candidate satisfies. */
|
|
18
|
+
export declare function postalCountriesFor(candidate: string): string[];
|
|
19
|
+
//# sourceMappingURL=postalRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postalRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/detect/detectors/location/postalRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyC3D,CAAC;AAEF,0DAA0D;AAC1D,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAM9D"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-country postal code formats.
|
|
3
|
+
*
|
|
4
|
+
* SPEC.md: "per-country format table covering all countries with postal
|
|
5
|
+
* systems, low base confidence, requires context boost." This table is the
|
|
6
|
+
* format half; the LOW cap comes from the detector's requiresContext flag.
|
|
7
|
+
*
|
|
8
|
+
* Countries sharing a bare digit-count share a regex constant; countries
|
|
9
|
+
* with real internal structure (UK, CA, NL, PL, PT, BR, JP, IE, MT…) get
|
|
10
|
+
* their own, and where the structure encodes genuine rules — Canada's
|
|
11
|
+
* excluded letters, the UK outward/inward split — those rules are in the
|
|
12
|
+
* regex, not commentary. Countries without an operating postal-code system
|
|
13
|
+
* (e.g. AE, HK, PA at the street level, many Caribbean and African states)
|
|
14
|
+
* are deliberately absent; absence here is a statement, not an omission.
|
|
15
|
+
*/
|
|
16
|
+
const D3 = /^\d{3}$/; // IS, PG (also FO)
|
|
17
|
+
const D4 = /^\d{4}$/;
|
|
18
|
+
const D5 = /^\d{5}$/;
|
|
19
|
+
const D6 = /^\d{6}$/;
|
|
20
|
+
const D7 = /^\d{7}$/;
|
|
21
|
+
const D3_SP_D2 = /^\d{3} ?\d{2}$/; // CZ, SK, SE, GR
|
|
22
|
+
export const POSTAL_FORMATS = {
|
|
23
|
+
// ── structured formats ──
|
|
24
|
+
GB: /^(?:GIR ?0AA|[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2})$/, // outward + inward
|
|
25
|
+
// First letter excludes D F I O Q U W Z; later letters exclude D F I O Q U.
|
|
26
|
+
CA: /^[ABCEGHJ-NPRSTVXY]\d[ABCEGHJ-NPRSTV-Z] ?\d[ABCEGHJ-NPRSTV-Z]\d$/,
|
|
27
|
+
NL: /^\d{4} ?[A-Z]{2}$/,
|
|
28
|
+
PL: /^\d{2}-\d{3}$/,
|
|
29
|
+
PT: /^\d{4}-\d{3}$/,
|
|
30
|
+
BR: /^\d{5}-?\d{3}$/,
|
|
31
|
+
JP: /^\d{3}-?\d{4}$/,
|
|
32
|
+
US: /^\d{5}(?:-\d{4})?$/,
|
|
33
|
+
IE: /^[A-Z]\d{2} ?[A-Z0-9]{4}$|^D6W ?[A-Z0-9]{4}$/, // Eircode
|
|
34
|
+
MT: /^[A-Z]{3} ?\d{4}$/,
|
|
35
|
+
AZ: /^AZ ?\d{4}$/,
|
|
36
|
+
AD: /^AD\d{3}$/,
|
|
37
|
+
BB: /^BB\d{5}$/,
|
|
38
|
+
MD: /^MD-?\d{4}$/,
|
|
39
|
+
LV: /^LV-?\d{4}$/,
|
|
40
|
+
LT: /^LT-?\d{5}$/,
|
|
41
|
+
MC: /^980\d{2}$/,
|
|
42
|
+
SM: /^4789\d$/,
|
|
43
|
+
VA: /^00120$/,
|
|
44
|
+
GR: D3_SP_D2, CZ: D3_SP_D2, SK: D3_SP_D2, SE: D3_SP_D2,
|
|
45
|
+
KY: /^KY\d-\d{4}$/,
|
|
46
|
+
BM: /^[A-Z]{2} ?\d{2}$/,
|
|
47
|
+
// ── plain digit counts ──
|
|
48
|
+
IS: D3, PG: D3, FO: D3,
|
|
49
|
+
AT: D4, AU: D4, BE: D4, BG: D4, CH: D4, CY: D4, DK: D4, HU: D4, LI: D4,
|
|
50
|
+
LU: D4, MK: D4, NO: D4, NZ: D4, PH: D4, SI: D4, ZA: D4, AL: D4, BD: D4,
|
|
51
|
+
CV: D4, ET: D4, GE: D4, PY: D4, SV: D4, TN: D4, AM: D4, NE: D4, SJ: D4,
|
|
52
|
+
DE: D5, FR: D5, ES: D5, IT: D5, FI: D5, TR: D5, TH: D5, MY: D5, MX: D5,
|
|
53
|
+
ID: D5, PK: D5, EG: D5, DZ: D5, MA: D5, KE: D5, JO: D5, IQ: D5, KW: D5,
|
|
54
|
+
LK: D5, MN: D5, UA: D5, UZ: D5, HR: D5, EE: D5, RS: D5, ME: D5, BA: D5,
|
|
55
|
+
CU: D5, DO: D5, GT: D5, HN: D5, NI: D5, CR: D5, PE: D5, KR: D5, SA: D5,
|
|
56
|
+
SD: D5, ZM: D5, MZ: D4, TZ: D5, UY: D5, MM: D5, KH: D5, LA: D5, NP: D5,
|
|
57
|
+
BT: D5, MV: D5, SN: D5, GN: D6,
|
|
58
|
+
CN: D6, IN: D6, SG: D6, RU: D6, KZ: D6, BY: D6, NG: D6, RO: D6, KG: D6,
|
|
59
|
+
TJ: D6, TM: D6, VN: D6, EC: D6,
|
|
60
|
+
IL: D7, CL: D7,
|
|
61
|
+
TW: /^\d{3}(?:-?\d{2,3})?$/,
|
|
62
|
+
AR: /^[A-Z]?\d{4}[A-Z]{0,3}$/, // CPA: letter + 4 digits + 3 letters, or legacy 4
|
|
63
|
+
};
|
|
64
|
+
/** Every country whose format the candidate satisfies. */
|
|
65
|
+
export function postalCountriesFor(candidate) {
|
|
66
|
+
const out = [];
|
|
67
|
+
for (const [country, format] of Object.entries(POSTAL_FORMATS)) {
|
|
68
|
+
if (format.test(candidate))
|
|
69
|
+
out.push(country);
|
|
70
|
+
}
|
|
71
|
+
return out;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=postalRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postalRegistry.js","sourceRoot":"","sources":["../../../../../src/detect/detectors/location/postalRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,mBAAmB;AACzC,MAAM,EAAE,GAAG,SAAS,CAAC;AACrB,MAAM,EAAE,GAAG,SAAS,CAAC;AACrB,MAAM,EAAE,GAAG,SAAS,CAAC;AACrB,MAAM,EAAE,GAAG,SAAS,CAAC;AACrB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,iBAAiB;AAEpD,MAAM,CAAC,MAAM,cAAc,GAAqC;IAC9D,2BAA2B;IAC3B,EAAE,EAAE,iDAAiD,EAAE,mBAAmB;IAC1E,4EAA4E;IAC5E,EAAE,EAAE,kEAAkE;IACtE,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,eAAe;IACnB,EAAE,EAAE,eAAe;IACnB,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,oBAAoB;IACxB,EAAE,EAAE,8CAA8C,EAAE,UAAU;IAC9D,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ;IACtD,EAAE,EAAE,cAAc;IAClB,EAAE,EAAE,mBAAmB;IACvB,2BAA2B;IAC3B,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACtB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACtE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACtE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACtE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACtE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACtE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACtE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACtE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACtE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC9B,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACtE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC9B,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACd,EAAE,EAAE,uBAAuB;IAC3B,EAAE,EAAE,yBAAyB,EAAE,kDAAkD;CAClF,CAAC;AAEF,0DAA0D;AAC1D,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* STREET_ADDRESS — multilingual heuristics, context-gated.
|
|
3
|
+
*
|
|
4
|
+
* SPEC.md: "multilingual heuristics across address conventions (Western,
|
|
5
|
+
* East Asian reverse-order, Arabic), low base confidence, requires context
|
|
6
|
+
* boost." Address grammar differs by convention, so the pattern is an
|
|
7
|
+
* alternation of convention-specific shapes, each keyed by the street-type
|
|
8
|
+
* lexicon of its languages rather than one English list:
|
|
9
|
+
*
|
|
10
|
+
* • Western number-first: 221B Baker Street, 1600 Pennsylvania Avenue
|
|
11
|
+
* • Romance type-first: 12 rue de la Paix, Calle Mayor 8, Via Roma 3
|
|
12
|
+
* • Germanic name+number: Hauptstraße 12a, Prinsengracht 263
|
|
13
|
+
* • Turkish: Atatürk Caddesi No: 15, Çiçek Sok. 3
|
|
14
|
+
* • East Asian: 中山路25号, 銀座4丁目5番6号, 세종대로 110
|
|
15
|
+
* • Arabic: شارع الملك فهد 12
|
|
16
|
+
*
|
|
17
|
+
* requiresContext caps everything at LOW until Stage 3; the convention
|
|
18
|
+
* travels in metadata for fusion and for M4's surrogate generation.
|
|
19
|
+
*/
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=streetAddress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streetAddress.d.ts","sourceRoot":"","sources":["../../../../../src/detect/detectors/location/streetAddress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* STREET_ADDRESS — multilingual heuristics, context-gated.
|
|
3
|
+
*
|
|
4
|
+
* SPEC.md: "multilingual heuristics across address conventions (Western,
|
|
5
|
+
* East Asian reverse-order, Arabic), low base confidence, requires context
|
|
6
|
+
* boost." Address grammar differs by convention, so the pattern is an
|
|
7
|
+
* alternation of convention-specific shapes, each keyed by the street-type
|
|
8
|
+
* lexicon of its languages rather than one English list:
|
|
9
|
+
*
|
|
10
|
+
* • Western number-first: 221B Baker Street, 1600 Pennsylvania Avenue
|
|
11
|
+
* • Romance type-first: 12 rue de la Paix, Calle Mayor 8, Via Roma 3
|
|
12
|
+
* • Germanic name+number: Hauptstraße 12a, Prinsengracht 263
|
|
13
|
+
* • Turkish: Atatürk Caddesi No: 15, Çiçek Sok. 3
|
|
14
|
+
* • East Asian: 中山路25号, 銀座4丁目5番6号, 세종대로 110
|
|
15
|
+
* • Arabic: شارع الملك فهد 12
|
|
16
|
+
*
|
|
17
|
+
* requiresContext caps everything at LOW until Stage 3; the convention
|
|
18
|
+
* travels in metadata for fusion and for M4's surrogate generation.
|
|
19
|
+
*/
|
|
20
|
+
import { registerDetector } from '../../registry.js';
|
|
21
|
+
import { CONFIDENCE, GLOBAL_REGION, invalid, valid } from '../../types.js';
|
|
22
|
+
const WESTERN_TYPES = '(?:Street|St|Avenue|Ave|Road|Rd|Boulevard|Blvd|Lane|Ln|Drive|Dr|Court|Ct|Way|Place|Pl|Terrace|Square|Sq|Crescent|Close|Gardens)';
|
|
23
|
+
const ROMANCE_TYPES = '(?:rue|avenue|boulevard|impasse|allée|chemin|place|quai|calle|avenida|paseo|plaza|carrer|via|viale|piazza|corso|rua|travessa|praça)';
|
|
24
|
+
const GERMANIC_SUFFIX = '(?:straße|strasse|weg|gasse|platz|allee|ring|damm|ufer|straat|laan|plein|gracht|kade|singel|gade|vej|gatan|vägen|veien|gata)';
|
|
25
|
+
const TURKISH_TYPES = '(?:Caddesi|Cadde|Cad\\.|Sokak|Sokağı|Sok\\.|Bulvarı|Bulvar|Blv\\.|Mahallesi|Mah\\.)';
|
|
26
|
+
const CLASSIFIERS = [
|
|
27
|
+
[new RegExp(`^\\d{1,5}[A-Za-z]? [\\p{Lu}][\\p{L}.'-]*(?: [\\p{Lu}][\\p{L}.'-]*){0,3} ${WESTERN_TYPES}\\.?$`, 'u'), 'western'],
|
|
28
|
+
[new RegExp(`^\\d{1,5},? ${ROMANCE_TYPES} [\\p{L}][\\p{L} .'-]{2,40}$`, 'iu'), 'romance'],
|
|
29
|
+
[new RegExp(`^${ROMANCE_TYPES} [\\p{L}][\\p{L} .'-]{2,40},? \\d{1,5}$`, 'iu'), 'romance'],
|
|
30
|
+
[new RegExp(`^[\\p{Lu}][\\p{L}]{2,30}${GERMANIC_SUFFIX} \\d{1,4}[a-z]?$`, 'u'), 'germanic'],
|
|
31
|
+
[new RegExp(`^[\\p{Lu}][\\p{L}]{1,20}(?: [\\p{Lu}][\\p{L}]{1,20})? ${TURKISH_TYPES}(?: No:? ?\\d{1,4}(?:\\/\\d{1,3})?)?$`, 'u'), 'turkish'],
|
|
32
|
+
[/^[一-鿿]{1,12}(?:路|街|大道)\d{1,4}号(?:楼|栋)?$/u, 'east-asian'],
|
|
33
|
+
[/^[一-鿿-ヿ]{1,12}\d{1,3}丁目(?:\d{1,3}番地?)?(?:\d{1,3}号)?$/u, 'east-asian'],
|
|
34
|
+
[/^[가-]{2,12}(?:로|길) ?\d{1,4}(?:-\d{1,3})?$/u, 'east-asian'],
|
|
35
|
+
[/^شارع [-ۿ]{2,20}(?: [-ۿ]{2,20}){0,3}(?: \d{1,4})?$/u, 'arabic'],
|
|
36
|
+
];
|
|
37
|
+
function validateStreet(ctx) {
|
|
38
|
+
const value = ctx.match[0].trim();
|
|
39
|
+
for (const [shape, convention] of CLASSIFIERS) {
|
|
40
|
+
if (shape.test(value)) {
|
|
41
|
+
return valid({
|
|
42
|
+
metadata: { convention },
|
|
43
|
+
validator: 'address-heuristic',
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return invalid('no address convention matched');
|
|
48
|
+
}
|
|
49
|
+
registerDetector({
|
|
50
|
+
id: 'street-address',
|
|
51
|
+
entityType: 'STREET_ADDRESS',
|
|
52
|
+
regions: [GLOBAL_REGION],
|
|
53
|
+
// The harvest union of every convention shape; the validator classifies.
|
|
54
|
+
pattern: new RegExp([
|
|
55
|
+
`\\d{1,5}[A-Za-z]? [\\p{Lu}][\\p{L}.'-]*(?: [\\p{Lu}][\\p{L}.'-]*){0,3} ${WESTERN_TYPES}\\.?(?![\\p{L}])`,
|
|
56
|
+
`\\d{1,5},? ${ROMANCE_TYPES} [\\p{L}][\\p{L} .'-]{2,40}`,
|
|
57
|
+
`${ROMANCE_TYPES} [\\p{L}][\\p{L} .'-]{2,40},? \\d{1,5}`,
|
|
58
|
+
`[\\p{Lu}][\\p{L}]{2,30}${GERMANIC_SUFFIX} \\d{1,4}[a-z]?`,
|
|
59
|
+
`[\\p{Lu}][\\p{L}]{1,20}(?: [\\p{Lu}][\\p{L}]{1,20})? ${TURKISH_TYPES}(?: No:? ?\\d{1,4}(?:\\/\\d{1,3})?)?`,
|
|
60
|
+
`[\\u4e00-\\u9fff]{1,12}(?:路|街|大道)\\d{1,4}号(?:楼|栋)?`,
|
|
61
|
+
`[\\u4e00-\\u9fff\\u3040-\\u30ff]{1,12}\\d{1,3}丁目(?:\\d{1,3}番地?)?(?:\\d{1,3}号)?`,
|
|
62
|
+
`[\\uac00-\\ud7af]{2,12}(?:로|길) ?\\d{1,4}(?:-\\d{1,3})?`,
|
|
63
|
+
`شارع [\\u0600-\\u06ff]{2,20}(?: [\\u0600-\\u06ff]{2,20}){0,3}(?: \\d{1,4})?`,
|
|
64
|
+
].join('|'), 'gu'),
|
|
65
|
+
baseConfidence: CONFIDENCE.MEDIUM,
|
|
66
|
+
requiresContext: true,
|
|
67
|
+
description: 'Street addresses across six writing conventions; LOW until Stage 3 context.',
|
|
68
|
+
validate: validateStreet,
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=streetAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streetAddress.js","sourceRoot":"","sources":["../../../../../src/detect/detectors/location/streetAddress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG3E,MAAM,aAAa,GACjB,iIAAiI,CAAC;AACpI,MAAM,aAAa,GACjB,qIAAqI,CAAC;AACxI,MAAM,eAAe,GACnB,8HAA8H,CAAC;AACjI,MAAM,aAAa,GAAG,qFAAqF,CAAC;AAI5G,MAAM,WAAW,GAA+C;IAC9D,CAAC,IAAI,MAAM,CAAC,2EAA2E,aAAa,OAAO,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC;IAC7H,CAAC,IAAI,MAAM,CAAC,eAAe,aAAa,8BAA8B,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IACzF,CAAC,IAAI,MAAM,CAAC,IAAI,aAAa,yCAAyC,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IACzF,CAAC,IAAI,MAAM,CAAC,2BAA2B,eAAe,kBAAkB,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC;IAC3F,CAAC,IAAI,MAAM,CAAC,yDAAyD,aAAa,uCAAuC,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC;IAC3I,CAAC,0CAA0C,EAAE,YAAY,CAAC;IAC1D,CAAC,wDAAwD,EAAE,YAAY,CAAC;IACxE,CAAC,6CAA6C,EAAE,YAAY,CAAC;IAC7D,CAAC,uDAAuD,EAAE,QAAQ,CAAC;CACpE,CAAC;AAEF,SAAS,cAAc,CAAC,GAAsB;IAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAElC,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;QAC9C,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;gBACX,QAAQ,EAAE,EAAE,UAAU,EAAE;gBACxB,SAAS,EAAE,mBAAmB;aAC/B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAClD,CAAC;AAED,gBAAgB,CAAC;IACf,EAAE,EAAE,gBAAgB;IACpB,UAAU,EAAE,gBAAgB;IAC5B,OAAO,EAAE,CAAC,aAAa,CAAC;IACxB,yEAAyE;IACzE,OAAO,EAAE,IAAI,MAAM,CACjB;QACE,0EAA0E,aAAa,kBAAkB;QACzG,cAAc,aAAa,6BAA6B;QACxD,GAAG,aAAa,wCAAwC;QACxD,0BAA0B,eAAe,iBAAiB;QAC1D,wDAAwD,aAAa,sCAAsC;QAC3G,oDAAoD;QACpD,gFAAgF;QAChF,wDAAwD;QACxD,6EAA6E;KAC9E,CAAC,IAAI,CAAC,GAAG,CAAC,EACX,IAAI,CACL;IACD,cAAc,EAAE,UAAU,CAAC,MAAM;IACjC,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE,6EAA6E;IAC1F,QAAQ,EAAE,cAAc;CACzB,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Africa beyond South Africa: Nigeria, Kenya, Egypt, Morocco.
|
|
3
|
+
*
|
|
4
|
+
* None of these publishes a verifiable checksum, so all four are
|
|
5
|
+
* structural/labeled at MEDIUM, each stating its gates:
|
|
6
|
+
* • NG NIN — eleven digits, labeled ("NIN"), since a bare 11-digit run
|
|
7
|
+
* belongs to the checksummed schemes.
|
|
8
|
+
* • KE National ID — eight digits behind an explicit "ID No/Number" label.
|
|
9
|
+
* • EG National ID — fourteen digits with REAL structure: century digit
|
|
10
|
+
* 2/3, a valid birth date, and a governorate code from the published
|
|
11
|
+
* table. (A final check digit exists but its algorithm is not officially
|
|
12
|
+
* published — stated here, structural only.)
|
|
13
|
+
* • MA CNIE — one or two letters + six digits, labeled ("CNIE"/"CIN"),
|
|
14
|
+
* since the bare shape collides with order numbers everywhere.
|
|
15
|
+
*/
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=africa.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"africa.d.ts","sourceRoot":"","sources":["../../../../../src/detect/detectors/natid/africa.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
|