Closed Roniakia closed 6 years ago
Конечно подскажу.
import { AsYouType } from 'libphonenumber-js/custom'
Короче, там немного неправильно написано, ща переписываю ридми.
Короче, как-то так будет. Если не работает - пишите.
Then use the generated metadata.min.json
with the exported "custom" functions.
In ES6 that would be
import {
parse,
format,
isValidNumber,
getNumberType,
AsYouType
} from 'libphonenumber-js/custom'
import metadata from 'libphonenumber-js/metadata.full.json'
parse('+78005553535', metadata)
format({ phone: '8005553535', country: 'RU' }, metadata)
isValidNumber('+78005553535', metadata)
getNumberType('+78005553535', metadata)
new AsYouType('RU', metadata).input('+78005553535')
or
import {
parse as parseCustom,
format as formatCustom,
isValidNumber as isValidNumberCustom,
getNumberType as getNumberTypeCustom,
AsYouType as AsYouTypeCustom
} from 'libphonenumber-js/custom'
export const parse = (...args) => parseCustom(...args, metadata)
export const format = (...args) => formatCustom(...args, metadata)
export const isValidNumber = (...args) => isValidNumberCustom(...args, metadata)
export const getNumberType = (...args) => getNumberTypeCustom(...args, metadata)
export class AsYouType extends AsYouTypeCustom {
constructor(country) {
super(country, metadata)
}
}
And for Common.js environment that would be
var custom = require('libphonenumber-js/custom')
var metadata = require(libphonenumber-js/metadata.full.json)
exports.parse = function parse() {
var parameters = Array.prototype.slice.call(arguments)
parameters.push(metadata)
return custom.parse.apply(this, parameters)
}
exports.format = function format() {
var parameters = Array.prototype.slice.call(arguments)
parameters.push(metadata)
return custom.format.apply(this, parameters)
}
exports.isValidNumber = function isValidNumber() {
var parameters = Array.prototype.slice.call(arguments)
parameters.push(metadata)
return custom.isValidNumber.apply(this, parameters)
}
exports.getNumberType = function isValidNumber() {
var parameters = Array.prototype.slice.call(arguments)
parameters.push(metadata)
return custom.getNumberType.apply(this, parameters)
}
exports.AsYouType = function AsYouType(country) {
custom.AsYouType.call(this, country, metadata)
}
exports.AsYouType.prototype = Object.create(custom.AsYouType.prototype, {})
exports.AsYouType.prototype.constructor = exports.AsYouType
Metadata should be re-generated each time the project is being deployed because Google constantly updates their metadata.
Спасибо!
Привет, а не подскажешь как подключить кастомную метадату к либе? В ридми описан некий
AsYouTypeCustom
, но что-то я его не вижу.