UNPKG

muenchhausen

Version:

Produce authentic mockup fake data

86 lines (79 loc) 3.75 kB
"use strict"; function Phone() { // phone.super_.apply(this, arguments); return this; } // require("./../../extension/").extend(phone); /** * returns a random phone in INTERNATIONAL format. The example shows a swiss number format. Different Region Codes are avialable at https://github.com/googlei18n/libphone/blob/master/java/libphone/test/com/google/i18n/phones/RegionCode.java#L22. * @param {String} templateString a template string. For example `"phone.international:$(phone.international country:CH)"` */ Phone.prototype.international = function international(options) { var culture = options.culture; var randomphone = Math.floor(Math.random() * 99999999999999999).toString(); this.value = randomphone; var result = { value : randomphone, text : (function(){ var PNF = require("google-libphonenumber").PhoneNumberFormat; var phoneUtil = require("google-libphonenumber").PhoneNumberUtil.getInstance(); var land = options.country || (culture.toUpperCase() === "EN" ? "US" : culture.toUpperCase().split("-")[0]); if (land.toUpperCase() === "EN"){ land = "US" } var result = phoneUtil.parse(this.value, land.toUpperCase()); result = phoneUtil.format(result, PNF.INTERNATIONAL); return result; }).bind(this) }; return result; }; /** * returns a random phone in NATIONAL format. Different Region Codes are avialable at https://github.com/googlei18n/libphone/blob/master/java/libphone/test/com/google/i18n/phones/RegionCode.java#L22. * @param {String} templateString a template string. For example `"phone.national:$(phone.national)"` */ Phone.prototype.national = function national(options) { var culture = options.culture; var randomphone = Math.floor(Math.random() * 99999999999999999).toString(); this.value = randomphone; var result = { value : randomphone, text : (function(){ var PNF = require("google-libphonenumber").PhoneNumberFormat; var phoneUtil = require("google-libphonenumber").PhoneNumberUtil.getInstance(); var land = options.country || (options.culture.toUpperCase() === "EN" ? "US" : culture.toUpperCase().split("-")[0]); if (land.toUpperCase() === "EN"){ land = "US" } var result = phoneUtil.parse(this.value, land.toUpperCase()); result = phoneUtil.format(result, PNF.NATIONAL); return result; }).bind(this) }; return result; }; /** * returns a random phone in E164 format. Different Region Codes are avialable at https://github.com/googlei18n/libphone/blob/master/java/libphone/test/com/google/i18n/phones/RegionCode.java#L22. * @param {String} templateString a template string. For example `"phone.E164:$(phone.E164)"` */ Phone.prototype.e164 = function e164(options) { var culture = options.culture; var randomphone = Math.floor(Math.random() * 99999999999999999).toString(); this.value = randomphone; var result = { value : randomphone, text : (function(){ var PNF = require("google-libphonenumber").PhoneNumberFormat; var phoneUtil = require("google-libphonenumber").PhoneNumberUtil.getInstance(); var land = options.country || (options.culture.toUpperCase() === "EN" ? "US" : culture.toUpperCase().split("-")[0]); if (land.toUpperCase() === "EN"){ land = "US" } var result = phoneUtil.parse(this.value, land.toUpperCase()); result = phoneUtil.format(result, PNF.E164); return result; }).bind(this) }; return result; }; module.exports = Phone;