@tepez/joi-phone-number-extensions 1.0.0 → 1.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/dist/extension.js +9 -15
- package/dist/i18n/en.d.ts +8 -0
- package/dist/i18n/en.js +13 -0
- package/dist/i18n/he.d.ts +2 -0
- package/dist/i18n/he.js +13 -0
- package/dist/utils.d.ts +1 -0
- package/dist/utils.js +8 -0
- package/package.json +1 -1
package/dist/extension.js
CHANGED
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.phoneNumExtensions = void 0;
|
|
4
4
|
const ts_utils_1 = require("@tepez/ts-utils");
|
|
5
|
-
const PhoneNumber = require("google-libphonenumber");
|
|
6
5
|
const google_libphonenumber_1 = require("google-libphonenumber");
|
|
6
|
+
const en_1 = require("./i18n/en");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
8
|
+
const he_1 = require("./i18n/he");
|
|
7
9
|
const Assert = require('@hapi/hoek/lib/assert');
|
|
8
10
|
const phoneNumberUtil = google_libphonenumber_1.PhoneNumberUtil.getInstance();
|
|
9
11
|
function typesMatch(type1, type2) {
|
|
@@ -19,26 +21,18 @@ const assertUpperCaseString = (name, value, validValues) => {
|
|
|
19
21
|
return ret;
|
|
20
22
|
};
|
|
21
23
|
exports.phoneNumExtensions = function (joi) {
|
|
22
|
-
// as any because metadata is not in @types/google-libphonenumber
|
|
23
|
-
const validRegions = Object.keys(PhoneNumber.metadata.countryToMetadata);
|
|
24
24
|
const regionValidation = joi
|
|
25
25
|
.string()
|
|
26
26
|
.uppercase()
|
|
27
|
-
.valid(...validRegions)
|
|
27
|
+
.valid(...utils_1.validRegions)
|
|
28
28
|
.required();
|
|
29
29
|
const pntKeys = Object.keys(google_libphonenumber_1.PhoneNumberType);
|
|
30
30
|
const pnfKeys = Object.keys(google_libphonenumber_1.PhoneNumberFormat);
|
|
31
31
|
return {
|
|
32
32
|
type: 'phoneNumber',
|
|
33
33
|
base: joi.string(),
|
|
34
|
-
messages: {
|
|
35
|
-
|
|
36
|
-
'phoneNumber.region': '{{#label}} must be number of region {{#region}}',
|
|
37
|
-
'phoneNumber.emptyFieldRef': 'region reference "{{#ref}}" must point to a non empty field',
|
|
38
|
-
'phoneNumber.illegalRefRegion': `region reference "{{#ref}}" must be one of [${validRegions.join(', ')}]`,
|
|
39
|
-
'phoneNumber.type': '{{#label}} must be a {{#type}} phone number',
|
|
40
|
-
'phoneNumber.format': '{{#label}} must be formatted in {{#format}} format',
|
|
41
|
-
},
|
|
34
|
+
messages: Object.assign(Object.assign({}, en_1.phoneNumberExtensionsEnMessages), { he: he_1.phoneNumberExtensionsHeMessages }),
|
|
35
|
+
// https://github.com/sideway/joi/blob/v17.4.2/lib/index.d.ts#L29
|
|
42
36
|
validate(value, helpers) {
|
|
43
37
|
if (!value) {
|
|
44
38
|
return {
|
|
@@ -128,14 +122,14 @@ exports.phoneNumExtensions = function (joi) {
|
|
|
128
122
|
defaultRegion: ts_utils_1.assertT({
|
|
129
123
|
// region that we are expecting the number to be from
|
|
130
124
|
method(defaultRegion) {
|
|
131
|
-
return this.$_setFlag('phoneNumberDefaultRegion', assertUpperCaseString('defaultRegion', defaultRegion, validRegions));
|
|
125
|
+
return this.$_setFlag('phoneNumberDefaultRegion', assertUpperCaseString('defaultRegion', defaultRegion, utils_1.validRegions));
|
|
132
126
|
},
|
|
133
127
|
}),
|
|
134
128
|
region: ts_utils_1.assertT({
|
|
135
129
|
method(region) {
|
|
136
130
|
return this.$_setFlag('phoneNumberRegion', joi.isRef(region)
|
|
137
131
|
? region
|
|
138
|
-
: assertUpperCaseString('region', region, validRegions));
|
|
132
|
+
: assertUpperCaseString('region', region, utils_1.validRegions));
|
|
139
133
|
},
|
|
140
134
|
}),
|
|
141
135
|
numType: ts_utils_1.assertT({
|
|
@@ -151,4 +145,4 @@ exports.phoneNumExtensions = function (joi) {
|
|
|
151
145
|
},
|
|
152
146
|
};
|
|
153
147
|
};
|
|
154
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNuQixxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBcUIsQ0FDdkUsQ0FBQztnQkFDTixDQUFDO2FBQ0osQ0FBQztTQUNMO0tBQ0osQ0FBQTtBQUNMLENBQUMsQ0FBQyIsImZpbGUiOiJleHRlbnNpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNeVJlZmVyZW5jZSwgVHlwZWRFeHRlbnNpb24sIFR5cGVkRXh0ZW5zaW9uUnVsZSB9IGZyb20gJ0B0ZXBlei9qb2ktbWlzYy1leHRlbnNpb25zJztcbmltcG9ydCB7IGFzc2VydFQgfSBmcm9tICdAdGVwZXovdHMtdXRpbHMnO1xuaW1wb3J0ICogYXMgUGhvbmVOdW1iZXIgZnJvbSAnZ29vZ2xlLWxpYnBob25lbnVtYmVyJ1xuaW1wb3J0IHsgUGhvbmVOdW1iZXJGb3JtYXQgYXMgUE5GLCBQaG9uZU51bWJlclR5cGUgYXMgUE5ULCBQaG9uZU51bWJlclV0aWwgfSBmcm9tICdnb29nbGUtbGlicGhvbmVudW1iZXInXG5pbXBvcnQgKiBhcyBKb2kgZnJvbSAnam9pJ1xuaW1wb3J0IHsgUmVmZXJlbmNlIH0gZnJvbSAnam9pJ1xuXG5jb25zdCBBc3NlcnQgPSByZXF1aXJlKCdAaGFwaS9ob2VrL2xpYi9hc3NlcnQnKTtcblxuXG5pbnRlcmZhY2UgSUZsYWdzIHtcbiAgICBwaG9uZU51bWJlckRlZmF1bHRSZWdpb24/OiBzdHJpbmdcbiAgICBwaG9uZU51bWJlclJlZ2lvbj86IHN0cmluZyB8IFJlZmVyZW5jZVxuICAgIHBob25lTnVtYmVyVHlwZT86IGtleW9mIHR5cGVvZiBQTlRcbiAgICBwaG9uZU51bWJlckZvcm1hdD86IGtleW9mIHR5cGVvZiBQTkZcbn1cblxuY29uc3QgcGhvbmVOdW1iZXJVdGlsID0gUGhvbmVOdW1iZXJVdGlsLmdldEluc3RhbmNlKCk7XG5cbmZ1bmN0aW9uIHR5cGVzTWF0Y2godHlwZTE6IFBOVCwgdHlwZTI6IFBOVCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlMSA9PT0gdHlwZTIgfHxcbiAgICAgICAgKHR5cGUxID09PSBQTlQuRklYRURfTElORV9PUl9NT0JJTEUgJiYgKHR5cGUyID09PSBQTlQuTU9CSUxFIHx8IHR5cGUyID09PSBQTlQuRklYRURfTElORSkpIHx8XG4gICAgICAgICh0eXBlMiA9PT0gUE5ULkZJWEVEX0xJTkVfT1JfTU9CSUxFICYmICh0eXBlMSA9PT0gUE5ULk1PQklMRSB8fCB0eXBlMSA9PT0gUE5ULkZJWEVEX0xJTkUpKTtcbn1cblxuY29uc3QgYXNzZXJ0VXBwZXJDYXNlU3RyaW5nID0gKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSwgdmFsaWRWYWx1ZXM6IHN0cmluZ1tdKTogc3RyaW5nID0+IHtcbiAgICBBc3NlcnQodmFsdWUsIG5hbWUsICdpcyByZXF1aXJlZCcpO1xuXG4gICAgQXNzZXJ0KHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycsIG5hbWUsICdtdXN0IGJlIGEgc3RyaW5nJyk7XG5cbiAgICBjb25zdCByZXQgPSB2YWx1ZS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgQXNzZXJ0KHZhbGlkVmFsdWVzLmluY2x1ZGVzKHJldCksIG5hbWUsICdtdXN0IGJlIG9uZSBvZicsIHZhbGlkVmFsdWVzLmpvaW4oJywgJykpO1xuXG4gICAgcmV0dXJuIHJldCBhcyBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBwaG9uZU51bUV4dGVuc2lvbnMgPSBmdW5jdGlvbiAoam9pOiB0eXBlb2YgSm9pKTogVHlwZWRFeHRlbnNpb248SUZsYWdzPiB7XG4gICAgLy8gYXMgYW55IGJlY2F1c2UgbWV0YWRhdGEgaXMgbm90IGluIEB0eXBlcy9nb29nbGUtbGlicGhvbmVudW1iZXJcbiAgICBjb25zdCB2YWxpZFJlZ2lvbnM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoKFBob25lTnVtYmVyIGFzIGFueSkubWV0YWRhdGEuY291bnRyeVRvTWV0YWRhdGEpO1xuXG4gICAgY29uc3QgcmVnaW9uVmFsaWRhdGlvbiA9IGpvaVxuICAgICAgICAuc3RyaW5nKClcbiAgICAgICAgLnVwcGVyY2FzZSgpXG4gICAgICAgIC52YWxpZCguLi52YWxpZFJlZ2lvbnMpXG4gICAgICAgIC5yZXF1aXJlZCgpO1xuXG4gICAgY29uc3QgcG50S2V5cyA9IE9iamVjdC5rZXlzKFBOVCk7XG4gICAgY29uc3QgcG5mS2V5cyA9IE9iamVjdC5rZXlzKFBORilcblxuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwaG9uZU51bWJlcicsXG4gICAgICAgIGJhc2U6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgbWVzc2FnZXM6IHtcbiAgICAgICAgICAgICdwaG9uZU51bWJlci5iYXNlJzogJ3t7I2xhYmVsfX0gbXVzdCBiZSBhIHZhbGlkIHBob25lIG51bWJlcicsXG4gICAgICAgICAgICAncGhvbmVOdW1iZXIucmVnaW9uJzogJ3t7I2xhYmVsfX0gbXVzdCBiZSBudW1iZXIgb2YgcmVnaW9uIHt7I3JlZ2lvbn19JyxcbiAgICAgICAgICAgICdwaG9uZU51bWJlci5lbXB0eUZpZWxkUmVmJzogJ3JlZ2lvbiByZWZlcmVuY2UgXCJ7eyNyZWZ9fVwiIG11c3QgcG9pbnQgdG8gYSBub24gZW1wdHkgZmllbGQnLFxuICAgICAgICAgICAgJ3Bob25lTnVtYmVyLmlsbGVnYWxSZWZSZWdpb24nOiBgcmVnaW9uIHJlZmVyZW5jZSBcInt7I3JlZn19XCIgbXVzdCBiZSBvbmUgb2YgWyR7dmFsaWRSZWdpb25zLmpvaW4oJywgJyl9XWAsXG4gICAgICAgICAgICAncGhvbmVOdW1iZXIudHlwZSc6ICd7eyNsYWJlbH19IG11c3QgYmUgYSB7eyN0eXBlfX0gcGhvbmUgbnVtYmVyJyxcbiAgICAgICAgICAgICdwaG9uZU51bWJlci5mb3JtYXQnOiAne3sjbGFiZWx9fSBtdXN0IGJlIGZvcm1hdHRlZCBpbiB7eyNmb3JtYXR9fSBmb3JtYXQnLFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0ZSh2YWx1ZSwgaGVscGVycykge1xuICAgICAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHBob25lTnVtYmVyUmVnaW9uID0gaGVscGVycy5zY2hlbWEuJF9nZXRGbGFnKCdwaG9uZU51bWJlclJlZ2lvbicpO1xuICAgICAgICAgICAgY29uc3QgcGhvbmVOdW1iZXJEZWZhdWx0UmVnaW9uID0gaGVscGVycy5zY2hlbWEuJF9nZXRGbGFnKCdwaG9uZU51bWJlckRlZmF1bHRSZWdpb24nKTtcbiAgICAgICAgICAgIGNvbnN0IHBob25lTnVtYmVyVHlwZSA9IGhlbHBlcnMuc2NoZW1hLiRfZ2V0RmxhZygncGhvbmVOdW1iZXJUeXBlJyk7XG4gICAgICAgICAgICBjb25zdCBwaG9uZU51bWJlckZvcm1hdCA9IGhlbHBlcnMuc2NoZW1hLiRfZ2V0RmxhZygncGhvbmVOdW1iZXJGb3JtYXQnKTtcblxuICAgICAgICAgICAgbGV0IHJlZ2lvblNvdXJjZTogc3RyaW5nIHwgUmVmZXJlbmNlID0gcGhvbmVOdW1iZXJSZWdpb25cbiAgICAgICAgICAgICAgICB8fCBwaG9uZU51bWJlckRlZmF1bHRSZWdpb25cbiAgICAgICAgICAgICAgICB8fCBudWxsO1xuXG4gICAgICAgICAgICBsZXQgcmVnaW9uOiBzdHJpbmc7XG5cbiAgICAgICAgICAgIGlmIChqb2kuaXNSZWYocmVnaW9uU291cmNlKSkge1xuICAgICAgICAgICAgICAgIHJlZ2lvbiA9IChyZWdpb25Tb3VyY2UgYXMgTXlSZWZlcmVuY2UpLnJlc29sdmUodmFsdWUsIGhlbHBlcnMuc3RhdGUsIGhlbHBlcnMucHJlZnMpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFyZWdpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yczogaGVscGVycy5lcnJvcigncGhvbmVOdW1iZXIuZW1wdHlGaWVsZFJlZicsIHsgcmVmOiByZWdpb25Tb3VyY2Uua2V5IH0pLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHJlZ2lvblZhbGlkYXRpb25SZXN1bHQgPSByZWdpb25WYWxpZGF0aW9uLnZhbGlkYXRlKHJlZ2lvbik7XG4gICAgICAgICAgICAgICAgaWYgKHJlZ2lvblZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yczogaGVscGVycy5lcnJvcigncGhvbmVOdW1iZXIuaWxsZWdhbFJlZlJlZ2lvbicsIHsgcmVmOiByZWdpb25Tb3VyY2Uua2V5IH0pLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVnaW9uID0gcmVnaW9uU291cmNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgcGFyc2VkTnVtYmVyO1xuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHBhcnNlZE51bWJlciA9IHBob25lTnVtYmVyVXRpbC5wYXJzZSh2YWx1ZSwgcmVnaW9uKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yczogaGVscGVycy5lcnJvcigncGhvbmVOdW1iZXIuYmFzZScsIHsgdmFsdWUgfSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBob25lTnVtYmVyUmVnaW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFwaG9uZU51bWJlclV0aWwuaXNWYWxpZE51bWJlckZvclJlZ2lvbihwYXJzZWROdW1iZXIsIHJlZ2lvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yczogaGVscGVycy5lcnJvcigncGhvbmVOdW1iZXIucmVnaW9uJywgeyB2YWx1ZSwgcmVnaW9uIH0pLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXBob25lTnVtYmVyVXRpbC5pc1ZhbGlkTnVtYmVyKHBhcnNlZE51bWJlcikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBlcnJvcnM6IGhlbHBlcnMuZXJyb3IoJ3Bob25lTnVtYmVyLmJhc2UnLCB7IHZhbHVlIH0pLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwaG9uZU51bWJlclR5cGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBudW1iZXJUeXBlID0gcGhvbmVOdW1iZXJVdGlsLmdldE51bWJlclR5cGUocGFyc2VkTnVtYmVyKTtcbiAgICAgICAgICAgICAgICBpZiAoIXR5cGVzTWF0Y2goUE5UW3Bob25lTnVtYmVyVHlwZV0sIG51bWJlclR5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHBob25lTnVtYmVyVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yczogaGVscGVycy5lcnJvcigncGhvbmVOdW1iZXIudHlwZScsIGNvbnRleHQpLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBob25lTnVtYmVyRm9ybWF0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkTnVtYmVyID0gcGhvbmVOdW1iZXJVdGlsLmZvcm1hdChwYXJzZWROdW1iZXIsIFBORltwaG9uZU51bWJlckZvcm1hdF0pO1xuICAgICAgICAgICAgICAgIGlmIChoZWxwZXJzLnByZWZzLmNvbnZlcnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBmb3JtYXR0ZWROdW1iZXIsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSAhPT0gZm9ybWF0dGVkTnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogcGhvbmVOdW1iZXJGb3JtYXQsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnM6IGhlbHBlcnMuZXJyb3IoJ3Bob25lTnVtYmVyLmZvcm1hdCcsIGNvbnRleHQpLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICBydWxlczoge1xuICAgICAgICAgICAgZGVmYXVsdFJlZ2lvbjogYXNzZXJ0VDxUeXBlZEV4dGVuc2lvblJ1bGU8e1xuICAgICAgICAgICAgICAgIGRlZmF1bHRSZWdpb246IHN0cmluZ1xuICAgICAgICAgICAgfSwgSUZsYWdzPj4oe1xuICAgICAgICAgICAgICAgIC8vIHJlZ2lvbiB0aGF0IHdlIGFyZSBleHBlY3RpbmcgdGhlIG51bWJlciB0byBiZSBmcm9tXG4gICAgICAgICAgICAgICAgbWV0aG9kKGRlZmF1bHRSZWdpb246IHN0cmluZykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kX3NldEZsYWcoXG4gICAgICAgICAgICAgICAgICAgICAgICAncGhvbmVOdW1iZXJEZWZhdWx0UmVnaW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydFVwcGVyQ2FzZVN0cmluZygnZGVmYXVsdFJlZ2lvbicsIGRlZmF1bHRSZWdpb24sIHZhbGlkUmVnaW9ucyksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgcmVnaW9uOiBhc3NlcnRUPFR5cGVkRXh0ZW5zaW9uUnVsZTx7XG4gICAgICAgICAgICAgICAgcmVnaW9uOiBzdHJpbmcgfCBSZWZlcmVuY2VcbiAgICAgICAgICAgIH0sIElGbGFncz4+KHtcbiAgICAgICAgICAgICAgICBtZXRob2QocmVnaW9uOiBzdHJpbmcgfCBSZWZlcmVuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJF9zZXRGbGFnKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Bob25lTnVtYmVyUmVnaW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGpvaS5pc1JlZihyZWdpb24pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyByZWdpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGFzc2VydFVwcGVyQ2FzZVN0cmluZygncmVnaW9uJywgcmVnaW9uLCB2YWxpZFJlZ2lvbnMpLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG51bVR5cGU6IGFzc2VydFQ8VHlwZWRFeHRlbnNpb25SdWxlPHtcbiAgICAgICAgICAgICAgICB0eXBlOiBrZXlvZiB0eXBlb2YgUE5UXG4gICAgICAgICAgICB9LCBJRmxhZ3M+Pih7XG4gICAgICAgICAgICAgICAgbWV0aG9kKHR5cGU6IGtleW9mIHR5cGVvZiBQTlQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJF9zZXRGbGFnKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Bob25lTnVtYmVyVHlwZScsXG4gICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRVcHBlckNhc2VTdHJpbmcoJ3R5cGUnLCB0eXBlLCBwbnRLZXlzKSBhcyBrZXlvZiB0eXBlb2YgUE5ULFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGZvcm1hdDogYXNzZXJ0VDxUeXBlZEV4dGVuc2lvblJ1bGU8e1xuICAgICAgICAgICAgICAgIGZvcm1hdDoga2V5b2YgdHlwZW9mIFBORlxuICAgICAgICAgICAgfSwgSUZsYWdzPj4oe1xuICAgICAgICAgICAgICAgIG1ldGhvZChmb3JtYXQ6IGtleW9mIHR5cGVvZiBQTkYpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJF9zZXRGbGFnKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Bob25lTnVtYmVyRm9ybWF0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydFVwcGVyQ2FzZVN0cmluZygnZm9ybWF0JywgZm9ybWF0LCBwbmZLZXlzKSBhcyBrZXlvZiB0eXBlb2YgUE5GLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICB9XG59O1xuXG4iXX0=
|
|
148
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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UUFDTixDQUFDO1FBQ0QsS0FBSyxFQUFFO1lBQ0gsYUFBYSxFQUFFLGtCQUFPLENBRVY7Z0JBQ1IscURBQXFEO2dCQUNyRCxNQUFNLENBQUMsYUFBcUI7b0JBQ3hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FDakIsMEJBQTBCLEVBQzFCLHFCQUFxQixDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsb0JBQVksQ0FBQyxDQUN0RSxDQUFDO2dCQUNOLENBQUM7YUFDSixDQUFDO1lBQ0YsTUFBTSxFQUFFLGtCQUFPLENBRUg7Z0JBQ1IsTUFBTSxDQUFDLE1BQTBCO29CQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQ2pCLG1CQUFtQixFQUNuQixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQzt3QkFDYixDQUFDLENBQUMsTUFBTTt3QkFDUixDQUFDLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxvQkFBWSxDQUFDLENBQzlELENBQUM7Z0JBQ04sQ0FBQzthQUNKLENBQUM7WUFDRixPQUFPLEVBQUUsa0JBQU8sQ0FFSjtnQkFDUixNQUFNLENBQUMsSUFBc0I7b0JBQ3pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FDakIsaUJBQWlCLEVBQ2pCLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFxQixDQUNuRSxDQUFDO2dCQUNOLENBQUM7YUFDSixDQUFDO1lBQ0YsTUFBTSxFQUFFLGtCQUFPLENBRUg7Z0JBQ1IsTUFBTSxDQUFDLE1BQXdCO29CQUMzQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQ2pCLG1CQUFtQixFQUNuQixxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBcUIsQ0FDdkUsQ0FBQztnQkFDTixDQUFDO2FBQ0osQ0FBQztTQUNMO0tBQ0osQ0FBQTtBQUNMLENBQUMsQ0FBQyIsImZpbGUiOiJleHRlbnNpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNeVJlZmVyZW5jZSwgVHlwZWRFeHRlbnNpb24sIFR5cGVkRXh0ZW5zaW9uUnVsZSB9IGZyb20gJ0B0ZXBlei9qb2ktbWlzYy1leHRlbnNpb25zJztcbmltcG9ydCB7IGFzc2VydFQgfSBmcm9tICdAdGVwZXovdHMtdXRpbHMnO1xuaW1wb3J0IHsgUGhvbmVOdW1iZXJGb3JtYXQgYXMgUE5GLCBQaG9uZU51bWJlclR5cGUgYXMgUE5ULCBQaG9uZU51bWJlclV0aWwgfSBmcm9tICdnb29nbGUtbGlicGhvbmVudW1iZXInXG5pbXBvcnQgKiBhcyBKb2kgZnJvbSAnam9pJ1xuaW1wb3J0IHsgUmVmZXJlbmNlIH0gZnJvbSAnam9pJ1xuaW1wb3J0IHsgcGhvbmVOdW1iZXJFeHRlbnNpb25zRW5NZXNzYWdlcyB9IGZyb20gJy4vaTE4bi9lbic7XG5pbXBvcnQgeyB2YWxpZFJlZ2lvbnMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHBob25lTnVtYmVyRXh0ZW5zaW9uc0hlTWVzc2FnZXMgfSBmcm9tICcuL2kxOG4vaGUnO1xuXG5jb25zdCBBc3NlcnQgPSByZXF1aXJlKCdAaGFwaS9ob2VrL2xpYi9hc3NlcnQnKTtcblxuXG5pbnRlcmZhY2UgSUZsYWdzIHtcbiAgICBwaG9uZU51bWJlckRlZmF1bHRSZWdpb24/OiBzdHJpbmdcbiAgICBwaG9uZU51bWJlclJlZ2lvbj86IHN0cmluZyB8IFJlZmVyZW5jZVxuICAgIHBob25lTnVtYmVyVHlwZT86IGtleW9mIHR5cGVvZiBQTlRcbiAgICBwaG9uZU51bWJlckZvcm1hdD86IGtleW9mIHR5cGVvZiBQTkZcbn1cblxuY29uc3QgcGhvbmVOdW1iZXJVdGlsID0gUGhvbmVOdW1iZXJVdGlsLmdldEluc3RhbmNlKCk7XG5cbmZ1bmN0aW9uIHR5cGVzTWF0Y2godHlwZTE6IFBOVCwgdHlwZTI6IFBOVCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlMSA9PT0gdHlwZTIgfHxcbiAgICAgICAgKHR5cGUxID09PSBQTlQuRklYRURfTElORV9PUl9NT0JJTEUgJiYgKHR5cGUyID09PSBQTlQuTU9CSUxFIHx8IHR5cGUyID09PSBQTlQuRklYRURfTElORSkpIHx8XG4gICAgICAgICh0eXBlMiA9PT0gUE5ULkZJWEVEX0xJTkVfT1JfTU9CSUxFICYmICh0eXBlMSA9PT0gUE5ULk1PQklMRSB8fCB0eXBlMSA9PT0gUE5ULkZJWEVEX0xJTkUpKTtcbn1cblxuY29uc3QgYXNzZXJ0VXBwZXJDYXNlU3RyaW5nID0gKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSwgdmFsaWRWYWx1ZXM6IHN0cmluZ1tdKTogc3RyaW5nID0+IHtcbiAgICBBc3NlcnQodmFsdWUsIG5hbWUsICdpcyByZXF1aXJlZCcpO1xuXG4gICAgQXNzZXJ0KHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycsIG5hbWUsICdtdXN0IGJlIGEgc3RyaW5nJyk7XG5cbiAgICBjb25zdCByZXQgPSB2YWx1ZS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgQXNzZXJ0KHZhbGlkVmFsdWVzLmluY2x1ZGVzKHJldCksIG5hbWUsICdtdXN0IGJlIG9uZSBvZicsIHZhbGlkVmFsdWVzLmpvaW4oJywgJykpO1xuXG4gICAgcmV0dXJuIHJldCBhcyBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBwaG9uZU51bUV4dGVuc2lvbnMgPSBmdW5jdGlvbiAoam9pOiB0eXBlb2YgSm9pKTogVHlwZWRFeHRlbnNpb248SUZsYWdzPiB7XG4gICAgY29uc3QgcmVnaW9uVmFsaWRhdGlvbiA9IGpvaVxuICAgICAgICAuc3RyaW5nKClcbiAgICAgICAgLnVwcGVyY2FzZSgpXG4gICAgICAgIC52YWxpZCguLi52YWxpZFJlZ2lvbnMpXG4gICAgICAgIC5yZXF1aXJlZCgpO1xuXG4gICAgY29uc3QgcG50S2V5cyA9IE9iamVjdC5rZXlzKFBOVCk7XG4gICAgY29uc3QgcG5mS2V5cyA9IE9iamVjdC5rZXlzKFBORilcblxuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwaG9uZU51bWJlcicsXG4gICAgICAgIGJhc2U6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgbWVzc2FnZXM6IHtcbiAgICAgICAgICAgIC4uLnBob25lTnVtYmVyRXh0ZW5zaW9uc0VuTWVzc2FnZXMsXG4gICAgICAgICAgICBoZTogcGhvbmVOdW1iZXJFeHRlbnNpb25zSGVNZXNzYWdlcyxcbiAgICAgICAgfSBhcyBhbnksIC8vIGpvaSB0eXBlcyBkb2Vzbid0IHN1cHBvcnQgbGFuZ3VhZ2VzIGJ1dCBpdCdzIG9rIFxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vc2lkZXdheS9qb2kvYmxvYi92MTcuNC4yL2xpYi9pbmRleC5kLnRzI0wyOVxuICAgICAgICB2YWxpZGF0ZSh2YWx1ZSwgaGVscGVycykge1xuICAgICAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHBob25lTnVtYmVyUmVnaW9uID0gaGVscGVycy5zY2hlbWEuJF9nZXRGbGFnKCdwaG9uZU51bWJlclJlZ2lvbicpO1xuICAgICAgICAgICAgY29uc3QgcGhvbmVOdW1iZXJEZWZhdWx0UmVnaW9uID0gaGVscGVycy5zY2hlbWEuJF9nZXRGbGFnKCdwaG9uZU51bWJlckRlZmF1bHRSZWdpb24nKTtcbiAgICAgICAgICAgIGNvbnN0IHBob25lTnVtYmVyVHlwZSA9IGhlbHBlcnMuc2NoZW1hLiRfZ2V0RmxhZygncGhvbmVOdW1iZXJUeXBlJyk7XG4gICAgICAgICAgICBjb25zdCBwaG9uZU51bWJlckZvcm1hdCA9IGhlbHBlcnMuc2NoZW1hLiRfZ2V0RmxhZygncGhvbmVOdW1iZXJGb3JtYXQnKTtcblxuICAgICAgICAgICAgbGV0IHJlZ2lvblNvdXJjZTogc3RyaW5nIHwgUmVmZXJlbmNlID0gcGhvbmVOdW1iZXJSZWdpb25cbiAgICAgICAgICAgICAgICB8fCBwaG9uZU51bWJlckRlZmF1bHRSZWdpb25cbiAgICAgICAgICAgICAgICB8fCBudWxsO1xuXG4gICAgICAgICAgICBsZXQgcmVnaW9uOiBzdHJpbmc7XG5cbiAgICAgICAgICAgIGlmIChqb2kuaXNSZWYocmVnaW9uU291cmNlKSkge1xuICAgICAgICAgICAgICAgIHJlZ2lvbiA9IChyZWdpb25Tb3VyY2UgYXMgTXlSZWZlcmVuY2UpLnJlc29sdmUodmFsdWUsIGhlbHBlcnMuc3RhdGUsIGhlbHBlcnMucHJlZnMpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFyZWdpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yczogaGVscGVycy5lcnJvcigncGhvbmVOdW1iZXIuZW1wdHlGaWVsZFJlZicsIHsgcmVmOiByZWdpb25Tb3VyY2Uua2V5IH0pLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHJlZ2lvblZhbGlkYXRpb25SZXN1bHQgPSByZWdpb25WYWxpZGF0aW9uLnZhbGlkYXRlKHJlZ2lvbik7XG4gICAgICAgICAgICAgICAgaWYgKHJlZ2lvblZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yczogaGVscGVycy5lcnJvcigncGhvbmVOdW1iZXIuaWxsZWdhbFJlZlJlZ2lvbicsIHsgcmVmOiByZWdpb25Tb3VyY2Uua2V5IH0pLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVnaW9uID0gcmVnaW9uU291cmNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgcGFyc2VkTnVtYmVyO1xuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHBhcnNlZE51bWJlciA9IHBob25lTnVtYmVyVXRpbC5wYXJzZSh2YWx1ZSwgcmVnaW9uKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yczogaGVscGVycy5lcnJvcigncGhvbmVOdW1iZXIuYmFzZScsIHsgdmFsdWUgfSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBob25lTnVtYmVyUmVnaW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFwaG9uZU51bWJlclV0aWwuaXNWYWxpZE51bWJlckZvclJlZ2lvbihwYXJzZWROdW1iZXIsIHJlZ2lvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yczogaGVscGVycy5lcnJvcigncGhvbmVOdW1iZXIucmVnaW9uJywgeyB2YWx1ZSwgcmVnaW9uIH0pLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXBob25lTnVtYmVyVXRpbC5pc1ZhbGlkTnVtYmVyKHBhcnNlZE51bWJlcikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBlcnJvcnM6IGhlbHBlcnMuZXJyb3IoJ3Bob25lTnVtYmVyLmJhc2UnLCB7IHZhbHVlIH0pLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwaG9uZU51bWJlclR5cGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBudW1iZXJUeXBlID0gcGhvbmVOdW1iZXJVdGlsLmdldE51bWJlclR5cGUocGFyc2VkTnVtYmVyKTtcbiAgICAgICAgICAgICAgICBpZiAoIXR5cGVzTWF0Y2goUE5UW3Bob25lTnVtYmVyVHlwZV0sIG51bWJlclR5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHBob25lTnVtYmVyVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yczogaGVscGVycy5lcnJvcigncGhvbmVOdW1iZXIudHlwZScsIGNvbnRleHQpLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBob25lTnVtYmVyRm9ybWF0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkTnVtYmVyID0gcGhvbmVOdW1iZXJVdGlsLmZvcm1hdChwYXJzZWROdW1iZXIsIFBORltwaG9uZU51bWJlckZvcm1hdF0pO1xuICAgICAgICAgICAgICAgIGlmIChoZWxwZXJzLnByZWZzLmNvbnZlcnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBmb3JtYXR0ZWROdW1iZXIsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSAhPT0gZm9ybWF0dGVkTnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogcGhvbmVOdW1iZXJGb3JtYXQsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnM6IGhlbHBlcnMuZXJyb3IoJ3Bob25lTnVtYmVyLmZvcm1hdCcsIGNvbnRleHQpLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICBydWxlczoge1xuICAgICAgICAgICAgZGVmYXVsdFJlZ2lvbjogYXNzZXJ0VDxUeXBlZEV4dGVuc2lvblJ1bGU8e1xuICAgICAgICAgICAgICAgIGRlZmF1bHRSZWdpb246IHN0cmluZ1xuICAgICAgICAgICAgfSwgSUZsYWdzPj4oe1xuICAgICAgICAgICAgICAgIC8vIHJlZ2lvbiB0aGF0IHdlIGFyZSBleHBlY3RpbmcgdGhlIG51bWJlciB0byBiZSBmcm9tXG4gICAgICAgICAgICAgICAgbWV0aG9kKGRlZmF1bHRSZWdpb246IHN0cmluZykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kX3NldEZsYWcoXG4gICAgICAgICAgICAgICAgICAgICAgICAncGhvbmVOdW1iZXJEZWZhdWx0UmVnaW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydFVwcGVyQ2FzZVN0cmluZygnZGVmYXVsdFJlZ2lvbicsIGRlZmF1bHRSZWdpb24sIHZhbGlkUmVnaW9ucyksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgcmVnaW9uOiBhc3NlcnRUPFR5cGVkRXh0ZW5zaW9uUnVsZTx7XG4gICAgICAgICAgICAgICAgcmVnaW9uOiBzdHJpbmcgfCBSZWZlcmVuY2VcbiAgICAgICAgICAgIH0sIElGbGFncz4+KHtcbiAgICAgICAgICAgICAgICBtZXRob2QocmVnaW9uOiBzdHJpbmcgfCBSZWZlcmVuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJF9zZXRGbGFnKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Bob25lTnVtYmVyUmVnaW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGpvaS5pc1JlZihyZWdpb24pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyByZWdpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGFzc2VydFVwcGVyQ2FzZVN0cmluZygncmVnaW9uJywgcmVnaW9uLCB2YWxpZFJlZ2lvbnMpLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG51bVR5cGU6IGFzc2VydFQ8VHlwZWRFeHRlbnNpb25SdWxlPHtcbiAgICAgICAgICAgICAgICB0eXBlOiBrZXlvZiB0eXBlb2YgUE5UXG4gICAgICAgICAgICB9LCBJRmxhZ3M+Pih7XG4gICAgICAgICAgICAgICAgbWV0aG9kKHR5cGU6IGtleW9mIHR5cGVvZiBQTlQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJF9zZXRGbGFnKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Bob25lTnVtYmVyVHlwZScsXG4gICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRVcHBlckNhc2VTdHJpbmcoJ3R5cGUnLCB0eXBlLCBwbnRLZXlzKSBhcyBrZXlvZiB0eXBlb2YgUE5ULFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGZvcm1hdDogYXNzZXJ0VDxUeXBlZEV4dGVuc2lvblJ1bGU8e1xuICAgICAgICAgICAgICAgIGZvcm1hdDoga2V5b2YgdHlwZW9mIFBORlxuICAgICAgICAgICAgfSwgSUZsYWdzPj4oe1xuICAgICAgICAgICAgICAgIG1ldGhvZChmb3JtYXQ6IGtleW9mIHR5cGVvZiBQTkYpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJF9zZXRGbGFnKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Bob25lTnVtYmVyRm9ybWF0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydFVwcGVyQ2FzZVN0cmluZygnZm9ybWF0JywgZm9ybWF0LCBwbmZLZXlzKSBhcyBrZXlvZiB0eXBlb2YgUE5GLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICB9XG59O1xuXG4iXX0=
|
package/dist/i18n/en.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.phoneNumberExtensionsEnMessages = void 0;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
exports.phoneNumberExtensionsEnMessages = {
|
|
6
|
+
'phoneNumber.base': '{{#label}} must be a valid phone number',
|
|
7
|
+
'phoneNumber.region': '{{#label}} must be number of region {{#region}}',
|
|
8
|
+
'phoneNumber.emptyFieldRef': 'region reference "{{#ref}}" must point to a non empty field',
|
|
9
|
+
'phoneNumber.illegalRefRegion': `region reference "{{#ref}}" must be one of [${utils_1.validRegions.join(', ')}]`,
|
|
10
|
+
'phoneNumber.type': '{{#label}} must be a {{#type}} phone number',
|
|
11
|
+
'phoneNumber.format': '{{#label}} must be formatted in {{#format}} format',
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pMThuL2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9DQUF3QztBQUUzQixRQUFBLCtCQUErQixHQUFHO0lBQzNDLGtCQUFrQixFQUFFLHlDQUF5QztJQUM3RCxvQkFBb0IsRUFBRSxpREFBaUQ7SUFDdkUsMkJBQTJCLEVBQUUsNkRBQTZEO0lBQzFGLDhCQUE4QixFQUFFLCtDQUErQyxvQkFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztJQUN6RyxrQkFBa0IsRUFBRSw2Q0FBNkM7SUFDakUsb0JBQW9CLEVBQUUsb0RBQW9EO0NBQzdFLENBQUMiLCJmaWxlIjoiaTE4bi9lbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHZhbGlkUmVnaW9ucyB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IHBob25lTnVtYmVyRXh0ZW5zaW9uc0VuTWVzc2FnZXMgPSB7XG4gICAgJ3Bob25lTnVtYmVyLmJhc2UnOiAne3sjbGFiZWx9fSBtdXN0IGJlIGEgdmFsaWQgcGhvbmUgbnVtYmVyJyxcbiAgICAncGhvbmVOdW1iZXIucmVnaW9uJzogJ3t7I2xhYmVsfX0gbXVzdCBiZSBudW1iZXIgb2YgcmVnaW9uIHt7I3JlZ2lvbn19JyxcbiAgICAncGhvbmVOdW1iZXIuZW1wdHlGaWVsZFJlZic6ICdyZWdpb24gcmVmZXJlbmNlIFwie3sjcmVmfX1cIiBtdXN0IHBvaW50IHRvIGEgbm9uIGVtcHR5IGZpZWxkJyxcbiAgICAncGhvbmVOdW1iZXIuaWxsZWdhbFJlZlJlZ2lvbic6IGByZWdpb24gcmVmZXJlbmNlIFwie3sjcmVmfX1cIiBtdXN0IGJlIG9uZSBvZiBbJHt2YWxpZFJlZ2lvbnMuam9pbignLCAnKX1dYCxcbiAgICAncGhvbmVOdW1iZXIudHlwZSc6ICd7eyNsYWJlbH19IG11c3QgYmUgYSB7eyN0eXBlfX0gcGhvbmUgbnVtYmVyJyxcbiAgICAncGhvbmVOdW1iZXIuZm9ybWF0JzogJ3t7I2xhYmVsfX0gbXVzdCBiZSBmb3JtYXR0ZWQgaW4ge3sjZm9ybWF0fX0gZm9ybWF0Jyxcbn07Il19
|
package/dist/i18n/he.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.phoneNumberExtensionsHeMessages = void 0;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
exports.phoneNumberExtensionsHeMessages = {
|
|
6
|
+
'phoneNumber.base': '{{#label}} צריך להיות מספר טלפון תקין',
|
|
7
|
+
'phoneNumber.region': '{{#label}} צריך להיות מספר טלפון תקין מ-{{#region}}',
|
|
8
|
+
'phoneNumber.emptyFieldRef': 'ההפניה לאיזור "{{#ref}}" צריכה להוביל לשדה שאינו ריק',
|
|
9
|
+
'phoneNumber.illegalRefRegion': `ההפנייה לאיזור "{{#ref}}" צריכה להוביל לאחד מ-[${utils_1.validRegions.join(', ')}]`,
|
|
10
|
+
'phoneNumber.type': '{{#label}} צריך להיות מספר טלפון מסוג {{#type}}',
|
|
11
|
+
'phoneNumber.format': '{{#label}} צריך להיות בפורמט של {{#format}}',
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pMThuL2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9DQUF3QztBQUczQixRQUFBLCtCQUErQixHQUEyQztJQUNuRixrQkFBa0IsRUFBRSx1Q0FBdUM7SUFDM0Qsb0JBQW9CLEVBQUUscURBQXFEO0lBQzNFLDJCQUEyQixFQUFFLHNEQUFzRDtJQUNuRiw4QkFBOEIsRUFBRSxrREFBa0Qsb0JBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7SUFDNUcsa0JBQWtCLEVBQUUsaURBQWlEO0lBQ3JFLG9CQUFvQixFQUFFLDZDQUE2QztDQUN0RSxDQUFDIiwiZmlsZSI6ImkxOG4vaGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2YWxpZFJlZ2lvbnMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBwaG9uZU51bWJlckV4dGVuc2lvbnNFbk1lc3NhZ2VzIH0gZnJvbSAnLi9lbic7XG5cbmV4cG9ydCBjb25zdCBwaG9uZU51bWJlckV4dGVuc2lvbnNIZU1lc3NhZ2VzOiB0eXBlb2YgcGhvbmVOdW1iZXJFeHRlbnNpb25zRW5NZXNzYWdlcyA9IHtcbiAgICAncGhvbmVOdW1iZXIuYmFzZSc6ICd7eyNsYWJlbH19INem16jXmdeaINec15TXmdeV16og157Xodek16gg15jXnNek15XXnyDXqten15nXnycsXG4gICAgJ3Bob25lTnVtYmVyLnJlZ2lvbic6ICd7eyNsYWJlbH19INem16jXmdeaINec15TXmdeV16og157Xodek16gg15jXnNek15XXnyDXqten15nXnyDXni17eyNyZWdpb259fScsXG4gICAgJ3Bob25lTnVtYmVyLmVtcHR5RmllbGRSZWYnOiAn15TXlNek16DXmdeUINec15DXmdeW15XXqCBcInt7I3JlZn19XCIg16bXqNeZ15vXlCDXnNeU15XXkdeZ15wg15zXqdeT15Qg16nXkNeZ16DXlSDXqNeZ16cnLFxuICAgICdwaG9uZU51bWJlci5pbGxlZ2FsUmVmUmVnaW9uJzogYNeU15TXpNeg15nXmdeUINec15DXmdeW15XXqCBcInt7I3JlZn19XCIg16bXqNeZ15vXlCDXnNeU15XXkdeZ15wg15zXkNeX15Mg154tWyR7dmFsaWRSZWdpb25zLmpvaW4oJywgJyl9XWAsXG4gICAgJ3Bob25lTnVtYmVyLnR5cGUnOiAne3sjbGFiZWx9fSDXpteo15nXmiDXnNeU15nXldeqINee16HXpNeoINeY15zXpNeV158g157XodeV15Ige3sjdHlwZX19JyxcbiAgICAncGhvbmVOdW1iZXIuZm9ybWF0JzogJ3t7I2xhYmVsfX0g16bXqNeZ15og15zXlNeZ15XXqiDXkdek15XXqNee15gg16nXnCB7eyNmb3JtYXR9fScsXG59O1xuIl19
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const validRegions: string[];
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validRegions = void 0;
|
|
4
|
+
const PhoneNumber = require("google-libphonenumber");
|
|
5
|
+
exports.validRegions = Object.keys(
|
|
6
|
+
// as any because metadata is not in @types/google-libphonenumber
|
|
7
|
+
PhoneNumber.metadata.countryToMetadata);
|
|
8
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBcUQ7QUFHeEMsUUFBQSxZQUFZLEdBQWEsTUFBTSxDQUFDLElBQUk7QUFDN0MsaUVBQWlFO0FBQ2hFLFdBQW1CLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUNsRCxDQUFDIiwiZmlsZSI6InV0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUGhvbmVOdW1iZXIgZnJvbSAnZ29vZ2xlLWxpYnBob25lbnVtYmVyJztcblxuXG5leHBvcnQgY29uc3QgdmFsaWRSZWdpb25zOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKFxuICAgIC8vIGFzIGFueSBiZWNhdXNlIG1ldGFkYXRhIGlzIG5vdCBpbiBAdHlwZXMvZ29vZ2xlLWxpYnBob25lbnVtYmVyXG4gICAgKFBob25lTnVtYmVyIGFzIGFueSkubWV0YWRhdGEuY291bnRyeVRvTWV0YWRhdGEsXG4pOyJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tepez/joi-phone-number-extensions",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "A joi extension for validating and formatting phone numbers using google-libphonenumber",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"update": "npx gulp build && npx np --no-publish --no-yarn",
|