@budiauktioner/buildi-primitives 0.1.1 → 0.2.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/BREAKING_CHANGES.md +81 -0
- package/CHANGELOG.md +58 -1
- package/PARITY.md +202 -0
- package/README.md +58 -9
- package/dist/cjs/banking/bank-resolver.js +378 -0
- package/dist/cjs/banking/bank-resolver.js.map +7 -0
- package/dist/cjs/banking/bic.js +189 -0
- package/dist/cjs/banking/bic.js.map +7 -0
- package/dist/cjs/banking/iban.js +314 -0
- package/dist/cjs/banking/iban.js.map +7 -0
- package/dist/cjs/banking/index.js +60 -0
- package/dist/cjs/banking/index.js.map +7 -0
- package/dist/cjs/banking/swedish-bank-account-holder-name.js +124 -0
- package/dist/cjs/banking/swedish-bank-account-holder-name.js.map +7 -0
- package/dist/cjs/banking/swedish-bank-account.js +211 -0
- package/dist/cjs/banking/swedish-bank-account.js.map +7 -0
- package/dist/cjs/banking/swedish-bank-clearing-number.js +156 -0
- package/dist/cjs/banking/swedish-bank-clearing-number.js.map +7 -0
- package/dist/cjs/banking/swedish-bank.js +89 -0
- package/dist/cjs/banking/swedish-bank.js.map +7 -0
- package/dist/cjs/banking/swedish-bankgiro-number.js +176 -0
- package/dist/cjs/banking/swedish-bankgiro-number.js.map +7 -0
- package/dist/cjs/banking/swedish-banking-number.js +201 -0
- package/dist/cjs/banking/swedish-banking-number.js.map +7 -0
- package/dist/cjs/banking/swedish-ocr-reference-number.js +215 -0
- package/dist/cjs/banking/swedish-ocr-reference-number.js.map +7 -0
- package/dist/cjs/banking/swedish-postgiro-number.js +173 -0
- package/dist/cjs/banking/swedish-postgiro-number.js.map +7 -0
- package/dist/cjs/banking/swedish-swish-number.js +165 -0
- package/dist/cjs/banking/swedish-swish-number.js.map +7 -0
- package/dist/cjs/contact/address-city.js +104 -0
- package/dist/cjs/contact/address-city.js.map +7 -0
- package/dist/cjs/contact/address-street.js +220 -0
- package/dist/cjs/contact/address-street.js.map +7 -0
- package/dist/cjs/contact/address-zip-code.js +195 -0
- package/dist/cjs/contact/address-zip-code.js.map +7 -0
- package/dist/cjs/contact/address.js +405 -0
- package/dist/cjs/contact/address.js.map +7 -0
- package/dist/cjs/contact/contact-address.js +142 -0
- package/dist/cjs/contact/contact-address.js.map +7 -0
- package/dist/cjs/contact/contact-external-links.js +39 -0
- package/dist/cjs/contact/contact-external-links.js.map +7 -0
- package/dist/cjs/contact/contact-lookup.js +31 -0
- package/dist/cjs/contact/contact-lookup.js.map +7 -0
- package/dist/cjs/contact/contact-masking.js +117 -0
- package/dist/cjs/contact/contact-masking.js.map +7 -0
- package/dist/cjs/contact/country-address-factory.js +97 -0
- package/dist/cjs/contact/country-address-factory.js.map +7 -0
- package/dist/cjs/contact/country-address-registry.js +36 -0
- package/dist/cjs/contact/country-address-registry.js.map +7 -0
- package/dist/cjs/contact/country-address.js +98 -0
- package/dist/cjs/contact/country-address.js.map +7 -0
- package/dist/cjs/contact/country-addresses.js +346 -0
- package/dist/cjs/contact/country-addresses.js.map +7 -0
- package/dist/cjs/contact/country-zip-code-factory.js +117 -0
- package/dist/cjs/contact/country-zip-code-factory.js.map +7 -0
- package/dist/cjs/contact/country-zip-codes.js +376 -0
- package/dist/cjs/contact/country-zip-codes.js.map +7 -0
- package/dist/cjs/contact/index.js +72 -0
- package/dist/cjs/contact/index.js.map +7 -0
- package/dist/cjs/contact/phone-calling-code.js +439 -0
- package/dist/cjs/contact/phone-calling-code.js.map +7 -0
- package/dist/cjs/contact/phone-number-test-data.js +63 -0
- package/dist/cjs/contact/phone-number-test-data.js.map +7 -0
- package/dist/cjs/contact/phone-number.js +325 -0
- package/dist/cjs/contact/phone-number.js.map +7 -0
- package/dist/cjs/contact/register-default-country-addresses.js +88 -0
- package/dist/cjs/contact/register-default-country-addresses.js.map +7 -0
- package/dist/cjs/contact/swedish-address-zip-code.js +92 -0
- package/dist/cjs/contact/swedish-address-zip-code.js.map +7 -0
- package/dist/cjs/contact/swedish-address.js +169 -0
- package/dist/cjs/contact/swedish-address.js.map +7 -0
- package/dist/cjs/finance/currency.js +251 -0
- package/dist/cjs/finance/currency.js.map +7 -0
- package/dist/cjs/finance/exchange-rates.js +51 -0
- package/dist/cjs/finance/exchange-rates.js.map +7 -0
- package/dist/cjs/finance/index.js +34 -0
- package/dist/cjs/finance/index.js.map +7 -0
- package/dist/cjs/finance/isin.js +161 -0
- package/dist/cjs/finance/isin.js.map +7 -0
- package/dist/cjs/finance/money-amount.js +307 -0
- package/dist/cjs/finance/money-amount.js.map +7 -0
- package/dist/cjs/geography/adjacency-data.js +335 -0
- package/dist/cjs/geography/adjacency-data.js.map +7 -0
- package/dist/cjs/geography/continent.js +125 -0
- package/dist/cjs/geography/continent.js.map +7 -0
- package/dist/cjs/geography/country-capital.js +45 -0
- package/dist/cjs/geography/country-capital.js.map +7 -0
- package/dist/cjs/geography/country-capitals.js +288 -0
- package/dist/cjs/geography/country-capitals.js.map +7 -0
- package/dist/cjs/geography/country-coordinates.js +238 -0
- package/dist/cjs/geography/country-coordinates.js.map +7 -0
- package/dist/cjs/geography/country-data.js +530 -0
- package/dist/cjs/geography/country-data.js.map +7 -0
- package/dist/cjs/geography/country-metadata.js +627 -0
- package/dist/cjs/geography/country-metadata.js.map +7 -0
- package/dist/cjs/geography/country.js +427 -0
- package/dist/cjs/geography/country.js.map +7 -0
- package/dist/cjs/geography/geo-coordinate.js +244 -0
- package/dist/cjs/geography/geo-coordinate.js.map +7 -0
- package/dist/cjs/geography/geography-extensions.js +82 -0
- package/dist/cjs/geography/geography-extensions.js.map +7 -0
- package/dist/cjs/geography/geography-external-links.js +52 -0
- package/dist/cjs/geography/geography-external-links.js.map +7 -0
- package/dist/cjs/geography/geography-lookup.js +31 -0
- package/dist/cjs/geography/geography-lookup.js.map +7 -0
- package/dist/cjs/geography/geography-masking.js +54 -0
- package/dist/cjs/geography/geography-masking.js.map +7 -0
- package/dist/cjs/geography/index.js +57 -0
- package/dist/cjs/geography/index.js.map +7 -0
- package/dist/cjs/geography/language.js +462 -0
- package/dist/cjs/geography/language.js.map +7 -0
- package/dist/cjs/geography/swedish-county.js +232 -0
- package/dist/cjs/geography/swedish-county.js.map +7 -0
- package/dist/cjs/geography/swedish-municipality-data.js +316 -0
- package/dist/cjs/geography/swedish-municipality-data.js.map +7 -0
- package/dist/cjs/geography/swedish-municipality.js +218 -0
- package/dist/cjs/geography/swedish-municipality.js.map +7 -0
- package/dist/cjs/index.js +33 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/internal/case-folding.js +32 -0
- package/dist/cjs/internal/case-folding.js.map +7 -0
- package/dist/cjs/internal/clock.js +32 -0
- package/dist/cjs/internal/clock.js.map +7 -0
- package/dist/cjs/internal/decimal.js +262 -0
- package/dist/cjs/internal/decimal.js.map +7 -0
- package/dist/cjs/internal/gs1-prefix.js +164 -0
- package/dist/cjs/internal/gs1-prefix.js.map +7 -0
- package/dist/cjs/internal/gtin-check-digit.js +46 -0
- package/dist/cjs/internal/gtin-check-digit.js.map +7 -0
- package/dist/cjs/internal/input-sanitization.js +79 -0
- package/dist/cjs/internal/input-sanitization.js.map +7 -0
- package/dist/cjs/internal/luhn.js +40 -0
- package/dist/cjs/internal/luhn.js.map +7 -0
- package/dist/cjs/internal/measurement-unit-parser.js +86 -0
- package/dist/cjs/internal/measurement-unit-parser.js.map +7 -0
- package/dist/cjs/internal/measurement-unit.js +130 -0
- package/dist/cjs/internal/measurement-unit.js.map +7 -0
- package/dist/cjs/internal/quantity.js +122 -0
- package/dist/cjs/internal/quantity.js.map +7 -0
- package/dist/cjs/internal/shoe-size-format.js +31 -0
- package/dist/cjs/internal/shoe-size-format.js.map +7 -0
- package/dist/cjs/measurement/area-unit.js +158 -0
- package/dist/cjs/measurement/area-unit.js.map +7 -0
- package/dist/cjs/measurement/area.js +183 -0
- package/dist/cjs/measurement/area.js.map +7 -0
- package/dist/cjs/measurement/count.js +132 -0
- package/dist/cjs/measurement/count.js.map +7 -0
- package/dist/cjs/measurement/data-size-unit.js +208 -0
- package/dist/cjs/measurement/data-size-unit.js.map +7 -0
- package/dist/cjs/measurement/data-size.js +207 -0
- package/dist/cjs/measurement/data-size.js.map +7 -0
- package/dist/cjs/measurement/electric-charge-unit.js +109 -0
- package/dist/cjs/measurement/electric-charge-unit.js.map +7 -0
- package/dist/cjs/measurement/electric-charge.js +148 -0
- package/dist/cjs/measurement/electric-charge.js.map +7 -0
- package/dist/cjs/measurement/electric-current-unit.js +108 -0
- package/dist/cjs/measurement/electric-current-unit.js.map +7 -0
- package/dist/cjs/measurement/electric-current.js +154 -0
- package/dist/cjs/measurement/electric-current.js.map +7 -0
- package/dist/cjs/measurement/energy-unit.js +201 -0
- package/dist/cjs/measurement/energy-unit.js.map +7 -0
- package/dist/cjs/measurement/energy.js +207 -0
- package/dist/cjs/measurement/energy.js.map +7 -0
- package/dist/cjs/measurement/flow-rate-unit.js +132 -0
- package/dist/cjs/measurement/flow-rate-unit.js.map +7 -0
- package/dist/cjs/measurement/flow-rate.js +162 -0
- package/dist/cjs/measurement/flow-rate.js.map +7 -0
- package/dist/cjs/measurement/frequency-unit.js +132 -0
- package/dist/cjs/measurement/frequency-unit.js.map +7 -0
- package/dist/cjs/measurement/frequency.js +165 -0
- package/dist/cjs/measurement/frequency.js.map +7 -0
- package/dist/cjs/measurement/index.js +136 -0
- package/dist/cjs/measurement/index.js.map +7 -0
- package/dist/cjs/measurement/length-unit.js +210 -0
- package/dist/cjs/measurement/length-unit.js.map +7 -0
- package/dist/cjs/measurement/length.js +208 -0
- package/dist/cjs/measurement/length.js.map +7 -0
- package/dist/cjs/measurement/luminance-unit.js +110 -0
- package/dist/cjs/measurement/luminance-unit.js.map +7 -0
- package/dist/cjs/measurement/luminance.js +158 -0
- package/dist/cjs/measurement/luminance.js.map +7 -0
- package/dist/cjs/measurement/luminous-flux-unit.js +86 -0
- package/dist/cjs/measurement/luminous-flux-unit.js.map +7 -0
- package/dist/cjs/measurement/luminous-flux.js +139 -0
- package/dist/cjs/measurement/luminous-flux.js.map +7 -0
- package/dist/cjs/measurement/percentage.js +212 -0
- package/dist/cjs/measurement/percentage.js.map +7 -0
- package/dist/cjs/measurement/power-unit.js +155 -0
- package/dist/cjs/measurement/power-unit.js.map +7 -0
- package/dist/cjs/measurement/power.js +184 -0
- package/dist/cjs/measurement/power.js.map +7 -0
- package/dist/cjs/measurement/pressure-unit.js +168 -0
- package/dist/cjs/measurement/pressure-unit.js.map +7 -0
- package/dist/cjs/measurement/pressure.js +189 -0
- package/dist/cjs/measurement/pressure.js.map +7 -0
- package/dist/cjs/measurement/rotational-speed-unit.js +96 -0
- package/dist/cjs/measurement/rotational-speed-unit.js.map +7 -0
- package/dist/cjs/measurement/rotational-speed.js +152 -0
- package/dist/cjs/measurement/rotational-speed.js.map +7 -0
- package/dist/cjs/measurement/sound-level.js +185 -0
- package/dist/cjs/measurement/sound-level.js.map +7 -0
- package/dist/cjs/measurement/speed-unit.js +119 -0
- package/dist/cjs/measurement/speed-unit.js.map +7 -0
- package/dist/cjs/measurement/speed.js +159 -0
- package/dist/cjs/measurement/speed.js.map +7 -0
- package/dist/cjs/measurement/temperature-delta.js +101 -0
- package/dist/cjs/measurement/temperature-delta.js.map +7 -0
- package/dist/cjs/measurement/temperature-unit.js +130 -0
- package/dist/cjs/measurement/temperature-unit.js.map +7 -0
- package/dist/cjs/measurement/temperature.js +216 -0
- package/dist/cjs/measurement/temperature.js.map +7 -0
- package/dist/cjs/measurement/torque-unit.js +138 -0
- package/dist/cjs/measurement/torque-unit.js.map +7 -0
- package/dist/cjs/measurement/torque.js +165 -0
- package/dist/cjs/measurement/torque.js.map +7 -0
- package/dist/cjs/measurement/voltage-unit.js +127 -0
- package/dist/cjs/measurement/voltage-unit.js.map +7 -0
- package/dist/cjs/measurement/voltage.js +159 -0
- package/dist/cjs/measurement/voltage.js.map +7 -0
- package/dist/cjs/measurement/volume-unit.js +178 -0
- package/dist/cjs/measurement/volume-unit.js.map +7 -0
- package/dist/cjs/measurement/volume.js +195 -0
- package/dist/cjs/measurement/volume.js.map +7 -0
- package/dist/cjs/measurement/weight-unit.js +158 -0
- package/dist/cjs/measurement/weight-unit.js.map +7 -0
- package/dist/cjs/measurement/weight.js +183 -0
- package/dist/cjs/measurement/weight.js.map +7 -0
- package/dist/cjs/measurement/year-month.js +204 -0
- package/dist/cjs/measurement/year-month.js.map +7 -0
- package/dist/cjs/measurement/year.js +109 -0
- package/dist/cjs/measurement/year.js.map +7 -0
- package/dist/cjs/organization/duns-number.js +114 -0
- package/dist/cjs/organization/duns-number.js.map +7 -0
- package/dist/cjs/organization/elf-code.js +132 -0
- package/dist/cjs/organization/elf-code.js.map +7 -0
- package/dist/cjs/organization/eu-organization-name.js +119 -0
- package/dist/cjs/organization/eu-organization-name.js.map +7 -0
- package/dist/cjs/organization/eu-vat-number.js +444 -0
- package/dist/cjs/organization/eu-vat-number.js.map +7 -0
- package/dist/cjs/organization/index.js +65 -0
- package/dist/cjs/organization/index.js.map +7 -0
- package/dist/cjs/organization/lei-code.js +133 -0
- package/dist/cjs/organization/lei-code.js.map +7 -0
- package/dist/cjs/organization/organization-extensions.js +80 -0
- package/dist/cjs/organization/organization-extensions.js.map +7 -0
- package/dist/cjs/organization/organization-validation-utils.js +78 -0
- package/dist/cjs/organization/organization-validation-utils.js.map +7 -0
- package/dist/cjs/organization/swedish-cfar-number.js +88 -0
- package/dist/cjs/organization/swedish-cfar-number.js.map +7 -0
- package/dist/cjs/organization/swedish-organization-identifier-type.js +34 -0
- package/dist/cjs/organization/swedish-organization-identifier-type.js.map +7 -0
- package/dist/cjs/organization/swedish-organization-identifier.js +166 -0
- package/dist/cjs/organization/swedish-organization-identifier.js.map +7 -0
- package/dist/cjs/organization/swedish-organization-name.js +255 -0
- package/dist/cjs/organization/swedish-organization-name.js.map +7 -0
- package/dist/cjs/organization/swedish-organization-number.js +289 -0
- package/dist/cjs/organization/swedish-organization-number.js.map +7 -0
- package/dist/cjs/organization/swedish-organization-type.js +51 -0
- package/dist/cjs/organization/swedish-organization-type.js.map +7 -0
- package/dist/cjs/organization/swedish-sni-code.js +96 -0
- package/dist/cjs/organization/swedish-sni-code.js.map +7 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/person/index.js +49 -0
- package/dist/cjs/person/index.js.map +7 -0
- package/dist/cjs/person/person-age.js +187 -0
- package/dist/cjs/person/person-age.js.map +7 -0
- package/dist/cjs/person/person-family-name.js +83 -0
- package/dist/cjs/person/person-family-name.js.map +7 -0
- package/dist/cjs/person/person-full-name.js +106 -0
- package/dist/cjs/person/person-full-name.js.map +7 -0
- package/dist/cjs/person/person-given-name.js +103 -0
- package/dist/cjs/person/person-given-name.js.map +7 -0
- package/dist/cjs/person/person-masking.js +48 -0
- package/dist/cjs/person/person-masking.js.map +7 -0
- package/dist/cjs/person/person-name-normalization.js +99 -0
- package/dist/cjs/person/person-name-normalization.js.map +7 -0
- package/dist/cjs/person/personnummer-parser.js +156 -0
- package/dist/cjs/person/personnummer-parser.js.map +7 -0
- package/dist/cjs/person/swedish-coordination-number.js +186 -0
- package/dist/cjs/person/swedish-coordination-number.js.map +7 -0
- package/dist/cjs/person/swedish-personal-identity-number.js +188 -0
- package/dist/cjs/person/swedish-personal-identity-number.js.map +7 -0
- package/dist/cjs/primitive-type-info.js +17 -0
- package/dist/cjs/primitive-type-info.js.map +7 -0
- package/dist/cjs/primitives-defaults.js +92 -0
- package/dist/cjs/primitives-defaults.js.map +7 -0
- package/dist/cjs/product/adult-clothing-size.js +148 -0
- package/dist/cjs/product/adult-clothing-size.js.map +7 -0
- package/dist/cjs/product/adult-shoe-size.js +139 -0
- package/dist/cjs/product/adult-shoe-size.js.map +7 -0
- package/dist/cjs/product/aspect-ratio.js +188 -0
- package/dist/cjs/product/aspect-ratio.js.map +7 -0
- package/dist/cjs/product/battery-capacity.js +184 -0
- package/dist/cjs/product/battery-capacity.js.map +7 -0
- package/dist/cjs/product/battery-chemistry.js +259 -0
- package/dist/cjs/product/battery-chemistry.js.map +7 -0
- package/dist/cjs/product/camera-resolution.js +161 -0
- package/dist/cjs/product/camera-resolution.js.map +7 -0
- package/dist/cjs/product/child-clothing-size.js +254 -0
- package/dist/cjs/product/child-clothing-size.js.map +7 -0
- package/dist/cjs/product/child-shoe-size.js +200 -0
- package/dist/cjs/product/child-shoe-size.js.map +7 -0
- package/dist/cjs/product/clothing-fit.js +223 -0
- package/dist/cjs/product/clothing-fit.js.map +7 -0
- package/dist/cjs/product/clothing-gender.js +198 -0
- package/dist/cjs/product/clothing-gender.js.map +7 -0
- package/dist/cjs/product/clothing-season.js +202 -0
- package/dist/cjs/product/clothing-season.js.map +7 -0
- package/dist/cjs/product/clothing-size-system.js +31 -0
- package/dist/cjs/product/clothing-size-system.js.map +7 -0
- package/dist/cjs/product/clothing-size.js +146 -0
- package/dist/cjs/product/clothing-size.js.map +7 -0
- package/dist/cjs/product/color.js +334 -0
- package/dist/cjs/product/color.js.map +7 -0
- package/dist/cjs/product/display-panel-type.js +287 -0
- package/dist/cjs/product/display-panel-type.js.map +7 -0
- package/dist/cjs/product/electrical-phase.js +194 -0
- package/dist/cjs/product/electrical-phase.js.map +7 -0
- package/dist/cjs/product/energy-scale.js +31 -0
- package/dist/cjs/product/energy-scale.js.map +7 -0
- package/dist/cjs/product/eu-energy-efficiency-class.js +135 -0
- package/dist/cjs/product/eu-energy-efficiency-class.js.map +7 -0
- package/dist/cjs/product/google-product-category.js +114 -0
- package/dist/cjs/product/google-product-category.js.map +7 -0
- package/dist/cjs/product/gtin.js +99 -0
- package/dist/cjs/product/gtin.js.map +7 -0
- package/dist/cjs/product/gtin12.js +130 -0
- package/dist/cjs/product/gtin12.js.map +7 -0
- package/dist/cjs/product/gtin13.js +147 -0
- package/dist/cjs/product/gtin13.js.map +7 -0
- package/dist/cjs/product/gtin14.js +135 -0
- package/dist/cjs/product/gtin14.js.map +7 -0
- package/dist/cjs/product/gtin8.js +130 -0
- package/dist/cjs/product/gtin8.js.map +7 -0
- package/dist/cjs/product/hs-code-level.js +32 -0
- package/dist/cjs/product/hs-code-level.js.map +7 -0
- package/dist/cjs/product/hs-code.js +126 -0
- package/dist/cjs/product/hs-code.js.map +7 -0
- package/dist/cjs/product/index.js +128 -0
- package/dist/cjs/product/index.js.map +7 -0
- package/dist/cjs/product/ip-rating.js +166 -0
- package/dist/cjs/product/ip-rating.js.map +7 -0
- package/dist/cjs/product/operating-system-family.js +37 -0
- package/dist/cjs/product/operating-system-family.js.map +7 -0
- package/dist/cjs/product/operating-system-info.js +100 -0
- package/dist/cjs/product/operating-system-info.js.map +7 -0
- package/dist/cjs/product/operating-system-name.js +127 -0
- package/dist/cjs/product/operating-system-name.js.map +7 -0
- package/dist/cjs/product/operating-system-version.js +110 -0
- package/dist/cjs/product/operating-system-version.js.map +7 -0
- package/dist/cjs/product/power-source.js +318 -0
- package/dist/cjs/product/power-source.js.map +7 -0
- package/dist/cjs/product/processor-speed.js +159 -0
- package/dist/cjs/product/processor-speed.js.map +7 -0
- package/dist/cjs/product/product-extensions.js +27 -0
- package/dist/cjs/product/product-extensions.js.map +7 -0
- package/dist/cjs/product/product-masking.js +102 -0
- package/dist/cjs/product/product-masking.js.map +7 -0
- package/dist/cjs/product/ram-capacity.js +154 -0
- package/dist/cjs/product/ram-capacity.js.map +7 -0
- package/dist/cjs/product/refrigerant-family.js +40 -0
- package/dist/cjs/product/refrigerant-family.js.map +7 -0
- package/dist/cjs/product/refrigerant.js +419 -0
- package/dist/cjs/product/refrigerant.js.map +7 -0
- package/dist/cjs/product/screen-resolution.js +197 -0
- package/dist/cjs/product/screen-resolution.js.map +7 -0
- package/dist/cjs/product/screen-size.js +184 -0
- package/dist/cjs/product/screen-size.js.map +7 -0
- package/dist/cjs/product/shoe-size-system.js +31 -0
- package/dist/cjs/product/shoe-size-system.js.map +7 -0
- package/dist/cjs/product/shoe-size.js +138 -0
- package/dist/cjs/product/shoe-size.js.map +7 -0
- package/dist/cjs/product/storage-capacity.js +159 -0
- package/dist/cjs/product/storage-capacity.js.map +7 -0
- package/dist/cjs/product/storage-media-type.js +271 -0
- package/dist/cjs/product/storage-media-type.js.map +7 -0
- package/dist/cjs/property/index.js +31 -0
- package/dist/cjs/property/index.js.map +7 -0
- package/dist/cjs/property/swedish-property-designation.js +179 -0
- package/dist/cjs/property/swedish-property-designation.js.map +7 -0
- package/dist/cjs/property/swedish-property-taxation-code.js +218 -0
- package/dist/cjs/property/swedish-property-taxation-code.js.map +7 -0
- package/dist/cjs/register-default-text-scanners.js +290 -0
- package/dist/cjs/register-default-text-scanners.js.map +7 -0
- package/dist/cjs/sample-data/index.js +358 -0
- package/dist/cjs/sample-data/index.js.map +7 -0
- package/dist/cjs/text-scanning/index.js +38 -0
- package/dist/cjs/text-scanning/index.js.map +7 -0
- package/dist/cjs/text-scanning/text-candidate-category.js +35 -0
- package/dist/cjs/text-scanning/text-candidate-category.js.map +7 -0
- package/dist/cjs/text-scanning/text-candidate.js +75 -0
- package/dist/cjs/text-scanning/text-candidate.js.map +7 -0
- package/dist/cjs/text-scanning/text-match-confidence.js +43 -0
- package/dist/cjs/text-scanning/text-match-confidence.js.map +7 -0
- package/dist/cjs/text-scanning/text-scan-helpers.js +98 -0
- package/dist/cjs/text-scanning/text-scan-helpers.js.map +7 -0
- package/dist/cjs/text-scanning/text-scan-result.js +333 -0
- package/dist/cjs/text-scanning/text-scan-result.js.map +7 -0
- package/dist/cjs/text-scanning/text-scanner-options.js +29 -0
- package/dist/cjs/text-scanning/text-scanner-options.js.map +7 -0
- package/dist/cjs/text-scanning/text-scanner.js +60 -0
- package/dist/cjs/text-scanning/text-scanner.js.map +7 -0
- package/dist/cjs/validation/index.js +29 -0
- package/dist/cjs/validation/index.js.map +7 -0
- package/dist/cjs/validation/validation-error-reason.js +53 -0
- package/dist/cjs/validation/validation-error-reason.js.map +7 -0
- package/dist/cjs/validation/validation-issue.js +43 -0
- package/dist/cjs/validation/validation-issue.js.map +7 -0
- package/dist/cjs/validation/validation-result.js +52 -0
- package/dist/cjs/validation/validation-result.js.map +7 -0
- package/dist/cjs/vehicle/boat-ce-design-category.js +200 -0
- package/dist/cjs/vehicle/boat-ce-design-category.js.map +7 -0
- package/dist/cjs/vehicle/boat-hull-material.js +222 -0
- package/dist/cjs/vehicle/boat-hull-material.js.map +7 -0
- package/dist/cjs/vehicle/body-type.js +325 -0
- package/dist/cjs/vehicle/body-type.js.map +7 -0
- package/dist/cjs/vehicle/bolt-pattern.js +150 -0
- package/dist/cjs/vehicle/bolt-pattern.js.map +7 -0
- package/dist/cjs/vehicle/drivetrain-type.js +200 -0
- package/dist/cjs/vehicle/drivetrain-type.js.map +7 -0
- package/dist/cjs/vehicle/emission-rate.js +194 -0
- package/dist/cjs/vehicle/emission-rate.js.map +7 -0
- package/dist/cjs/vehicle/energy-consumption.js +250 -0
- package/dist/cjs/vehicle/energy-consumption.js.map +7 -0
- package/dist/cjs/vehicle/engine-displacement.js +169 -0
- package/dist/cjs/vehicle/engine-displacement.js.map +7 -0
- package/dist/cjs/vehicle/engine-power.js +211 -0
- package/dist/cjs/vehicle/engine-power.js.map +7 -0
- package/dist/cjs/vehicle/eu-type-approval-number.js +196 -0
- package/dist/cjs/vehicle/eu-type-approval-number.js.map +7 -0
- package/dist/cjs/vehicle/eu-vehicle-category.js +167 -0
- package/dist/cjs/vehicle/eu-vehicle-category.js.map +7 -0
- package/dist/cjs/vehicle/euro-emission-class.js +313 -0
- package/dist/cjs/vehicle/euro-emission-class.js.map +7 -0
- package/dist/cjs/vehicle/fuel-consumption-norm.js +206 -0
- package/dist/cjs/vehicle/fuel-consumption-norm.js.map +7 -0
- package/dist/cjs/vehicle/fuel-consumption.js +281 -0
- package/dist/cjs/vehicle/fuel-consumption.js.map +7 -0
- package/dist/cjs/vehicle/fuel-type.js +288 -0
- package/dist/cjs/vehicle/fuel-type.js.map +7 -0
- package/dist/cjs/vehicle/index.js +108 -0
- package/dist/cjs/vehicle/index.js.map +7 -0
- package/dist/cjs/vehicle/odometer-reading.js +165 -0
- package/dist/cjs/vehicle/odometer-reading.js.map +7 -0
- package/dist/cjs/vehicle/operating-hours.js +174 -0
- package/dist/cjs/vehicle/operating-hours.js.map +7 -0
- package/dist/cjs/vehicle/suspension-type.js +312 -0
- package/dist/cjs/vehicle/suspension-type.js.map +7 -0
- package/dist/cjs/vehicle/swedish-driving-license-category.js +404 -0
- package/dist/cjs/vehicle/swedish-driving-license-category.js.map +7 -0
- package/dist/cjs/vehicle/swedish-driving-license-vehicle-group.js +32 -0
- package/dist/cjs/vehicle/swedish-driving-license-vehicle-group.js.map +7 -0
- package/dist/cjs/vehicle/swedish-eco-vehicle-classification.js +232 -0
- package/dist/cjs/vehicle/swedish-eco-vehicle-classification.js.map +7 -0
- package/dist/cjs/vehicle/swedish-vehicle-registration-number.js +193 -0
- package/dist/cjs/vehicle/swedish-vehicle-registration-number.js.map +7 -0
- package/dist/cjs/vehicle/swedish-vehicle-status.js +172 -0
- package/dist/cjs/vehicle/swedish-vehicle-status.js.map +7 -0
- package/dist/cjs/vehicle/swedish-vehicle-type.js +282 -0
- package/dist/cjs/vehicle/swedish-vehicle-type.js.map +7 -0
- package/dist/cjs/vehicle/tire-dimension.js +206 -0
- package/dist/cjs/vehicle/tire-dimension.js.map +7 -0
- package/dist/cjs/vehicle/tire-type.js +228 -0
- package/dist/cjs/vehicle/tire-type.js.map +7 -0
- package/dist/cjs/vehicle/track-type.js +188 -0
- package/dist/cjs/vehicle/track-type.js.map +7 -0
- package/dist/cjs/vehicle/transmission-type.js +258 -0
- package/dist/cjs/vehicle/transmission-type.js.map +7 -0
- package/dist/cjs/vehicle/vehicle-extensions.js +35 -0
- package/dist/cjs/vehicle/vehicle-extensions.js.map +7 -0
- package/dist/cjs/vehicle/vehicle-identification-number.js +265 -0
- package/dist/cjs/vehicle/vehicle-identification-number.js.map +7 -0
- package/dist/cjs/vehicle/vehicle-masking.js +68 -0
- package/dist/cjs/vehicle/vehicle-masking.js.map +7 -0
- package/dist/cjs/vehicle/wheel-rim-dimension.js +183 -0
- package/dist/cjs/vehicle/wheel-rim-dimension.js.map +7 -0
- package/dist/cjs/web/email-address.js +542 -0
- package/dist/cjs/web/email-address.js.map +7 -0
- package/dist/cjs/web/index.js +31 -0
- package/dist/cjs/web/index.js.map +7 -0
- package/dist/cjs/web/url.js +353 -0
- package/dist/cjs/web/url.js.map +7 -0
- package/dist/esm/banking/bank-resolver.js +358 -0
- package/dist/esm/banking/bank-resolver.js.map +7 -0
- package/dist/esm/banking/bic.js +169 -0
- package/dist/esm/banking/bic.js.map +7 -0
- package/dist/esm/banking/iban.js +294 -0
- package/dist/esm/banking/iban.js.map +7 -0
- package/dist/esm/banking/index.js +60 -0
- package/dist/esm/banking/index.js.map +7 -0
- package/dist/esm/banking/swedish-bank-account-holder-name.js +104 -0
- package/dist/esm/banking/swedish-bank-account-holder-name.js.map +7 -0
- package/dist/esm/banking/swedish-bank-account.js +199 -0
- package/dist/esm/banking/swedish-bank-account.js.map +7 -0
- package/dist/esm/banking/swedish-bank-clearing-number.js +136 -0
- package/dist/esm/banking/swedish-bank-clearing-number.js.map +7 -0
- package/dist/esm/banking/swedish-bank.js +69 -0
- package/dist/esm/banking/swedish-bank.js.map +7 -0
- package/dist/esm/banking/swedish-bankgiro-number.js +156 -0
- package/dist/esm/banking/swedish-bankgiro-number.js.map +7 -0
- package/dist/esm/banking/swedish-banking-number.js +181 -0
- package/dist/esm/banking/swedish-banking-number.js.map +7 -0
- package/dist/esm/banking/swedish-ocr-reference-number.js +195 -0
- package/dist/esm/banking/swedish-ocr-reference-number.js.map +7 -0
- package/dist/esm/banking/swedish-postgiro-number.js +153 -0
- package/dist/esm/banking/swedish-postgiro-number.js.map +7 -0
- package/dist/esm/banking/swedish-swish-number.js +145 -0
- package/dist/esm/banking/swedish-swish-number.js.map +7 -0
- package/dist/esm/contact/address-city.js +84 -0
- package/dist/esm/contact/address-city.js.map +7 -0
- package/dist/esm/contact/address-street.js +200 -0
- package/dist/esm/contact/address-street.js.map +7 -0
- package/dist/esm/contact/address-zip-code.js +175 -0
- package/dist/esm/contact/address-zip-code.js.map +7 -0
- package/dist/esm/contact/address.js +388 -0
- package/dist/esm/contact/address.js.map +7 -0
- package/dist/esm/contact/contact-address.js +122 -0
- package/dist/esm/contact/contact-address.js.map +7 -0
- package/dist/esm/contact/contact-external-links.js +19 -0
- package/dist/esm/contact/contact-external-links.js.map +7 -0
- package/dist/esm/contact/contact-lookup.js +11 -0
- package/dist/esm/contact/contact-lookup.js.map +7 -0
- package/dist/esm/contact/contact-masking.js +97 -0
- package/dist/esm/contact/contact-masking.js.map +7 -0
- package/dist/esm/contact/country-address-factory.js +80 -0
- package/dist/esm/contact/country-address-factory.js.map +7 -0
- package/dist/esm/contact/country-address-registry.js +16 -0
- package/dist/esm/contact/country-address-registry.js.map +7 -0
- package/dist/esm/contact/country-address.js +78 -0
- package/dist/esm/contact/country-address.js.map +7 -0
- package/dist/esm/contact/country-addresses.js +316 -0
- package/dist/esm/contact/country-addresses.js.map +7 -0
- package/dist/esm/contact/country-zip-code-factory.js +97 -0
- package/dist/esm/contact/country-zip-code-factory.js.map +7 -0
- package/dist/esm/contact/country-zip-codes.js +363 -0
- package/dist/esm/contact/country-zip-codes.js.map +7 -0
- package/dist/esm/contact/index.js +63 -0
- package/dist/esm/contact/index.js.map +7 -0
- package/dist/esm/contact/phone-calling-code.js +419 -0
- package/dist/esm/contact/phone-calling-code.js.map +7 -0
- package/dist/esm/contact/phone-number-test-data.js +43 -0
- package/dist/esm/contact/phone-number-test-data.js.map +7 -0
- package/dist/esm/contact/phone-number.js +305 -0
- package/dist/esm/contact/phone-number.js.map +7 -0
- package/dist/esm/contact/register-default-country-addresses.js +58 -0
- package/dist/esm/contact/register-default-country-addresses.js.map +7 -0
- package/dist/esm/contact/swedish-address-zip-code.js +72 -0
- package/dist/esm/contact/swedish-address-zip-code.js.map +7 -0
- package/dist/esm/contact/swedish-address.js +149 -0
- package/dist/esm/contact/swedish-address.js.map +7 -0
- package/dist/esm/finance/currency.js +231 -0
- package/dist/esm/finance/currency.js.map +7 -0
- package/dist/esm/finance/exchange-rates.js +31 -0
- package/dist/esm/finance/exchange-rates.js.map +7 -0
- package/dist/esm/finance/index.js +14 -0
- package/dist/esm/finance/index.js.map +7 -0
- package/dist/esm/finance/isin.js +141 -0
- package/dist/esm/finance/isin.js.map +7 -0
- package/dist/esm/finance/money-amount.js +287 -0
- package/dist/esm/finance/money-amount.js.map +7 -0
- package/dist/esm/geography/adjacency-data.js +315 -0
- package/dist/esm/geography/adjacency-data.js.map +7 -0
- package/dist/esm/geography/continent.js +105 -0
- package/dist/esm/geography/continent.js.map +7 -0
- package/dist/esm/geography/country-capital.js +25 -0
- package/dist/esm/geography/country-capital.js.map +7 -0
- package/dist/esm/geography/country-capitals.js +268 -0
- package/dist/esm/geography/country-capitals.js.map +7 -0
- package/dist/esm/geography/country-coordinates.js +218 -0
- package/dist/esm/geography/country-coordinates.js.map +7 -0
- package/dist/esm/geography/country-data.js +510 -0
- package/dist/esm/geography/country-data.js.map +7 -0
- package/dist/esm/geography/country-metadata.js +607 -0
- package/dist/esm/geography/country-metadata.js.map +7 -0
- package/dist/esm/geography/country.js +417 -0
- package/dist/esm/geography/country.js.map +7 -0
- package/dist/esm/geography/geo-coordinate.js +224 -0
- package/dist/esm/geography/geo-coordinate.js.map +7 -0
- package/dist/esm/geography/geography-extensions.js +62 -0
- package/dist/esm/geography/geography-extensions.js.map +7 -0
- package/dist/esm/geography/geography-external-links.js +32 -0
- package/dist/esm/geography/geography-external-links.js.map +7 -0
- package/dist/esm/geography/geography-lookup.js +11 -0
- package/dist/esm/geography/geography-lookup.js.map +7 -0
- package/dist/esm/geography/geography-masking.js +34 -0
- package/dist/esm/geography/geography-masking.js.map +7 -0
- package/dist/esm/geography/index.js +55 -0
- package/dist/esm/geography/index.js.map +7 -0
- package/dist/esm/geography/language.js +442 -0
- package/dist/esm/geography/language.js.map +7 -0
- package/dist/esm/geography/swedish-county.js +212 -0
- package/dist/esm/geography/swedish-county.js.map +7 -0
- package/dist/esm/geography/swedish-municipality-data.js +296 -0
- package/dist/esm/geography/swedish-municipality-data.js.map +7 -0
- package/dist/esm/geography/swedish-municipality.js +198 -0
- package/dist/esm/geography/swedish-municipality.js.map +7 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/internal/case-folding.js +12 -0
- package/dist/esm/internal/case-folding.js.map +7 -0
- package/dist/esm/internal/clock.js +12 -0
- package/dist/esm/internal/clock.js.map +7 -0
- package/dist/esm/internal/decimal.js +242 -0
- package/dist/esm/internal/decimal.js.map +7 -0
- package/dist/esm/internal/gs1-prefix.js +144 -0
- package/dist/esm/internal/gs1-prefix.js.map +7 -0
- package/dist/esm/internal/gtin-check-digit.js +26 -0
- package/dist/esm/internal/gtin-check-digit.js.map +7 -0
- package/dist/esm/internal/input-sanitization.js +59 -0
- package/dist/esm/internal/input-sanitization.js.map +7 -0
- package/dist/esm/internal/luhn.js +20 -0
- package/dist/esm/internal/luhn.js.map +7 -0
- package/dist/esm/internal/measurement-unit-parser.js +66 -0
- package/dist/esm/internal/measurement-unit-parser.js.map +7 -0
- package/dist/esm/internal/measurement-unit.js +110 -0
- package/dist/esm/internal/measurement-unit.js.map +7 -0
- package/dist/esm/internal/quantity.js +102 -0
- package/dist/esm/internal/quantity.js.map +7 -0
- package/dist/esm/internal/shoe-size-format.js +11 -0
- package/dist/esm/internal/shoe-size-format.js.map +7 -0
- package/dist/esm/measurement/area-unit.js +138 -0
- package/dist/esm/measurement/area-unit.js.map +7 -0
- package/dist/esm/measurement/area.js +163 -0
- package/dist/esm/measurement/area.js.map +7 -0
- package/dist/esm/measurement/count.js +112 -0
- package/dist/esm/measurement/count.js.map +7 -0
- package/dist/esm/measurement/data-size-unit.js +188 -0
- package/dist/esm/measurement/data-size-unit.js.map +7 -0
- package/dist/esm/measurement/data-size.js +187 -0
- package/dist/esm/measurement/data-size.js.map +7 -0
- package/dist/esm/measurement/electric-charge-unit.js +89 -0
- package/dist/esm/measurement/electric-charge-unit.js.map +7 -0
- package/dist/esm/measurement/electric-charge.js +128 -0
- package/dist/esm/measurement/electric-charge.js.map +7 -0
- package/dist/esm/measurement/electric-current-unit.js +88 -0
- package/dist/esm/measurement/electric-current-unit.js.map +7 -0
- package/dist/esm/measurement/electric-current.js +134 -0
- package/dist/esm/measurement/electric-current.js.map +7 -0
- package/dist/esm/measurement/energy-unit.js +181 -0
- package/dist/esm/measurement/energy-unit.js.map +7 -0
- package/dist/esm/measurement/energy.js +187 -0
- package/dist/esm/measurement/energy.js.map +7 -0
- package/dist/esm/measurement/flow-rate-unit.js +112 -0
- package/dist/esm/measurement/flow-rate-unit.js.map +7 -0
- package/dist/esm/measurement/flow-rate.js +142 -0
- package/dist/esm/measurement/flow-rate.js.map +7 -0
- package/dist/esm/measurement/frequency-unit.js +112 -0
- package/dist/esm/measurement/frequency-unit.js.map +7 -0
- package/dist/esm/measurement/frequency.js +145 -0
- package/dist/esm/measurement/frequency.js.map +7 -0
- package/dist/esm/measurement/index.js +129 -0
- package/dist/esm/measurement/index.js.map +7 -0
- package/dist/esm/measurement/length-unit.js +190 -0
- package/dist/esm/measurement/length-unit.js.map +7 -0
- package/dist/esm/measurement/length.js +188 -0
- package/dist/esm/measurement/length.js.map +7 -0
- package/dist/esm/measurement/luminance-unit.js +90 -0
- package/dist/esm/measurement/luminance-unit.js.map +7 -0
- package/dist/esm/measurement/luminance.js +138 -0
- package/dist/esm/measurement/luminance.js.map +7 -0
- package/dist/esm/measurement/luminous-flux-unit.js +66 -0
- package/dist/esm/measurement/luminous-flux-unit.js.map +7 -0
- package/dist/esm/measurement/luminous-flux.js +119 -0
- package/dist/esm/measurement/luminous-flux.js.map +7 -0
- package/dist/esm/measurement/percentage.js +192 -0
- package/dist/esm/measurement/percentage.js.map +7 -0
- package/dist/esm/measurement/power-unit.js +135 -0
- package/dist/esm/measurement/power-unit.js.map +7 -0
- package/dist/esm/measurement/power.js +164 -0
- package/dist/esm/measurement/power.js.map +7 -0
- package/dist/esm/measurement/pressure-unit.js +148 -0
- package/dist/esm/measurement/pressure-unit.js.map +7 -0
- package/dist/esm/measurement/pressure.js +169 -0
- package/dist/esm/measurement/pressure.js.map +7 -0
- package/dist/esm/measurement/rotational-speed-unit.js +76 -0
- package/dist/esm/measurement/rotational-speed-unit.js.map +7 -0
- package/dist/esm/measurement/rotational-speed.js +132 -0
- package/dist/esm/measurement/rotational-speed.js.map +7 -0
- package/dist/esm/measurement/sound-level.js +165 -0
- package/dist/esm/measurement/sound-level.js.map +7 -0
- package/dist/esm/measurement/speed-unit.js +99 -0
- package/dist/esm/measurement/speed-unit.js.map +7 -0
- package/dist/esm/measurement/speed.js +139 -0
- package/dist/esm/measurement/speed.js.map +7 -0
- package/dist/esm/measurement/temperature-delta.js +81 -0
- package/dist/esm/measurement/temperature-delta.js.map +7 -0
- package/dist/esm/measurement/temperature-unit.js +110 -0
- package/dist/esm/measurement/temperature-unit.js.map +7 -0
- package/dist/esm/measurement/temperature.js +196 -0
- package/dist/esm/measurement/temperature.js.map +7 -0
- package/dist/esm/measurement/torque-unit.js +118 -0
- package/dist/esm/measurement/torque-unit.js.map +7 -0
- package/dist/esm/measurement/torque.js +145 -0
- package/dist/esm/measurement/torque.js.map +7 -0
- package/dist/esm/measurement/voltage-unit.js +107 -0
- package/dist/esm/measurement/voltage-unit.js.map +7 -0
- package/dist/esm/measurement/voltage.js +139 -0
- package/dist/esm/measurement/voltage.js.map +7 -0
- package/dist/esm/measurement/volume-unit.js +158 -0
- package/dist/esm/measurement/volume-unit.js.map +7 -0
- package/dist/esm/measurement/volume.js +175 -0
- package/dist/esm/measurement/volume.js.map +7 -0
- package/dist/esm/measurement/weight-unit.js +138 -0
- package/dist/esm/measurement/weight-unit.js.map +7 -0
- package/dist/esm/measurement/weight.js +163 -0
- package/dist/esm/measurement/weight.js.map +7 -0
- package/dist/esm/measurement/year-month.js +184 -0
- package/dist/esm/measurement/year-month.js.map +7 -0
- package/dist/esm/measurement/year.js +89 -0
- package/dist/esm/measurement/year.js.map +7 -0
- package/dist/esm/organization/duns-number.js +94 -0
- package/dist/esm/organization/duns-number.js.map +7 -0
- package/dist/esm/organization/elf-code.js +112 -0
- package/dist/esm/organization/elf-code.js.map +7 -0
- package/dist/esm/organization/eu-organization-name.js +99 -0
- package/dist/esm/organization/eu-organization-name.js.map +7 -0
- package/dist/esm/organization/eu-vat-number.js +424 -0
- package/dist/esm/organization/eu-vat-number.js.map +7 -0
- package/dist/esm/organization/index.js +62 -0
- package/dist/esm/organization/index.js.map +7 -0
- package/dist/esm/organization/lei-code.js +113 -0
- package/dist/esm/organization/lei-code.js.map +7 -0
- package/dist/esm/organization/organization-extensions.js +60 -0
- package/dist/esm/organization/organization-extensions.js.map +7 -0
- package/dist/esm/organization/organization-validation-utils.js +58 -0
- package/dist/esm/organization/organization-validation-utils.js.map +7 -0
- package/dist/esm/organization/swedish-cfar-number.js +68 -0
- package/dist/esm/organization/swedish-cfar-number.js.map +7 -0
- package/dist/esm/organization/swedish-organization-identifier-type.js +14 -0
- package/dist/esm/organization/swedish-organization-identifier-type.js.map +7 -0
- package/dist/esm/organization/swedish-organization-identifier.js +146 -0
- package/dist/esm/organization/swedish-organization-identifier.js.map +7 -0
- package/dist/esm/organization/swedish-organization-name.js +235 -0
- package/dist/esm/organization/swedish-organization-name.js.map +7 -0
- package/dist/esm/organization/swedish-organization-number.js +269 -0
- package/dist/esm/organization/swedish-organization-number.js.map +7 -0
- package/dist/esm/organization/swedish-organization-type.js +31 -0
- package/dist/esm/organization/swedish-organization-type.js.map +7 -0
- package/dist/esm/organization/swedish-sni-code.js +76 -0
- package/dist/esm/organization/swedish-sni-code.js.map +7 -0
- package/dist/esm/person/index.js +42 -0
- package/dist/esm/person/index.js.map +7 -0
- package/dist/esm/person/person-age.js +167 -0
- package/dist/esm/person/person-age.js.map +7 -0
- package/dist/esm/person/person-family-name.js +67 -0
- package/dist/esm/person/person-family-name.js.map +7 -0
- package/dist/esm/person/person-full-name.js +86 -0
- package/dist/esm/person/person-full-name.js.map +7 -0
- package/dist/esm/person/person-given-name.js +87 -0
- package/dist/esm/person/person-given-name.js.map +7 -0
- package/dist/esm/person/person-masking.js +28 -0
- package/dist/esm/person/person-masking.js.map +7 -0
- package/dist/esm/person/person-name-normalization.js +79 -0
- package/dist/esm/person/person-name-normalization.js.map +7 -0
- package/dist/esm/person/personnummer-parser.js +136 -0
- package/dist/esm/person/personnummer-parser.js.map +7 -0
- package/dist/esm/person/swedish-coordination-number.js +173 -0
- package/dist/esm/person/swedish-coordination-number.js.map +7 -0
- package/dist/esm/person/swedish-personal-identity-number.js +175 -0
- package/dist/esm/person/swedish-personal-identity-number.js.map +7 -0
- package/dist/esm/primitive-type-info.js +1 -0
- package/dist/esm/primitive-type-info.js.map +7 -0
- package/dist/esm/primitives-defaults.js +72 -0
- package/dist/esm/primitives-defaults.js.map +7 -0
- package/dist/esm/product/adult-clothing-size.js +128 -0
- package/dist/esm/product/adult-clothing-size.js.map +7 -0
- package/dist/esm/product/adult-shoe-size.js +119 -0
- package/dist/esm/product/adult-shoe-size.js.map +7 -0
- package/dist/esm/product/aspect-ratio.js +168 -0
- package/dist/esm/product/aspect-ratio.js.map +7 -0
- package/dist/esm/product/battery-capacity.js +164 -0
- package/dist/esm/product/battery-capacity.js.map +7 -0
- package/dist/esm/product/battery-chemistry.js +239 -0
- package/dist/esm/product/battery-chemistry.js.map +7 -0
- package/dist/esm/product/camera-resolution.js +141 -0
- package/dist/esm/product/camera-resolution.js.map +7 -0
- package/dist/esm/product/child-clothing-size.js +234 -0
- package/dist/esm/product/child-clothing-size.js.map +7 -0
- package/dist/esm/product/child-shoe-size.js +180 -0
- package/dist/esm/product/child-shoe-size.js.map +7 -0
- package/dist/esm/product/clothing-fit.js +203 -0
- package/dist/esm/product/clothing-fit.js.map +7 -0
- package/dist/esm/product/clothing-gender.js +178 -0
- package/dist/esm/product/clothing-gender.js.map +7 -0
- package/dist/esm/product/clothing-season.js +182 -0
- package/dist/esm/product/clothing-season.js.map +7 -0
- package/dist/esm/product/clothing-size-system.js +11 -0
- package/dist/esm/product/clothing-size-system.js.map +7 -0
- package/dist/esm/product/clothing-size.js +126 -0
- package/dist/esm/product/clothing-size.js.map +7 -0
- package/dist/esm/product/color.js +314 -0
- package/dist/esm/product/color.js.map +7 -0
- package/dist/esm/product/display-panel-type.js +267 -0
- package/dist/esm/product/display-panel-type.js.map +7 -0
- package/dist/esm/product/electrical-phase.js +174 -0
- package/dist/esm/product/electrical-phase.js.map +7 -0
- package/dist/esm/product/energy-scale.js +11 -0
- package/dist/esm/product/energy-scale.js.map +7 -0
- package/dist/esm/product/eu-energy-efficiency-class.js +115 -0
- package/dist/esm/product/eu-energy-efficiency-class.js.map +7 -0
- package/dist/esm/product/google-product-category.js +94 -0
- package/dist/esm/product/google-product-category.js.map +7 -0
- package/dist/esm/product/gtin.js +83 -0
- package/dist/esm/product/gtin.js.map +7 -0
- package/dist/esm/product/gtin12.js +110 -0
- package/dist/esm/product/gtin12.js.map +7 -0
- package/dist/esm/product/gtin13.js +127 -0
- package/dist/esm/product/gtin13.js.map +7 -0
- package/dist/esm/product/gtin14.js +115 -0
- package/dist/esm/product/gtin14.js.map +7 -0
- package/dist/esm/product/gtin8.js +110 -0
- package/dist/esm/product/gtin8.js.map +7 -0
- package/dist/esm/product/hs-code-level.js +12 -0
- package/dist/esm/product/hs-code-level.js.map +7 -0
- package/dist/esm/product/hs-code.js +106 -0
- package/dist/esm/product/hs-code.js.map +7 -0
- package/dist/esm/product/index.js +137 -0
- package/dist/esm/product/index.js.map +7 -0
- package/dist/esm/product/ip-rating.js +146 -0
- package/dist/esm/product/ip-rating.js.map +7 -0
- package/dist/esm/product/operating-system-family.js +17 -0
- package/dist/esm/product/operating-system-family.js.map +7 -0
- package/dist/esm/product/operating-system-info.js +80 -0
- package/dist/esm/product/operating-system-info.js.map +7 -0
- package/dist/esm/product/operating-system-name.js +107 -0
- package/dist/esm/product/operating-system-name.js.map +7 -0
- package/dist/esm/product/operating-system-version.js +90 -0
- package/dist/esm/product/operating-system-version.js.map +7 -0
- package/dist/esm/product/power-source.js +298 -0
- package/dist/esm/product/power-source.js.map +7 -0
- package/dist/esm/product/processor-speed.js +139 -0
- package/dist/esm/product/processor-speed.js.map +7 -0
- package/dist/esm/product/product-extensions.js +7 -0
- package/dist/esm/product/product-extensions.js.map +7 -0
- package/dist/esm/product/product-masking.js +82 -0
- package/dist/esm/product/product-masking.js.map +7 -0
- package/dist/esm/product/ram-capacity.js +134 -0
- package/dist/esm/product/ram-capacity.js.map +7 -0
- package/dist/esm/product/refrigerant-family.js +20 -0
- package/dist/esm/product/refrigerant-family.js.map +7 -0
- package/dist/esm/product/refrigerant.js +399 -0
- package/dist/esm/product/refrigerant.js.map +7 -0
- package/dist/esm/product/screen-resolution.js +177 -0
- package/dist/esm/product/screen-resolution.js.map +7 -0
- package/dist/esm/product/screen-size.js +164 -0
- package/dist/esm/product/screen-size.js.map +7 -0
- package/dist/esm/product/shoe-size-system.js +11 -0
- package/dist/esm/product/shoe-size-system.js.map +7 -0
- package/dist/esm/product/shoe-size.js +118 -0
- package/dist/esm/product/shoe-size.js.map +7 -0
- package/dist/esm/product/storage-capacity.js +139 -0
- package/dist/esm/product/storage-capacity.js.map +7 -0
- package/dist/esm/product/storage-media-type.js +251 -0
- package/dist/esm/product/storage-media-type.js.map +7 -0
- package/dist/esm/property/index.js +19 -0
- package/dist/esm/property/index.js.map +7 -0
- package/dist/esm/property/swedish-property-designation.js +159 -0
- package/dist/esm/property/swedish-property-designation.js.map +7 -0
- package/dist/esm/property/swedish-property-taxation-code.js +198 -0
- package/dist/esm/property/swedish-property-taxation-code.js.map +7 -0
- package/dist/esm/register-default-text-scanners.js +270 -0
- package/dist/esm/register-default-text-scanners.js.map +7 -0
- package/dist/esm/sample-data/index.js +355 -0
- package/dist/esm/sample-data/index.js.map +7 -0
- package/dist/esm/text-scanning/index.js +21 -0
- package/dist/esm/text-scanning/index.js.map +7 -0
- package/dist/esm/text-scanning/text-candidate-category.js +15 -0
- package/dist/esm/text-scanning/text-candidate-category.js.map +7 -0
- package/dist/esm/text-scanning/text-candidate.js +55 -0
- package/dist/esm/text-scanning/text-candidate.js.map +7 -0
- package/dist/esm/text-scanning/text-match-confidence.js +23 -0
- package/dist/esm/text-scanning/text-match-confidence.js.map +7 -0
- package/dist/esm/text-scanning/text-scan-helpers.js +78 -0
- package/dist/esm/text-scanning/text-scan-helpers.js.map +7 -0
- package/dist/esm/text-scanning/text-scan-result.js +313 -0
- package/dist/esm/text-scanning/text-scan-result.js.map +7 -0
- package/dist/esm/text-scanning/text-scanner-options.js +9 -0
- package/dist/esm/text-scanning/text-scanner-options.js.map +7 -0
- package/dist/esm/text-scanning/text-scanner.js +40 -0
- package/dist/esm/text-scanning/text-scanner.js.map +7 -0
- package/dist/esm/validation/index.js +9 -0
- package/dist/esm/validation/index.js.map +7 -0
- package/dist/esm/validation/validation-error-reason.js +33 -0
- package/dist/esm/validation/validation-error-reason.js.map +7 -0
- package/dist/esm/validation/validation-issue.js +23 -0
- package/dist/esm/validation/validation-issue.js.map +7 -0
- package/dist/esm/validation/validation-result.js +32 -0
- package/dist/esm/validation/validation-result.js.map +7 -0
- package/dist/esm/vehicle/boat-ce-design-category.js +180 -0
- package/dist/esm/vehicle/boat-ce-design-category.js.map +7 -0
- package/dist/esm/vehicle/boat-hull-material.js +202 -0
- package/dist/esm/vehicle/boat-hull-material.js.map +7 -0
- package/dist/esm/vehicle/body-type.js +305 -0
- package/dist/esm/vehicle/body-type.js.map +7 -0
- package/dist/esm/vehicle/bolt-pattern.js +130 -0
- package/dist/esm/vehicle/bolt-pattern.js.map +7 -0
- package/dist/esm/vehicle/drivetrain-type.js +180 -0
- package/dist/esm/vehicle/drivetrain-type.js.map +7 -0
- package/dist/esm/vehicle/emission-rate.js +174 -0
- package/dist/esm/vehicle/emission-rate.js.map +7 -0
- package/dist/esm/vehicle/energy-consumption.js +230 -0
- package/dist/esm/vehicle/energy-consumption.js.map +7 -0
- package/dist/esm/vehicle/engine-displacement.js +149 -0
- package/dist/esm/vehicle/engine-displacement.js.map +7 -0
- package/dist/esm/vehicle/engine-power.js +191 -0
- package/dist/esm/vehicle/engine-power.js.map +7 -0
- package/dist/esm/vehicle/eu-type-approval-number.js +176 -0
- package/dist/esm/vehicle/eu-type-approval-number.js.map +7 -0
- package/dist/esm/vehicle/eu-vehicle-category.js +147 -0
- package/dist/esm/vehicle/eu-vehicle-category.js.map +7 -0
- package/dist/esm/vehicle/euro-emission-class.js +293 -0
- package/dist/esm/vehicle/euro-emission-class.js.map +7 -0
- package/dist/esm/vehicle/fuel-consumption-norm.js +186 -0
- package/dist/esm/vehicle/fuel-consumption-norm.js.map +7 -0
- package/dist/esm/vehicle/fuel-consumption.js +261 -0
- package/dist/esm/vehicle/fuel-consumption.js.map +7 -0
- package/dist/esm/vehicle/fuel-type.js +268 -0
- package/dist/esm/vehicle/fuel-type.js.map +7 -0
- package/dist/esm/vehicle/index.js +134 -0
- package/dist/esm/vehicle/index.js.map +7 -0
- package/dist/esm/vehicle/odometer-reading.js +145 -0
- package/dist/esm/vehicle/odometer-reading.js.map +7 -0
- package/dist/esm/vehicle/operating-hours.js +154 -0
- package/dist/esm/vehicle/operating-hours.js.map +7 -0
- package/dist/esm/vehicle/suspension-type.js +292 -0
- package/dist/esm/vehicle/suspension-type.js.map +7 -0
- package/dist/esm/vehicle/swedish-driving-license-category.js +384 -0
- package/dist/esm/vehicle/swedish-driving-license-category.js.map +7 -0
- package/dist/esm/vehicle/swedish-driving-license-vehicle-group.js +12 -0
- package/dist/esm/vehicle/swedish-driving-license-vehicle-group.js.map +7 -0
- package/dist/esm/vehicle/swedish-eco-vehicle-classification.js +212 -0
- package/dist/esm/vehicle/swedish-eco-vehicle-classification.js.map +7 -0
- package/dist/esm/vehicle/swedish-vehicle-registration-number.js +176 -0
- package/dist/esm/vehicle/swedish-vehicle-registration-number.js.map +7 -0
- package/dist/esm/vehicle/swedish-vehicle-status.js +152 -0
- package/dist/esm/vehicle/swedish-vehicle-status.js.map +7 -0
- package/dist/esm/vehicle/swedish-vehicle-type.js +262 -0
- package/dist/esm/vehicle/swedish-vehicle-type.js.map +7 -0
- package/dist/esm/vehicle/tire-dimension.js +186 -0
- package/dist/esm/vehicle/tire-dimension.js.map +7 -0
- package/dist/esm/vehicle/tire-type.js +208 -0
- package/dist/esm/vehicle/tire-type.js.map +7 -0
- package/dist/esm/vehicle/track-type.js +168 -0
- package/dist/esm/vehicle/track-type.js.map +7 -0
- package/dist/esm/vehicle/transmission-type.js +238 -0
- package/dist/esm/vehicle/transmission-type.js.map +7 -0
- package/dist/esm/vehicle/vehicle-extensions.js +15 -0
- package/dist/esm/vehicle/vehicle-extensions.js.map +7 -0
- package/dist/esm/vehicle/vehicle-identification-number.js +248 -0
- package/dist/esm/vehicle/vehicle-identification-number.js.map +7 -0
- package/dist/esm/vehicle/vehicle-masking.js +48 -0
- package/dist/esm/vehicle/vehicle-masking.js.map +7 -0
- package/dist/esm/vehicle/wheel-rim-dimension.js +163 -0
- package/dist/esm/vehicle/wheel-rim-dimension.js.map +7 -0
- package/dist/esm/web/email-address.js +522 -0
- package/dist/esm/web/email-address.js.map +7 -0
- package/dist/esm/web/index.js +16 -0
- package/dist/esm/web/index.js.map +7 -0
- package/dist/esm/web/url.js +333 -0
- package/dist/esm/web/url.js.map +7 -0
- package/dist/types/frequency-CweGfJFS.d.cts +329 -0
- package/dist/types/frequency-DdOMV6Sw.d.ts +329 -0
- package/dist/{index.d.cts → types/index.d.cts} +9 -0
- package/dist/{index.d.ts → types/index.d.ts} +9 -0
- package/dist/types/length-CceXIJYY.d.ts +354 -0
- package/dist/types/length-XRL5Eg7F.d.cts +354 -0
- package/dist/types/measurement/index.d.cts +136 -0
- package/dist/types/measurement/index.d.ts +136 -0
- package/dist/types/product/index.d.cts +1239 -0
- package/dist/types/product/index.d.ts +1239 -0
- package/dist/types/screen-size-BD4t3wzb.d.cts +473 -0
- package/dist/types/screen-size-DUmjNjxG.d.ts +473 -0
- package/dist/{text-scanning → types/text-scanning}/index.d.cts +50 -0
- package/dist/{text-scanning → types/text-scanning}/index.d.ts +50 -0
- package/dist/types/vehicle/index.d.cts +798 -0
- package/dist/types/vehicle/index.d.ts +798 -0
- package/dist/types/volume-CFA4e3dc.d.cts +175 -0
- package/dist/types/volume-DGLPQypt.d.ts +175 -0
- package/dist/types/weight-B30-Hzxu.d.ts +1057 -0
- package/dist/types/weight-C5C7OuV_.d.cts +1057 -0
- package/dist/types/wheel-rim-dimension-CVCmLASl.d.ts +699 -0
- package/dist/types/wheel-rim-dimension-CdkDrzad.d.cts +699 -0
- package/package.json +97 -62
- package/dist/banking/index.cjs +0 -6491
- package/dist/banking/index.cjs.map +0 -1
- package/dist/banking/index.js +0 -6464
- package/dist/banking/index.js.map +0 -1
- package/dist/contact/index.cjs +0 -6678
- package/dist/contact/index.cjs.map +0 -1
- package/dist/contact/index.js +0 -6586
- package/dist/contact/index.js.map +0 -1
- package/dist/finance/index.cjs +0 -3592
- package/dist/finance/index.cjs.map +0 -1
- package/dist/finance/index.js +0 -3584
- package/dist/finance/index.js.map +0 -1
- package/dist/geography/index.cjs +0 -4227
- package/dist/geography/index.cjs.map +0 -1
- package/dist/geography/index.js +0 -4202
- package/dist/geography/index.js.map +0 -1
- package/dist/index.cjs +0 -14087
- package/dist/index.cjs.map +0 -1
- package/dist/index.js +0 -13868
- package/dist/index.js.map +0 -1
- package/dist/organization/index.cjs +0 -2376
- package/dist/organization/index.cjs.map +0 -1
- package/dist/organization/index.js +0 -2346
- package/dist/organization/index.js.map +0 -1
- package/dist/person/index.cjs +0 -1144
- package/dist/person/index.cjs.map +0 -1
- package/dist/person/index.js +0 -1125
- package/dist/person/index.js.map +0 -1
- package/dist/property/index.cjs +0 -487
- package/dist/property/index.cjs.map +0 -1
- package/dist/property/index.js +0 -480
- package/dist/property/index.js.map +0 -1
- package/dist/sample-data/index.cjs +0 -12310
- package/dist/sample-data/index.cjs.map +0 -1
- package/dist/sample-data/index.js +0 -12302
- package/dist/sample-data/index.js.map +0 -1
- package/dist/text-scanning/index.cjs +0 -10414
- package/dist/text-scanning/index.cjs.map +0 -1
- package/dist/text-scanning/index.js +0 -10406
- package/dist/text-scanning/index.js.map +0 -1
- package/dist/validation/index.cjs +0 -83
- package/dist/validation/index.cjs.map +0 -1
- package/dist/validation/index.js +0 -79
- package/dist/validation/index.js.map +0 -1
- package/dist/web/index.cjs +0 -3994
- package/dist/web/index.cjs.map +0 -1
- package/dist/web/index.js +0 -3987
- package/dist/web/index.js.map +0 -1
- /package/dist/{banking → types/banking}/index.d.cts +0 -0
- /package/dist/{banking → types/banking}/index.d.ts +0 -0
- /package/dist/{contact → types/contact}/index.d.cts +0 -0
- /package/dist/{contact → types/contact}/index.d.ts +0 -0
- /package/dist/{country-BhD51LDL.d.cts → types/country-BhD51LDL.d.cts} +0 -0
- /package/dist/{country-p0n0EVQ9.d.ts → types/country-p0n0EVQ9.d.ts} +0 -0
- /package/dist/{finance → types/finance}/index.d.cts +0 -0
- /package/dist/{finance → types/finance}/index.d.ts +0 -0
- /package/dist/{geography → types/geography}/index.d.cts +0 -0
- /package/dist/{geography → types/geography}/index.d.ts +0 -0
- /package/dist/{isin-EeVPpNWu.d.ts → types/isin-EeVPpNWu.d.ts} +0 -0
- /package/dist/{isin-ZlQLBVm8.d.cts → types/isin-ZlQLBVm8.d.cts} +0 -0
- /package/dist/{organization → types/organization}/index.d.cts +0 -0
- /package/dist/{organization → types/organization}/index.d.ts +0 -0
- /package/dist/{person → types/person}/index.d.cts +0 -0
- /package/dist/{person → types/person}/index.d.ts +0 -0
- /package/dist/{person-full-name-Cmc9Ynuc.d.cts → types/person-full-name-Cmc9Ynuc.d.cts} +0 -0
- /package/dist/{person-full-name-D6Hbsab6.d.ts → types/person-full-name-D6Hbsab6.d.ts} +0 -0
- /package/dist/{phone-number-C24--ggy.d.ts → types/phone-number-C24--ggy.d.ts} +0 -0
- /package/dist/{phone-number-DZ-YxCQQ.d.cts → types/phone-number-DZ-YxCQQ.d.cts} +0 -0
- /package/dist/{property → types/property}/index.d.cts +0 -0
- /package/dist/{property → types/property}/index.d.ts +0 -0
- /package/dist/{sample-data → types/sample-data}/index.d.cts +0 -0
- /package/dist/{sample-data → types/sample-data}/index.d.ts +0 -0
- /package/dist/{swedish-address-DNC3ftRF.d.cts → types/swedish-address-DNC3ftRF.d.cts} +0 -0
- /package/dist/{swedish-address-GMzjqgxb.d.ts → types/swedish-address-GMzjqgxb.d.ts} +0 -0
- /package/dist/{swedish-bank-account-holder-name-BFJ8h1aO.d.cts → types/swedish-bank-account-holder-name-BFJ8h1aO.d.cts} +0 -0
- /package/dist/{swedish-bank-account-holder-name-CAAru07F.d.ts → types/swedish-bank-account-holder-name-CAAru07F.d.ts} +0 -0
- /package/dist/{swedish-municipality-DlUS7g7h.d.cts → types/swedish-municipality-DlUS7g7h.d.cts} +0 -0
- /package/dist/{swedish-municipality-nDRHYRAd.d.ts → types/swedish-municipality-nDRHYRAd.d.ts} +0 -0
- /package/dist/{swedish-organization-name-D7NvERxA.d.cts → types/swedish-organization-name-D7NvERxA.d.cts} +0 -0
- /package/dist/{swedish-organization-name-rR0Q836C.d.ts → types/swedish-organization-name-rR0Q836C.d.ts} +0 -0
- /package/dist/{swedish-organization-number-Bcj7V_lh.d.cts → types/swedish-organization-number-Bcj7V_lh.d.cts} +0 -0
- /package/dist/{swedish-organization-number-DM8dpXwR.d.ts → types/swedish-organization-number-DM8dpXwR.d.ts} +0 -0
- /package/dist/{swedish-organization-type-CZOdETwG.d.cts → types/swedish-organization-type-CZOdETwG.d.cts} +0 -0
- /package/dist/{swedish-organization-type-CZOdETwG.d.ts → types/swedish-organization-type-CZOdETwG.d.ts} +0 -0
- /package/dist/{swedish-personal-identity-number-BiIg4io3.d.ts → types/swedish-personal-identity-number-BiIg4io3.d.ts} +0 -0
- /package/dist/{swedish-personal-identity-number-Cp9Coz55.d.cts → types/swedish-personal-identity-number-Cp9Coz55.d.cts} +0 -0
- /package/dist/{swedish-property-designation-BM-gdd9x.d.ts → types/swedish-property-designation-BM-gdd9x.d.ts} +0 -0
- /package/dist/{swedish-property-designation-BaHXufqV.d.cts → types/swedish-property-designation-BaHXufqV.d.cts} +0 -0
- /package/dist/{swedish-sni-code-Ccsswpni.d.ts → types/swedish-sni-code-Ccsswpni.d.ts} +0 -0
- /package/dist/{swedish-sni-code-CuJFyM6l.d.cts → types/swedish-sni-code-CuJFyM6l.d.cts} +0 -0
- /package/dist/{swedish-swish-number-CL6Gx_h3.d.cts → types/swedish-swish-number-CL6Gx_h3.d.cts} +0 -0
- /package/dist/{swedish-swish-number-DDG3mNDg.d.ts → types/swedish-swish-number-DDG3mNDg.d.ts} +0 -0
- /package/dist/{text-candidate-qg2bD9PY.d.cts → types/text-candidate-qg2bD9PY.d.cts} +0 -0
- /package/dist/{text-candidate-qg2bD9PY.d.ts → types/text-candidate-qg2bD9PY.d.ts} +0 -0
- /package/dist/{validation → types/validation}/index.d.cts +0 -0
- /package/dist/{validation → types/validation}/index.d.ts +0 -0
- /package/dist/{web → types/web}/index.d.cts +0 -0
- /package/dist/{web → types/web}/index.d.ts +0 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var swedish_eco_vehicle_classification_exports = {};
|
|
20
|
+
__export(swedish_eco_vehicle_classification_exports, {
|
|
21
|
+
SwedishEcoVehicleClassification: () => SwedishEcoVehicleClassification
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(swedish_eco_vehicle_classification_exports);
|
|
24
|
+
var import_input_sanitization = require("../internal/input-sanitization.js");
|
|
25
|
+
var import_text_candidate_category = require("../text-scanning/text-candidate-category.js");
|
|
26
|
+
var import_text_candidate = require("../text-scanning/text-candidate.js");
|
|
27
|
+
var import_text_match_confidence = require("../text-scanning/text-match-confidence.js");
|
|
28
|
+
var import_vehicle_masking = require("./vehicle-masking.js");
|
|
29
|
+
class SwedishEcoVehicleClassification {
|
|
30
|
+
static typeInfo = Object.freeze({
|
|
31
|
+
englishName: "Swedish Eco-Vehicle Classification",
|
|
32
|
+
localizedName: "Milj\xF6bilsklassning",
|
|
33
|
+
emoji: "\u{1F33F}",
|
|
34
|
+
sources: Object.freeze(["https://www.transportstyrelsen.se/", "https://www.skatteverket.se/"])
|
|
35
|
+
});
|
|
36
|
+
value;
|
|
37
|
+
englishName;
|
|
38
|
+
localizedName;
|
|
39
|
+
introductionYear;
|
|
40
|
+
endYear;
|
|
41
|
+
englishDescription;
|
|
42
|
+
localizedDescription;
|
|
43
|
+
/** @internal Position in the canonical .NET ordering, used by {@link compareTo}. */
|
|
44
|
+
rank;
|
|
45
|
+
constructor(def) {
|
|
46
|
+
this.value = def.value;
|
|
47
|
+
this.englishName = def.englishName;
|
|
48
|
+
this.localizedName = def.localizedName;
|
|
49
|
+
this.introductionYear = def.introductionYear;
|
|
50
|
+
this.endYear = def.endYear;
|
|
51
|
+
this.englishDescription = def.englishDescription;
|
|
52
|
+
this.localizedDescription = def.localizedDescription;
|
|
53
|
+
this.rank = def.rank;
|
|
54
|
+
}
|
|
55
|
+
static Miljobil2007 = new SwedishEcoVehicleClassification({
|
|
56
|
+
value: "Milj\xF6bil 2007",
|
|
57
|
+
englishName: "Eco vehicle 2007",
|
|
58
|
+
localizedName: "Milj\xF6bil 2007",
|
|
59
|
+
introductionYear: 2007,
|
|
60
|
+
endYear: 2012,
|
|
61
|
+
englishDescription: "Definition under the 2007 Swedish eco-vehicle scheme: low CO\u2082 emissions and/or alternative fuel propulsion.",
|
|
62
|
+
localizedDescription: "Milj\xF6bilsdefinition fr\xE5n 2007 \xE5rs system: l\xE5ga CO\u2082-utsl\xE4pp och/eller alternativa drivmedel.",
|
|
63
|
+
rank: 3
|
|
64
|
+
});
|
|
65
|
+
static Miljobil2013 = new SwedishEcoVehicleClassification({
|
|
66
|
+
value: "Milj\xF6bil 2013",
|
|
67
|
+
englishName: "Eco vehicle 2013",
|
|
68
|
+
localizedName: "Milj\xF6bil 2013",
|
|
69
|
+
introductionYear: 2013,
|
|
70
|
+
endYear: 2017,
|
|
71
|
+
englishDescription: "Definition under the 2013 Swedish eco-vehicle scheme: stricter CO\u2082 limits depending on weight.",
|
|
72
|
+
localizedDescription: "Milj\xF6bilsdefinition fr\xE5n 2013 \xE5rs system: striktare CO\u2082-gr\xE4nser beroende p\xE5 fordonsvikt.",
|
|
73
|
+
rank: 4
|
|
74
|
+
});
|
|
75
|
+
static Supermiljobil = new SwedishEcoVehicleClassification({
|
|
76
|
+
value: "Supermilj\xF6bil",
|
|
77
|
+
englishName: "Super eco vehicle",
|
|
78
|
+
localizedName: "Supermilj\xF6bil",
|
|
79
|
+
introductionYear: 2012,
|
|
80
|
+
endYear: 2018,
|
|
81
|
+
englishDescription: "Vehicles emitting at most 50 g CO\u2082/km, eligible for the Swedish super eco-vehicle premium 2012\u20132018.",
|
|
82
|
+
localizedDescription: "Fordon som sl\xE4pper ut h\xF6gst 50 g CO\u2082/km, ber\xE4ttigade till supermilj\xF6bilspremie 2012\u20132018.",
|
|
83
|
+
rank: 5
|
|
84
|
+
});
|
|
85
|
+
static Klimatbonusbil = new SwedishEcoVehicleClassification({
|
|
86
|
+
value: "Klimatbonusbil",
|
|
87
|
+
englishName: "Climate bonus vehicle",
|
|
88
|
+
localizedName: "Klimatbonusbil",
|
|
89
|
+
introductionYear: 2018,
|
|
90
|
+
endYear: 2022,
|
|
91
|
+
englishDescription: "Vehicles eligible for the Swedish climate bonus 2018\u20132022 based on CO\u2082 emissions and electric propulsion.",
|
|
92
|
+
localizedDescription: "Fordon som varit ber\xE4ttigade till klimatbonus 2018\u20132022 utifr\xE5n CO\u2082-utsl\xE4pp och elektrisk drift.",
|
|
93
|
+
rank: 2
|
|
94
|
+
});
|
|
95
|
+
static Bonusbil = new SwedishEcoVehicleClassification({
|
|
96
|
+
value: "Bonusbil",
|
|
97
|
+
englishName: "Bonus vehicle",
|
|
98
|
+
localizedName: "Bonusbil",
|
|
99
|
+
introductionYear: 2018,
|
|
100
|
+
endYear: 2022,
|
|
101
|
+
englishDescription: "Synonym for klimatbonusbil \u2014 climate bonus eligible vehicle.",
|
|
102
|
+
localizedDescription: "Synonymt med klimatbonusbil \u2014 fordon ber\xE4ttigade till klimatbonus.",
|
|
103
|
+
rank: 0
|
|
104
|
+
});
|
|
105
|
+
static Elbil = new SwedishEcoVehicleClassification({
|
|
106
|
+
value: "Elbil",
|
|
107
|
+
englishName: "Electric vehicle",
|
|
108
|
+
localizedName: "Elbil",
|
|
109
|
+
introductionYear: 2010,
|
|
110
|
+
endYear: null,
|
|
111
|
+
englishDescription: "Battery electric vehicle \u2014 included as a Swedish eco-vehicle classification when no Euro stage applies.",
|
|
112
|
+
localizedDescription: "Helelektriskt fordon \u2014 registreras som milj\xF6bilsklassning n\xE4r Euroklass inte \xE4r till\xE4mplig.",
|
|
113
|
+
rank: 1
|
|
114
|
+
});
|
|
115
|
+
/** All 6 values, in canonical order. */
|
|
116
|
+
static get all() {
|
|
117
|
+
return ALL;
|
|
118
|
+
}
|
|
119
|
+
/** Resolves a value from its canonical name, localized name, code or any known alias. */
|
|
120
|
+
static tryParse(input) {
|
|
121
|
+
if (input == null) return null;
|
|
122
|
+
const key = normalizeLookupKey((0, import_input_sanitization.sanitizeInput)(input).trim());
|
|
123
|
+
if (key.length === 0) return null;
|
|
124
|
+
return LOOKUP.get(key) ?? null;
|
|
125
|
+
}
|
|
126
|
+
static parse(input) {
|
|
127
|
+
const result = SwedishEcoVehicleClassification.tryParse(input);
|
|
128
|
+
if (result === null) throw new Error(`Invalid swedish eco-vehicle classification.`);
|
|
129
|
+
return result;
|
|
130
|
+
}
|
|
131
|
+
static isValid(input) {
|
|
132
|
+
return SwedishEcoVehicleClassification.tryParse(input) !== null;
|
|
133
|
+
}
|
|
134
|
+
static format(input, options) {
|
|
135
|
+
const r = SwedishEcoVehicleClassification.tryParse(input);
|
|
136
|
+
if (r !== null) return r.value;
|
|
137
|
+
return fallback(input, options);
|
|
138
|
+
}
|
|
139
|
+
static normalize(input, options) {
|
|
140
|
+
const r = SwedishEcoVehicleClassification.tryParse(input);
|
|
141
|
+
if (r !== null) return r.value;
|
|
142
|
+
return fallback(input, options);
|
|
143
|
+
}
|
|
144
|
+
static isNormalized(input) {
|
|
145
|
+
return input != null && SwedishEcoVehicleClassification.normalize(input) === input;
|
|
146
|
+
}
|
|
147
|
+
/** Finds swedish eco-vehicle classification mentions in unstructured text. */
|
|
148
|
+
static findCandidatesInText(text) {
|
|
149
|
+
if (!text) return [];
|
|
150
|
+
const out = [];
|
|
151
|
+
SCAN_PATTERN.lastIndex = 0;
|
|
152
|
+
let m;
|
|
153
|
+
while ((m = SCAN_PATTERN.exec(text)) !== null) {
|
|
154
|
+
const value = SwedishEcoVehicleClassification.tryParse(m[0]);
|
|
155
|
+
if (value === null) continue;
|
|
156
|
+
out.push(
|
|
157
|
+
new import_text_candidate.TextCandidate({
|
|
158
|
+
startIndex: m.index,
|
|
159
|
+
length: m[0].length,
|
|
160
|
+
originalText: m[0],
|
|
161
|
+
typeName: "SwedishEcoVehicleClassification",
|
|
162
|
+
category: import_text_candidate_category.TextCandidateCategory.Vehicle,
|
|
163
|
+
normalizedForm: value.toNormalizedString(),
|
|
164
|
+
formattedForm: value.toString(),
|
|
165
|
+
maskedForm: (0, import_vehicle_masking.maskSwedishEcoVehicleClassification)(value),
|
|
166
|
+
confidence: import_text_match_confidence.TextMatchConfidence.Medium,
|
|
167
|
+
value
|
|
168
|
+
})
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
return out;
|
|
172
|
+
}
|
|
173
|
+
toNormalizedString() {
|
|
174
|
+
return this.value;
|
|
175
|
+
}
|
|
176
|
+
toString() {
|
|
177
|
+
return this.value;
|
|
178
|
+
}
|
|
179
|
+
equals(other) {
|
|
180
|
+
return other != null && this.value === other.value;
|
|
181
|
+
}
|
|
182
|
+
compareTo(other) {
|
|
183
|
+
if (other == null) return 1;
|
|
184
|
+
return this.rank < other.rank ? -1 : this.rank > other.rank ? 1 : 0;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
const ALL = [
|
|
188
|
+
SwedishEcoVehicleClassification.Miljobil2007,
|
|
189
|
+
SwedishEcoVehicleClassification.Miljobil2013,
|
|
190
|
+
SwedishEcoVehicleClassification.Supermiljobil,
|
|
191
|
+
SwedishEcoVehicleClassification.Klimatbonusbil,
|
|
192
|
+
SwedishEcoVehicleClassification.Bonusbil,
|
|
193
|
+
SwedishEcoVehicleClassification.Elbil
|
|
194
|
+
];
|
|
195
|
+
function fallback(input, options) {
|
|
196
|
+
if (!options?.fallbackToTrimmedInputWhenInvalid || input == null) return null;
|
|
197
|
+
const trimmed = input.trim();
|
|
198
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
199
|
+
}
|
|
200
|
+
const KEY_PATTERN = /\s+/g;
|
|
201
|
+
function normalizeLookupKey(value) {
|
|
202
|
+
let folded = value.trim().toLowerCase();
|
|
203
|
+
folded = folded.replaceAll("\xE5", "a").replaceAll("\xE4", "a").replaceAll("\xF6", "o");
|
|
204
|
+
folded = folded.replace(KEY_PATTERN, " ");
|
|
205
|
+
return folded.trim();
|
|
206
|
+
}
|
|
207
|
+
const ALIASES = [
|
|
208
|
+
[
|
|
209
|
+
SwedishEcoVehicleClassification.Miljobil2007,
|
|
210
|
+
["eco vehicle 2007", "mb2007", "miljobil 2007", "miljobil2007"]
|
|
211
|
+
],
|
|
212
|
+
[
|
|
213
|
+
SwedishEcoVehicleClassification.Miljobil2013,
|
|
214
|
+
["eco vehicle 2013", "mb2013", "miljobil 2013", "miljobil2013"]
|
|
215
|
+
],
|
|
216
|
+
[SwedishEcoVehicleClassification.Supermiljobil, ["super eco vehicle", "supermiljobil"]],
|
|
217
|
+
[
|
|
218
|
+
SwedishEcoVehicleClassification.Klimatbonusbil,
|
|
219
|
+
["climate bonus car", "climate bonus vehicle", "klimatbonus", "klimatbonusbil"]
|
|
220
|
+
],
|
|
221
|
+
[SwedishEcoVehicleClassification.Bonusbil, ["bonus car", "bonus vehicle", "bonusbil"]],
|
|
222
|
+
[
|
|
223
|
+
SwedishEcoVehicleClassification.Elbil,
|
|
224
|
+
["bev", "elbil", "electric car", "electric vehicle", "ev"]
|
|
225
|
+
]
|
|
226
|
+
];
|
|
227
|
+
const LOOKUP = /* @__PURE__ */ new Map();
|
|
228
|
+
for (const [value, keys] of ALIASES) {
|
|
229
|
+
for (const key of keys) if (!LOOKUP.has(key)) LOOKUP.set(key, value);
|
|
230
|
+
}
|
|
231
|
+
const SCAN_PATTERN = /(?<![\p{L}\p{N}_])(?:Miljöbil(?:\s*20\d{2})?|Supermiljöbil|Klimatbonusbil)(?![\p{L}\p{N}_])/giu;
|
|
232
|
+
//# sourceMappingURL=swedish-eco-vehicle-classification.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/vehicle/swedish-eco-vehicle-classification.ts"],
|
|
4
|
+
"sourcesContent": ["import type { PrimitiveTypeInfo } from \"../primitive-type-info.js\";\nimport { sanitizeInput } from \"../internal/input-sanitization.js\";\nimport { TextCandidateCategory } from \"../text-scanning/text-candidate-category.js\";\nimport { TextCandidate } from \"../text-scanning/text-candidate.js\";\nimport { TextMatchConfidence } from \"../text-scanning/text-match-confidence.js\";\nimport { maskSwedishEcoVehicleClassification } from \"./vehicle-masking.js\";\n\n/** Options shared by the string-in, string-out helpers. */\nexport interface SwedishEcoVehicleClassificationFormatOptions {\n /** Return the trimmed original input instead of `null` when the input is invalid. */\n fallbackToTrimmedInputWhenInvalid?: boolean;\n}\n\ninterface SwedishEcoVehicleClassificationDef {\n readonly value: string;\n readonly englishName: string;\n readonly localizedName: string;\n readonly introductionYear: number;\n readonly endYear: number | null;\n readonly englishDescription: string;\n readonly localizedDescription: string;\n readonly rank: number;\n}\n\n/**\n * A Swedish eco-vehicle classification (`milj\u00F6bilsklassning`) used by Transportstyrelsen and\n * the Swedish tax legislation, e.g. `Milj\u00F6bil 2007`, `Milj\u00F6bil 2013`, `Supermilj\u00F6bil`,\n * `Klimatbonusbil`.\n */\nexport class SwedishEcoVehicleClassification {\n static readonly typeInfo: PrimitiveTypeInfo = Object.freeze({\n englishName: \"Swedish Eco-Vehicle Classification\",\n localizedName: \"Milj\u00F6bilsklassning\",\n emoji: \"\uD83C\uDF3F\",\n sources: Object.freeze([\"https://www.transportstyrelsen.se/\", \"https://www.skatteverket.se/\"]),\n });\n\n readonly value: string;\n readonly englishName: string;\n readonly localizedName: string;\n readonly introductionYear: number;\n readonly endYear: number | null;\n readonly englishDescription: string;\n readonly localizedDescription: string;\n\n /** @internal Position in the canonical .NET ordering, used by {@link compareTo}. */\n private readonly rank: number;\n\n private constructor(def: SwedishEcoVehicleClassificationDef) {\n this.value = def.value;\n this.englishName = def.englishName;\n this.localizedName = def.localizedName;\n this.introductionYear = def.introductionYear;\n this.endYear = def.endYear;\n this.englishDescription = def.englishDescription;\n this.localizedDescription = def.localizedDescription;\n this.rank = def.rank;\n }\n\n static readonly Miljobil2007 = new SwedishEcoVehicleClassification({\n value: \"Milj\u00F6bil 2007\",\n englishName: \"Eco vehicle 2007\",\n localizedName: \"Milj\u00F6bil 2007\",\n introductionYear: 2007,\n endYear: 2012,\n englishDescription:\n \"Definition under the 2007 Swedish eco-vehicle scheme: low CO\u2082 emissions and/or alternative fuel propulsion.\",\n localizedDescription:\n \"Milj\u00F6bilsdefinition fr\u00E5n 2007 \u00E5rs system: l\u00E5ga CO\u2082-utsl\u00E4pp och/eller alternativa drivmedel.\",\n rank: 3,\n });\n\n static readonly Miljobil2013 = new SwedishEcoVehicleClassification({\n value: \"Milj\u00F6bil 2013\",\n englishName: \"Eco vehicle 2013\",\n localizedName: \"Milj\u00F6bil 2013\",\n introductionYear: 2013,\n endYear: 2017,\n englishDescription:\n \"Definition under the 2013 Swedish eco-vehicle scheme: stricter CO\u2082 limits depending on weight.\",\n localizedDescription:\n \"Milj\u00F6bilsdefinition fr\u00E5n 2013 \u00E5rs system: striktare CO\u2082-gr\u00E4nser beroende p\u00E5 fordonsvikt.\",\n rank: 4,\n });\n\n static readonly Supermiljobil = new SwedishEcoVehicleClassification({\n value: \"Supermilj\u00F6bil\",\n englishName: \"Super eco vehicle\",\n localizedName: \"Supermilj\u00F6bil\",\n introductionYear: 2012,\n endYear: 2018,\n englishDescription:\n \"Vehicles emitting at most 50 g CO\u2082/km, eligible for the Swedish super eco-vehicle premium 2012\u20132018.\",\n localizedDescription:\n \"Fordon som sl\u00E4pper ut h\u00F6gst 50 g CO\u2082/km, ber\u00E4ttigade till supermilj\u00F6bilspremie 2012\u20132018.\",\n rank: 5,\n });\n\n static readonly Klimatbonusbil = new SwedishEcoVehicleClassification({\n value: \"Klimatbonusbil\",\n englishName: \"Climate bonus vehicle\",\n localizedName: \"Klimatbonusbil\",\n introductionYear: 2018,\n endYear: 2022,\n englishDescription:\n \"Vehicles eligible for the Swedish climate bonus 2018\u20132022 based on CO\u2082 emissions and electric propulsion.\",\n localizedDescription:\n \"Fordon som varit ber\u00E4ttigade till klimatbonus 2018\u20132022 utifr\u00E5n CO\u2082-utsl\u00E4pp och elektrisk drift.\",\n rank: 2,\n });\n\n static readonly Bonusbil = new SwedishEcoVehicleClassification({\n value: \"Bonusbil\",\n englishName: \"Bonus vehicle\",\n localizedName: \"Bonusbil\",\n introductionYear: 2018,\n endYear: 2022,\n englishDescription: \"Synonym for klimatbonusbil \u2014 climate bonus eligible vehicle.\",\n localizedDescription: \"Synonymt med klimatbonusbil \u2014 fordon ber\u00E4ttigade till klimatbonus.\",\n rank: 0,\n });\n\n static readonly Elbil = new SwedishEcoVehicleClassification({\n value: \"Elbil\",\n englishName: \"Electric vehicle\",\n localizedName: \"Elbil\",\n introductionYear: 2010,\n endYear: null,\n englishDescription:\n \"Battery electric vehicle \u2014 included as a Swedish eco-vehicle classification when no Euro stage applies.\",\n localizedDescription:\n \"Helelektriskt fordon \u2014 registreras som milj\u00F6bilsklassning n\u00E4r Euroklass inte \u00E4r till\u00E4mplig.\",\n rank: 1,\n });\n\n /** All 6 values, in canonical order. */\n static get all(): readonly SwedishEcoVehicleClassification[] {\n return ALL;\n }\n\n /** Resolves a value from its canonical name, localized name, code or any known alias. */\n static tryParse(input: string | null | undefined): SwedishEcoVehicleClassification | null {\n if (input == null) return null;\n const key = normalizeLookupKey(sanitizeInput(input).trim());\n if (key.length === 0) return null;\n return LOOKUP.get(key) ?? null;\n }\n\n static parse(input: string): SwedishEcoVehicleClassification {\n const result = SwedishEcoVehicleClassification.tryParse(input);\n if (result === null) throw new Error(`Invalid swedish eco-vehicle classification.`);\n return result;\n }\n\n static isValid(input: string | null | undefined): boolean {\n return SwedishEcoVehicleClassification.tryParse(input) !== null;\n }\n\n static format(\n input: string | null | undefined,\n options?: SwedishEcoVehicleClassificationFormatOptions,\n ): string | null {\n const r = SwedishEcoVehicleClassification.tryParse(input);\n if (r !== null) return r.value;\n return fallback(input, options);\n }\n\n static normalize(\n input: string | null | undefined,\n options?: SwedishEcoVehicleClassificationFormatOptions,\n ): string | null {\n const r = SwedishEcoVehicleClassification.tryParse(input);\n if (r !== null) return r.value;\n return fallback(input, options);\n }\n\n static isNormalized(input: string | null | undefined): boolean {\n return input != null && SwedishEcoVehicleClassification.normalize(input) === input;\n }\n\n /** Finds swedish eco-vehicle classification mentions in unstructured text. */\n static findCandidatesInText(\n text: string,\n ): readonly TextCandidate<SwedishEcoVehicleClassification>[] {\n if (!text) return [];\n const out: TextCandidate<SwedishEcoVehicleClassification>[] = [];\n SCAN_PATTERN.lastIndex = 0;\n let m: RegExpExecArray | null;\n while ((m = SCAN_PATTERN.exec(text)) !== null) {\n const value = SwedishEcoVehicleClassification.tryParse(m[0]);\n if (value === null) continue;\n out.push(\n new TextCandidate<SwedishEcoVehicleClassification>({\n startIndex: m.index,\n length: m[0].length,\n originalText: m[0],\n typeName: \"SwedishEcoVehicleClassification\",\n category: TextCandidateCategory.Vehicle,\n normalizedForm: value.toNormalizedString(),\n formattedForm: value.toString(),\n maskedForm: maskSwedishEcoVehicleClassification(value),\n confidence: TextMatchConfidence.Medium,\n value,\n }),\n );\n }\n return out;\n }\n\n toNormalizedString(): string {\n return this.value;\n }\n\n toString(): string {\n return this.value;\n }\n\n equals(other: SwedishEcoVehicleClassification | null | undefined): boolean {\n return other != null && this.value === other.value;\n }\n\n compareTo(other: SwedishEcoVehicleClassification | null | undefined): number {\n if (other == null) return 1;\n return this.rank < other.rank ? -1 : this.rank > other.rank ? 1 : 0;\n }\n}\n\nconst ALL: readonly SwedishEcoVehicleClassification[] = [\n SwedishEcoVehicleClassification.Miljobil2007,\n SwedishEcoVehicleClassification.Miljobil2013,\n SwedishEcoVehicleClassification.Supermiljobil,\n SwedishEcoVehicleClassification.Klimatbonusbil,\n SwedishEcoVehicleClassification.Bonusbil,\n SwedishEcoVehicleClassification.Elbil,\n];\n\nfunction fallback(\n input: string | null | undefined,\n options?: SwedishEcoVehicleClassificationFormatOptions,\n): string | null {\n if (!options?.fallbackToTrimmedInputWhenInvalid || input == null) return null;\n const trimmed = input.trim();\n return trimmed.length > 0 ? trimmed : null;\n}\n\nconst KEY_PATTERN = /\\s+/g;\n\nfunction normalizeLookupKey(value: string): string {\n let folded = value.trim().toLowerCase();\n folded = folded.replaceAll(\"\u00E5\", \"a\").replaceAll(\"\u00E4\", \"a\").replaceAll(\"\u00F6\", \"o\");\n folded = folded.replace(KEY_PATTERN, \" \");\n return folded.trim();\n}\n\nconst ALIASES: readonly (readonly [SwedishEcoVehicleClassification, readonly string[]])[] = [\n [\n SwedishEcoVehicleClassification.Miljobil2007,\n [\"eco vehicle 2007\", \"mb2007\", \"miljobil 2007\", \"miljobil2007\"],\n ],\n [\n SwedishEcoVehicleClassification.Miljobil2013,\n [\"eco vehicle 2013\", \"mb2013\", \"miljobil 2013\", \"miljobil2013\"],\n ],\n [SwedishEcoVehicleClassification.Supermiljobil, [\"super eco vehicle\", \"supermiljobil\"]],\n [\n SwedishEcoVehicleClassification.Klimatbonusbil,\n [\"climate bonus car\", \"climate bonus vehicle\", \"klimatbonus\", \"klimatbonusbil\"],\n ],\n [SwedishEcoVehicleClassification.Bonusbil, [\"bonus car\", \"bonus vehicle\", \"bonusbil\"]],\n [\n SwedishEcoVehicleClassification.Elbil,\n [\"bev\", \"elbil\", \"electric car\", \"electric vehicle\", \"ev\"],\n ],\n];\n\nconst LOOKUP = new Map<string, SwedishEcoVehicleClassification>();\nfor (const [value, keys] of ALIASES) {\n for (const key of keys) if (!LOOKUP.has(key)) LOOKUP.set(key, value);\n}\n\nconst SCAN_PATTERN =\n /(?<![\\p{L}\\p{N}_])(?:Milj\u00F6bil(?:\\s*20\\d{2})?|Supermilj\u00F6bil|Klimatbonusbil)(?![\\p{L}\\p{N}_])/giu;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var swedish_vehicle_registration_number_exports = {};
|
|
20
|
+
__export(swedish_vehicle_registration_number_exports, {
|
|
21
|
+
SwedishVehicleRegistrationNumber: () => SwedishVehicleRegistrationNumber,
|
|
22
|
+
maskSwedishVehicleRegistrationNumber: () => maskSwedishVehicleRegistrationNumber
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(swedish_vehicle_registration_number_exports);
|
|
25
|
+
var import_input_sanitization = require("../internal/input-sanitization.js");
|
|
26
|
+
var import_text_candidate = require("../text-scanning/text-candidate.js");
|
|
27
|
+
var import_text_candidate_category = require("../text-scanning/text-candidate-category.js");
|
|
28
|
+
var import_text_match_confidence = require("../text-scanning/text-match-confidence.js");
|
|
29
|
+
var import_validation_error_reason = require("../validation/validation-error-reason.js");
|
|
30
|
+
var import_validation_result = require("../validation/validation-result.js");
|
|
31
|
+
const MAX_INPUT_LENGTH = 20;
|
|
32
|
+
const PATTERN = /^[A-HJ-NOPR-UW-Z]{3}\d{2}[\dA-HJ-NPR-UW-Z]$/u;
|
|
33
|
+
const SCAN_PATTERN = /(?<![\p{L}\p{N}_])[A-HJ-NOPR-UW-Z]{3}\s?\d{2}[\dA-HJ-NPR-UW-Z](?![\p{L}\p{N}_])/giu;
|
|
34
|
+
const TAX_MONTH_BY_DIGIT = [3, 4, 5, 6, 8, 10, 11, 12, 1, 2];
|
|
35
|
+
class SwedishVehicleRegistrationNumber {
|
|
36
|
+
static typeInfo = Object.freeze({
|
|
37
|
+
englishName: "Registration Number",
|
|
38
|
+
localizedName: "Registreringsnummer",
|
|
39
|
+
emoji: "\u{1F697}",
|
|
40
|
+
sources: Object.freeze([
|
|
41
|
+
"https://www.transportstyrelsen.se/en/road/vehicles/licence-plates/",
|
|
42
|
+
"https://www.transportstyrelsen.se/en/road/vehicles/taxes-and-fees/vehicle-tax/",
|
|
43
|
+
"https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Sweden"
|
|
44
|
+
])
|
|
45
|
+
});
|
|
46
|
+
/** The registration number without spaces, e.g. `ABC123`. */
|
|
47
|
+
value;
|
|
48
|
+
/** Display form with a space, e.g. `ABC 123`. */
|
|
49
|
+
formatted;
|
|
50
|
+
/** The three-letter prefix, e.g. `ABC`. */
|
|
51
|
+
letters;
|
|
52
|
+
/** The part after the letter prefix, e.g. `123` or `12A`. */
|
|
53
|
+
suffix;
|
|
54
|
+
/** `true` when the number uses the 2019 format whose last character is a letter. */
|
|
55
|
+
isNewFormat;
|
|
56
|
+
/** The digit the tax payment month is derived from. */
|
|
57
|
+
taxPaymentDigit;
|
|
58
|
+
/** The month (1–12) when vehicle tax is normally due. */
|
|
59
|
+
taxPaymentMonth;
|
|
60
|
+
constructor(value, letters, suffix, isNewFormat) {
|
|
61
|
+
this.value = value;
|
|
62
|
+
this.formatted = `${letters} ${suffix}`;
|
|
63
|
+
this.letters = letters;
|
|
64
|
+
this.suffix = suffix;
|
|
65
|
+
this.isNewFormat = isNewFormat;
|
|
66
|
+
this.taxPaymentDigit = Number(isNewFormat ? value[4] : value[5]);
|
|
67
|
+
this.taxPaymentMonth = TAX_MONTH_BY_DIGIT[this.taxPaymentDigit];
|
|
68
|
+
}
|
|
69
|
+
static tryParse(input) {
|
|
70
|
+
const cleaned = clean(input);
|
|
71
|
+
if (cleaned === null || cleaned.length !== 6 || !PATTERN.test(cleaned)) return null;
|
|
72
|
+
return new SwedishVehicleRegistrationNumber(
|
|
73
|
+
cleaned,
|
|
74
|
+
cleaned.slice(0, 3),
|
|
75
|
+
cleaned.slice(3),
|
|
76
|
+
/[A-Z]/u.test(cleaned[5])
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
static parse(input) {
|
|
80
|
+
const result = SwedishVehicleRegistrationNumber.tryParse(input);
|
|
81
|
+
if (result === null) throw new Error("Invalid Swedish vehicle registration number.");
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
static isValid(input) {
|
|
85
|
+
return SwedishVehicleRegistrationNumber.tryParse(input) !== null;
|
|
86
|
+
}
|
|
87
|
+
/** Returns the display form with a space, e.g. `ABC 123`. */
|
|
88
|
+
static format(input, options) {
|
|
89
|
+
const parsed = SwedishVehicleRegistrationNumber.tryParse(input);
|
|
90
|
+
if (parsed !== null) return parsed.formatted;
|
|
91
|
+
return fallback(input, options);
|
|
92
|
+
}
|
|
93
|
+
/** Returns the number without spaces, e.g. `ABC123`. */
|
|
94
|
+
static normalize(input, options) {
|
|
95
|
+
const parsed = SwedishVehicleRegistrationNumber.tryParse(input);
|
|
96
|
+
if (parsed !== null) return parsed.value;
|
|
97
|
+
return fallback(input, options);
|
|
98
|
+
}
|
|
99
|
+
static isNormalized(input) {
|
|
100
|
+
return input != null && SwedishVehicleRegistrationNumber.normalize(input) === input;
|
|
101
|
+
}
|
|
102
|
+
/** Describes why the input is not a registration number, or reports it as valid. */
|
|
103
|
+
static validate(input) {
|
|
104
|
+
if (input == null || input.trim() === "") {
|
|
105
|
+
return (0, import_validation_result.invalidResult)(
|
|
106
|
+
input,
|
|
107
|
+
import_validation_error_reason.ValidationErrorReason.InputIsEmpty,
|
|
108
|
+
"Input is empty or whitespace.",
|
|
109
|
+
"V\xE4rdet \xE4r tomt."
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
const cleaned = clean(input);
|
|
113
|
+
if (cleaned.length > MAX_INPUT_LENGTH) {
|
|
114
|
+
return (0, import_validation_result.invalidResult)(
|
|
115
|
+
input,
|
|
116
|
+
import_validation_error_reason.ValidationErrorReason.InputTooLong,
|
|
117
|
+
"Input contains too many characters.",
|
|
118
|
+
"V\xE4rdet inneh\xE5ller f\xF6r m\xE5nga tecken."
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
if (cleaned.length !== 6) {
|
|
122
|
+
return (0, import_validation_result.invalidResult)(
|
|
123
|
+
input,
|
|
124
|
+
import_validation_error_reason.ValidationErrorReason.InvalidLength,
|
|
125
|
+
"Registration number must be exactly 6 characters.",
|
|
126
|
+
"Registreringsnumret m\xE5ste vara exakt 6 tecken."
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
if (!PATTERN.test(cleaned)) {
|
|
130
|
+
return (0, import_validation_result.invalidResult)(
|
|
131
|
+
input,
|
|
132
|
+
import_validation_error_reason.ValidationErrorReason.InvalidFormat,
|
|
133
|
+
"Registration number must be three letters followed by two digits and one digit or letter (I, Q, V, \xC5, \xC4, \xD6 excluded).",
|
|
134
|
+
"Registreringsnumret m\xE5ste vara tre bokst\xE4ver f\xF6ljt av tv\xE5 siffror och en siffra eller bokstav (I, Q, V, \xC5, \xC4, \xD6 exkluderade)."
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
return (0, import_validation_result.validResult)(input);
|
|
138
|
+
}
|
|
139
|
+
/** Finds registration-number candidates in unstructured text. */
|
|
140
|
+
static findCandidatesInText(text) {
|
|
141
|
+
if (!text) return [];
|
|
142
|
+
const out = [];
|
|
143
|
+
const pattern = new RegExp(SCAN_PATTERN.source, SCAN_PATTERN.flags);
|
|
144
|
+
let match;
|
|
145
|
+
while ((match = pattern.exec(text)) !== null) {
|
|
146
|
+
const value = SwedishVehicleRegistrationNumber.tryParse(match[0]);
|
|
147
|
+
if (value === null) continue;
|
|
148
|
+
out.push(
|
|
149
|
+
new import_text_candidate.TextCandidate({
|
|
150
|
+
startIndex: match.index,
|
|
151
|
+
length: match[0].length,
|
|
152
|
+
originalText: text.slice(match.index, match.index + match[0].length),
|
|
153
|
+
typeName: "SwedishVehicleRegistrationNumber",
|
|
154
|
+
category: import_text_candidate_category.TextCandidateCategory.Vehicle,
|
|
155
|
+
normalizedForm: value.toNormalizedString(),
|
|
156
|
+
formattedForm: value.toString(),
|
|
157
|
+
maskedForm: maskSwedishVehicleRegistrationNumber(value),
|
|
158
|
+
confidence: import_text_match_confidence.TextMatchConfidence.Medium,
|
|
159
|
+
value
|
|
160
|
+
})
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
return out;
|
|
164
|
+
}
|
|
165
|
+
/** Returns the number without spaces, e.g. `ABC123`. */
|
|
166
|
+
toNormalizedString() {
|
|
167
|
+
return this.value;
|
|
168
|
+
}
|
|
169
|
+
/** Returns the display form with a space, e.g. `ABC 123`. */
|
|
170
|
+
toString() {
|
|
171
|
+
return this.formatted;
|
|
172
|
+
}
|
|
173
|
+
equals(other) {
|
|
174
|
+
return other != null && this.value === other.value;
|
|
175
|
+
}
|
|
176
|
+
compareTo(other) {
|
|
177
|
+
if (other == null) return 1;
|
|
178
|
+
return this.value < other.value ? -1 : this.value > other.value ? 1 : 0;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
function maskSwedishVehicleRegistrationNumber(registration) {
|
|
182
|
+
return `${"*".repeat(registration.letters.length)} ${"*".repeat(registration.suffix.length)}`;
|
|
183
|
+
}
|
|
184
|
+
function clean(input) {
|
|
185
|
+
if (input == null || input.trim().length === 0) return null;
|
|
186
|
+
return (0, import_input_sanitization.sanitizeInput)(input).trim().toUpperCase().replaceAll(" ", "").replaceAll("-", "");
|
|
187
|
+
}
|
|
188
|
+
function fallback(input, options) {
|
|
189
|
+
if (options?.fallbackToTrimmedInputWhenInvalid !== true || input == null) return null;
|
|
190
|
+
const trimmed = input.trim();
|
|
191
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=swedish-vehicle-registration-number.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/vehicle/swedish-vehicle-registration-number.ts"],
|
|
4
|
+
"sourcesContent": ["import { sanitizeInput } from \"../internal/input-sanitization.js\";\nimport type { PrimitiveTypeInfo } from \"../primitive-type-info.js\";\nimport { TextCandidate } from \"../text-scanning/text-candidate.js\";\nimport { TextCandidateCategory } from \"../text-scanning/text-candidate-category.js\";\nimport { TextMatchConfidence } from \"../text-scanning/text-match-confidence.js\";\nimport { ValidationErrorReason } from \"../validation/validation-error-reason.js\";\nimport {\n invalidResult,\n validResult,\n type ValidationResult,\n} from \"../validation/validation-result.js\";\n\n/** Options for {@link SwedishVehicleRegistrationNumber.format} and `normalize`. */\nexport interface SwedishVehicleRegistrationNumberFormatOptions {\n fallbackToTrimmedInputWhenInvalid?: boolean;\n}\n\nconst MAX_INPUT_LENGTH = 20;\n\n// I, Q, V, \u00C5, \u00C4 and \u00D6 are never used; O is additionally barred from the last position.\nconst PATTERN = /^[A-HJ-NOPR-UW-Z]{3}\\d{2}[\\dA-HJ-NPR-UW-Z]$/u;\nconst SCAN_PATTERN =\n /(?<![\\p{L}\\p{N}_])[A-HJ-NOPR-UW-Z]{3}\\s?\\d{2}[\\dA-HJ-NPR-UW-Z](?![\\p{L}\\p{N}_])/giu;\n\n/** Transportstyrelsen's mapping from the tax digit to the month tax falls due. */\nconst TAX_MONTH_BY_DIGIT = [3, 4, 5, 6, 8, 10, 11, 12, 1, 2];\n\n/**\n * A Swedish vehicle registration number (`registreringsnummer`) issued by\n * Transportstyrelsen. The classic form is three letters and three digits\n * (`ABC 123`); since 2019 the final digit may instead be a letter (`ABC 12A`).\n *\n * The tax payment month is derived structurally from the number and says nothing\n * about any particular vehicle's actual tax status.\n *\n * Sources:\n * - https://www.transportstyrelsen.se/en/road/vehicles/licence-plates/\n * - https://www.transportstyrelsen.se/en/road/vehicles/taxes-and-fees/vehicle-tax/\n * - https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Sweden\n */\nexport class SwedishVehicleRegistrationNumber {\n static readonly typeInfo: PrimitiveTypeInfo = Object.freeze({\n englishName: \"Registration Number\",\n localizedName: \"Registreringsnummer\",\n emoji: \"\uD83D\uDE97\",\n sources: Object.freeze([\n \"https://www.transportstyrelsen.se/en/road/vehicles/licence-plates/\",\n \"https://www.transportstyrelsen.se/en/road/vehicles/taxes-and-fees/vehicle-tax/\",\n \"https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Sweden\",\n ]),\n });\n\n /** The registration number without spaces, e.g. `ABC123`. */\n readonly value: string;\n\n /** Display form with a space, e.g. `ABC 123`. */\n readonly formatted: string;\n\n /** The three-letter prefix, e.g. `ABC`. */\n readonly letters: string;\n\n /** The part after the letter prefix, e.g. `123` or `12A`. */\n readonly suffix: string;\n\n /** `true` when the number uses the 2019 format whose last character is a letter. */\n readonly isNewFormat: boolean;\n\n /** The digit the tax payment month is derived from. */\n readonly taxPaymentDigit: number;\n\n /** The month (1\u201312) when vehicle tax is normally due. */\n readonly taxPaymentMonth: number;\n\n private constructor(value: string, letters: string, suffix: string, isNewFormat: boolean) {\n this.value = value;\n this.formatted = `${letters} ${suffix}`;\n this.letters = letters;\n this.suffix = suffix;\n this.isNewFormat = isNewFormat;\n this.taxPaymentDigit = Number(isNewFormat ? value[4] : value[5]);\n this.taxPaymentMonth = TAX_MONTH_BY_DIGIT[this.taxPaymentDigit]!;\n }\n\n static tryParse(input: string | null | undefined): SwedishVehicleRegistrationNumber | null {\n const cleaned = clean(input);\n if (cleaned === null || cleaned.length !== 6 || !PATTERN.test(cleaned)) return null;\n\n return new SwedishVehicleRegistrationNumber(\n cleaned,\n cleaned.slice(0, 3),\n cleaned.slice(3),\n /[A-Z]/u.test(cleaned[5]!),\n );\n }\n\n static parse(input: string): SwedishVehicleRegistrationNumber {\n const result = SwedishVehicleRegistrationNumber.tryParse(input);\n if (result === null) throw new Error(\"Invalid Swedish vehicle registration number.\");\n return result;\n }\n\n static isValid(input: string | null | undefined): boolean {\n return SwedishVehicleRegistrationNumber.tryParse(input) !== null;\n }\n\n /** Returns the display form with a space, e.g. `ABC 123`. */\n static format(\n input: string | null | undefined,\n options?: SwedishVehicleRegistrationNumberFormatOptions,\n ): string | null {\n const parsed = SwedishVehicleRegistrationNumber.tryParse(input);\n if (parsed !== null) return parsed.formatted;\n return fallback(input, options);\n }\n\n /** Returns the number without spaces, e.g. `ABC123`. */\n static normalize(\n input: string | null | undefined,\n options?: SwedishVehicleRegistrationNumberFormatOptions,\n ): string | null {\n const parsed = SwedishVehicleRegistrationNumber.tryParse(input);\n if (parsed !== null) return parsed.value;\n return fallback(input, options);\n }\n\n static isNormalized(input: string | null | undefined): boolean {\n return input != null && SwedishVehicleRegistrationNumber.normalize(input) === input;\n }\n\n /** Describes why the input is not a registration number, or reports it as valid. */\n static validate(input: string | null | undefined): ValidationResult {\n if (input == null || input.trim() === \"\") {\n return invalidResult(\n input,\n ValidationErrorReason.InputIsEmpty,\n \"Input is empty or whitespace.\",\n \"V\u00E4rdet \u00E4r tomt.\",\n );\n }\n\n const cleaned = clean(input)!;\n\n if (cleaned.length > MAX_INPUT_LENGTH) {\n return invalidResult(\n input,\n ValidationErrorReason.InputTooLong,\n \"Input contains too many characters.\",\n \"V\u00E4rdet inneh\u00E5ller f\u00F6r m\u00E5nga tecken.\",\n );\n }\n\n if (cleaned.length !== 6) {\n return invalidResult(\n input,\n ValidationErrorReason.InvalidLength,\n \"Registration number must be exactly 6 characters.\",\n \"Registreringsnumret m\u00E5ste vara exakt 6 tecken.\",\n );\n }\n\n if (!PATTERN.test(cleaned)) {\n return invalidResult(\n input,\n ValidationErrorReason.InvalidFormat,\n \"Registration number must be three letters followed by two digits and one digit or letter (I, Q, V, \u00C5, \u00C4, \u00D6 excluded).\",\n \"Registreringsnumret m\u00E5ste vara tre bokst\u00E4ver f\u00F6ljt av tv\u00E5 siffror och en siffra eller bokstav (I, Q, V, \u00C5, \u00C4, \u00D6 exkluderade).\",\n );\n }\n\n return validResult(input);\n }\n\n /** Finds registration-number candidates in unstructured text. */\n static findCandidatesInText(\n text: string,\n ): readonly TextCandidate<SwedishVehicleRegistrationNumber>[] {\n if (!text) return [];\n\n const out: TextCandidate<SwedishVehicleRegistrationNumber>[] = [];\n const pattern = new RegExp(SCAN_PATTERN.source, SCAN_PATTERN.flags);\n let match: RegExpExecArray | null;\n\n while ((match = pattern.exec(text)) !== null) {\n const value = SwedishVehicleRegistrationNumber.tryParse(match[0]);\n if (value === null) continue;\n out.push(\n new TextCandidate<SwedishVehicleRegistrationNumber>({\n startIndex: match.index,\n length: match[0].length,\n originalText: text.slice(match.index, match.index + match[0].length),\n typeName: \"SwedishVehicleRegistrationNumber\",\n category: TextCandidateCategory.Vehicle,\n normalizedForm: value.toNormalizedString(),\n formattedForm: value.toString(),\n maskedForm: maskSwedishVehicleRegistrationNumber(value),\n confidence: TextMatchConfidence.Medium,\n value,\n }),\n );\n }\n\n return out;\n }\n\n /** Returns the number without spaces, e.g. `ABC123`. */\n toNormalizedString(): string {\n return this.value;\n }\n\n /** Returns the display form with a space, e.g. `ABC 123`. */\n toString(): string {\n return this.formatted;\n }\n\n equals(other: SwedishVehicleRegistrationNumber | null | undefined): boolean {\n return other != null && this.value === other.value;\n }\n\n compareTo(other: SwedishVehicleRegistrationNumber | null | undefined): number {\n if (other == null) return 1;\n return this.value < other.value ? -1 : this.value > other.value ? 1 : 0;\n }\n}\n\n/** Returns a masked registration number, e.g. `ABC 123` becomes `*** ***`. */\nexport function maskSwedishVehicleRegistrationNumber(\n registration: SwedishVehicleRegistrationNumber,\n): string {\n return `${\"*\".repeat(registration.letters.length)} ${\"*\".repeat(registration.suffix.length)}`;\n}\n\nfunction clean(input: string | null | undefined): string | null {\n if (input == null || input.trim().length === 0) return null;\n return sanitizeInput(input).trim().toUpperCase().replaceAll(\" \", \"\").replaceAll(\"-\", \"\");\n}\n\nfunction fallback(\n input: string | null | undefined,\n options?: SwedishVehicleRegistrationNumberFormatOptions,\n): string | null {\n if (options?.fallbackToTrimmedInputWhenInvalid !== true || input == null) return null;\n const trimmed = input.trim();\n return trimmed.length > 0 ? trimmed : null;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var swedish_vehicle_status_exports = {};
|
|
20
|
+
__export(swedish_vehicle_status_exports, {
|
|
21
|
+
SwedishVehicleStatus: () => SwedishVehicleStatus
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(swedish_vehicle_status_exports);
|
|
24
|
+
var import_primitives_defaults = require("../primitives-defaults.js");
|
|
25
|
+
var import_input_sanitization = require("../internal/input-sanitization.js");
|
|
26
|
+
class SwedishVehicleStatus {
|
|
27
|
+
static typeInfo = Object.freeze({
|
|
28
|
+
englishName: "Vehicle Status",
|
|
29
|
+
localizedName: "Fordonsstatus",
|
|
30
|
+
emoji: "\u{1F4CB}",
|
|
31
|
+
sources: Object.freeze(["https://www.transportstyrelsen.se/"])
|
|
32
|
+
});
|
|
33
|
+
value;
|
|
34
|
+
code;
|
|
35
|
+
englishName;
|
|
36
|
+
localizedName;
|
|
37
|
+
constructor(def) {
|
|
38
|
+
this.value = def.value;
|
|
39
|
+
this.code = def.code;
|
|
40
|
+
this.englishName = def.englishName;
|
|
41
|
+
this.localizedName = def.localizedName;
|
|
42
|
+
}
|
|
43
|
+
static InService = new SwedishVehicleStatus({
|
|
44
|
+
value: "ITRAFIK",
|
|
45
|
+
code: "ITRAFIK",
|
|
46
|
+
englishName: "In service",
|
|
47
|
+
localizedName: "I trafik"
|
|
48
|
+
});
|
|
49
|
+
static Deregistered = new SwedishVehicleStatus({
|
|
50
|
+
value: "AVST",
|
|
51
|
+
code: "AVST",
|
|
52
|
+
englishName: "Deregistered",
|
|
53
|
+
localizedName: "Avst\xE4lld"
|
|
54
|
+
});
|
|
55
|
+
static Unregistered = new SwedishVehicleStatus({
|
|
56
|
+
value: "AVREG",
|
|
57
|
+
code: "AVREG",
|
|
58
|
+
englishName: "Unregistered",
|
|
59
|
+
localizedName: "Avregistrerad"
|
|
60
|
+
});
|
|
61
|
+
static Stolen = new SwedishVehicleStatus({
|
|
62
|
+
value: "STULEN",
|
|
63
|
+
code: "STULEN",
|
|
64
|
+
englishName: "Stolen",
|
|
65
|
+
localizedName: "Stulen"
|
|
66
|
+
});
|
|
67
|
+
static Exported = new SwedishVehicleStatus({
|
|
68
|
+
value: "EXPORT",
|
|
69
|
+
code: "EXPORT",
|
|
70
|
+
englishName: "Exported",
|
|
71
|
+
localizedName: "Exporterad"
|
|
72
|
+
});
|
|
73
|
+
static Scrapped = new SwedishVehicleStatus({
|
|
74
|
+
value: "SKROT",
|
|
75
|
+
code: "SKROT",
|
|
76
|
+
englishName: "Scrapped",
|
|
77
|
+
localizedName: "Skrotad"
|
|
78
|
+
});
|
|
79
|
+
static ReportedStolen = new SwedishVehicleStatus({
|
|
80
|
+
value: "ANMSTULEN",
|
|
81
|
+
code: "ANMSTULEN",
|
|
82
|
+
englishName: "Reported stolen",
|
|
83
|
+
localizedName: "Anm\xE4ld stulen"
|
|
84
|
+
});
|
|
85
|
+
/** All 7 values, in canonical order. */
|
|
86
|
+
static get all() {
|
|
87
|
+
return ALL;
|
|
88
|
+
}
|
|
89
|
+
/** Resolves a value from its canonical name, localized name, code or any known alias. */
|
|
90
|
+
static tryParse(input) {
|
|
91
|
+
if (input == null) return null;
|
|
92
|
+
const key = normalizeLookupKey((0, import_input_sanitization.sanitizeInput)(input).trim());
|
|
93
|
+
if (key.length === 0) return null;
|
|
94
|
+
return LOOKUP.get(key) ?? null;
|
|
95
|
+
}
|
|
96
|
+
static parse(input) {
|
|
97
|
+
const result = SwedishVehicleStatus.tryParse(input);
|
|
98
|
+
if (result === null) throw new Error(`Invalid vehicle status.`);
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
static isValid(input) {
|
|
102
|
+
return SwedishVehicleStatus.tryParse(input) !== null;
|
|
103
|
+
}
|
|
104
|
+
static format(input, options) {
|
|
105
|
+
const r = SwedishVehicleStatus.tryParse(input);
|
|
106
|
+
if (r !== null)
|
|
107
|
+
return import_primitives_defaults.PrimitivesDefaults.useLocalizedDisplayNames ? r.localizedName : r.englishName;
|
|
108
|
+
return fallback(input, options);
|
|
109
|
+
}
|
|
110
|
+
static normalize(input, options) {
|
|
111
|
+
const r = SwedishVehicleStatus.tryParse(input);
|
|
112
|
+
if (r !== null) return r.value;
|
|
113
|
+
return fallback(input, options);
|
|
114
|
+
}
|
|
115
|
+
static isNormalized(input) {
|
|
116
|
+
return input != null && SwedishVehicleStatus.normalize(input) === input;
|
|
117
|
+
}
|
|
118
|
+
toNormalizedString() {
|
|
119
|
+
return this.value;
|
|
120
|
+
}
|
|
121
|
+
toString() {
|
|
122
|
+
return import_primitives_defaults.PrimitivesDefaults.useLocalizedDisplayNames ? this.localizedName : this.englishName;
|
|
123
|
+
}
|
|
124
|
+
equals(other) {
|
|
125
|
+
return other != null && this.value === other.value;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
const ALL = [
|
|
129
|
+
SwedishVehicleStatus.InService,
|
|
130
|
+
SwedishVehicleStatus.Deregistered,
|
|
131
|
+
SwedishVehicleStatus.Unregistered,
|
|
132
|
+
SwedishVehicleStatus.Stolen,
|
|
133
|
+
SwedishVehicleStatus.Exported,
|
|
134
|
+
SwedishVehicleStatus.Scrapped,
|
|
135
|
+
SwedishVehicleStatus.ReportedStolen
|
|
136
|
+
];
|
|
137
|
+
function fallback(input, options) {
|
|
138
|
+
if (!options?.fallbackToTrimmedInputWhenInvalid || input == null) return null;
|
|
139
|
+
const trimmed = input.trim();
|
|
140
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
141
|
+
}
|
|
142
|
+
const KEY_PATTERN = /\s+/g;
|
|
143
|
+
function normalizeLookupKey(value) {
|
|
144
|
+
let folded = value.trim().toLowerCase();
|
|
145
|
+
folded = folded.replaceAll("\xE5", "a").replaceAll("\xE4", "a").replaceAll("\xF6", "o").replaceAll("\xE9", "e");
|
|
146
|
+
folded = folded.replaceAll("_", " ");
|
|
147
|
+
folded = folded.replace(KEY_PATTERN, " ");
|
|
148
|
+
return folded;
|
|
149
|
+
}
|
|
150
|
+
const ALIASES = [
|
|
151
|
+
[
|
|
152
|
+
SwedishVehicleStatus.InService,
|
|
153
|
+
["active", "i trafik", "in service", "in traffic", "itrafik", "pastalld", "registered"]
|
|
154
|
+
],
|
|
155
|
+
[
|
|
156
|
+
SwedishVehicleStatus.Deregistered,
|
|
157
|
+
["avst", "avstalld", "avstallning", "deregistered", "off road", "off-road"]
|
|
158
|
+
],
|
|
159
|
+
[
|
|
160
|
+
SwedishVehicleStatus.Unregistered,
|
|
161
|
+
["avreg", "avregistrerad", "permanently deregistered", "unregistered"]
|
|
162
|
+
],
|
|
163
|
+
[SwedishVehicleStatus.Stolen, ["stolen", "stulen"]],
|
|
164
|
+
[SwedishVehicleStatus.Exported, ["export", "exported", "exporterad"]],
|
|
165
|
+
[SwedishVehicleStatus.Scrapped, ["scrapped", "skrot", "skrotad", "skrotning"]],
|
|
166
|
+
[SwedishVehicleStatus.ReportedStolen, ["anmald stulen", "anmstulen", "reported stolen"]]
|
|
167
|
+
];
|
|
168
|
+
const LOOKUP = /* @__PURE__ */ new Map();
|
|
169
|
+
for (const [value, keys] of ALIASES) {
|
|
170
|
+
for (const key of keys) if (!LOOKUP.has(key)) LOOKUP.set(key, value);
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=swedish-vehicle-status.js.map
|