Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@shopify/address
Advanced tools
@shopify/address
Address utilities for formatting addresses.
$ yarn add @shopify/address
country
field in Address is expected to be of format ISO 3166-1 alpha-2, eg. CA / FR / JPconstructor(private locale: string)
Instantiate the AddressFormatter by passing it a locale.
updateLocale(locale: string)
Update the current locale of the formatter. Following requests will be in the given locale.
async .getCountry(countryCode: string): Promise<Country>
Loads and returns data about a given country in the current locale. Country and province names are localized. Province names are sorted based on the locale.
async .getCountries(): Promise<Country[]>
Loads and returns data for all countries in the current locale. Countries are sorted based on the locale. Zones are also ordered based on the locale.
async .getOrderedFields(countryCode): FieldName[][]
Returns how to order address fields.
Eg.:
[
['firstName', 'lastName'],
['company'],
['address1'],
['address2'],
['city'],
['country', 'province', 'zip'],
['phone'],
];
async .format(address: Address): string[]
Given an address, returns the address ordered for multiline rendering. e.g.:
['Shopify', 'Lindenstraße 9-14', '10969 Berlin', 'Germany'];
Show an address:
import AddressFormatter from '@shopify/address';
const address = {
company: 'Shopify',
firstName: '恵子',
lastName: '田中',
address1: '八重洲1-5-3',
address2: '',
city: '目黒区',
province: 'JP-13',
zip: '100-8994',
country: 'JP',
phone: '',
};
const addressFormatter = new AddressFormatter('ja');
await addressFormatter.format(address);
/* =>
日本
〒100-8994東京都目黒区八重洲1-5-3
Shopify
田中恵子様
*/
await addressFormatter.getOrderedFields('CA');
/* =>
[
['firstName', 'lastName'],
['company'],
['address1'],
['address2'],
['city'],
['country', 'province', 'zip'],
['phone']
]
*/
If your component uses this package and you want to test it with mock API calls you can use the following:
import {fetch} from '@shopify/jest-dom-mocks';
import {mockCountryRequests} from '@shopify/address/tests';
beforeEach(mockCountryRequests);
afterEach(fetch.restore);
Note: Only FR / JA and EN are mocked.
FAQs
Address utilities for formatting addresses
We found that @shopify/address demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 24 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.