@universe/models
Advanced tools
Comparing version
@@ -1,2 +0,4 @@ | ||
import { Person as AbstractPerson, IPerson } from '../../types'; | ||
import { Person as AbstractPerson, IPerson, IAddress } from '../../types'; | ||
import { IPhone } from './Phone'; | ||
import { IEmail } from './Email'; | ||
export declare type Validator<T> = { | ||
@@ -7,4 +9,10 @@ [key in keyof T]: (v: unknown) => v is T[key]; | ||
export declare class Person extends AbstractPerson { | ||
get address1(): string; | ||
get address2(): string; | ||
static preferredPhone(person?: Partial<IPerson> | null): IPhone | null; | ||
static preferredEmail(person?: Partial<IPerson> | null): IEmail | null; | ||
static residentialAddress(person?: Partial<IPerson> | null): IAddress | null; | ||
static mailAddress(person?: Partial<IPerson> | null): IAddress | null; | ||
get preferredPhone(): IPhone | null; | ||
get preferredEmail(): IEmail | null; | ||
get residentialAddress(): IAddress | null; | ||
get mailAddress(): IAddress | null; | ||
get age(): number | null; | ||
@@ -19,4 +27,4 @@ get fullName(): string; | ||
export declare type PersonProps = keyof Person; | ||
export declare const personProps: readonly ("id" | "countyId" | "affidavitNum" | "createdAt" | "updatedAt" | "deletedAt" | "preNominal" | "firstName" | "middleName" | "lastName" | "suffix" | "postNominal" | "nickname" | "birthDate" | "birthState" | "birthCountry" | "gender" | "party" | "ballot" | "precinct" | "primaryLanguageCode" | "secondaryLanguageCode" | "primaryEthnicityCode" | "secondaryEthnicityCode" | "addresses" | "emails" | "phones" | "accounts" | "votes" | "address1" | "address2" | "age" | "fullName" | "primaryLanguage" | "secondaryLanguage" | "primaryEthnicity" | "secondaryEthnicity" | "json" | "partial")[]; | ||
export declare const isPersonProp: (key: string) => key is "id" | "countyId" | "affidavitNum" | "createdAt" | "updatedAt" | "deletedAt" | "preNominal" | "firstName" | "middleName" | "lastName" | "suffix" | "postNominal" | "nickname" | "birthDate" | "birthState" | "birthCountry" | "gender" | "party" | "ballot" | "precinct" | "primaryLanguageCode" | "secondaryLanguageCode" | "primaryEthnicityCode" | "secondaryEthnicityCode" | "addresses" | "emails" | "phones" | "accounts" | "votes" | "address1" | "address2" | "age" | "fullName" | "primaryLanguage" | "secondaryLanguage" | "primaryEthnicity" | "secondaryEthnicity" | "json" | "partial"; | ||
export declare const personProps: readonly ("id" | "countyId" | "affidavitNum" | "createdAt" | "updatedAt" | "deletedAt" | "preNominal" | "firstName" | "middleName" | "lastName" | "suffix" | "postNominal" | "nickname" | "birthDate" | "birthState" | "birthCountry" | "gender" | "party" | "ballot" | "precinct" | "primaryLanguageCode" | "secondaryLanguageCode" | "primaryEthnicityCode" | "secondaryEthnicityCode" | "addresses" | "emails" | "phones" | "accounts" | "votes" | "preferredPhone" | "preferredEmail" | "residentialAddress" | "mailAddress" | "age" | "fullName" | "primaryLanguage" | "secondaryLanguage" | "primaryEthnicity" | "secondaryEthnicity" | "json" | "partial")[]; | ||
export declare const isPersonProp: (key: string) => key is "id" | "countyId" | "affidavitNum" | "createdAt" | "updatedAt" | "deletedAt" | "preNominal" | "firstName" | "middleName" | "lastName" | "suffix" | "postNominal" | "nickname" | "birthDate" | "birthState" | "birthCountry" | "gender" | "party" | "ballot" | "precinct" | "primaryLanguageCode" | "secondaryLanguageCode" | "primaryEthnicityCode" | "secondaryEthnicityCode" | "addresses" | "emails" | "phones" | "accounts" | "votes" | "preferredPhone" | "preferredEmail" | "residentialAddress" | "mailAddress" | "age" | "fullName" | "primaryLanguage" | "secondaryLanguage" | "primaryEthnicity" | "secondaryEthnicity" | "json" | "partial"; | ||
export declare const personValidator: Validator<IPerson>; | ||
@@ -23,0 +31,0 @@ export declare function isValidPerson(o: object, log?: Logger): o is Person; |
@@ -8,23 +8,80 @@ "use strict"; | ||
class Person extends types_1.Person { | ||
get address1() { | ||
const address = this.addresses[0]; | ||
if (!address) { | ||
return ''; | ||
static preferredPhone(person) { | ||
var _a; | ||
if (!person) { | ||
return null; | ||
} | ||
return [ | ||
address === null || address === void 0 ? void 0 : address.facilityType, | ||
address === null || address === void 0 ? void 0 : address.number, | ||
address === null || address === void 0 ? void 0 : address.streetPreDir, | ||
address === null || address === void 0 ? void 0 : address.streetName, | ||
address === null || address === void 0 ? void 0 : address.streetType, | ||
address === null || address === void 0 ? void 0 : address.streetPostDir, | ||
].filter(Boolean).join(' '); | ||
if (!person.phones || person.phones.length === 0) { | ||
return null; | ||
} | ||
let cell = null; | ||
let home = null; | ||
let work = null; | ||
let other = null; | ||
for (const phone of person.phones) { | ||
switch ((_a = phone.owner) === null || _a === void 0 ? void 0 : _a.type) { | ||
case "PERS" /* PERS */: | ||
cell = phone; | ||
break; | ||
case "HOME" /* HOME */: | ||
home = phone; | ||
break; | ||
case "WORK" /* WORK */: | ||
work = phone; | ||
break; | ||
case "OTHER" /* OTHER */: | ||
other = phone; | ||
break; | ||
} | ||
} | ||
return cell || home || work || other || null; | ||
} | ||
get address2() { | ||
const address = this.addresses[0]; | ||
if (!address) { | ||
return ''; | ||
static preferredEmail(person) { | ||
if (!person) { | ||
return null; | ||
} | ||
return [address === null || address === void 0 ? void 0 : address.unitAbbr, address === null || address === void 0 ? void 0 : address.unitNum].filter(Boolean).join(' '); | ||
if (!person.emails || person.emails.length === 0) { | ||
return null; | ||
} | ||
for (const email of person.emails) { | ||
if (email.deliverable) { | ||
return email; | ||
} | ||
} | ||
return person.emails[0] || null; | ||
} | ||
static residentialAddress(person) { | ||
var _a, _b; | ||
if (!person) { | ||
return null; | ||
} | ||
if (!person.addresses || person.addresses.length === 0) { | ||
return null; | ||
} | ||
for (const addr of person.addresses) { | ||
if (((_a = addr.resident) === null || _a === void 0 ? void 0 : _a.type) !== "INV" /* INV */ && ((_b = addr.resident) === null || _b === void 0 ? void 0 : _b.type) !== "MAIL" /* MAIL */) { | ||
return addr; | ||
} | ||
} | ||
return null; | ||
} | ||
static mailAddress(person) { | ||
var _a; | ||
if (!person) { | ||
return null; | ||
} | ||
if (!person.addresses || person.addresses.length === 0) { | ||
return null; | ||
} | ||
for (const addr of person.addresses) { | ||
if (((_a = addr.resident) === null || _a === void 0 ? void 0 : _a.type) === "MAIL" /* MAIL */) { | ||
return addr; | ||
} | ||
} | ||
return Person.residentialAddress(person); | ||
} | ||
get preferredPhone() { return Person.preferredPhone(this); } | ||
get preferredEmail() { return Person.preferredEmail(this); } | ||
get residentialAddress() { return Person.residentialAddress(this); } | ||
get mailAddress() { return Person.mailAddress(this); } | ||
get age() { | ||
@@ -171,2 +228,2 @@ if (!this.birthDate) { | ||
exports.ensurePerson = ensurePerson; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyc29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVscy9QZXJzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBTXdCO0FBRXhCLHVDQW1CcUI7QUFFckIseUNBQTRDO0FBTTVDLE1BQWEsTUFBTyxTQUFRLGNBQWM7SUFDeEMsSUFBSSxRQUFRO1FBQ1YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQUUsT0FBTyxFQUFFLENBQUM7U0FBRTtRQUM1QixPQUFPO1lBQ0wsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFlBQVk7WUFDckIsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE1BQU07WUFDZixPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsWUFBWTtZQUNyQixPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsVUFBVTtZQUNuQixPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsVUFBVTtZQUNuQixPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsYUFBYTtTQUN2QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUFFLE9BQU8sRUFBRSxDQUFDO1NBQUU7UUFDNUIsT0FBTyxDQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxRQUFRLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU8sQ0FBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7U0FBRTtRQUNyQyxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNDQUFzQztJQUM1RixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1NBQUU7UUFDL0MsT0FBTyx5QkFBYyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7U0FBRTtRQUNqRCxPQUFPLHlCQUFjLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztTQUFFO1FBQ2hELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7U0FBRTtRQUNsRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFqREQsd0JBaURDO0FBRUQsU0FBZ0IsV0FBVyxDQUFDLE9BQXlCLEVBQUU7SUFDckQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzlCLEVBQUUsRUFBRSxXQUFJLEVBQUU7UUFDVixRQUFRLEVBQUUsSUFBSTtRQUNkLFlBQVksRUFBRSxJQUFJO1FBRWxCLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRTtRQUNyQixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUU7UUFDckIsU0FBUyxFQUFFLElBQUk7UUFFZixVQUFVLEVBQUUsSUFBSTtRQUNoQixTQUFTLEVBQUUsSUFBSTtRQUNmLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsTUFBTSxFQUFFLElBQUk7UUFDWixXQUFXLEVBQUUsSUFBSTtRQUNqQixRQUFRLEVBQUUsSUFBSTtRQUVkLEtBQUssRUFBRSxFQUFFO1FBQ1QsUUFBUSxFQUFFLEVBQUU7UUFDWixTQUFTLEVBQUUsRUFBRTtRQUNiLE1BQU0sRUFBRSxFQUFFO1FBQ1YsTUFBTSxFQUFFLEVBQUU7UUFFVixNQUFNLGFBQVU7UUFDaEIsS0FBSyxhQUFTO1FBQ2QsU0FBUyxFQUFFLElBQUk7UUFDZixVQUFVLEVBQUUsSUFBSTtRQUNoQixZQUFZLEVBQUUsSUFBSTtRQUNsQixtQkFBbUIsRUFBRSxJQUFJO1FBQ3pCLHFCQUFxQixFQUFFLElBQUk7UUFDM0Isb0JBQW9CLEVBQUUsSUFBSTtRQUMxQixzQkFBc0IsRUFBRSxJQUFJO1FBRTVCLE1BQU0sRUFBRSxJQUFJO1FBQ1osUUFBUSxFQUFFLElBQUk7S0FFZixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDWixDQUFDO0FBdENELGtDQXNDQztBQUlELE1BQU0sYUFBYSxHQUFXLFdBQVcsRUFBRSxDQUFDO0FBQy9CLFFBQUEsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQWtCLENBQUMsQ0FBQztBQUN0RixpRUFBaUU7QUFDcEQsUUFBQSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQXNCLEVBQUUsQ0FBQyxtQkFBVyxDQUFDLFFBQVEsQ0FBRSxHQUFXLENBQUMsQ0FBQztBQUV2RixRQUFBLGVBQWUsR0FBdUI7SUFFakQsRUFBRSxFQUFFLGVBQVE7SUFDWixRQUFRLEVBQUUscUJBQWM7SUFDeEIsWUFBWSxFQUFFLHFCQUFjO0lBRTVCLFNBQVMsRUFBRSxhQUFNO0lBQ2pCLFNBQVMsRUFBRSxhQUFNO0lBQ2pCLFNBQVMsRUFBRSxtQkFBWTtJQUV2QixVQUFVLEVBQUUsMEJBQWtCO0lBQzlCLFNBQVMsRUFBRSxxQkFBYztJQUN6QixVQUFVLEVBQUUscUJBQWM7SUFDMUIsUUFBUSxFQUFFLHFCQUFjO0lBQ3hCLFdBQVcsRUFBRSwyQkFBbUI7SUFDaEMsTUFBTSxFQUFFLDBCQUFrQjtJQUMxQixRQUFRLEVBQUUscUJBQWM7SUFFeEIsS0FBSyxFQUFFLENBQUMsQ0FBVSxFQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDckQsUUFBUSxFQUFFLENBQUMsQ0FBVSxFQUFtQixFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDM0QsU0FBUyxFQUFFLENBQUMsQ0FBVSxFQUFrQixFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDM0QsTUFBTSxFQUFFLENBQUMsQ0FBVSxFQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdEQsTUFBTSxFQUFFLENBQUMsQ0FBVSxFQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFdEQsTUFBTSxFQUFFLGdCQUFRO0lBQ2hCLEtBQUssRUFBRSxxQkFBYTtJQUNwQixTQUFTLEVBQUUsbUJBQVk7SUFDdkIsVUFBVSxFQUFFLHFCQUFhO0lBQ3pCLFlBQVksRUFBRSx1QkFBZTtJQUM3QixtQkFBbUIsRUFBRSw0QkFBb0I7SUFDekMscUJBQXFCLEVBQUUsNEJBQW9CO0lBQzNDLG9CQUFvQixFQUFFLHFCQUFjO0lBQ3BDLHNCQUFzQixFQUFFLHFCQUFjO0lBRXRDLE1BQU0sRUFBRSwwQkFBa0I7SUFDMUIsUUFBUSxFQUFFLHFCQUFjO0NBQ3pCLENBQUM7QUFFRixTQUFnQixhQUFhLENBQUMsQ0FBUyxFQUFFLE1BQWMsS0FBSztJQUMxRCxJQUFJLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRTtRQUMvQixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ2YsTUFBTSxNQUFNLEdBQXFCLENBQUMsQ0FBQztJQUNuQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUU7UUFDNUMsSUFBSSxDQUFDLHVCQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDdEMsR0FBRyxJQUFJLEdBQUcsQ0FBQywrQkFBK0IsTUFBTSxDQUFDLEVBQUUsd0JBQXdCLEdBQUcsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNILEdBQUcsR0FBRyxLQUFLLENBQUM7U0FDYjtLQUNGO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBZEQsc0NBY0M7QUFFRCxTQUFnQixZQUFZLENBQUMsQ0FBbUI7SUFDOUMsSUFBSSxDQUFDLFlBQVksTUFBTSxFQUFFO1FBQUUsT0FBTyxDQUFDLENBQUM7S0FBRTtJQUN0QyxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLG1CQUFXLENBQUUsQ0FBQyxDQUFDO0lBQzVELEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1FBQ3RCLElBQUksQ0FBQyxvQkFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQUUsU0FBUztTQUFFO1FBQ3JDLElBQUksQ0FBQyxDQUFDLHVCQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7Z0JBQ2hCLENBQUMsQ0FBQyxFQUFFLEdBQUcsV0FBSSxFQUFFLENBQUM7YUFDZjtpQkFDSTtnQkFDSCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzdCO1NBQ0Y7S0FDRjtJQUNELE9BQU8sSUFBSSxNQUFNLENBQUMsQ0FBWSxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQWZELG9DQWVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgaXNTdHJpbmcsXG4gIGlzRGF0ZSxcbiAgaXNEYXRlT3JOdWxsLFxuICBpc1N0cmluZ09yTnVsbCxcbiAgdXVpZCxcbn0gZnJvbSAnQHVuaXZlcnNlL3V0aWwnO1xuXG5pbXBvcnQge1xuICBQZXJzb24gYXMgQWJzdHJhY3RQZXJzb24sXG4gIEdlbmRlcixcbiAgUGFydHksXG4gIGlzR2VuZGVyLFxuICBJQWNjb3VudCxcbiAgSVBlcnNvbixcbiAgaXNCYWxsb3RUeXBlT3JOdWxsLFxuICBpc0NvdW50cnlPck51bGwsXG4gIGlzTGFuZ3VhZ2VDb2RlT3JOdWxsLFxuICBpc05hbWVTdWZmaXhPck51bGwsXG4gIGlzUHJlTm9taW5hbE9yTnVsbCxcbiAgaXNQb3N0Tm9taW5hbE9yTnVsbCxcbiAgaXNTdGF0ZU9yTnVsbCxcbiAgaXNQYXJ0eU9yTnVsbCxcbiAgUGhvbmUsXG4gIEVtYWlsLFxuICBBZGRyZXNzLFxuICBJVm90ZSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBMYW5nQ29kZVRvTmFtZSB9IGZyb20gJy4vTGFuZ3VhZ2UnO1xuXG4vLyBUT0RPOiBDb2RlZ2VuIHZhbGlkYXRvcnMuXG5leHBvcnQgdHlwZSBWYWxpZGF0b3I8VD4gPSB7IFtrZXkgaW4ga2V5b2YgVF06ICh2OiB1bmtub3duKSA9PiB2IGlzIFRba2V5XSB9O1xuZXhwb3J0IHR5cGUgTG9nZ2VyID0gZmFsc2UgfCAoKG1zZzogc3RyaW5nKSA9PiB2b2lkKTtcblxuZXhwb3J0IGNsYXNzIFBlcnNvbiBleHRlbmRzIEFic3RyYWN0UGVyc29uIHtcbiAgZ2V0IGFkZHJlc3MxKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYWRkcmVzcyA9IHRoaXMuYWRkcmVzc2VzWzBdO1xuICAgIGlmICghYWRkcmVzcykgeyByZXR1cm4gJyc7IH1cbiAgICByZXR1cm4gW1xuICAgICAgYWRkcmVzcz8uZmFjaWxpdHlUeXBlLFxuICAgICAgYWRkcmVzcz8ubnVtYmVyLFxuICAgICAgYWRkcmVzcz8uc3RyZWV0UHJlRGlyLFxuICAgICAgYWRkcmVzcz8uc3RyZWV0TmFtZSxcbiAgICAgIGFkZHJlc3M/LnN0cmVldFR5cGUsXG4gICAgICBhZGRyZXNzPy5zdHJlZXRQb3N0RGlyLFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGdldCBhZGRyZXNzMigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFkZHJlc3MgPSB0aGlzLmFkZHJlc3Nlc1swXTtcbiAgICBpZiAoIWFkZHJlc3MpIHsgcmV0dXJuICcnOyB9XG4gICAgcmV0dXJuIFsgYWRkcmVzcz8udW5pdEFiYnIsIGFkZHJlc3M/LnVuaXROdW0gXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpO1xuICB9XG5cbiAgZ2V0IGFnZSgpOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuYmlydGhEYXRlKSB7IHJldHVybiBudWxsOyB9XG4gICAgY29uc3QgYmlydGhkYXkgPSArbmV3IERhdGUodGhpcy5iaXJ0aERhdGUpO1xuICAgIHJldHVybiB+figoRGF0ZS5ub3coKSAtIGJpcnRoZGF5KSAvICgzMTU1NzYwMDAwMCkpOyAvLyBNYWdpYyB3YXkgdG8gdHVybiBhIGRhdGUgaW4gdG8gYWdlLlxuICB9XG5cbiAgZ2V0IGZ1bGxOYW1lKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmZpcnN0TmFtZX0gJHt0aGlzLmxhc3ROYW1lfWAudHJpbSgpO1xuICB9XG5cbiAgZ2V0IHByaW1hcnlMYW5ndWFnZSgpIHtcbiAgICBpZiAoIXRoaXMucHJpbWFyeUxhbmd1YWdlQ29kZSkgeyByZXR1cm4gbnVsbDsgfVxuICAgIHJldHVybiBMYW5nQ29kZVRvTmFtZVt0aGlzLnByaW1hcnlMYW5ndWFnZUNvZGVdO1xuICB9XG5cbiAgZ2V0IHNlY29uZGFyeUxhbmd1YWdlKCkge1xuICAgIGlmICghdGhpcy5zZWNvbmRhcnlMYW5ndWFnZUNvZGUpIHsgcmV0dXJuIG51bGw7IH1cbiAgICByZXR1cm4gTGFuZ0NvZGVUb05hbWVbdGhpcy5zZWNvbmRhcnlMYW5ndWFnZUNvZGVdO1xuICB9XG5cbiAgZ2V0IHByaW1hcnlFdGhuaWNpdHkoKSB7XG4gICAgaWYgKCF0aGlzLnByaW1hcnlFdGhuaWNpdHlDb2RlKSB7IHJldHVybiBudWxsOyB9XG4gICAgcmV0dXJuIHRoaXMucHJpbWFyeUV0aG5pY2l0eUNvZGU7XG4gIH1cblxuICBnZXQgc2Vjb25kYXJ5RXRobmljaXR5KCkge1xuICAgIGlmICghdGhpcy5zZWNvbmRhcnlFdGhuaWNpdHlDb2RlKSB7IHJldHVybiBudWxsOyB9XG4gICAgcmV0dXJuIHRoaXMuc2Vjb25kYXJ5RXRobmljaXR5Q29kZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhbXBQZXJzb24oZGF0YTogUGFydGlhbDxJUGVyc29uPiA9IHt9KTogUGVyc29uIHtcbiAgcmV0dXJuIG5ldyBQZXJzb24oT2JqZWN0LmFzc2lnbih7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICBjb3VudHlJZDogbnVsbCxcbiAgICBhZmZpZGF2aXROdW06IG51bGwsXG5cbiAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgdXBkYXRlZEF0OiBuZXcgRGF0ZSgpLFxuICAgIGRlbGV0ZWRBdDogbnVsbCxcblxuICAgIHByZU5vbWluYWw6IG51bGwsXG4gICAgZmlyc3ROYW1lOiBudWxsLFxuICAgIG1pZGRsZU5hbWU6IG51bGwsXG4gICAgbGFzdE5hbWU6IG51bGwsXG4gICAgc3VmZml4OiBudWxsLFxuICAgIHBvc3ROb21pbmFsOiBudWxsLFxuICAgIG5pY2tuYW1lOiBudWxsLFxuXG4gICAgdm90ZXM6IFtdLFxuICAgIGFjY291bnRzOiBbXSxcbiAgICBhZGRyZXNzZXM6IFtdLFxuICAgIGVtYWlsczogW10sXG4gICAgcGhvbmVzOiBbXSxcblxuICAgIGdlbmRlcjogR2VuZGVyLlUsXG4gICAgcGFydHk6IFBhcnR5LlUsXG4gICAgYmlydGhEYXRlOiBudWxsLFxuICAgIGJpcnRoU3RhdGU6IG51bGwsXG4gICAgYmlydGhDb3VudHJ5OiBudWxsLFxuICAgIHByaW1hcnlMYW5ndWFnZUNvZGU6IG51bGwsXG4gICAgc2Vjb25kYXJ5TGFuZ3VhZ2VDb2RlOiBudWxsLFxuICAgIHByaW1hcnlFdGhuaWNpdHlDb2RlOiBudWxsLFxuICAgIHNlY29uZGFyeUV0aG5pY2l0eUNvZGU6IG51bGwsXG5cbiAgICBiYWxsb3Q6IG51bGwsXG4gICAgcHJlY2luY3Q6IG51bGwsXG5cbiAgfSwgZGF0YSkpO1xufVxuXG5leHBvcnQgdHlwZSBQZXJzb25Qcm9wcyA9IGtleW9mIFBlcnNvbjtcblxuY29uc3QgZGVmYXVsdFBlcnNvbjogUGVyc29uID0gc3RhbXBQZXJzb24oKTtcbmV4cG9ydCBjb25zdCBwZXJzb25Qcm9wcyA9IE9iamVjdC5mcmVlemUoT2JqZWN0LmtleXMoZGVmYXVsdFBlcnNvbikgYXMgUGVyc29uUHJvcHNbXSk7XG4vKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuZXhwb3J0IGNvbnN0IGlzUGVyc29uUHJvcCA9IChrZXk6IHN0cmluZyk6IGtleSBpcyBQZXJzb25Qcm9wcyA9PiBwZXJzb25Qcm9wcy5pbmNsdWRlcygoa2V5IGFzIGFueSkpO1xuXG5leHBvcnQgY29uc3QgcGVyc29uVmFsaWRhdG9yOiBWYWxpZGF0b3I8SVBlcnNvbj4gPSB7XG5cbiAgaWQ6IGlzU3RyaW5nLFxuICBjb3VudHlJZDogaXNTdHJpbmdPck51bGwsXG4gIGFmZmlkYXZpdE51bTogaXNTdHJpbmdPck51bGwsXG5cbiAgY3JlYXRlZEF0OiBpc0RhdGUsXG4gIHVwZGF0ZWRBdDogaXNEYXRlLFxuICBkZWxldGVkQXQ6IGlzRGF0ZU9yTnVsbCxcblxuICBwcmVOb21pbmFsOiBpc1ByZU5vbWluYWxPck51bGwsXG4gIGZpcnN0TmFtZTogaXNTdHJpbmdPck51bGwsXG4gIG1pZGRsZU5hbWU6IGlzU3RyaW5nT3JOdWxsLFxuICBsYXN0TmFtZTogaXNTdHJpbmdPck51bGwsXG4gIHBvc3ROb21pbmFsOiBpc1Bvc3ROb21pbmFsT3JOdWxsLFxuICBzdWZmaXg6IGlzTmFtZVN1ZmZpeE9yTnVsbCxcbiAgbmlja25hbWU6IGlzU3RyaW5nT3JOdWxsLFxuXG4gIHZvdGVzOiAodjogdW5rbm93bik6IHYgaXMgSVZvdGVbXSA9PiBBcnJheS5pc0FycmF5KHYpLCAvLyBpc1ZvdGVPck51bGwsXG4gIGFjY291bnRzOiAodjogdW5rbm93bik6IHYgaXMgSUFjY291bnRbXSA9PiBBcnJheS5pc0FycmF5KHYpLCAvLyBpc0FjY291bnRPck51bGwsXG4gIGFkZHJlc3NlczogKHY6IHVua25vd24pOiB2IGlzIEFkZHJlc3NbXSA9PiBBcnJheS5pc0FycmF5KHYpLCAvLyBpc0FkZHJlc3NPck51bGwsXG4gIGVtYWlsczogKHY6IHVua25vd24pOiB2IGlzIEVtYWlsW10gPT4gQXJyYXkuaXNBcnJheSh2KSwgLy8gVE9ETzogSW1wbGVtZW50IHRlbCB2YWxpZGF0aW9uLlxuICBwaG9uZXM6ICh2OiB1bmtub3duKTogdiBpcyBQaG9uZVtdID0+IEFycmF5LmlzQXJyYXkodiksIC8vIFRPRE86IEltcGxlbWVudCB0ZWwgdmFsaWRhdGlvbi5cblxuICBnZW5kZXI6IGlzR2VuZGVyLFxuICBwYXJ0eTogaXNQYXJ0eU9yTnVsbCxcbiAgYmlydGhEYXRlOiBpc0RhdGVPck51bGwsXG4gIGJpcnRoU3RhdGU6IGlzU3RhdGVPck51bGwsXG4gIGJpcnRoQ291bnRyeTogaXNDb3VudHJ5T3JOdWxsLFxuICBwcmltYXJ5TGFuZ3VhZ2VDb2RlOiBpc0xhbmd1YWdlQ29kZU9yTnVsbCxcbiAgc2Vjb25kYXJ5TGFuZ3VhZ2VDb2RlOiBpc0xhbmd1YWdlQ29kZU9yTnVsbCxcbiAgcHJpbWFyeUV0aG5pY2l0eUNvZGU6IGlzU3RyaW5nT3JOdWxsLFxuICBzZWNvbmRhcnlFdGhuaWNpdHlDb2RlOiBpc1N0cmluZ09yTnVsbCxcblxuICBiYWxsb3Q6IGlzQmFsbG90VHlwZU9yTnVsbCxcbiAgcHJlY2luY3Q6IGlzU3RyaW5nT3JOdWxsLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRQZXJzb24obzogb2JqZWN0LCBsb2c6IExvZ2dlciA9IGZhbHNlKTogbyBpcyBQZXJzb24ge1xuICBpZiAoIW8gfHwgdHlwZW9mIG8gIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbGV0IHJldCA9IHRydWU7XG4gIGNvbnN0IHBlcnNvbjogUGFydGlhbDxJUGVyc29uPiA9IG87XG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGRlZmF1bHRQZXJzb24pKSB7XG4gICAgaWYgKCFwZXJzb25WYWxpZGF0b3Jba2V5XShwZXJzb25ba2V5XSkpIHtcbiAgICAgIGxvZyAmJiBsb2coYFVuc2FuaXRhcnkgRGF0YSBmb3IgcGVyc29uIFwiJHtwZXJzb24uaWR9XCIuIEludmFsaWQgdmFsdWUgZm9yICR7a2V5fTogJHtKU09OLnN0cmluZ2lmeShwZXJzb25ba2V5XSwgbnVsbCwgMil9YCk7XG4gICAgICByZXQgPSBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVBlcnNvbihvOiBQYXJ0aWFsPElQZXJzb24+KTogUGVyc29uIHtcbiAgaWYgKG8gaW5zdGFuY2VvZiBQZXJzb24pIHsgcmV0dXJuIG87IH1cbiAgY29uc3Qga2V5cyA9IG5ldyBTZXQoWyAuLi5PYmplY3Qua2V5cyhvKSwgLi4ucGVyc29uUHJvcHMgXSk7XG4gIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICBpZiAoIWlzUGVyc29uUHJvcChrZXkpKSB7IGNvbnRpbnVlOyB9XG4gICAgaWYgKCEocGVyc29uVmFsaWRhdG9yW2tleV0ob1trZXldKSkpIHtcbiAgICAgIGlmIChrZXkgPT09ICdpZCcpIHtcbiAgICAgICAgby5pZCA9IHV1aWQoKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBvW2tleV0gPSBkZWZhdWx0UGVyc29uW2tleV07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBuZXcgUGVyc29uKG8gYXMgSVBlcnNvbik7XG59XG5cbmV4cG9ydCB7IElQZXJzb24gfTtcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyc29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVscy9QZXJzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBTXdCO0FBRXhCLHVDQXFCcUI7QUFFckIseUNBQTRDO0FBUTVDLE1BQWEsTUFBTyxTQUFRLGNBQWM7SUFDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFnQzs7UUFDcEQsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1NBQUU7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7U0FBRTtRQUVsRSxJQUFJLElBQUksR0FBa0IsSUFBSSxDQUFDO1FBQy9CLElBQUksSUFBSSxHQUFrQixJQUFJLENBQUM7UUFDL0IsSUFBSSxJQUFJLEdBQWtCLElBQUksQ0FBQztRQUMvQixJQUFJLEtBQUssR0FBa0IsSUFBSSxDQUFDO1FBRWhDLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNqQyxjQUFRLEtBQUssQ0FBQyxLQUFLLDBDQUFFLElBQUksRUFBRTtnQkFDekI7b0JBQXFCLElBQUksR0FBRyxLQUFLLENBQUM7b0JBQUMsTUFBTTtnQkFDekM7b0JBQXFCLElBQUksR0FBRyxLQUFLLENBQUM7b0JBQUMsTUFBTTtnQkFDekM7b0JBQXFCLElBQUksR0FBRyxLQUFLLENBQUM7b0JBQUMsTUFBTTtnQkFDekM7b0JBQXNCLEtBQUssR0FBRyxLQUFLLENBQUM7b0JBQUMsTUFBTTthQUM1QztTQUNGO1FBRUQsT0FBTyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQWdDO1FBQ3BELElBQUksQ0FBQyxNQUFNLEVB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K0IsTUFBTSxDQUFDLEVBQUUsd0JBQXdCLEdBQUcsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNILEdBQUcsR0FBRyxLQUFLLENBQUM7U0FDYjtLQUNGO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBZEQsc0NBY0M7QUFFRCxTQUFnQixZQUFZLENBQUMsQ0FBbUI7SUFDOUMsSUFBSSxDQUFDLFlBQVksTUFBTSxFQUFFO1FBQUUsT0FBTyxDQUFDLENBQUM7S0FBRTtJQUN0QyxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLG1CQUFXLENBQUUsQ0FBQyxDQUFDO0lBQzVELEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1FBQ3RCLElBQUksQ0FBQyxvQkFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQUUsU0FBUztTQUFFO1FBQ3JDLElBQUksQ0FBQyxDQUFDLHVCQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7Z0JBQ2hCLENBQUMsQ0FBQyxFQUFFLEdBQUcsV0FBSSxFQUFFLENBQUM7YUFDZjtpQkFDSTtnQkFDSCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzdCO1NBQ0Y7S0FDRjtJQUNELE9BQU8sSUFBSSxNQUFNLENBQUMsQ0FBWSxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQWZELG9DQWVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgaXNTdHJpbmcsXG4gIGlzRGF0ZSxcbiAgaXNEYXRlT3JOdWxsLFxuICBpc1N0cmluZ09yTnVsbCxcbiAgdXVpZCxcbn0gZnJvbSAnQHVuaXZlcnNlL3V0aWwnO1xuXG5pbXBvcnQge1xuICBQZXJzb24gYXMgQWJzdHJhY3RQZXJzb24sXG4gIEdlbmRlcixcbiAgUGFydHksXG4gIGlzR2VuZGVyLFxuICBJQWNjb3VudCxcbiAgSVBlcnNvbixcbiAgaXNCYWxsb3RUeXBlT3JOdWxsLFxuICBpc0NvdW50cnlPck51bGwsXG4gIGlzTGFuZ3VhZ2VDb2RlT3JOdWxsLFxuICBpc05hbWVTdWZmaXhPck51bGwsXG4gIGlzUHJlTm9taW5hbE9yTnVsbCxcbiAgaXNQb3N0Tm9taW5hbE9yTnVsbCxcbiAgaXNTdGF0ZU9yTnVsbCxcbiAgaXNQYXJ0eU9yTnVsbCxcbiAgUGhvbmUsXG4gIEVtYWlsLFxuICBBZGRyZXNzLFxuICBJVm90ZSxcbiAgQWRkcmVzc1R5cGUsXG4gIElBZGRyZXNzLFxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCB7IExhbmdDb2RlVG9OYW1lIH0gZnJvbSAnLi9MYW5ndWFnZSc7XG5pbXBvcnQgeyBJUGhvbmUsIFBob25lVHlwZSB9IGZyb20gJy4vUGhvbmUnO1xuaW1wb3J0IHsgSUVtYWlsIH0gZnJvbSAnLi9FbWFpbCc7XG5cbi8vIFRPRE86IENvZGVnZW4gdmFsaWRhdG9ycy5cbmV4cG9ydCB0eXBlIFZhbGlkYXRvcjxUPiA9IHsgW2tleSBpbiBrZXlvZiBUXTogKHY6IHVua25vd24pID0+IHYgaXMgVFtrZXldIH07XG5leHBvcnQgdHlwZSBMb2dnZXIgPSBmYWxzZSB8ICgobXNnOiBzdHJpbmcpID0+IHZvaWQpO1xuXG5leHBvcnQgY2xhc3MgUGVyc29uIGV4dGVuZHMgQWJzdHJhY3RQZXJzb24ge1xuICBzdGF0aWMgcHJlZmVycmVkUGhvbmUocGVyc29uPzogUGFydGlhbDxJUGVyc29uPiB8IG51bGwpOiBJUGhvbmUgfCBudWxsIHtcbiAgICBpZiAoIXBlcnNvbikgeyByZXR1cm4gbnVsbDsgfVxuICAgIGlmICghcGVyc29uLnBob25lcyB8fCBwZXJzb24ucGhvbmVzLmxlbmd0aCA9PT0gMCkgeyByZXR1cm4gbnVsbDsgfVxuXG4gICAgbGV0IGNlbGw6IElQaG9uZSB8IG51bGwgPSBudWxsO1xuICAgIGxldCBob21lOiBJUGhvbmUgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgd29yazogSVBob25lIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IG90aGVyOiBJUGhvbmUgfCBudWxsID0gbnVsbDtcblxuICAgIGZvciAoY29uc3QgcGhvbmUgb2YgcGVyc29uLnBob25lcykge1xuICAgICAgc3dpdGNoIChwaG9uZS5vd25lcj8udHlwZSkge1xuICAgICAgICBjYXNlIFBob25lVHlwZS5QRVJTOiBjZWxsID0gcGhvbmU7IGJyZWFrO1xuICAgICAgICBjYXNlIFBob25lVHlwZS5IT01FOiBob21lID0gcGhvbmU7IGJyZWFrO1xuICAgICAgICBjYXNlIFBob25lVHlwZS5XT1JLOiB3b3JrID0gcGhvbmU7IGJyZWFrO1xuICAgICAgICBjYXNlIFBob25lVHlwZS5PVEhFUjogb3RoZXIgPSBwaG9uZTsgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNlbGwgfHwgaG9tZSB8fCB3b3JrIHx8IG90aGVyIHx8IG51bGw7XG4gIH1cblxuICBzdGF0aWMgcHJlZmVycmVkRW1haWwocGVyc29uPzogUGFydGlhbDxJUGVyc29uPiB8IG51bGwpOiBJRW1haWwgfCBudWxsIHtcbiAgICBpZiAoIXBlcnNvbikgeyByZXR1cm4gbnVsbDsgfVxuICAgIGlmICghcGVyc29uLmVtYWlscyB8fCBwZXJzb24uZW1haWxzLmxlbmd0aCA9PT0gMCkgeyByZXR1cm4gbnVsbDsgfVxuXG4gICAgZm9yIChjb25zdCBlbWFpbCBvZiBwZXJzb24uZW1haWxzKSB7XG4gICAgICBpZiAoZW1haWwuZGVsaXZlcmFibGUpIHsgcmV0dXJuIGVtYWlsOyB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBlcnNvbi5lbWFpbHNbMF0gfHwgbnVsbDtcbiAgfVxuXG4gIHN0YXRpYyByZXNpZGVudGlhbEFkZHJlc3MocGVyc29uPzogUGFydGlhbDxJUGVyc29uPiB8IG51bGwpOiBJQWRkcmVzcyB8IG51bGwge1xuICAgIGlmICghcGVyc29uKSB7IHJldHVybiBudWxsOyB9XG4gICAgaWYgKCFwZXJzb24uYWRkcmVzc2VzIHx8IHBlcnNvbi5hZGRyZXNzZXMubGVuZ3RoID09PSAwKSB7IHJldHVybiBudWxsOyB9XG5cbiAgICBmb3IgKGNvbnN0IGFkZHIgb2YgcGVyc29uLmFkZHJlc3Nlcykge1xuICAgICAgaWYgKGFkZHIucmVzaWRlbnQ/LnR5cGUgIT09IEFkZHJlc3NUeXBlLklOViAmJiBhZGRyLnJlc2lkZW50Py50eXBlICE9PSBBZGRyZXNzVHlwZS5NQUlMKSB7XG4gICAgICAgIHJldHVybiBhZGRyO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3RhdGljIG1haWxBZGRyZXNzKHBlcnNvbj86IFBhcnRpYWw8SVBlcnNvbj4gfCBudWxsKTogSUFkZHJlc3MgfCBudWxsIHtcbiAgICBpZiAoIXBlcnNvbikgeyByZXR1cm4gbnVsbDsgfVxuICAgIGlmICghcGVyc29uLmFkZHJlc3NlcyB8fCBwZXJzb24uYWRkcmVzc2VzLmxlbmd0aCA9PT0gMCkgeyByZXR1cm4gbnVsbDsgfVxuXG4gICAgZm9yIChjb25zdCBhZGRyIG9mIHBlcnNvbi5hZGRyZXNzZXMpIHtcbiAgICAgIGlmIChhZGRyLnJlc2lkZW50Py50eXBlID09PSBBZGRyZXNzVHlwZS5NQUlMKSB7XG4gICAgICAgIHJldHVybiBhZGRyO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBQZXJzb24ucmVzaWRlbnRpYWxBZGRyZXNzKHBlcnNvbik7XG4gIH1cblxuICBnZXQgcHJlZmVycmVkUGhvbmUoKTogSVBob25lIHwgbnVsbCB7IHJldHVybiBQZXJzb24ucHJlZmVycmVkUGhvbmUodGhpcyk7IH1cbiAgZ2V0IHByZWZlcnJlZEVtYWlsKCk6IElFbWFpbCB8IG51bGwgeyByZXR1cm4gUGVyc29uLnByZWZlcnJlZEVtYWlsKHRoaXMpOyB9XG4gIGdldCByZXNpZGVudGlhbEFkZHJlc3MoKTogSUFkZHJlc3MgfCBudWxsIHsgcmV0dXJuIFBlcnNvbi5yZXNpZGVudGlhbEFkZHJlc3ModGhpcyk7IH1cbiAgZ2V0IG1haWxBZGRyZXNzKCk6IElBZGRyZXNzIHwgbnVsbCB7IHJldHVybiBQZXJzb24ubWFpbEFkZHJlc3ModGhpcyk7IH1cblxuICBnZXQgYWdlKCk6IG51bWJlciB8IG51bGwge1xuICAgIGlmICghdGhpcy5iaXJ0aERhdGUpIHsgcmV0dXJuIG51bGw7IH1cbiAgICBjb25zdCBiaXJ0aGRheSA9ICtuZXcgRGF0ZSh0aGlzLmJpcnRoRGF0ZSk7XG4gICAgcmV0dXJuIH5+KChEYXRlLm5vdygpIC0gYmlydGhkYXkpIC8gKDMxNTU3NjAwMDAwKSk7IC8vIE1hZ2ljIHdheSB0byB0dXJuIGEgZGF0ZSBpbiB0byBhZ2UuXG4gIH1cblxuICBnZXQgZnVsbE5hbWUoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuZmlyc3ROYW1lfSAke3RoaXMubGFzdE5hbWV9YC50cmltKCk7XG4gIH1cblxuICBnZXQgcHJpbWFyeUxhbmd1YWdlKCkge1xuICAgIGlmICghdGhpcy5wcmltYXJ5TGFuZ3VhZ2VDb2RlKSB7IHJldHVybiBudWxsOyB9XG4gICAgcmV0dXJuIExhbmdDb2RlVG9OYW1lW3RoaXMucHJpbWFyeUxhbmd1YWdlQ29kZV07XG4gIH1cblxuICBnZXQgc2Vjb25kYXJ5TGFuZ3VhZ2UoKSB7XG4gICAgaWYgKCF0aGlzLnNlY29uZGFyeUxhbmd1YWdlQ29kZSkgeyByZXR1cm4gbnVsbDsgfVxuICAgIHJldHVybiBMYW5nQ29kZVRvTmFtZVt0aGlzLnNlY29uZGFyeUxhbmd1YWdlQ29kZV07XG4gIH1cblxuICBnZXQgcHJpbWFyeUV0aG5pY2l0eSgpIHtcbiAgICBpZiAoIXRoaXMucHJpbWFyeUV0aG5pY2l0eUNvZGUpIHsgcmV0dXJuIG51bGw7IH1cbiAgICByZXR1cm4gdGhpcy5wcmltYXJ5RXRobmljaXR5Q29kZTtcbiAgfVxuXG4gIGdldCBzZWNvbmRhcnlFdGhuaWNpdHkoKSB7XG4gICAgaWYgKCF0aGlzLnNlY29uZGFyeUV0aG5pY2l0eUNvZGUpIHsgcmV0dXJuIG51bGw7IH1cbiAgICByZXR1cm4gdGhpcy5zZWNvbmRhcnlFdGhuaWNpdHlDb2RlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFtcFBlcnNvbihkYXRhOiBQYXJ0aWFsPElQZXJzb24+ID0ge30pOiBQZXJzb24ge1xuICByZXR1cm4gbmV3IFBlcnNvbihPYmplY3QuYXNzaWduKHtcbiAgICBpZDogdXVpZCgpLFxuICAgIGNvdW50eUlkOiBudWxsLFxuICAgIGFmZmlkYXZpdE51bTogbnVsbCxcblxuICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKSxcbiAgICB1cGRhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgZGVsZXRlZEF0OiBudWxsLFxuXG4gICAgcHJlTm9taW5hbDogbnVsbCxcbiAgICBmaXJzdE5hbWU6IG51bGwsXG4gICAgbWlkZGxlTmFtZTogbnVsbCxcbiAgICBsYXN0TmFtZTogbnVsbCxcbiAgICBzdWZmaXg6IG51bGwsXG4gICAgcG9zdE5vbWluYWw6IG51bGwsXG4gICAgbmlja25hbWU6IG51bGwsXG5cbiAgICB2b3RlczogW10sXG4gICAgYWNjb3VudHM6IFtdLFxuICAgIGFkZHJlc3NlczogW10sXG4gICAgZW1haWxzOiBbXSxcbiAgICBwaG9uZXM6IFtdLFxuXG4gICAgZ2VuZGVyOiBHZW5kZXIuVSxcbiAgICBwYXJ0eTogUGFydHkuVSxcbiAgICBiaXJ0aERhdGU6IG51bGwsXG4gICAgYmlydGhTdGF0ZTogbnVsbCxcbiAgICBiaXJ0aENvdW50cnk6IG51bGwsXG4gICAgcHJpbWFyeUxhbmd1YWdlQ29kZTogbnVsbCxcbiAgICBzZWNvbmRhcnlMYW5ndWFnZUNvZGU6IG51bGwsXG4gICAgcHJpbWFyeUV0aG5pY2l0eUNvZGU6IG51bGwsXG4gICAgc2Vjb25kYXJ5RXRobmljaXR5Q29kZTogbnVsbCxcblxuICAgIGJhbGxvdDogbnVsbCxcbiAgICBwcmVjaW5jdDogbnVsbCxcblxuICB9LCBkYXRhKSk7XG59XG5cbmV4cG9ydCB0eXBlIFBlcnNvblByb3BzID0ga2V5b2YgUGVyc29uO1xuXG5jb25zdCBkZWZhdWx0UGVyc29uOiBQZXJzb24gPSBzdGFtcFBlcnNvbigpO1xuZXhwb3J0IGNvbnN0IHBlcnNvblByb3BzID0gT2JqZWN0LmZyZWV6ZShPYmplY3Qua2V5cyhkZWZhdWx0UGVyc29uKSBhcyBQZXJzb25Qcm9wc1tdKTtcbi8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5leHBvcnQgY29uc3QgaXNQZXJzb25Qcm9wID0gKGtleTogc3RyaW5nKToga2V5IGlzIFBlcnNvblByb3BzID0+IHBlcnNvblByb3BzLmluY2x1ZGVzKChrZXkgYXMgYW55KSk7XG5cbmV4cG9ydCBjb25zdCBwZXJzb25WYWxpZGF0b3I6IFZhbGlkYXRvcjxJUGVyc29uPiA9IHtcblxuICBpZDogaXNTdHJpbmcsXG4gIGNvdW50eUlkOiBpc1N0cmluZ09yTnVsbCxcbiAgYWZmaWRhdml0TnVtOiBpc1N0cmluZ09yTnVsbCxcblxuICBjcmVhdGVkQXQ6IGlzRGF0ZSxcbiAgdXBkYXRlZEF0OiBpc0RhdGUsXG4gIGRlbGV0ZWRBdDogaXNEYXRlT3JOdWxsLFxuXG4gIHByZU5vbWluYWw6IGlzUHJlTm9taW5hbE9yTnVsbCxcbiAgZmlyc3ROYW1lOiBpc1N0cmluZ09yTnVsbCxcbiAgbWlkZGxlTmFtZTogaXNTdHJpbmdPck51bGwsXG4gIGxhc3ROYW1lOiBpc1N0cmluZ09yTnVsbCxcbiAgcG9zdE5vbWluYWw6IGlzUG9zdE5vbWluYWxPck51bGwsXG4gIHN1ZmZpeDogaXNOYW1lU3VmZml4T3JOdWxsLFxuICBuaWNrbmFtZTogaXNTdHJpbmdPck51bGwsXG5cbiAgdm90ZXM6ICh2OiB1bmtub3duKTogdiBpcyBJVm90ZVtdID0+IEFycmF5LmlzQXJyYXkodiksIC8vIGlzVm90ZU9yTnVsbCxcbiAgYWNjb3VudHM6ICh2OiB1bmtub3duKTogdiBpcyBJQWNjb3VudFtdID0+IEFycmF5LmlzQXJyYXkodiksIC8vIGlzQWNjb3VudE9yTnVsbCxcbiAgYWRkcmVzc2VzOiAodjogdW5rbm93bik6IHYgaXMgQWRkcmVzc1tdID0+IEFycmF5LmlzQXJyYXkodiksIC8vIGlzQWRkcmVzc09yTnVsbCxcbiAgZW1haWxzOiAodjogdW5rbm93bik6IHYgaXMgRW1haWxbXSA9PiBBcnJheS5pc0FycmF5KHYpLCAvLyBUT0RPOiBJbXBsZW1lbnQgdGVsIHZhbGlkYXRpb24uXG4gIHBob25lczogKHY6IHVua25vd24pOiB2IGlzIFBob25lW10gPT4gQXJyYXkuaXNBcnJheSh2KSwgLy8gVE9ETzogSW1wbGVtZW50IHRlbCB2YWxpZGF0aW9uLlxuXG4gIGdlbmRlcjogaXNHZW5kZXIsXG4gIHBhcnR5OiBpc1BhcnR5T3JOdWxsLFxuICBiaXJ0aERhdGU6IGlzRGF0ZU9yTnVsbCxcbiAgYmlydGhTdGF0ZTogaXNTdGF0ZU9yTnVsbCxcbiAgYmlydGhDb3VudHJ5OiBpc0NvdW50cnlPck51bGwsXG4gIHByaW1hcnlMYW5ndWFnZUNvZGU6IGlzTGFuZ3VhZ2VDb2RlT3JOdWxsLFxuICBzZWNvbmRhcnlMYW5ndWFnZUNvZGU6IGlzTGFuZ3VhZ2VDb2RlT3JOdWxsLFxuICBwcmltYXJ5RXRobmljaXR5Q29kZTogaXNTdHJpbmdPck51bGwsXG4gIHNlY29uZGFyeUV0aG5pY2l0eUNvZGU6IGlzU3RyaW5nT3JOdWxsLFxuXG4gIGJhbGxvdDogaXNCYWxsb3RUeXBlT3JOdWxsLFxuICBwcmVjaW5jdDogaXNTdHJpbmdPck51bGwsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFBlcnNvbihvOiBvYmplY3QsIGxvZzogTG9nZ2VyID0gZmFsc2UpOiBvIGlzIFBlcnNvbiB7XG4gIGlmICghbyB8fCB0eXBlb2YgbyAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBsZXQgcmV0ID0gdHJ1ZTtcbiAgY29uc3QgcGVyc29uOiBQYXJ0aWFsPElQZXJzb24+ID0gbztcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZGVmYXVsdFBlcnNvbikpIHtcbiAgICBpZiAoIXBlcnNvblZhbGlkYXRvcltrZXldKHBlcnNvbltrZXldKSkge1xuICAgICAgbG9nICYmIGxvZyhgVW5zYW5pdGFyeSBEYXRhIGZvciBwZXJzb24gXCIke3BlcnNvbi5pZH1cIi4gSW52YWxpZCB2YWx1ZSBmb3IgJHtrZXl9OiAke0pTT04uc3RyaW5naWZ5KHBlcnNvbltrZXldLCBudWxsLCAyKX1gKTtcbiAgICAgIHJldCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmV0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlUGVyc29uKG86IFBhcnRpYWw8SVBlcnNvbj4pOiBQZXJzb24ge1xuICBpZiAobyBpbnN0YW5jZW9mIFBlcnNvbikgeyByZXR1cm4gbzsgfVxuICBjb25zdCBrZXlzID0gbmV3IFNldChbIC4uLk9iamVjdC5rZXlzKG8pLCAuLi5wZXJzb25Qcm9wcyBdKTtcbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgIGlmICghaXNQZXJzb25Qcm9wKGtleSkpIHsgY29udGludWU7IH1cbiAgICBpZiAoIShwZXJzb25WYWxpZGF0b3Jba2V5XShvW2tleV0pKSkge1xuICAgICAgaWYgKGtleSA9PT0gJ2lkJykge1xuICAgICAgICBvLmlkID0gdXVpZCgpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIG9ba2V5XSA9IGRlZmF1bHRQZXJzb25ba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5ldyBQZXJzb24obyBhcyBJUGVyc29uKTtcbn1cblxuZXhwb3J0IHsgSVBlcnNvbiB9O1xuIl19 |
@@ -1203,3 +1203,2 @@ export declare type Maybe<T> = T | null; | ||
deletedAt: Maybe<Date>; | ||
abstract get fullName(): string | null; | ||
preNominal: Maybe<PreNominal>; | ||
@@ -1228,5 +1227,8 @@ firstName: Maybe<string>; | ||
votes: IVote[]; | ||
abstract get fullName(): string | null; | ||
abstract get age(): number | null; | ||
abstract get address1(): string; | ||
abstract get address2(): string; | ||
abstract get preferredPhone(): IPhone | null; | ||
abstract get preferredEmail(): IEmail | null; | ||
abstract get residentialAddress(): IAddress | null; | ||
abstract get mailAddress(): IAddress | null; | ||
abstract get primaryLanguage(): string | null; | ||
@@ -1233,0 +1235,0 @@ abstract get secondaryLanguage(): string | null; |
{ | ||
"name": "@universe/models", | ||
"version": "0.0.6", | ||
"version": "0.0.7", | ||
"main": "dist/src/index.js", | ||
@@ -5,0 +5,0 @@ "description": "Universe data models.", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
860823
1.08%11019
0.87%