Sha256: 6ddd698013dc11760e821245f051399c19d4c543224911c25f309aadbc7eefeb
Contents?: true
Size: 1.06 KB
Versions: 1
Compression:
Stored size: 1.06 KB
Contents
import * as Normalize from './normalize' import { promises as fs } from 'fs' import unfetch from 'isomorphic-unfetch' const fetchOrReadFile = async ( input: string, ): Promise<Response | { json: () => Promise<unknown> }> => { const fileURL = new URL(`${Normalize.config.japaneseAddressesApi}${input}`) if (fileURL.protocol === 'http:' || fileURL.protocol === 'https:') { if (Normalize.config.geoloniaApiKey) { fileURL.search = `?geolonia-api-key=${Normalize.config.geoloniaApiKey}` } return unfetch(fileURL.toString()) } else if (fileURL.protocol === 'file:') { const filePath = process.platform === 'win32' ? decodeURI(fileURL.pathname).substr(1) : decodeURI(fileURL.pathname); return { json: async () => { const contents = await fs.readFile(filePath) return JSON.parse(contents.toString('utf-8')) }, } } else { throw new Error(`Unknown URL schema: ${fileURL.protocol}`) } } Normalize.__internals.fetch = fetchOrReadFile export const config = Normalize.config export const normalize = Normalize.normalize
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
japanese_address_parser-3.1.0 | js/node_modules/@geolonia/normalize-japanese-addresses/src/main-node.ts |