diff --git a/.gitignore b/.gitignore index 81dd1f19..15aa4313 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ android/src/main/jniLibs/ ios/VialerPJSIP.framework/ .libs.lock .libs.tar.gz +yarn-error.log diff --git a/dist/Account.js b/dist/Account.js index 16aa05ab..0a27cfcb 100644 --- a/dist/Account.js +++ b/dist/Account.js @@ -1,116 +1,148 @@ import AccountRegistration from './AccountRegistration'; + /** * This describes account configuration and registration status */ export default class Account { - constructor(data) { - this._data = data; - this._registration = new AccountRegistration(data['registration']); - } - /** - * The account ID. - * @returns {int} - */ - getId() { - return this._data.id; - } - /** - * This is the URL to be put in the request URI for the registration, and will look something like "sip:serviceprovider". - * @returns {String} - */ - getURI() { - return this._data.uri; - } - /** - * Full name specified in Endpoint.createAccount(). - * @returns {String} - */ - getName() { - return this._data.name; - } - /** - * Username specified in Endpoint.createAccount(). - * @returns {String} - */ - getUsername() { - return this._data.username; - } - /** - * Domain specified in Endpoint.createAccount(). - * @returns {int|null} - */ - getDomain() { - return this._data.domain; - } - /** - * Password specified in Endpoint.createAccount(). - * @returns {String} - */ - getPassword() { - return this._data.password; - } - /** - * Proxy specified in Endpoint.createAccount(). - * @returns {String} - */ - getProxy() { - return this._data.proxy; - } - /** - * Transport specified in Endpoint.createAccount(). - * @returns {String} - */ - getTransport() { - return this._data.transport; - } - /** - * Additional parameters that will be appended in the Contact header - * for this account. - * @returns {String} - */ - getContactParams() { - return this._data.contactParams; - } - /** - * Additional URI parameters that will be appended in the Contact URI - * for this account. - * @returns {String} - */ - getContactUriParams() { - return this._data.contactUriParams; - } - /** - * Port specified in Endpoint.createAccount(). - * @returns {String} - */ - getRegServer() { - return this._data.regServer || ""; - } - /** - * Port specified in Endpoint.createAccount(). - * @returns {String} - */ - getRegTimeout() { - return this._data.regTimeout; - } - /** - * @returns {String} - */ - getRegContactParams() { - return this._data.regContactParams; - } - /** - * @returns {Object} - */ - getRegHeaders() { - return this._data.regHeaders; - } - /** - * Account registration status. - * @returns {AccountRegistration} - */ - getRegistration() { - return this._registration; - } + constructor(data) { + this._data = data; + this._registration = new AccountRegistration(data['registration']); + } + /** + * The account ID. + * @returns {int} + */ + + + getId() { + return this._data.id; + } + /** + * This is the URL to be put in the request URI for the registration, and will look something like "sip:serviceprovider". + * @returns {String} + */ + + + getURI() { + return this._data.uri; + } + /** + * Full name specified in Endpoint.createAccount(). + * @returns {String} + */ + + + getName() { + return this._data.name; + } + /** + * Username specified in Endpoint.createAccount(). + * @returns {String} + */ + + + getUsername() { + return this._data.username; + } + /** + * Domain specified in Endpoint.createAccount(). + * @returns {int|null} + */ + + + getDomain() { + return this._data.domain; + } + /** + * Password specified in Endpoint.createAccount(). + * @returns {String} + */ + + + getPassword() { + return this._data.password; + } + /** + * Proxy specified in Endpoint.createAccount(). + * @returns {String} + */ + + + getProxy() { + return this._data.proxy; + } + /** + * Transport specified in Endpoint.createAccount(). + * @returns {String} + */ + + + getTransport() { + return this._data.transport; + } + /** + * Additional parameters that will be appended in the Contact header + * for this account. + * @returns {String} + */ + + + getContactParams() { + return this._data.contactParams; + } + /** + * Additional URI parameters that will be appended in the Contact URI + * for this account. + * @returns {String} + */ + + + getContactUriParams() { + return this._data.contactUriParams; + } + /** + * Port specified in Endpoint.createAccount(). + * @returns {String} + */ + + + getRegServer() { + return this._data.regServer || ""; + } + /** + * Port specified in Endpoint.createAccount(). + * @returns {String} + */ + + + getRegTimeout() { + return this._data.regTimeout; + } + /** + * @returns {String} + */ + + + getRegContactParams() { + return this._data.regContactParams; + } + /** + * @returns {Object} + */ + + + getRegHeaders() { + return this._data.regHeaders; + } + /** + * Account registration status. + * @returns {AccountRegistration} + */ + + + getRegistration() { + return this._registration; + } + } //# sourceMappingURL=Account.js.map \ No newline at end of file diff --git a/dist/Account.js.map b/dist/Account.js.map index 7738be6e..f20c70c8 100644 --- a/dist/Account.js.map +++ b/dist/Account.js.map @@ -1 +1 @@ -{"version":3,"file":"Account.js","sourceRoot":"","sources":["../src/Account.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AAmBvD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IAIxB,YAAY,IAAS;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;;OAGG;IACH,KAAK;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,MAAM;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,WAAW;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,SAAS;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,WAAW;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,YAAY;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,mBAAmB;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,YAAY;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,aAAa;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,mBAAmB;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,aAAa;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,eAAe;QACX,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;CACJ"} \ No newline at end of file +{"version":3,"sources":["../src/Account.ts"],"names":["AccountRegistration","Account","constructor","data","_data","_registration","getId","id","getURI","uri","getName","name","getUsername","username","getDomain","domain","getPassword","password","getProxy","proxy","getTransport","transport","getContactParams","contactParams","getContactUriParams","contactUriParams","getRegServer","regServer","getRegTimeout","regTimeout","getRegContactParams","regContactParams","getRegHeaders","regHeaders","getRegistration"],"mappings":"AAAA,OAAOA,mBAAP,MAAgC,uBAAhC;;AAmBA;AACA;AACA;AACA,eAAe,MAAMC,OAAN,CAAc;AAIzBC,EAAAA,WAAW,CAACC,IAAD,EAAY;AACnB,SAAKC,KAAL,GAAaD,IAAb;AACA,SAAKE,aAAL,GAAqB,IAAIL,mBAAJ,CAAwBG,IAAI,CAAC,cAAD,CAA5B,CAArB;AACH;AAED;AACJ;AACA;AACA;;;AACIG,EAAAA,KAAK,GAAW;AACZ,WAAO,KAAKF,KAAL,CAAWG,EAAlB;AACH;AAED;AACJ;AACA;AACA;;;AACIC,EAAAA,MAAM,GAAW;AACb,WAAO,KAAKJ,KAAL,CAAWK,GAAlB;AACH;AAED;AACJ;AACA;AACA;;;AACIC,EAAAA,OAAO,GAAW;AACd,WAAO,KAAKN,KAAL,CAAWO,IAAlB;AACH;AAED;AACJ;AACA;AACA;;;AACIC,EAAAA,WAAW,GAAW;AAClB,WAAO,KAAKR,KAAL,CAAWS,QAAlB;AACH;AAED;AACJ;AACA;AACA;;;AACIC,EAAAA,SAAS,GAAkB;AACvB,WAAO,KAAKV,KAAL,CAAWW,MAAlB;AACH;AAED;AACJ;AACA;AACA;;;AACIC,EAAAA,WAAW,GAAW;AAClB,WAAO,KAAKZ,KAAL,CAAWa,QAAlB;AACH;AAED;AACJ;AACA;AACA;;;AACIC,EAAAA,QAAQ,GAAW;AACf,WAAO,KAAKd,KAAL,CAAWe,KAAlB;AACH;AAED;AACJ;AACA;AACA;;;AACIC,EAAAA,YAAY,GAAW;AACnB,WAAO,KAAKhB,KAAL,CAAWiB,SAAlB;AACH;AAED;AACJ;AACA;AACA;AACA;;;AACIC,EAAAA,gBAAgB,GAAW;AACvB,WAAO,KAAKlB,KAAL,CAAWmB,aAAlB;AACH;AAED;AACJ;AACA;AACA;AACA;;;AACIC,EAAAA,mBAAmB,GAAW;AAC1B,WAAO,KAAKpB,KAAL,CAAWqB,gBAAlB;AACH;AAED;AACJ;AACA;AACA;;;AACIC,EAAAA,YAAY,GAAW;AACnB,WAAO,KAAKtB,KAAL,CAAWuB,SAAX,IAAwB,EAA/B;AACH;AAED;AACJ;AACA;AACA;;;AACIC,EAAAA,aAAa,GAAW;AACpB,WAAO,KAAKxB,KAAL,CAAWyB,UAAlB;AACH;AAED;AACJ;AACA;;;AACIC,EAAAA,mBAAmB,GAAW;AAC1B,WAAO,KAAK1B,KAAL,CAAW2B,gBAAlB;AACH;AAED;AACJ;AACA;;;AACIC,EAAAA,aAAa,GAAW;AACpB,WAAO,KAAK5B,KAAL,CAAW6B,UAAlB;AACH;AAED;AACJ;AACA;AACA;;;AACIC,EAAAA,eAAe,GAAwB;AACnC,WAAO,KAAK7B,aAAZ;AACH;;AA/HwB","sourcesContent":["import AccountRegistration from './AccountRegistration'\n\nexport type AccountConfiguration = {\n id: number,\n uri: string,\n name: string,\n username: string,\n domain: string | null,\n password: string,\n proxy: string,\n transport: string,\n contactParams: string,\n contactUriParams: string,\n regServer: string,\n regTimeout: string,\n regContactParams: string,\n regHeaders: Object\n};\n\n/**\n * This describes account configuration and registration status\n */\nexport default class Account {\n _data: AccountConfiguration;\n _registration: AccountRegistration;\n\n constructor(data: any) {\n this._data = data;\n this._registration = new AccountRegistration(data['registration']);\n }\n\n /**\n * The account ID.\n * @returns {int}\n */\n getId(): number {\n return this._data.id;\n }\n\n /**\n * This is the URL to be put in the request URI for the registration, and will look something like \"sip:serviceprovider\".\n * @returns {String}\n */\n getURI(): string {\n return this._data.uri;\n }\n\n /**\n * Full name specified in Endpoint.createAccount().\n * @returns {String}\n */\n getName(): string {\n return this._data.name;\n }\n\n /**\n * Username specified in Endpoint.createAccount().\n * @returns {String}\n */\n getUsername(): string {\n return this._data.username;\n }\n\n /**\n * Domain specified in Endpoint.createAccount().\n * @returns {int|null}\n */\n getDomain(): string | null {\n return this._data.domain;\n }\n\n /**\n * Password specified in Endpoint.createAccount().\n * @returns {String}\n */\n getPassword(): string {\n return this._data.password;\n }\n\n /**\n * Proxy specified in Endpoint.createAccount().\n * @returns {String}\n */\n getProxy(): string {\n return this._data.proxy;\n }\n\n /**\n * Transport specified in Endpoint.createAccount().\n * @returns {String}\n */\n getTransport(): string {\n return this._data.transport;\n }\n\n /**\n * Additional parameters that will be appended in the Contact header\n * for this account.\n * @returns {String}\n */\n getContactParams(): string {\n return this._data.contactParams;\n }\n\n /**\n * Additional URI parameters that will be appended in the Contact URI\n * for this account.\n * @returns {String}\n */\n getContactUriParams(): string {\n return this._data.contactUriParams;\n }\n\n /**\n * Port specified in Endpoint.createAccount().\n * @returns {String}\n */\n getRegServer(): string {\n return this._data.regServer || \"\";\n }\n\n /**\n * Port specified in Endpoint.createAccount().\n * @returns {String}\n */\n getRegTimeout(): string {\n return this._data.regTimeout;\n }\n\n /**\n * @returns {String}\n */\n getRegContactParams(): string {\n return this._data.regContactParams;\n }\n\n /**\n * @returns {Object}\n */\n getRegHeaders(): Object {\n return this._data.regHeaders;\n }\n\n /**\n * Account registration status.\n * @returns {AccountRegistration}\n */\n getRegistration(): AccountRegistration {\n return this._registration;\n }\n}"],"file":"Account.js"} \ No newline at end of file diff --git a/dist/AccountRegistration.js b/dist/AccountRegistration.js index 1e868074..37659d18 100644 --- a/dist/AccountRegistration.js +++ b/dist/AccountRegistration.js @@ -3,54 +3,69 @@ * by calling account.getRegistration(). */ export default class AccountRegistration { - constructor({ status, statusText, active, reason }) { - this._status = status; - this._statusText = statusText; - this._active = active; - this._reason = reason; - } - /** - * Last registration status code (SIP status codes according to RFC 3261). - * If status code is empty, the account is currently not registered. Any other value indicates the SIP - * status code of the registration. - * - * @returns {string|null} - */ - getStatus() { - return this._status; - } - /** - * String describing the registration status. - * - * @returns {string|null} - */ - getStatusText() { - return this._statusText; - } - /** - * Flag to tell whether this account is currently registered - * (has active registration session). - * - * @returns boolean - */ - isActive() { - return this._active; - } - /** - * Reason phrase received. - * - * @returns {String|null} - */ - getReason() { - return this._reason; - } - toJson() { - return { - status: this._status, - statusText: this._statusText, - active: this._active, - reason: this._reason - }; - } + constructor({ + status, + statusText, + active, + reason + }) { + this._status = status; + this._statusText = statusText; + this._active = active; + this._reason = reason; + } + /** + * Last registration status code (SIP status codes according to RFC 3261). + * If status code is empty, the account is currently not registered. Any other value indicates the SIP + * status code of the registration. + * + * @returns {string|null} + */ + + + getStatus() { + return this._status; + } + /** + * String describing the registration status. + * + * @returns {string|null} + */ + + + getStatusText() { + return this._statusText; + } + /** + * Flag to tell whether this account is currently registered + * (has active registration session). + * + * @returns boolean + */ + + + isActive() { + return this._active; + } + /** + * Reason phrase received. + * + * @returns {String|null} + */ + + + getReason() { + return this._reason; + } + + toJson() { + return { + status: this._status, + statusText: this._statusText, + active: this._active, + reason: this._reason + }; + } + } //# sourceMappingURL=AccountRegistration.js.map \ No newline at end of file diff --git a/dist/AccountRegistration.js.map b/dist/AccountRegistration.js.map index 88568897..2dafdfda 100644 --- a/dist/AccountRegistration.js.map +++ b/dist/AccountRegistration.js.map @@ -1 +1 @@ -{"version":3,"file":"AccountRegistration.js","sourceRoot":"","sources":["../src/AccountRegistration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAMpC,YAAY,EAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,SAAS;QACL,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,aAAa;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,SAAS;QACL,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,MAAM;QAMF,OAAQ;YACJ,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,MAAM,EAAE,IAAI,CAAC,OAAO;SACvB,CAAA;IACL,CAAC;CACJ"} \ No newline at end of file +{"version":3,"sources":["../src/AccountRegistration.ts"],"names":["AccountRegistration","constructor","status","statusText","active","reason","_status","_statusText","_active","_reason","getStatus","getStatusText","isActive","getReason","toJson"],"mappings":"AAAA;AACA;AACA;AACA;AACA,eAAe,MAAMA,mBAAN,CAA0B;AAMrCC,EAAAA,WAAW,CAAC;AAACC,IAAAA,MAAD;AAASC,IAAAA,UAAT;AAAqBC,IAAAA,MAArB;AAA6BC,IAAAA;AAA7B,GAAD,EAAuC;AAC9C,SAAKC,OAAL,GAAeJ,MAAf;AACA,SAAKK,WAAL,GAAmBJ,UAAnB;AACA,SAAKK,OAAL,GAAeJ,MAAf;AACA,SAAKK,OAAL,GAAeJ,MAAf;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIK,EAAAA,SAAS,GAAkB;AACvB,WAAO,KAAKJ,OAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;;;AACIK,EAAAA,aAAa,GAAkB;AAC3B,WAAO,KAAKJ,WAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;AACIK,EAAAA,QAAQ,GAAY;AAChB,WAAO,KAAKJ,OAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;;;AACIK,EAAAA,SAAS,GAAkB;AACvB,WAAO,KAAKJ,OAAZ;AACH;;AAEDK,EAAAA,MAAM,GAKJ;AACE,WAAQ;AACJZ,MAAAA,MAAM,EAAE,KAAKI,OADT;AAEJH,MAAAA,UAAU,EAAE,KAAKI,WAFb;AAGJH,MAAAA,MAAM,EAAE,KAAKI,OAHT;AAIJH,MAAAA,MAAM,EAAE,KAAKI;AAJT,KAAR;AAMH;;AAhEoC","sourcesContent":["/**\n * Account registration information. Application can query the registration info\n * by calling account.getRegistration().\n */\nexport default class AccountRegistration {\n _status: string;\n _statusText: string;\n _active: boolean;\n _reason: string;\n\n constructor({status, statusText, active, reason}) {\n this._status = status;\n this._statusText = statusText;\n this._active = active;\n this._reason = reason;\n }\n\n /**\n * Last registration status code (SIP status codes according to RFC 3261).\n * If status code is empty, the account is currently not registered. Any other value indicates the SIP\n * status code of the registration.\n *\n * @returns {string|null}\n */\n getStatus(): string | null {\n return this._status;\n }\n\n /**\n * String describing the registration status.\n *\n * @returns {string|null}\n */\n getStatusText(): string | null {\n return this._statusText;\n }\n\n /**\n * Flag to tell whether this account is currently registered\n * (has active registration session).\n *\n * @returns boolean\n */\n isActive(): boolean {\n return this._active;\n }\n\n /**\n * Reason phrase received.\n *\n * @returns {String|null}\n */\n getReason(): string | null {\n return this._reason;\n }\n\n toJson(): {\n status: string,\n statusText: string,\n active: boolean,\n reason: string,\n } {\n return {\n status: this._status,\n statusText: this._statusText,\n active: this._active,\n reason: this._reason\n }\n }\n}"],"file":"AccountRegistration.js"} \ No newline at end of file diff --git a/dist/Call.js b/dist/Call.js index c9a809e4..e9742cd0 100644 --- a/dist/Call.js +++ b/dist/Call.js @@ -1,363 +1,444 @@ -export var CallState; +export let CallState; + (function (CallState) { - CallState["PJSIP_INV_STATE_NULL"] = "PJSIP_INV_STATE_NULL"; - CallState["PJSIP_INV_STATE_CALLING"] = "PJSIP_INV_STATE_CALLING"; - CallState["PJSIP_INV_STATE_INCOMING"] = "PJSIP_INV_STATE_INCOMING"; - CallState["PJSIP_INV_STATE_EARLY"] = "PJSIP_INV_STATE_EARLY"; - CallState["PJSIP_INV_STATE_CONNECTING"] = "PJSIP_INV_STATE_CONNECTING"; - CallState["PJSIP_INV_STATE_CONFIRMED"] = "PJSIP_INV_STATE_CONFIRMED"; - CallState["PJSIP_INV_STATE_DISCONNECTED"] = "PJSIP_INV_STATE_DISCONNECTED"; + CallState["PJSIP_INV_STATE_NULL"] = "PJSIP_INV_STATE_NULL"; + CallState["PJSIP_INV_STATE_CALLING"] = "PJSIP_INV_STATE_CALLING"; + CallState["PJSIP_INV_STATE_INCOMING"] = "PJSIP_INV_STATE_INCOMING"; + CallState["PJSIP_INV_STATE_EARLY"] = "PJSIP_INV_STATE_EARLY"; + CallState["PJSIP_INV_STATE_CONNECTING"] = "PJSIP_INV_STATE_CONNECTING"; + CallState["PJSIP_INV_STATE_CONFIRMED"] = "PJSIP_INV_STATE_CONFIRMED"; + CallState["PJSIP_INV_STATE_DISCONNECTED"] = "PJSIP_INV_STATE_DISCONNECTED"; })(CallState || (CallState = {})); + ; + /** * This class describes the information and current status of a call. */ class Call { - constructor({ id, callId, accountId, localContact, localUri, remoteContact, remoteUri, state, stateText, held, muted, speaker, connectDuration, totalDuration, remoteOfferer, remoteAudioCount, remoteVideoCount, audioCount, videoCount, lastStatusCode, lastReason, media, provisionalMedia, }) { - let remoteNumber = null; - let remoteName = null; - if (remoteUri) { - let match = remoteUri.match(/"([^"]+)" `; + } else if (this._remoteNumber) { + return this._remoteNumber; + } else { + return this._remoteUri; } - /** - * Dialog Call-ID string. - * - * @returns {String} - */ - getCallId() { - return this._callId; + } + /** + * Invite session state. + * + * PJSIP_INV_STATE_NULL Before INVITE is sent or received + * PJSIP_INV_STATE_CALLING After INVITE is sent + * PJSIP_INV_STATE_INCOMING After INVITE is received. + * PJSIP_INV_STATE_EARLY After response with To tag. + * PJSIP_INV_STATE_CONNECTING After 2xx is sent/received. + * PJSIP_INV_STATE_CONFIRMED After ACK is sent/received. + * PJSIP_INV_STATE_DISCONNECTED Session is terminated. + * + * @returns {String} + */ + + + getState() { + return this._state; + } + /** + * Text describing the state. + * + * @returns {String} + */ + + + getStateText() { + return this._stateText; + } + + isHeld() { + return this._held; + } + + isMuted() { + return this._muted; + } + + isSpeaker() { + return this._speaker; + } + + isTerminated() { + return this._state === 'PJSIP_INV_STATE_DISCONNECTED'; + } + /** + * Flag if remote was SDP offerer + * @returns {boolean} + */ + + + getRemoteOfferer() { + // TODO Verify whether boolean value + return this._remoteOfferer; + } + /** + * Number of audio streams offered by remote. + * @returns {int} + */ + + + getRemoteAudioCount() { + return this._remoteAudioCount; + } + /** + * Number of video streams offered by remote. + * @returns {int} + */ + + + getRemoteVideoCount() { + return this._remoteVideoCount; + } + /** + * Number of simultaneous active audio streams for this call. If zero - audio is disabled in this call. + * @returns {int} + */ + + + getAudioCount() { + return this._audioCount; + } + /** + * Number of simultaneous active video streams for this call. If zero - video is disabled in this call. + * @returns {*} + */ + + + getVideoCount() { + return this._videoCount; + } + /** + * Last status code heard, which can be used as cause code. + * Possible values: + * - PJSIP_SC_TRYING / 100 + * - PJSIP_SC_RINGING / 180 + * - PJSIP_SC_CALL_BEING_FORWARDED / 181 + * - PJSIP_SC_QUEUED / 182 + * - PJSIP_SC_PROGRESS / 183 + * - PJSIP_SC_OK / 200 + * - PJSIP_SC_ACCEPTED / 202 + * - PJSIP_SC_MULTIPLE_CHOICES / 300 + * - PJSIP_SC_MOVED_PERMANENTLY / 301 + * - PJSIP_SC_MOVED_TEMPORARILY / 302 + * - PJSIP_SC_USE_PROXY / 305 + * - PJSIP_SC_ALTERNATIVE_SERVICE / 380 + * - PJSIP_SC_BAD_REQUEST / 400 + * - PJSIP_SC_UNAUTHORIZED / 401 + * - PJSIP_SC_PAYMENT_REQUIRED / 402 + * - PJSIP_SC_FORBIDDEN / 403 + * - PJSIP_SC_NOT_FOUND / 404 + * - PJSIP_SC_METHOD_NOT_ALLOWED / 405 + * - PJSIP_SC_NOT_ACCEPTABLE / 406 + * - PJSIP_SC_PROXY_AUTHENTICATION_REQUIRED / 407 + * - PJSIP_SC_REQUEST_TIMEOUT / 408 + * - PJSIP_SC_GONE / 410 + * - PJSIP_SC_REQUEST_ENTITY_TOO_LARGE / 413 + * - PJSIP_SC_REQUEST_URI_TOO_LONG / 414 + * - PJSIP_SC_UNSUPPORTED_MEDIA_TYPE / 415 + * - PJSIP_SC_UNSUPPORTED_URI_SCHEME / 416 + * - PJSIP_SC_BAD_EXTENSION / 420 + * - PJSIP_SC_EXTENSION_REQUIRED / 421 + * - PJSIP_SC_SESSION_TIMER_TOO_SMALL / 422 + * - PJSIP_SC_INTERVAL_TOO_BRIEF / 423 + * - PJSIP_SC_TEMPORARILY_UNAVAILABLE / 480 + * - PJSIP_SC_CALL_TSX_DOES_NOT_EXIST / 481 + * - PJSIP_SC_LOOP_DETECTED / 482 + * - PJSIP_SC_TOO_MANY_HOPS / 483 + * - PJSIP_SC_ADDRESS_INCOMPLETE / 484 + * - PJSIP_AC_AMBIGUOUS / 485 + * - PJSIP_SC_BUSY_HERE / 486 + * - PJSIP_SC_REQUEST_TERMINATED / 487 + * - PJSIP_SC_NOT_ACCEPTABLE_HERE / 488 + * - PJSIP_SC_BAD_EVENT / 489 + * - PJSIP_SC_REQUEST_UPDATED / 490 + * - PJSIP_SC_REQUEST_PENDING / 491 + * - PJSIP_SC_UNDECIPHERABLE / 493 + * - PJSIP_SC_INTERNAL_SERVER_ERROR / 500 + * - PJSIP_SC_NOT_IMPLEMENTED / 501 + * - PJSIP_SC_BAD_GATEWAY / 502 + * - PJSIP_SC_SERVICE_UNAVAILABLE / 503 + * - PJSIP_SC_SERVER_TIMEOUT / 504 + * - PJSIP_SC_VERSION_NOT_SUPPORTED / 505 + * - PJSIP_SC_MESSAGE_TOO_LARGE / 513 + * - PJSIP_SC_PRECONDITION_FAILURE / 580 + * - PJSIP_SC_BUSY_EVERYWHERE / 600 + * - PJSIP_SC_DECLINE / 603 + * - PJSIP_SC_DOES_NOT_EXIST_ANYWHERE / 604 + * - PJSIP_SC_NOT_ACCEPTABLE_ANYWHERE / 606 + * - PJSIP_SC_TSX_TIMEOUT / PJSIP_SC_REQUEST_TIMEOUT + * - PJSIP_SC_TSX_TRANSPORT_ERROR / PJSIP_SC_SERVICE_UNAVAILABLE + * + * @returns {string} + */ + + + getLastStatusCode() { + return this._lastStatusCode; + } + /** + * The reason phrase describing the last status. + * + * @returns {string} + */ + + + getLastReason() { + return this._lastReason; + } + + getMedia() { + return this._media; + } + + getProvisionalMedia() { + return this._provisionalMedia; + } + /** + * Format seconds to "MM:SS" format. + * + * @public + * @returns {string} + */ + + + _formatTime(seconds) { + if (isNaN(seconds) || seconds < 0) { + return "00:00"; } - /** - * Up-to-date call duration in seconds. - * Use local time to calculate actual call duration. - * - * @public - * @returns {int} - */ - getTotalDuration() { - let time = Math.round(new Date().getTime() / 1000); - let offset = time - this._constructionTime; - return this._totalDuration + offset; + + var hours = parseInt(String(seconds / 3600)) % 24; + var minutes = parseInt(String(seconds / 60)) % 60; + var result = ""; + seconds = seconds % 60; + + if (hours > 0) { + result += (hours < 10 ? "0" + hours : hours) + ":"; } - ; - /** - * Up-to-date call connected duration (zero when call is not established) - * - * @returns {int} - */ - getConnectDuration() { - if (this._connectDuration < 0 || this._state == "PJSIP_INV_STATE_DISCONNECTED") { - return this._connectDuration; - } - let time = Math.round(new Date().getTime() / 1000); - let offset = time - this._constructionTime; - return this._connectDuration + offset; - } - /** - * Call duration in "MM:SS" format. - * - * @public - * @returns {string} - */ - getFormattedTotalDuration() { - return this._formatTime(this.getTotalDuration()); - } - ; - /** - * Call duration in "MM:SS" format. - * - * @public - * @returns {string} - */ - getFormattedConnectDuration() { - return this._formatTime(this.getConnectDuration()); - } - ; - /** - * Local Contact. - * TODO: Provide example - * @returns {String} - */ - getLocalContact() { - return this._localContact; - } - /** - * Local URI. - * TODO: Provide example - * @returns {String} - */ - getLocalUri() { - return this._localUri; - } - /** - * Remote contact. - * TODO: Provide example - * @returns {String} - */ - getRemoteContact() { - return this._remoteContact; - } - /** - * Remote URI. - * TODO: Provide example - * @returns {String} - */ - getRemoteUri() { - return this._remoteUri; - } - /** - * Callee name. Could be null if no name specified in URI. - * @returns {String} - */ - getRemoteName() { - return this._remoteName; - } - /** - * Callee number - * @returns {String} - */ - getRemoteNumber() { - return this._remoteNumber; - } - /** - * @returns {String} - */ - getRemoteFormattedNumber() { - if (this._remoteName && this._remoteNumber) { - return `${this._remoteName} <${this._remoteNumber}>`; - } - else if (this._remoteNumber) { - return this._remoteNumber; - } - else { - return this._remoteUri; - } - } - /** - * Invite session state. - * - * PJSIP_INV_STATE_NULL Before INVITE is sent or received - * PJSIP_INV_STATE_CALLING After INVITE is sent - * PJSIP_INV_STATE_INCOMING After INVITE is received. - * PJSIP_INV_STATE_EARLY After response with To tag. - * PJSIP_INV_STATE_CONNECTING After 2xx is sent/received. - * PJSIP_INV_STATE_CONFIRMED After ACK is sent/received. - * PJSIP_INV_STATE_DISCONNECTED Session is terminated. - * - * @returns {String} - */ - getState() { - return this._state; - } - /** - * Text describing the state. - * - * @returns {String} - */ - getStateText() { - return this._stateText; - } - isHeld() { - return this._held; - } - isMuted() { - return this._muted; - } - isSpeaker() { - return this._speaker; - } - isTerminated() { - return this._state === 'PJSIP_INV_STATE_DISCONNECTED'; - } - /** - * Flag if remote was SDP offerer - * @returns {boolean} - */ - getRemoteOfferer() { - // TODO Verify whether boolean value - return this._remoteOfferer; - } - /** - * Number of audio streams offered by remote. - * @returns {int} - */ - getRemoteAudioCount() { - return this._remoteAudioCount; - } - /** - * Number of video streams offered by remote. - * @returns {int} - */ - getRemoteVideoCount() { - return this._remoteVideoCount; - } - /** - * Number of simultaneous active audio streams for this call. If zero - audio is disabled in this call. - * @returns {int} - */ - getAudioCount() { - return this._audioCount; - } - /** - * Number of simultaneous active video streams for this call. If zero - video is disabled in this call. - * @returns {*} - */ - getVideoCount() { - return this._videoCount; - } - /** - * Last status code heard, which can be used as cause code. - * Possible values: - * - PJSIP_SC_TRYING / 100 - * - PJSIP_SC_RINGING / 180 - * - PJSIP_SC_CALL_BEING_FORWARDED / 181 - * - PJSIP_SC_QUEUED / 182 - * - PJSIP_SC_PROGRESS / 183 - * - PJSIP_SC_OK / 200 - * - PJSIP_SC_ACCEPTED / 202 - * - PJSIP_SC_MULTIPLE_CHOICES / 300 - * - PJSIP_SC_MOVED_PERMANENTLY / 301 - * - PJSIP_SC_MOVED_TEMPORARILY / 302 - * - PJSIP_SC_USE_PROXY / 305 - * - PJSIP_SC_ALTERNATIVE_SERVICE / 380 - * - PJSIP_SC_BAD_REQUEST / 400 - * - PJSIP_SC_UNAUTHORIZED / 401 - * - PJSIP_SC_PAYMENT_REQUIRED / 402 - * - PJSIP_SC_FORBIDDEN / 403 - * - PJSIP_SC_NOT_FOUND / 404 - * - PJSIP_SC_METHOD_NOT_ALLOWED / 405 - * - PJSIP_SC_NOT_ACCEPTABLE / 406 - * - PJSIP_SC_PROXY_AUTHENTICATION_REQUIRED / 407 - * - PJSIP_SC_REQUEST_TIMEOUT / 408 - * - PJSIP_SC_GONE / 410 - * - PJSIP_SC_REQUEST_ENTITY_TOO_LARGE / 413 - * - PJSIP_SC_REQUEST_URI_TOO_LONG / 414 - * - PJSIP_SC_UNSUPPORTED_MEDIA_TYPE / 415 - * - PJSIP_SC_UNSUPPORTED_URI_SCHEME / 416 - * - PJSIP_SC_BAD_EXTENSION / 420 - * - PJSIP_SC_EXTENSION_REQUIRED / 421 - * - PJSIP_SC_SESSION_TIMER_TOO_SMALL / 422 - * - PJSIP_SC_INTERVAL_TOO_BRIEF / 423 - * - PJSIP_SC_TEMPORARILY_UNAVAILABLE / 480 - * - PJSIP_SC_CALL_TSX_DOES_NOT_EXIST / 481 - * - PJSIP_SC_LOOP_DETECTED / 482 - * - PJSIP_SC_TOO_MANY_HOPS / 483 - * - PJSIP_SC_ADDRESS_INCOMPLETE / 484 - * - PJSIP_AC_AMBIGUOUS / 485 - * - PJSIP_SC_BUSY_HERE / 486 - * - PJSIP_SC_REQUEST_TERMINATED / 487 - * - PJSIP_SC_NOT_ACCEPTABLE_HERE / 488 - * - PJSIP_SC_BAD_EVENT / 489 - * - PJSIP_SC_REQUEST_UPDATED / 490 - * - PJSIP_SC_REQUEST_PENDING / 491 - * - PJSIP_SC_UNDECIPHERABLE / 493 - * - PJSIP_SC_INTERNAL_SERVER_ERROR / 500 - * - PJSIP_SC_NOT_IMPLEMENTED / 501 - * - PJSIP_SC_BAD_GATEWAY / 502 - * - PJSIP_SC_SERVICE_UNAVAILABLE / 503 - * - PJSIP_SC_SERVER_TIMEOUT / 504 - * - PJSIP_SC_VERSION_NOT_SUPPORTED / 505 - * - PJSIP_SC_MESSAGE_TOO_LARGE / 513 - * - PJSIP_SC_PRECONDITION_FAILURE / 580 - * - PJSIP_SC_BUSY_EVERYWHERE / 600 - * - PJSIP_SC_DECLINE / 603 - * - PJSIP_SC_DOES_NOT_EXIST_ANYWHERE / 604 - * - PJSIP_SC_NOT_ACCEPTABLE_ANYWHERE / 606 - * - PJSIP_SC_TSX_TIMEOUT / PJSIP_SC_REQUEST_TIMEOUT - * - PJSIP_SC_TSX_TRANSPORT_ERROR / PJSIP_SC_SERVICE_UNAVAILABLE - * - * @returns {string} - */ - getLastStatusCode() { - return this._lastStatusCode; - } - /** - * The reason phrase describing the last status. - * - * @returns {string} - */ - getLastReason() { - return this._lastReason; - } - getMedia() { - return this._media; - } - getProvisionalMedia() { - return this._provisionalMedia; - } - /** - * Format seconds to "MM:SS" format. - * - * @public - * @returns {string} - */ - _formatTime(seconds) { - if (isNaN(seconds) || seconds < 0) { - return "00:00"; - } - var hours = parseInt(String(seconds / 3600)) % 24; - var minutes = parseInt(String(seconds / 60)) % 60; - var result = ""; - seconds = seconds % 60; - if (hours > 0) { - result += (hours < 10 ? "0" + hours : hours) + ":"; - } - result += (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds); - return result; - } - ; + + result += (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds); + return result; + } + } + export { Call }; export default Call; //# sourceMappingURL=Call.js.map \ No newline at end of file diff --git a/dist/Call.js.map b/dist/Call.js.map index 15feb071..f1ac5caf 100644 --- a/dist/Call.js.map +++ b/dist/Call.js.map @@ -1 +1 @@ -{"version":3,"file":"Call.js","sourceRoot":"","sources":["../src/Call.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["../src/Call.ts"],"names":["CallState","Call","constructor","id","callId","accountId","localContact","localUri","remoteContact","remoteUri","state","stateText","held","muted","speaker","connectDuration","totalDuration","remoteOfferer","remoteAudioCount","remoteVideoCount","audioCount","videoCount","lastStatusCode","lastReason","media","provisionalMedia","remoteNumber","remoteName","match","_id","_callId","_accountId","_localContact","_localUri","_remoteContact","_remoteUri","_state","_stateText","_held","_muted","_speaker","_connectDuration","_totalDuration","_remoteOfferer","_remoteAudioCount","_remoteVideoCount","_remoteNumber","_remoteName","_audioCount","_videoCount","_lastStatusCode","_lastReason","_media","_provisionalMedia","_constructionTime","Math","round","Date","getTime","getId","getAccountId","getCallId","getTotalDuration","time","offset","getConnectDuration","getFormattedTotalDuration","_formatTime","getFormattedConnectDuration","getLocalContact","getLocalUri","getRemoteContact","getRemoteUri","getRemoteName","getRemoteNumber","getRemoteFormattedNumber","getState","getStateText","isHeld","isMuted","isSpeaker","isTerminated","getRemoteOfferer","getRemoteAudioCount","getRemoteVideoCount","getAudioCount","getVideoCount","getLastStatusCode","getLastReason","getMedia","getProvisionalMedia","seconds","isNaN","hours","parseInt","String","minutes","result"],"mappings":"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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIyC,EAAAA,QAAQ,GAAc;AAClB,WAAO,KAAKxC,MAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;;;AACIyC,EAAAA,YAAY,GAAW;AACnB,WAAO,KAAKxC,UAAZ;AACH;;AAEDyC,EAAAA,MAAM,GAAY;AACd,WAAO,KAAKxC,KAAZ;AACH;;AAEDyC,EAAAA,OAAO,GAAY;AACf,WAAO,KAAKxC,MAAZ;AACH;;AAEDyC,EAAAA,SAAS,GAAY;AACjB,WAAO,KAAKxC,QAAZ;AACH;;AAEDyC,EAAAA,YAAY,GAAY;AACpB,WAAO,KAAK7C,MAAL,KAAgB,8BAAvB;AACH;AAED;AACJ;AACA;AACA;;;AACI8C,EAAAA,gBAAgB,GAAW;AACvB;AACA,WAAO,KAAKvC,cAAZ;AACH;AAED;AACJ;AACA;AACA;;;AACIwC,EAAAA,mBAAmB,GAAW;AAC1B,WAAO,KAAKvC,iBAAZ;AACH;AAED;AACJ;AACA;AACA;;;AACIwC,EAAAA,mBAAmB,GAAW;AAC1B,WAAO,KAAKvC,iBAAZ;AACH;AAED;AACJ;AACA;AACA;;;AACIwC,EAAAA,aAAa,GAAW;AACpB,WAAO,KAAKrC,WAAZ;AACH;AAED;AACJ;AACA;AACA;;;AACIsC,EAAAA,aAAa,GAAW;AACpB,WAAO,KAAKrC,WAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIsC,EAAAA,iBAAiB,GAAW;AACxB,WAAO,KAAKrC,eAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;;;AACIsC,EAAAA,aAAa,GAAW;AACpB,WAAO,KAAKrC,WAAZ;AACH;;AAEDsC,EAAAA,QAAQ,GAAW;AACf,WAAO,KAAKrC,MAAZ;AACH;;AAEDsC,EAAAA,mBAAmB,GAAW;AAC1B,WAAO,KAAKrC,iBAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;AACIc,EAAAA,WAAW,CAACwB,OAAD,EAA0B;AACjC,QAAIC,KAAK,CAACD,OAAD,CAAL,IAAkBA,OAAO,GAAG,CAAhC,EAAmC;AAC/B,aAAO,OAAP;AACH;;AACD,QAAIE,KAAK,GAAGC,QAAQ,CAACC,MAAM,CAACJ,OAAO,GAAC,IAAT,CAAP,CAAR,GAAiC,EAA7C;AACA,QAAIK,OAAO,GAAGF,QAAQ,CAACC,MAAM,CAACJ,OAAO,GAAC,EAAT,CAAP,CAAR,GAA+B,EAA7C;AACA,QAAIM,MAAM,GAAG,EAAb;AACAN,IAAAA,OAAO,GAAGA,OAAO,GAAG,EAApB;;AAEA,QAAIE,KAAK,GAAG,CAAZ,EAAe;AACXI,MAAAA,MAAM,IAAI,CAACJ,KAAK,GAAG,EAAR,GAAa,MAAMA,KAAnB,GAA2BA,KAA5B,IAAqC,GAA/C;AACH;;AAEDI,IAAAA,MAAM,IAAI,CAACD,OAAO,GAAG,EAAV,GAAe,MAAMA,OAArB,GAA+BA,OAAhC,IAA2C,GAA3C,IAAkDL,OAAO,GAAI,EAAX,GAAgB,MAAMA,OAAtB,GAAgCA,OAAlF,CAAV;AACA,WAAOM,MAAP;AACH;;AA/aM;;AAkbX,SAAShG,IAAT;AAEA,eAAeA,IAAf","sourcesContent":["export enum CallState {\n PJSIP_INV_STATE_NULL = 'PJSIP_INV_STATE_NULL',\n PJSIP_INV_STATE_CALLING = 'PJSIP_INV_STATE_CALLING',\n PJSIP_INV_STATE_INCOMING = 'PJSIP_INV_STATE_INCOMING',\n PJSIP_INV_STATE_EARLY = 'PJSIP_INV_STATE_EARLY',\n PJSIP_INV_STATE_CONNECTING = 'PJSIP_INV_STATE_CONNECTING',\n PJSIP_INV_STATE_CONFIRMED = 'PJSIP_INV_STATE_CONFIRMED',\n PJSIP_INV_STATE_DISCONNECTED = 'PJSIP_INV_STATE_DISCONNECTED',\n};\n\nexport type CallData = {\n id: number\n callId: string\n accountId: number\n localContact: string\n localUri: string\n remoteContact: string\n remoteUri: string\n state: CallState\n stateText: string\n held: boolean\n muted: boolean\n speaker: boolean\n connectDuration: number\n totalDuration: number\n remoteOfferer: number\n remoteAudioCount: number\n remoteVideoCount: number\n remoteNumber: string\n remoteName: string\n audioCount: number\n videoCount: number\n lastStatusCode: string\n lastReason: string\n media: string\n provisionalMedia: string\n}\n\n/**\n * This class describes the information and current status of a call.\n */\nclass Call {\n\n _id: number;\n _callId: string;\n _accountId: number;\n _localContact: string;\n _localUri: string;\n _remoteContact: string;\n _remoteUri: string;\n _state: CallState;\n _stateText: string;\n _held: boolean;\n _muted: boolean;\n _speaker: boolean;\n _connectDuration: number;\n _totalDuration: number;\n _remoteOfferer: number;\n _remoteAudioCount: number;\n _remoteVideoCount: number;\n _remoteNumber: string;\n _remoteName: string;\n _audioCount: number;\n _videoCount: number;\n _lastStatusCode: string;\n _lastReason: string;\n _media: string;\n _provisionalMedia: string;\n _constructionTime: number;\n\n constructor({\n id,\n callId,\n accountId,\n localContact,\n localUri,\n remoteContact,\n remoteUri,\n state,\n stateText,\n held,\n muted,\n speaker,\n connectDuration,\n totalDuration,\n remoteOfferer,\n remoteAudioCount,\n remoteVideoCount,\n audioCount,\n videoCount,\n lastStatusCode,\n lastReason,\n media,\n provisionalMedia,\n }: CallData) {\n let remoteNumber = null;\n let remoteName = null;\n\n if (remoteUri) {\n let match = remoteUri.match(/\"([^\"]+)\" `;\n } else if (this._remoteNumber) {\n return this._remoteNumber;\n } else {\n return this._remoteUri\n }\n }\n\n /**\n * Invite session state.\n *\n * PJSIP_INV_STATE_NULL Before INVITE is sent or received\n * PJSIP_INV_STATE_CALLING After INVITE is sent\n * PJSIP_INV_STATE_INCOMING After INVITE is received.\n * PJSIP_INV_STATE_EARLY After response with To tag.\n * PJSIP_INV_STATE_CONNECTING After 2xx is sent/received.\n * PJSIP_INV_STATE_CONFIRMED After ACK is sent/received.\n * PJSIP_INV_STATE_DISCONNECTED Session is terminated.\n *\n * @returns {String}\n */\n getState(): CallState {\n return this._state;\n }\n\n /**\n * Text describing the state.\n *\n * @returns {String}\n */\n getStateText(): string {\n return this._stateText;\n }\n\n isHeld(): boolean {\n return this._held;\n }\n\n isMuted(): boolean {\n return this._muted;\n }\n\n isSpeaker(): boolean {\n return this._speaker;\n }\n\n isTerminated(): boolean {\n return this._state === 'PJSIP_INV_STATE_DISCONNECTED';\n }\n\n /**\n * Flag if remote was SDP offerer\n * @returns {boolean}\n */\n getRemoteOfferer(): number {\n // TODO Verify whether boolean value\n return this._remoteOfferer;\n }\n\n /**\n * Number of audio streams offered by remote.\n * @returns {int}\n */\n getRemoteAudioCount(): number {\n return this._remoteAudioCount;\n }\n\n /**\n * Number of video streams offered by remote.\n * @returns {int}\n */\n getRemoteVideoCount(): number {\n return this._remoteVideoCount;\n }\n\n /**\n * Number of simultaneous active audio streams for this call. If zero - audio is disabled in this call.\n * @returns {int}\n */\n getAudioCount(): number {\n return this._audioCount;\n }\n\n /**\n * Number of simultaneous active video streams for this call. If zero - video is disabled in this call.\n * @returns {*}\n */\n getVideoCount(): number {\n return this._videoCount;\n }\n\n /**\n * Last status code heard, which can be used as cause code.\n * Possible values:\n * - PJSIP_SC_TRYING / 100\n * - PJSIP_SC_RINGING / 180\n * - PJSIP_SC_CALL_BEING_FORWARDED / 181\n * - PJSIP_SC_QUEUED / 182\n * - PJSIP_SC_PROGRESS / 183\n * - PJSIP_SC_OK / 200\n * - PJSIP_SC_ACCEPTED / 202\n * - PJSIP_SC_MULTIPLE_CHOICES / 300\n * - PJSIP_SC_MOVED_PERMANENTLY / 301\n * - PJSIP_SC_MOVED_TEMPORARILY / 302\n * - PJSIP_SC_USE_PROXY / 305\n * - PJSIP_SC_ALTERNATIVE_SERVICE / 380\n * - PJSIP_SC_BAD_REQUEST / 400\n * - PJSIP_SC_UNAUTHORIZED / 401\n * - PJSIP_SC_PAYMENT_REQUIRED / 402\n * - PJSIP_SC_FORBIDDEN / 403\n * - PJSIP_SC_NOT_FOUND / 404\n * - PJSIP_SC_METHOD_NOT_ALLOWED / 405\n * - PJSIP_SC_NOT_ACCEPTABLE / 406\n * - PJSIP_SC_PROXY_AUTHENTICATION_REQUIRED / 407\n * - PJSIP_SC_REQUEST_TIMEOUT / 408\n * - PJSIP_SC_GONE / 410\n * - PJSIP_SC_REQUEST_ENTITY_TOO_LARGE / 413\n * - PJSIP_SC_REQUEST_URI_TOO_LONG / 414\n * - PJSIP_SC_UNSUPPORTED_MEDIA_TYPE / 415\n * - PJSIP_SC_UNSUPPORTED_URI_SCHEME / 416\n * - PJSIP_SC_BAD_EXTENSION / 420\n * - PJSIP_SC_EXTENSION_REQUIRED / 421\n * - PJSIP_SC_SESSION_TIMER_TOO_SMALL / 422\n * - PJSIP_SC_INTERVAL_TOO_BRIEF / 423\n * - PJSIP_SC_TEMPORARILY_UNAVAILABLE / 480\n * - PJSIP_SC_CALL_TSX_DOES_NOT_EXIST / 481\n * - PJSIP_SC_LOOP_DETECTED / 482\n * - PJSIP_SC_TOO_MANY_HOPS / 483\n * - PJSIP_SC_ADDRESS_INCOMPLETE / 484\n * - PJSIP_AC_AMBIGUOUS / 485\n * - PJSIP_SC_BUSY_HERE / 486\n * - PJSIP_SC_REQUEST_TERMINATED / 487\n * - PJSIP_SC_NOT_ACCEPTABLE_HERE / 488\n * - PJSIP_SC_BAD_EVENT / 489\n * - PJSIP_SC_REQUEST_UPDATED / 490\n * - PJSIP_SC_REQUEST_PENDING / 491\n * - PJSIP_SC_UNDECIPHERABLE / 493\n * - PJSIP_SC_INTERNAL_SERVER_ERROR / 500\n * - PJSIP_SC_NOT_IMPLEMENTED / 501\n * - PJSIP_SC_BAD_GATEWAY / 502\n * - PJSIP_SC_SERVICE_UNAVAILABLE / 503\n * - PJSIP_SC_SERVER_TIMEOUT / 504\n * - PJSIP_SC_VERSION_NOT_SUPPORTED / 505\n * - PJSIP_SC_MESSAGE_TOO_LARGE / 513\n * - PJSIP_SC_PRECONDITION_FAILURE / 580\n * - PJSIP_SC_BUSY_EVERYWHERE / 600\n * - PJSIP_SC_DECLINE / 603\n * - PJSIP_SC_DOES_NOT_EXIST_ANYWHERE / 604\n * - PJSIP_SC_NOT_ACCEPTABLE_ANYWHERE / 606\n * - PJSIP_SC_TSX_TIMEOUT / PJSIP_SC_REQUEST_TIMEOUT\n * - PJSIP_SC_TSX_TRANSPORT_ERROR / PJSIP_SC_SERVICE_UNAVAILABLE\n *\n * @returns {string}\n */\n getLastStatusCode(): string {\n return this._lastStatusCode;\n }\n\n /**\n * The reason phrase describing the last status.\n *\n * @returns {string}\n */\n getLastReason(): string {\n return this._lastReason;\n }\n\n getMedia(): string {\n return this._media;\n }\n\n getProvisionalMedia(): string {\n return this._provisionalMedia;\n }\n\n /**\n * Format seconds to \"MM:SS\" format.\n *\n * @public\n * @returns {string}\n */\n _formatTime(seconds: number): string {\n if (isNaN(seconds) || seconds < 0) {\n return \"00:00\";\n }\n var hours = parseInt(String(seconds/3600)) % 24;\n var minutes = parseInt(String(seconds/60)) % 60;\n var result = \"\";\n seconds = seconds % 60;\n\n if (hours > 0) {\n result += (hours < 10 ? \"0\" + hours : hours) + \":\";\n }\n\n result += (minutes < 10 ? \"0\" + minutes : minutes) + \":\" + (seconds < 10 ? \"0\" + seconds : seconds);\n return result;\n };\n}\n\nexport { Call };\n\nexport default Call;\n"],"file":"Call.js"} \ No newline at end of file diff --git a/dist/Endpoint.js b/dist/Endpoint.js index 0b3a5af9..5d43aecc 100644 --- a/dist/Endpoint.js +++ b/dist/Endpoint.js @@ -3,6 +3,7 @@ import { EventEmitter } from 'events'; import Call from './Call'; import Message from './Message'; import Account from './Account'; + /** * SIP headers object, where each key is a header name and value is a header value. * Example: @@ -13,6 +14,7 @@ import Account from './Account'; * * @typedef {Object} PjSipHdrList */ + /** * An additional information to be sent with outgoing SIP message. * It can (optionally) be specified for example @@ -25,6 +27,7 @@ import Account from './Account'; * @property {String} content_type - MIME type of optional message body. * @property {String} msg_body - MIME type of optional message body. */ + /** * An additional information to be sent with outgoing SIP message. * It can (optionally) be specified for example @@ -38,649 +41,706 @@ import Account from './Account'; * @property {number} vid_cnt - Number of simultaneous active video streams for this call. Setting this to zero will disable video in this call. */ export default class Endpoint extends EventEmitter { - constructor() { - super(); - // Subscribe to Accounts events - DeviceEventEmitter.addListener('pjSipRegistrationChanged', this._onRegistrationChanged.bind(this)); - // Subscribe to Calls events - DeviceEventEmitter.addListener('pjSipCallReceived', this._onCallReceived.bind(this)); - DeviceEventEmitter.addListener('pjSipCallChanged', this._onCallChanged.bind(this)); - DeviceEventEmitter.addListener('pjSipCallTerminated', this._onCallTerminated.bind(this)); - DeviceEventEmitter.addListener('pjSipCallScreenLocked', this._onCallScreenLocked.bind(this)); - DeviceEventEmitter.addListener('pjSipMessageReceived', this._onMessageReceived.bind(this)); - DeviceEventEmitter.addListener('pjSipConnectivityChanged', this._onConnectivityChanged.bind(this)); - } - /** - * Returns a Promise that will be resolved once PjSip module is initialized. - * Do not call any function while library is not initialized. - * - * @returns {Promise} - */ - start(configuration) { - return new Promise(function (resolve, reject) { - NativeModules.PjSipModule.start(configuration, (successful, data) => { - if (successful) { - let accounts = []; - let calls = []; - if (data.hasOwnProperty('accounts')) { - for (let d of data['accounts']) { - accounts.push(new Account(d)); - } - } - if (data.hasOwnProperty('calls')) { - for (let d of data['calls']) { - calls.push(new Call(d)); - } - } - let extra = {}; - for (let key in data) { - if (data.hasOwnProperty(key) && key != "accounts" && key != "calls") { - extra[key] = data[key]; - } - } - resolve(Object.assign({ accounts, - calls }, extra)); - } - else { - reject(data); - } - }); - }); - } - stop() { - return new Promise(function (resolve, reject) { - NativeModules.PjSipModule.stop((successful, data) => { - resolve(data); - }); - resolve(); - }); - } - updateStunServers(accountId, stunServerList) { - return new Promise(function (resolve, reject) { - NativeModules.PjSipModule.updateStunServers(accountId, stunServerList, (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } - /** - * @param configuration - * @returns {Promise} - */ - changeNetworkConfiguration(configuration) { - return new Promise(function (resolve, reject) { - NativeModules.PjSipModule.changeNetworkConfiguration(configuration, (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } - /** - * @param configuration - * @returns {Promise} - */ - changeServiceConfiguration(configuration) { - return new Promise(function (resolve, reject) { - NativeModules.PjSipModule.changeServiceConfiguration(configuration, (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } - /** - * Add a new account. If registration is configured for this account, this function would also start the - * SIP registration session with the SIP registrar server. This SIP registration session will be maintained - * internally by the library, and application doesn't need to do anything to maintain the registration session. - * - * An example configuration: - * { - * name: "John Doe", - * username: "100", - * domain: "pbx.com", - * password: "XXXXXX", - * - * proxy: "192.168.100.1:5060", // default disabled. - * transport: "TCP", // default TCP - * regServer: "pbx.com", // default taken from domain - * regTimeout: 300, // default 300 - * } - * - * @param {Object} configuration - * @returns {Promise} - */ - createAccount(configuration) { - return new Promise(function (resolve, reject) { - NativeModules.PjSipModule.createAccount(configuration, (successful, data) => { - if (successful) { - resolve(new Account(data)); - } - else { - reject(data); - } - }); - }); - } - replaceAccount(account, configuration) { - throw new Error("Not implemented"); - } - /** - * Update registration or perform unregistration. - * If registration is configured for this account, then initial SIP REGISTER will be sent when the account is added. - * Application normally only need to call this function if it wants to manually update the registration or to unregister from the server. - * - * @param {Account} account - * @param bool renew If renew argument is zero, this will start unregistration process. - * @returns {Promise} - */ - registerAccount(account, renew = true) { - return new Promise(function (resolve, reject) { - NativeModules.PjSipModule.registerAccount(account.getId(), renew, (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } - /** - * Delete an account. This will unregister the account from the SIP server, if necessary, and terminate server side presence subscriptions associated with this account. - * - * @param {Account} account - * @returns {Promise} - */ - deleteAccount(account) { - return new Promise(function (resolve, reject) { - NativeModules.PjSipModule.deleteAccount(account.getId(), (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } - /** - * Gets list of all accounts - * - * @returns {Promise} - */ - getAccounts() { - return new Promise(function (resolve, reject) { - NativeModules.PjSipModule.getAccounts((successful, data) => { - if (successful) { - let accounts = []; - for (let d of data) { - accounts.push(new Account(d)); - } - resolve(accounts); - } - else { - reject(data); - } - }); - }); - } - /** - * Gets an account by id - * - * @returns {Promise} - */ - getAccount(accountId) { - return new Promise(function (resolve, reject) { - NativeModules.PjSipModule.getAccount(accountId, (successful, data) => { - if (successful) { - resolve(new Account(data)); - } - else { - reject(data); - } - }); - }); - } - /** - * Make an outgoing call to the specified URI. - * Available call settings: - * - audioCount - Number of simultaneous active audio streams for this call. Setting this to zero will disable audio in this call. - * - videoCount - Number of simultaneous active video streams for this call. Setting this to zero will disable video in this call. - * - - * - * @param account {Account} - * @param destination {String} Destination SIP URI. - * @param callSettings {PjSipCallSetttings} Outgoing call settings. - * @param msgSettings {PjSipMsgData} Outgoing call additional information to be sent with outgoing SIP message. - */ - makeCall(account, destination, callSettings, msgData) { - destination = this._normalize(account, destination); - return new Promise(function (resolve, reject) { - NativeModules.PjSipModule.makeCall(account.getId(), destination, callSettings, msgData, (successful, data) => { - if (successful) { - resolve(new Call(data)); - } - else { - reject(data); - } - }); - }); - } - /** - * Send response to incoming INVITE request. - * - * @param call {Call} Call instance - * @returns {Promise} - */ - answerCall(call) { - return new Promise((resolve, reject) => { - NativeModules.PjSipModule.answerCall(call.getId(), (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } - /** - * Hangup call by using method that is appropriate according to the call state. - * - * @param call {Call} Call instance - * @returns {Promise} - */ - hangupCall(call) { - // TODO: Add possibility to pass code and reason for hangup. - return new Promise((resolve, reject) => { - NativeModules.PjSipModule.hangupCall(call.getId(), (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } - /** - * Hangup call by using Decline (603) method. - * - * @param call {Call} Call instance - * @returns {Promise} - */ - declineCall(call) { - return new Promise((resolve, reject) => { - NativeModules.PjSipModule.declineCall(call.getId(), (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } + constructor() { + super(); // Subscribe to Accounts events + + DeviceEventEmitter.addListener('pjSipRegistrationChanged', this._onRegistrationChanged.bind(this)); // Subscribe to Calls events + + DeviceEventEmitter.addListener('pjSipCallReceived', this._onCallReceived.bind(this)); + DeviceEventEmitter.addListener('pjSipCallChanged', this._onCallChanged.bind(this)); + DeviceEventEmitter.addListener('pjSipCallTerminated', this._onCallTerminated.bind(this)); + DeviceEventEmitter.addListener('pjSipCallScreenLocked', this._onCallScreenLocked.bind(this)); + DeviceEventEmitter.addListener('pjSipMessageReceived', this._onMessageReceived.bind(this)); + DeviceEventEmitter.addListener('pjSipConnectivityChanged', this._onConnectivityChanged.bind(this)); + } + /** + * Returns a Promise that will be resolved once PjSip module is initialized. + * Do not call any function while library is not initialized. + * + * @returns {Promise} + */ + + + start(configuration) { + return new Promise(function (resolve, reject) { + NativeModules.PjSipModule.start(configuration, (successful, data) => { + if (successful) { + let accounts = []; + let calls = []; + + if (data.hasOwnProperty('accounts')) { + for (let d of data['accounts']) { + accounts.push(new Account(d)); + } + } + + if (data.hasOwnProperty('calls')) { + for (let d of data['calls']) { + calls.push(new Call(d)); + } + } + + let extra = {}; + + for (let key in data) { + if (data.hasOwnProperty(key) && key != "accounts" && key != "calls") { + extra[key] = data[key]; + } + } + + resolve({ + accounts, + calls, + ...extra + }); + } else { + reject(data); + } + }); + }); + } + + stop() { + return new Promise(function (resolve, reject) { + NativeModules.PjSipModule.stop((successful, data) => { + resolve(data); + }); + resolve(); + }); + } + + updateStunServers(accountId, stunServerList) { + return new Promise(function (resolve, reject) { + NativeModules.PjSipModule.updateStunServers(accountId, stunServerList, (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * @param configuration + * @returns {Promise} + */ + + + changeNetworkConfiguration(configuration) { + return new Promise(function (resolve, reject) { + NativeModules.PjSipModule.changeNetworkConfiguration(configuration, (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * @param configuration + * @returns {Promise} + */ + + + changeServiceConfiguration(configuration) { + return new Promise(function (resolve, reject) { + NativeModules.PjSipModule.changeServiceConfiguration(configuration, (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * Add a new account. If registration is configured for this account, this function would also start the + * SIP registration session with the SIP registrar server. This SIP registration session will be maintained + * internally by the library, and application doesn't need to do anything to maintain the registration session. + * + * An example configuration: + * { + * name: "John Doe", + * username: "100", + * domain: "pbx.com", + * password: "XXXXXX", + * + * proxy: "192.168.100.1:5060", // default disabled. + * transport: "TCP", // default TCP + * regServer: "pbx.com", // default taken from domain + * regTimeout: 300, // default 300 + * } + * + * @param {Object} configuration + * @returns {Promise} + */ + + + createAccount(configuration) { + return new Promise(function (resolve, reject) { + NativeModules.PjSipModule.createAccount(configuration, (successful, data) => { + if (successful) { + resolve(new Account(data)); + } else { + reject(data); + } + }); + }); + } + + replaceAccount(account, configuration) { + throw new Error("Not implemented"); + } + /** + * Update registration or perform unregistration. + * If registration is configured for this account, then initial SIP REGISTER will be sent when the account is added. + * Application normally only need to call this function if it wants to manually update the registration or to unregister from the server. + * + * @param {Account} account + * @param bool renew If renew argument is zero, this will start unregistration process. + * @returns {Promise} + */ + + + registerAccount(account, renew = true) { + return new Promise(function (resolve, reject) { + NativeModules.PjSipModule.registerAccount(account.getId(), renew, (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * Delete an account. This will unregister the account from the SIP server, if necessary, and terminate server side presence subscriptions associated with this account. + * + * @param {Account} account + * @returns {Promise} + */ + + + deleteAccount(account) { + return new Promise(function (resolve, reject) { + NativeModules.PjSipModule.deleteAccount(account.getId(), (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * Gets list of all accounts + * + * @returns {Promise} + */ + + + getAccounts() { + return new Promise(function (resolve, reject) { + NativeModules.PjSipModule.getAccounts((successful, data) => { + if (successful) { + let accounts = []; + + for (let d of data) { + accounts.push(new Account(d)); + } + + resolve(accounts); + } else { + reject(data); + } + }); + }); + } + /** + * Gets an account by id + * + * @returns {Promise} + */ + + + getAccount(accountId) { + return new Promise(function (resolve, reject) { + NativeModules.PjSipModule.getAccount(accountId, (successful, data) => { + if (successful) { + resolve(new Account(data)); + } else { + reject(data); + } + }); + }); + } + /** + * Make an outgoing call to the specified URI. + * Available call settings: + * - audioCount - Number of simultaneous active audio streams for this call. Setting this to zero will disable audio in this call. + * - videoCount - Number of simultaneous active video streams for this call. Setting this to zero will disable video in this call. + * - + * + * @param account {Account} + * @param destination {String} Destination SIP URI. + * @param callSettings {PjSipCallSetttings} Outgoing call settings. + * @param msgSettings {PjSipMsgData} Outgoing call additional information to be sent with outgoing SIP message. + */ + + + makeCall(account, destination, callSettings, msgData) { + destination = this._normalize(account, destination); + return new Promise(function (resolve, reject) { + NativeModules.PjSipModule.makeCall(account.getId(), destination, callSettings, msgData, (successful, data) => { + if (successful) { + resolve(new Call(data)); + } else { + reject(data); + } + }); + }); + } + /** + * Send response to incoming INVITE request. + * + * @param call {Call} Call instance + * @returns {Promise} + */ + + + answerCall(call) { + return new Promise((resolve, reject) => { + NativeModules.PjSipModule.answerCall(call.getId(), (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * Hangup call by using method that is appropriate according to the call state. + * + * @param call {Call} Call instance + * @returns {Promise} + */ + + + hangupCall(call) { + // TODO: Add possibility to pass code and reason for hangup. + return new Promise((resolve, reject) => { + NativeModules.PjSipModule.hangupCall(call.getId(), (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * Hangup call by using Decline (603) method. + * + * @param call {Call} Call instance + * @returns {Promise} + */ + + + declineCall(call) { + return new Promise((resolve, reject) => { + NativeModules.PjSipModule.declineCall(call.getId(), (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * Put the specified call on hold. This will send re-INVITE with the appropriate SDP to inform remote that the call is being put on hold. + * + * @param call {Call} Call instance + * @returns {Promise} + */ + + + holdCall(call) { + return new Promise((resolve, reject) => { + NativeModules.PjSipModule.holdCall(call.getId(), (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * Release the specified call from hold. This will send re-INVITE with the appropriate SDP to inform remote that the call is resumed. + * + * @param call {Call} Call instance + * @returns {Promise} + */ + + + unholdCall(call) { + return new Promise((resolve, reject) => { + NativeModules.PjSipModule.unholdCall(call.getId(), (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * @param call {Call} Call instance + * @returns {Promise} + */ + + + muteCall(call) { + return new Promise((resolve, reject) => { + NativeModules.PjSipModule.muteCall(call.getId(), (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * @param call {Call} Call instance + * @returns {Promise} + */ + + + unMuteCall(call) { + return new Promise((resolve, reject) => { + NativeModules.PjSipModule.unMuteCall(call.getId(), (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * @returns {Promise} + */ + + + useSpeaker() { + return new Promise((resolve, reject) => { + NativeModules.PjSipModule.useSpeaker((successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * @param call {Call} Call instance + * @returns {Promise} + */ + + + useEarpiece() { + return new Promise((resolve, reject) => { + NativeModules.PjSipModule.useEarpiece((successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * Initiate call transfer to the specified address. + * This function will send REFER request to instruct remote call party to initiate a new INVITE session to the specified destination/target. + * + * @param account {Account} Account associated with call. + * @param call {Call} The call to be transferred. + * @param destination URI of new target to be contacted. The URI may be in name address or addr-spec format. + * @returns {Promise} + */ + + + xferCall(account, call, destination) { + destination = this._normalize(account, destination); + return new Promise((resolve, reject) => { + NativeModules.PjSipModule.xferCall(call.getId(), destination, (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * Initiate attended call transfer. + * This function will send REFER request to instruct remote call party to initiate new INVITE session to the URL of destCall. + * The party at destCall then should "replace" the call with us with the new call from the REFER recipient. + * + * @param call {Call} The call to be transferred. + * @param destCall {Call} The call to be transferred. + * @returns {Promise} + */ + + + xferReplacesCall(call, destCall) { + return new Promise((resolve, reject) => { + NativeModules.PjSipModule.xferReplacesCall(call.getId(), destCall.getId(), (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * Redirect (forward) specified call to destination. + * This function will send response to INVITE to instruct remote call party to redirect incoming call to the specified destination/target. + * + * @param account {Account} Account associated with call. + * @param call {Call} The call to be transferred. + * @param destination URI of new target to be contacted. The URI may be in name address or addr-spec format. + * @returns {Promise} + */ + + + redirectCall(account, call, destination) { + destination = this._normalize(account, destination); + return new Promise((resolve, reject) => { + NativeModules.PjSipModule.redirectCall(call.getId(), destination, (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * Send DTMF digits to remote using RFC 2833 payload formats. + * + * @param call {Call} Call instance + * @param digits {String} DTMF string digits to be sent as described on RFC 2833 section 3.10. + * @returns {Promise} + */ + + + dtmfCall(call, digits) { + return new Promise((resolve, reject) => { + NativeModules.PjSipModule.dtmfCall(call.getId(), digits, (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + + activateAudioSession() { + return new Promise((resolve, reject) => { + NativeModules.PjSipModule.activateAudioSession((successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + + deactivateAudioSession() { + return new Promise((resolve, reject) => { + NativeModules.PjSipModule.deactivateAudioSession((successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + + changeOrientation(orientation) { + const orientations = ['PJMEDIA_ORIENT_UNKNOWN', 'PJMEDIA_ORIENT_ROTATE_90DEG', 'PJMEDIA_ORIENT_ROTATE_270DEG', 'PJMEDIA_ORIENT_ROTATE_180DEG', 'PJMEDIA_ORIENT_NATURAL']; + + if (orientations.indexOf(orientation) === -1) { + throw new Error(`Invalid ${JSON.stringify(orientation)} device orientation, but expected ${orientations.join(", ")} values`); + } + + NativeModules.PjSipModule.changeOrientation(orientation); + } + + changeCodecSettings(codecSettings) { + return new Promise(function (resolve, reject) { + NativeModules.PjSipModule.changeCodecSettings(codecSettings, (successful, data) => { + if (successful) { + resolve(data); + } else { + reject(data); + } + }); + }); + } + /** + * @fires Endpoint#registration_changed + * @private + * @param data {Object} + */ + + + _onRegistrationChanged(data) { /** - * Put the specified call on hold. This will send re-INVITE with the appropriate SDP to inform remote that the call is being put on hold. + * Fires when registration status has changed. * - * @param call {Call} Call instance - * @returns {Promise} + * @event Endpoint#registration_changed + * @property {Account} account */ - holdCall(call) { - return new Promise((resolve, reject) => { - NativeModules.PjSipModule.holdCall(call.getId(), (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } + this.emit("registration_changed", new Account(data)); + } + /** + * @fires Endpoint#call_received + * @private + * @param data {Object} + */ + + + _onCallReceived(data) { /** - * Release the specified call from hold. This will send re-INVITE with the appropriate SDP to inform remote that the call is resumed. + * TODO * - * @param call {Call} Call instance - * @returns {Promise} - */ - unholdCall(call) { - return new Promise((resolve, reject) => { - NativeModules.PjSipModule.unholdCall(call.getId(), (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } - /** - * @param call {Call} Call instance - * @returns {Promise} - */ - muteCall(call) { - return new Promise((resolve, reject) => { - NativeModules.PjSipModule.muteCall(call.getId(), (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } - /** - * @param call {Call} Call instance - * @returns {Promise} - */ - unMuteCall(call) { - return new Promise((resolve, reject) => { - NativeModules.PjSipModule.unMuteCall(call.getId(), (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } - /** - * @returns {Promise} - */ - useSpeaker() { - return new Promise((resolve, reject) => { - NativeModules.PjSipModule.useSpeaker((successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } - /** - * @param call {Call} Call instance - * @returns {Promise} + * @event Endpoint#call_received + * @property {Call} call */ - useEarpiece() { - return new Promise((resolve, reject) => { - NativeModules.PjSipModule.useEarpiece((successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } + this.emit("call_received", new Call(data)); + } + /** + * @fires Endpoint#call_changed + * @private + * @param data {Object} + */ + + + _onCallChanged(data) { /** - * Initiate call transfer to the specified address. - * This function will send REFER request to instruct remote call party to initiate a new INVITE session to the specified destination/target. + * TODO * - * @param account {Account} Account associated with call. - * @param call {Call} The call to be transferred. - * @param destination URI of new target to be contacted. The URI may be in name address or addr-spec format. - * @returns {Promise} + * @event Endpoint#call_changed + * @property {Call} call */ - xferCall(account, call, destination) { - destination = this._normalize(account, destination); - return new Promise((resolve, reject) => { - NativeModules.PjSipModule.xferCall(call.getId(), destination, (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } + this.emit("call_changed", new Call(data)); + } + /** + * @fires Endpoint#call_terminated + * @private + * @param data {Object} + */ + + + _onCallTerminated(data) { /** - * Initiate attended call transfer. - * This function will send REFER request to instruct remote call party to initiate new INVITE session to the URL of destCall. - * The party at destCall then should "replace" the call with us with the new call from the REFER recipient. + * TODO * - * @param call {Call} The call to be transferred. - * @param destCall {Call} The call to be transferred. - * @returns {Promise} + * @event Endpoint#call_terminated + * @property {Call} call */ - xferReplacesCall(call, destCall) { - return new Promise((resolve, reject) => { - NativeModules.PjSipModule.xferReplacesCall(call.getId(), destCall.getId(), (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } + this.emit("call_terminated", new Call(data)); + } + /** + * @fires Endpoint#call_screen_locked + * @private + * @param lock bool + */ + + + _onCallScreenLocked(lock) { /** - * Redirect (forward) specified call to destination. - * This function will send response to INVITE to instruct remote call party to redirect incoming call to the specified destination/target. + * TODO * - * @param account {Account} Account associated with call. - * @param call {Call} The call to be transferred. - * @param destination URI of new target to be contacted. The URI may be in name address or addr-spec format. - * @returns {Promise} + * @event Endpoint#call_screen_locked + * @property bool lock */ - redirectCall(account, call, destination) { - destination = this._normalize(account, destination); - return new Promise((resolve, reject) => { - NativeModules.PjSipModule.redirectCall(call.getId(), destination, (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } + this.emit("call_screen_locked", lock); + } + /** + * @fires Endpoint#message_received + * @private + * @param data {Object} + */ + + + _onMessageReceived(data) { /** - * Send DTMF digits to remote using RFC 2833 payload formats. + * TODO * - * @param call {Call} Call instance - * @param digits {String} DTMF string digits to be sent as described on RFC 2833 section 3.10. - * @returns {Promise} - */ - dtmfCall(call, digits) { - return new Promise((resolve, reject) => { - NativeModules.PjSipModule.dtmfCall(call.getId(), digits, (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } - activateAudioSession() { - return new Promise((resolve, reject) => { - NativeModules.PjSipModule.activateAudioSession((successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } - deactivateAudioSession() { - return new Promise((resolve, reject) => { - NativeModules.PjSipModule.deactivateAudioSession((successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } - changeOrientation(orientation) { - const orientations = [ - 'PJMEDIA_ORIENT_UNKNOWN', - 'PJMEDIA_ORIENT_ROTATE_90DEG', - 'PJMEDIA_ORIENT_ROTATE_270DEG', - 'PJMEDIA_ORIENT_ROTATE_180DEG', - 'PJMEDIA_ORIENT_NATURAL' - ]; - if (orientations.indexOf(orientation) === -1) { - throw new Error(`Invalid ${JSON.stringify(orientation)} device orientation, but expected ${orientations.join(", ")} values`); - } - NativeModules.PjSipModule.changeOrientation(orientation); - } - changeCodecSettings(codecSettings) { - return new Promise(function (resolve, reject) { - NativeModules.PjSipModule.changeCodecSettings(codecSettings, (successful, data) => { - if (successful) { - resolve(data); - } - else { - reject(data); - } - }); - }); - } - /** - * @fires Endpoint#registration_changed - * @private - * @param data {Object} - */ - _onRegistrationChanged(data) { - /** - * Fires when registration status has changed. - * - * @event Endpoint#registration_changed - * @property {Account} account - */ - this.emit("registration_changed", new Account(data)); - } - /** - * @fires Endpoint#call_received - * @private - * @param data {Object} - */ - _onCallReceived(data) { - /** - * TODO - * - * @event Endpoint#call_received - * @property {Call} call - */ - this.emit("call_received", new Call(data)); - } - /** - * @fires Endpoint#call_changed - * @private - * @param data {Object} - */ - _onCallChanged(data) { - /** - * TODO - * - * @event Endpoint#call_changed - * @property {Call} call - */ - this.emit("call_changed", new Call(data)); - } - /** - * @fires Endpoint#call_terminated - * @private - * @param data {Object} - */ - _onCallTerminated(data) { - /** - * TODO - * - * @event Endpoint#call_terminated - * @property {Call} call - */ - this.emit("call_terminated", new Call(data)); - } - /** - * @fires Endpoint#call_screen_locked - * @private - * @param lock bool - */ - _onCallScreenLocked(lock) { - /** - * TODO - * - * @event Endpoint#call_screen_locked - * @property bool lock - */ - this.emit("call_screen_locked", lock); - } - /** - * @fires Endpoint#message_received - * @private - * @param data {Object} + * @event Endpoint#message_received + * @property {Message} message */ - _onMessageReceived(data) { - /** - * TODO - * - * @event Endpoint#message_received - * @property {Message} message - */ - this.emit("message_received", new Message(data)); - } - /** - * @fires Endpoint#connectivity_changed - * @private - * @param available bool - */ - _onConnectivityChanged(available) { - /** - * @event Endpoint#connectivity_changed - * @property bool available True if connectivity matches current Network settings, otherwise false. - */ - this.emit("connectivity_changed", available); - } + this.emit("message_received", new Message(data)); + } + /** + * @fires Endpoint#connectivity_changed + * @private + * @param available bool + */ + + + _onConnectivityChanged(available) { /** - * Normalize Destination URI - * - * @param account - * @param destination {string} - * @returns {string} - * @private + * @event Endpoint#connectivity_changed + * @property bool available True if connectivity matches current Network settings, otherwise false. */ - _normalize(account, destination) { - if (!destination.startsWith("sip:")) { - let realm = account.getRegServer(); - if (!realm) { - realm = account.getDomain(); - let s = realm.indexOf(":"); - if (s > 0) { - realm = realm.substr(0, s + 1); - } - } - destination = "sip:" + destination + "@" + realm; - } - return destination; - } + this.emit("connectivity_changed", available); + } + /** + * Normalize Destination URI + * + * @param account + * @param destination {string} + * @returns {string} + * @private + */ + + + _normalize(account, destination) { + if (!destination.startsWith("sip:")) { + let realm = account.getRegServer(); + + if (!realm) { + realm = account.getDomain(); + /*let s = realm.indexOf(":"); + if (s > 0) { + realm = realm.substr(0, s + 1); + }*/ + } + + destination = "sip:" + destination + "@" + realm; + } + + return destination; + } // setUaConfig(UaConfig value) + // setMaxCalls + // setUserAgent + // setNatTypeInSdp + // setLogConfig(LogConfig value) + // setLevel + + } //# sourceMappingURL=Endpoint.js.map \ No newline at end of file diff --git a/dist/Endpoint.js.map b/dist/Endpoint.js.map index bc198f03..71ef9396 100644 --- a/dist/Endpoint.js.map +++ b/dist/Endpoint.js.map @@ -1 +1 @@ -{"version":3,"file":"Endpoint.js","sourceRoot":"","sources":["../src/Endpoint.ts"],"names":[],"mappings":"AAAA,OAAc,EAAC,kBAAkB,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AACtE,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAA;AAEnC,OAAO,IAAkB,MAAM,QAAQ,CAAA;AACvC,OAAO,OAAwB,MAAM,WAAW,CAAA;AAChD,OAAO,OAAiC,MAAM,WAAW,CAAA;AAMzD;;;;;;;;;GASG;AAEH;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,YAAY;IAE9C;QACI,KAAK,EAAE,CAAC;QAER,+BAA+B;QAC/B,kBAAkB,CAAC,WAAW,CAAC,0BAA0B,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnG,4BAA4B;QAC5B,kBAAkB,CAAC,WAAW,CAAC,mBAAmB,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrF,kBAAkB,CAAC,WAAW,CAAC,kBAAkB,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnF,kBAAkB,CAAC,WAAW,CAAC,qBAAqB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,kBAAkB,CAAC,WAAW,CAAC,uBAAuB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,kBAAkB,CAAC,WAAW,CAAC,sBAAsB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,kBAAkB,CAAC,WAAW,CAAC,0BAA0B,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvG,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAoC;QAItC,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM;YACvC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBAChE,IAAI,UAAU,EAAE;oBACZ,IAAI,QAAQ,GAAG,EAAE,CAAC;oBAClB,IAAI,KAAK,GAAG,EAAE,CAAC;oBAEf,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;wBACjC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE;4BAC5B,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;yBACjC;qBACJ;oBAED,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;wBAC9B,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;4BACzB,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC3B;qBACJ;oBAED,IAAI,KAAK,GAAG,EAAE,CAAC;oBAEf,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;wBAClB,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,IAAI,OAAO,EAAE;4BACjE,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;yBAC1B;qBACJ;oBAED,OAAO,iBACH,QAAQ;wBACR,KAAK,IACF,KAAK,EACV,CAAC;iBACN;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI;QACA,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM;YACvC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBAChD,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iBAAiB,CAAC,SAAiB,EAAE,cAAwB;QACzD,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM;YACvC,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACxF,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;;OAGG;IACH,0BAA0B,CAAC,aAAkB;QACzC,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM;YACvC,aAAa,CAAC,WAAW,CAAC,0BAA0B,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACrF,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,0BAA0B,CAAC,aAAkB;QACzC,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM;YACvC,aAAa,CAAC,WAAW,CAAC,0BAA0B,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACrF,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,aAAa,CAAC,aAAmC;QAC7C,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM;YACvC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACxE,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC9B;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,cAAc,CAAC,OAAgB,EAAE,aAAmC;QAChE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;OAQG;IACH,eAAe,CAAC,OAAgB,EAAE,KAAK,GAAG,IAAI;QAC1C,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM;YACvC,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACnF,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,OAAgB;QAC1B,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM;YACvC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBAC1E,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,WAAW;QACP,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM;YACvC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACvD,IAAI,UAAU,EAAE;oBACZ,IAAI,QAAQ,GAAG,EAAE,CAAC;oBAElB,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE;wBAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;qBACjC;oBAED,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACrB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,SAAiB;QACxB,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM;YACvC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACjE,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC9B;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,OAAgB,EAAE,WAAmB,EAAE,YAAkB,EAAE,OAAa;QAC7E,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEpD,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM;YACvC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACzG,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC3B;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAU;QACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACpE,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAU;QACjB,4DAA4D;QAC5D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACpE,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,IAAU;QAClB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACrE,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,IAAU;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBAClE,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAU;QACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACpE,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAU;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBAClE,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAU;QACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACpE,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,UAAU;QACN,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACtD,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,WAAW;QACP,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACvD,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAgB,EAAE,IAAU,EAAE,WAAmB;QACtD,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEpD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBAC/E,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;OAQG;IACH,gBAAgB,CAAC,IAAU,EAAE,QAAc;QACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBAC5F,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;OAQG;IACH,YAAY,CAAC,OAAgB,EAAE,IAAU,EAAE,WAAmB;QAC1D,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEpD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBACnF,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,IAAU,EAAE,MAAc;QAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBAC1E,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB;QAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBAChE,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,sBAAsB;QAClB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,aAAa,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBAClE,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iBAAiB,CAAC,WAMjB;QACC,MAAM,YAAY,GAAG;YACnB,wBAAwB;YACxB,6BAA6B;YAC7B,8BAA8B;YAC9B,8BAA8B;YAC9B,wBAAwB;SACzB,CAAA;QAED,IAAI,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE;YAC5C,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,qCAAqC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SAC7H;QAED,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAC1D,CAAC;IAED,mBAAmB,CAAC,aAYnB;QACG,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM;YAC3C,aAAa,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBAC1E,IAAI,UAAU,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,IAA0B;QAC7C;;;;;WAKG;QACH,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,IAAc;QAC1B;;;;;WAKG;QACH,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,IAAc;QACzB;;;;;WAKG;QACH,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,IAAc;QAC5B;;;;;WAKG;QACH,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,IAAa;QAC7B;;;;;WAKG;QACH,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,IAAiB;QAChC;;;;;WAKG;QACH,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,SAAkB;QACrC;;;WAGG;QACH,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,OAAgB,EAAE,WAAmB;QAC5C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YACjC,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YAEnC,IAAI,CAAC,KAAK,EAAE;gBACR,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAE3B,IAAI,CAAC,GAAG,CAAC,EAAE;oBACP,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;iBAClC;aACJ;YAED,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,GAAG,GAAG,KAAK,CAAC;SACpD;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;CAQJ"} \ No newline at end of file +{"version":3,"sources":["../src/Endpoint.ts"],"names":["DeviceEventEmitter","NativeModules","EventEmitter","Call","Message","Account","Endpoint","constructor","addListener","_onRegistrationChanged","bind","_onCallReceived","_onCallChanged","_onCallTerminated","_onCallScreenLocked","_onMessageReceived","_onConnectivityChanged","start","configuration","Promise","resolve","reject","PjSipModule","successful","data","accounts","calls","hasOwnProperty","d","push","extra","key","stop","updateStunServers","accountId","stunServerList","changeNetworkConfiguration","changeServiceConfiguration","createAccount","replaceAccount","account","Error","registerAccount","renew","getId","deleteAccount","getAccounts","getAccount","makeCall","destination","callSettings","msgData","_normalize","answerCall","call","hangupCall","declineCall","holdCall","unholdCall","muteCall","unMuteCall","useSpeaker","useEarpiece","xferCall","xferReplacesCall","destCall","redirectCall","dtmfCall","digits","activateAudioSession","deactivateAudioSession","changeOrientation","orientation","orientations","indexOf","JSON","stringify","join","changeCodecSettings","codecSettings","emit","lock","available","startsWith","realm","getRegServer","getDomain"],"mappings":"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","sourcesContent":["import React, {DeviceEventEmitter, NativeModules} from 'react-native';\nimport {EventEmitter} from 'events'\n\nimport Call, { CallData } from './Call'\nimport Message, { MessageData } from './Message'\nimport Account, { AccountConfiguration } from './Account'\n\nexport type EndpointConfiguration = {\n\n}\n\n/**\n * SIP headers object, where each key is a header name and value is a header value.\n * Example:\n * {\n * \"X-Custom-Header\": \"Test Header Value\",\n * \"X-Custom-ID\": \"Awesome Header\"\n * }\n *\n * @typedef {Object} PjSipHdrList\n */\n\n/**\n * An additional information to be sent with outgoing SIP message.\n * It can (optionally) be specified for example\n * with #Endpoint.makeCall(), #Endpoint.answerCall(), #Endpoint.hangupCall(),\n * #Endpoint.holdCall() and many more.\n *\n * @typedef {Object} PjSipMsgData\n * @property {String} target_uri - Indicates whether the Courage component is present.\n * @property {PjSipHdrList} hdr_list - Additional message headers as linked list.\n * @property {String} content_type - MIME type of optional message body.\n * @property {String} msg_body - MIME type of optional message body.\n */\n\n/**\n * An additional information to be sent with outgoing SIP message.\n * It can (optionally) be specified for example\n * with #Endpoint.makeCall(), #Endpoint.answerCall(), #Endpoint.hangupCall(),\n * #Endpoint.holdCall() and many more.\n *\n * @typedef {Object} PjSipCallSetttings\n * @property {number} flag - Bitmask of #pjsua_call_flag constants.\n * @property {number} req_keyframe_method - This flag controls what methods to request keyframe are allowed on the call.\n * @property {number} aud_cnt - Number of simultaneous active audio streams for this call. Setting this to zero will disable audio in this call.\n * @property {number} vid_cnt - Number of simultaneous active video streams for this call. Setting this to zero will disable video in this call.\n */\n\nexport default class Endpoint extends EventEmitter {\n\n constructor() {\n super();\n\n // Subscribe to Accounts events\n DeviceEventEmitter.addListener('pjSipRegistrationChanged', this._onRegistrationChanged.bind(this));\n\n // Subscribe to Calls events\n DeviceEventEmitter.addListener('pjSipCallReceived', this._onCallReceived.bind(this));\n DeviceEventEmitter.addListener('pjSipCallChanged', this._onCallChanged.bind(this));\n DeviceEventEmitter.addListener('pjSipCallTerminated', this._onCallTerminated.bind(this));\n DeviceEventEmitter.addListener('pjSipCallScreenLocked', this._onCallScreenLocked.bind(this));\n DeviceEventEmitter.addListener('pjSipMessageReceived', this._onMessageReceived.bind(this));\n DeviceEventEmitter.addListener('pjSipConnectivityChanged', this._onConnectivityChanged.bind(this));\n }\n\n /**\n * Returns a Promise that will be resolved once PjSip module is initialized.\n * Do not call any function while library is not initialized.\n *\n * @returns {Promise}\n */\n start(configuration: EndpointConfiguration): Promise<{\n accounts: Account[],\n calls: Call[],\n }> {\n return new Promise(function(resolve, reject) {\n NativeModules.PjSipModule.start(configuration, (successful, data) => {\n if (successful) {\n let accounts = [];\n let calls = [];\n\n if (data.hasOwnProperty('accounts')) {\n for (let d of data['accounts']) {\n accounts.push(new Account(d));\n }\n }\n\n if (data.hasOwnProperty('calls')) {\n for (let d of data['calls']) {\n calls.push(new Call(d));\n }\n }\n\n let extra = {};\n\n for (let key in data) {\n if (data.hasOwnProperty(key) && key != \"accounts\" && key != \"calls\") {\n extra[key] = data[key];\n }\n }\n\n resolve({\n accounts,\n calls,\n ...extra\n });\n } else {\n reject(data);\n }\n });\n });\n }\n\n stop(): Promise {\n return new Promise(function(resolve, reject) {\n NativeModules.PjSipModule.stop((successful, data) => {\n resolve(data);\n });\n resolve();\n });\n }\n\n updateStunServers(accountId: number, stunServerList: string[]): Promise {\n return new Promise(function(resolve, reject) {\n NativeModules.PjSipModule.updateStunServers(accountId, stunServerList, (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n })\n })\n }\n\n /**\n * @param configuration\n * @returns {Promise}\n */\n changeNetworkConfiguration(configuration: any): Promise {\n return new Promise(function(resolve, reject) {\n NativeModules.PjSipModule.changeNetworkConfiguration(configuration, (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * @param configuration\n * @returns {Promise}\n */\n changeServiceConfiguration(configuration: any): Promise {\n return new Promise(function(resolve, reject) {\n NativeModules.PjSipModule.changeServiceConfiguration(configuration, (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * Add a new account. If registration is configured for this account, this function would also start the\n * SIP registration session with the SIP registrar server. This SIP registration session will be maintained\n * internally by the library, and application doesn't need to do anything to maintain the registration session.\n *\n * An example configuration:\n * {\n * name: \"John Doe\",\n * username: \"100\",\n * domain: \"pbx.com\",\n * password: \"XXXXXX\",\n *\n * proxy: \"192.168.100.1:5060\", // default disabled.\n * transport: \"TCP\", // default TCP\n * regServer: \"pbx.com\", // default taken from domain\n * regTimeout: 300, // default 300\n * }\n *\n * @param {Object} configuration\n * @returns {Promise}\n */\n createAccount(configuration: AccountConfiguration): Promise {\n return new Promise(function(resolve, reject) {\n NativeModules.PjSipModule.createAccount(configuration, (successful, data) => {\n if (successful) {\n resolve(new Account(data));\n } else {\n reject(data);\n }\n });\n });\n }\n\n replaceAccount(account: Account, configuration: AccountConfiguration): void {\n throw new Error(\"Not implemented\");\n }\n\n /**\n * Update registration or perform unregistration.\n * If registration is configured for this account, then initial SIP REGISTER will be sent when the account is added.\n * Application normally only need to call this function if it wants to manually update the registration or to unregister from the server.\n *\n * @param {Account} account\n * @param bool renew If renew argument is zero, this will start unregistration process.\n * @returns {Promise}\n */\n registerAccount(account: Account, renew = true): Promise {\n return new Promise(function(resolve, reject) {\n NativeModules.PjSipModule.registerAccount(account.getId(), renew, (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * Delete an account. This will unregister the account from the SIP server, if necessary, and terminate server side presence subscriptions associated with this account.\n *\n * @param {Account} account\n * @returns {Promise}\n */\n deleteAccount(account: Account): Promise {\n return new Promise(function(resolve, reject) {\n NativeModules.PjSipModule.deleteAccount(account.getId(), (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * Gets list of all accounts\n *\n * @returns {Promise}\n */\n getAccounts(): Promise {\n return new Promise(function(resolve, reject) {\n NativeModules.PjSipModule.getAccounts((successful, data) => {\n if (successful) {\n let accounts = [];\n\n for (let d of data) {\n accounts.push(new Account(d));\n }\n\n resolve(accounts);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * Gets an account by id\n *\n * @returns {Promise}\n */\n getAccount(accountId: number): Promise {\n return new Promise(function(resolve, reject) {\n NativeModules.PjSipModule.getAccount(accountId, (successful, data) => {\n if (successful) {\n resolve(new Account(data));\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * Make an outgoing call to the specified URI.\n * Available call settings:\n * - audioCount - Number of simultaneous active audio streams for this call. Setting this to zero will disable audio in this call.\n * - videoCount - Number of simultaneous active video streams for this call. Setting this to zero will disable video in this call.\n * -\n *\n * @param account {Account}\n * @param destination {String} Destination SIP URI.\n * @param callSettings {PjSipCallSetttings} Outgoing call settings.\n * @param msgSettings {PjSipMsgData} Outgoing call additional information to be sent with outgoing SIP message.\n */\n makeCall(account: Account, destination: string, callSettings?: any, msgData?: any): Promise {\n destination = this._normalize(account, destination);\n\n return new Promise(function(resolve, reject) {\n NativeModules.PjSipModule.makeCall(account.getId(), destination, callSettings, msgData, (successful, data) => {\n if (successful) {\n resolve(new Call(data));\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * Send response to incoming INVITE request.\n *\n * @param call {Call} Call instance\n * @returns {Promise}\n */\n answerCall(call: Call): Promise {\n return new Promise((resolve, reject) => {\n NativeModules.PjSipModule.answerCall(call.getId(), (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * Hangup call by using method that is appropriate according to the call state.\n *\n * @param call {Call} Call instance\n * @returns {Promise}\n */\n hangupCall(call: Call): Promise {\n // TODO: Add possibility to pass code and reason for hangup.\n return new Promise((resolve, reject) => {\n NativeModules.PjSipModule.hangupCall(call.getId(), (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * Hangup call by using Decline (603) method.\n *\n * @param call {Call} Call instance\n * @returns {Promise}\n */\n declineCall(call: Call): Promise {\n return new Promise((resolve, reject) => {\n NativeModules.PjSipModule.declineCall(call.getId(), (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * Put the specified call on hold. This will send re-INVITE with the appropriate SDP to inform remote that the call is being put on hold.\n *\n * @param call {Call} Call instance\n * @returns {Promise}\n */\n holdCall(call: Call): Promise {\n return new Promise((resolve, reject) => {\n NativeModules.PjSipModule.holdCall(call.getId(), (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * Release the specified call from hold. This will send re-INVITE with the appropriate SDP to inform remote that the call is resumed.\n *\n * @param call {Call} Call instance\n * @returns {Promise}\n */\n unholdCall(call: Call): Promise {\n return new Promise((resolve, reject) => {\n NativeModules.PjSipModule.unholdCall(call.getId(), (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * @param call {Call} Call instance\n * @returns {Promise}\n */\n muteCall(call: Call): Promise {\n return new Promise((resolve, reject) => {\n NativeModules.PjSipModule.muteCall(call.getId(), (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * @param call {Call} Call instance\n * @returns {Promise}\n */\n unMuteCall(call: Call): Promise {\n return new Promise((resolve, reject) => {\n NativeModules.PjSipModule.unMuteCall(call.getId(), (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * @returns {Promise}\n */\n useSpeaker(): Promise {\n return new Promise((resolve, reject) => {\n NativeModules.PjSipModule.useSpeaker((successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * @param call {Call} Call instance\n * @returns {Promise}\n */\n useEarpiece(): Promise {\n return new Promise((resolve, reject) => {\n NativeModules.PjSipModule.useEarpiece((successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * Initiate call transfer to the specified address.\n * This function will send REFER request to instruct remote call party to initiate a new INVITE session to the specified destination/target.\n *\n * @param account {Account} Account associated with call.\n * @param call {Call} The call to be transferred.\n * @param destination URI of new target to be contacted. The URI may be in name address or addr-spec format.\n * @returns {Promise}\n */\n xferCall(account: Account, call: Call, destination: string): Promise {\n destination = this._normalize(account, destination);\n\n return new Promise((resolve, reject) => {\n NativeModules.PjSipModule.xferCall(call.getId(), destination, (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * Initiate attended call transfer.\n * This function will send REFER request to instruct remote call party to initiate new INVITE session to the URL of destCall.\n * The party at destCall then should \"replace\" the call with us with the new call from the REFER recipient.\n *\n * @param call {Call} The call to be transferred.\n * @param destCall {Call} The call to be transferred.\n * @returns {Promise}\n */\n xferReplacesCall(call: Call, destCall: Call): Promise {\n return new Promise((resolve, reject) => {\n NativeModules.PjSipModule.xferReplacesCall(call.getId(), destCall.getId(), (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * Redirect (forward) specified call to destination.\n * This function will send response to INVITE to instruct remote call party to redirect incoming call to the specified destination/target.\n *\n * @param account {Account} Account associated with call.\n * @param call {Call} The call to be transferred.\n * @param destination URI of new target to be contacted. The URI may be in name address or addr-spec format.\n * @returns {Promise}\n */\n redirectCall(account: Account, call: Call, destination: string): Promise {\n destination = this._normalize(account, destination);\n\n return new Promise((resolve, reject) => {\n NativeModules.PjSipModule.redirectCall(call.getId(), destination, (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * Send DTMF digits to remote using RFC 2833 payload formats.\n *\n * @param call {Call} Call instance\n * @param digits {String} DTMF string digits to be sent as described on RFC 2833 section 3.10.\n * @returns {Promise}\n */\n dtmfCall(call: Call, digits: string): Promise {\n return new Promise((resolve, reject) => {\n NativeModules.PjSipModule.dtmfCall(call.getId(), digits, (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n activateAudioSession(): Promise {\n return new Promise((resolve, reject) => {\n NativeModules.PjSipModule.activateAudioSession((successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n deactivateAudioSession(): Promise {\n return new Promise((resolve, reject) => {\n NativeModules.PjSipModule.deactivateAudioSession((successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n changeOrientation(orientation: (\n 'PJMEDIA_ORIENT_UNKNOWN'\n | 'PJMEDIA_ORIENT_ROTATE_90DEG'\n | 'PJMEDIA_ORIENT_ROTATE_270DEG'\n | 'PJMEDIA_ORIENT_ROTATE_180DEG'\n | 'PJMEDIA_ORIENT_NATURAL'\n )): void {\n const orientations = [\n 'PJMEDIA_ORIENT_UNKNOWN',\n 'PJMEDIA_ORIENT_ROTATE_90DEG',\n 'PJMEDIA_ORIENT_ROTATE_270DEG',\n 'PJMEDIA_ORIENT_ROTATE_180DEG',\n 'PJMEDIA_ORIENT_NATURAL'\n ]\n\n if (orientations.indexOf(orientation) === -1) {\n throw new Error(`Invalid ${JSON.stringify(orientation)} device orientation, but expected ${orientations.join(\", \")} values`)\n }\n\n NativeModules.PjSipModule.changeOrientation(orientation)\n }\n\n changeCodecSettings(codecSettings: {\n 'opus/48000/2'?: number,\n 'G722/16000/1'?: number,\n 'G7221/16000/1'?: number,\n 'G7221/32000/1'?: number,\n 'GSM/8000/1'?: number,\n 'PCMA/8000/1'?: number,\n 'PCMU/8000/1'?: number,\n 'iLBC/8000/1'?: number,\n 'speex/8000/1'?: number,\n 'speex/16000/1'?: number,\n 'speex/32000/1'?: number,\n }): Promise {\n return new Promise(function(resolve, reject) {\n NativeModules.PjSipModule.changeCodecSettings(codecSettings, (successful, data) => {\n if (successful) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n });\n }\n\n /**\n * @fires Endpoint#registration_changed\n * @private\n * @param data {Object}\n */\n _onRegistrationChanged(data: AccountConfiguration): void {\n /**\n * Fires when registration status has changed.\n *\n * @event Endpoint#registration_changed\n * @property {Account} account\n */\n this.emit(\"registration_changed\", new Account(data));\n }\n\n /**\n * @fires Endpoint#call_received\n * @private\n * @param data {Object}\n */\n _onCallReceived(data: CallData): void {\n /**\n * TODO\n *\n * @event Endpoint#call_received\n * @property {Call} call\n */\n this.emit(\"call_received\", new Call(data));\n }\n\n /**\n * @fires Endpoint#call_changed\n * @private\n * @param data {Object}\n */\n _onCallChanged(data: CallData): void {\n /**\n * TODO\n *\n * @event Endpoint#call_changed\n * @property {Call} call\n */\n this.emit(\"call_changed\", new Call(data));\n }\n\n /**\n * @fires Endpoint#call_terminated\n * @private\n * @param data {Object}\n */\n _onCallTerminated(data: CallData): void {\n /**\n * TODO\n *\n * @event Endpoint#call_terminated\n * @property {Call} call\n */\n this.emit(\"call_terminated\", new Call(data));\n }\n\n /**\n * @fires Endpoint#call_screen_locked\n * @private\n * @param lock bool\n */\n _onCallScreenLocked(lock: boolean): void {\n /**\n * TODO\n *\n * @event Endpoint#call_screen_locked\n * @property bool lock\n */\n this.emit(\"call_screen_locked\", lock);\n }\n\n /**\n * @fires Endpoint#message_received\n * @private\n * @param data {Object}\n */\n _onMessageReceived(data: MessageData): void {\n /**\n * TODO\n *\n * @event Endpoint#message_received\n * @property {Message} message\n */\n this.emit(\"message_received\", new Message(data));\n }\n\n /**\n * @fires Endpoint#connectivity_changed\n * @private\n * @param available bool\n */\n _onConnectivityChanged(available: boolean): void {\n /**\n * @event Endpoint#connectivity_changed\n * @property bool available True if connectivity matches current Network settings, otherwise false.\n */\n this.emit(\"connectivity_changed\", available);\n }\n\n /**\n * Normalize Destination URI\n *\n * @param account\n * @param destination {string}\n * @returns {string}\n * @private\n */\n _normalize(account: Account, destination: string): string {\n if (!destination.startsWith(\"sip:\")) {\n let realm = account.getRegServer();\n\n if (!realm) {\n realm = account.getDomain();\n /*let s = realm.indexOf(\":\");\n\n if (s > 0) {\n realm = realm.substr(0, s + 1);\n }*/\n }\n\n destination = \"sip:\" + destination + \"@\" + realm;\n }\n\n return destination;\n }\n // setUaConfig(UaConfig value)\n // setMaxCalls\n // setUserAgent\n // setNatTypeInSdp\n\n // setLogConfig(LogConfig value)\n // setLevel\n}\n"],"file":"Endpoint.js"} \ No newline at end of file diff --git a/dist/Message.js b/dist/Message.js index 73e55025..ef096472 100644 --- a/dist/Message.js +++ b/dist/Message.js @@ -2,86 +2,113 @@ * This class describes the information and current status of a call. */ export default class Message { - constructor({ accountId, contactUri, fromUri, toUri, body, contentType }) { - let fromNumber = null; - let fromName = null; - if (fromUri) { - let match = fromUri.match(/"([^"]+)" =0.40.0" }, @@ -56,5 +56,5 @@ "type": "git", "url": "git+https://github.com/datso/react-native-pjsip.git" }, - "version": "2.8.0" + "version": "2.8.1" } diff --git a/yarn.lock b/yarn.lock index ecefc1b2..042ab6c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,101 +2,335 @@ # yarn lockfile v1 +"@babel/cli@7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.13.0.tgz#48e77614e897615ca299bece587b68a70723ff4c" + integrity sha512-y5AohgeVhU+wO5kU1WGMLdocFj83xCxVjsVFa2ilII8NEwmBZvx7Ambq621FbFIK68loYJ9p43nfoi6es+rzSA== + dependencies: + commander "^4.0.1" + convert-source-map "^1.1.0" + fs-readdir-recursive "^1.1.0" + glob "^7.0.0" + lodash "^4.17.19" + make-dir "^2.1.0" + slash "^2.0.0" + source-map "^0.5.0" + optionalDependencies: + "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents" + chokidar "^3.4.0" + "@babel/code-frame@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz" dependencies: "@babel/highlight" "^7.0.0" -"@babel/generator@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0.tgz#1efd58bffa951dc846449e58ce3a1d7f02d393aa" - dependencies: - "@babel/types" "^7.0.0" - jsesc "^2.5.1" - lodash "^4.17.10" +"@babel/code-frame@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz" + integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== + dependencies: + "@babel/highlight" "^7.12.13" + +"@babel/compat-data@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.8.tgz#5b783b9808f15cef71547f1b691f34f8ff6003a6" + integrity sha512-EaI33z19T4qN3xLXsGf48M2cDqa6ei9tPZlfLdb2HC+e/cFtREiRd8hdSqDbwdLB0/+gLwqJmCYASH0z2bUdog== + +"@babel/core@7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.8.tgz#c191d9c5871788a591d69ea1dc03e5843a3680fb" + integrity sha512-oYapIySGw1zGhEFRd6lzWNLWFX2s5dA/jm+Pw/+59ZdXtjyIuwlXbrId22Md0rgZVop+aVoqow2riXhBLNyuQg== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.13.0" + "@babel/helper-compilation-targets" "^7.13.8" + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helpers" "^7.13.0" + "@babel/parser" "^7.13.4" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + lodash "^4.17.19" + semver "^6.3.0" source-map "^0.5.0" - trim-right "^1.0.1" -"@babel/helper-function-name@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" +"@babel/generator@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.0.tgz" + integrity sha512-zBZfgvBB/ywjx0Rgc2+BwoH/3H+lDtlgD4hBOpEv5LxRnYsm/753iRuLepqnYlynpjC3AdQxtxsoeHJoEEwOAw== dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - dependencies: - "@babel/types" "^7.0.0" + "@babel/types" "^7.13.0" + jsesc "^2.5.1" + source-map "^0.5.0" -"@babel/helper-split-export-declaration@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" - dependencies: - "@babel/types" "^7.0.0" +"@babel/helper-compilation-targets@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.8.tgz#02bdb22783439afb11b2f009814bdd88384bd468" + integrity sha512-pBljUGC1y3xKLn1nrx2eAhurLMA8OqBtBP/JwG4U8skN7kf8/aqwwxpV1N6T0e7r6+7uNitIa/fUxPFagSXp3A== + dependencies: + "@babel/compat-data" "^7.13.8" + "@babel/helper-validator-option" "^7.12.17" + browserslist "^4.14.5" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.0.tgz" + integrity sha512-twwzhthM4/+6o9766AW2ZBHpIHPSGrPGk1+WfHiu13u/lBnggXGNYCpeAyVfNwGDKfkhEDp+WOD/xafoJ2iLjA== + dependencies: + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-member-expression-to-functions" "^7.13.0" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-replace-supers" "^7.13.0" + "@babel/helper-split-export-declaration" "^7.12.13" + +"@babel/helper-function-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz" + integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== + dependencies: + "@babel/helper-get-function-arity" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/helper-get-function-arity@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz" + integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-member-expression-to-functions@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz" + integrity sha512-yvRf8Ivk62JwisqV1rFRMxiSMDGnN6KH1/mDMmIrij4jztpQNRoHqqMG3U6apYbGRPJpgPalhva9Yd06HlUxJQ== + dependencies: + "@babel/types" "^7.13.0" + +"@babel/helper-module-imports@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz#ec67e4404f41750463e455cc3203f6a32e93fcb0" + integrity sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-module-transforms@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.13.0.tgz#42eb4bd8eea68bab46751212c357bfed8b40f6f1" + integrity sha512-Ls8/VBwH577+pw7Ku1QkUWIyRRNHpYlts7+qSqBBFCW3I8QteB9DxfcZ5YJpOwH6Ihe/wn8ch7fMGOP1OhEIvw== + dependencies: + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-replace-supers" "^7.13.0" + "@babel/helper-simple-access" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/helper-validator-identifier" "^7.12.11" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + lodash "^4.17.19" + +"@babel/helper-optimise-call-expression@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz" + integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz" + integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== + +"@babel/helper-replace-supers@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz" + integrity sha512-Segd5me1+Pz+rmN/NFBOplMbZG3SqRJOBlY+mA0SxAv6rjj7zJqr1AVr3SfzUVTLCv7ZLU5FycOM/SBGuLPbZw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.13.0" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + +"@babel/helper-simple-access@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz#8478bcc5cacf6aa1672b251c1d2dde5ccd61a6c4" + integrity sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-split-export-declaration@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz" + integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-validator-identifier@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + +"@babel/helper-validator-option@^7.12.17": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" + integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw== + +"@babel/helpers@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.0.tgz#7647ae57377b4f0408bf4f8a7af01c42e41badc0" + integrity sha512-aan1MeFPxFacZeSz6Ld7YZo5aPuqnKlD7+HZY75xQsueczFccP9A7V05+oe0XpLwHK3oLorPe9eaAUljL7WEaQ== + dependencies: + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" "@babel/highlight@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz" dependencies: chalk "^2.0.0" esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.0.tgz#a7cd42cb3c12aec52e24375189a47b39759b783e" - -"@babel/template@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.1.0.tgz#58cc9572e1bfe24fe1537fdf99d839d53e517e22" +"@babel/highlight@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz" + integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/helper-validator-identifier" "^7.12.11" + chalk "^2.0.0" + js-tokens "^4.0.0" -"@babel/traverse@^7.0.0": +"@babel/parser@^7.0.0": version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.1.0.tgz#503ec6669387efd182c3888c4eec07bcc45d91b2" - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.0.0" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.0.0" - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - debug "^3.1.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.0.tgz" + +"@babel/parser@^7.12.13", "@babel/parser@^7.13.0", "@babel/parser@^7.13.4": + version "7.13.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.4.tgz" + integrity sha512-uvoOulWHhI+0+1f9L4BoozY7U5cIkZ9PgJqvb041d6vypgUmtVPG4vmGm4pSggjl8BELzvHyUeJSUyEMY6b+qA== + +"@babel/plugin-syntax-typescript@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz" + integrity sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-typescript@^7.7.4": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.13.0.tgz" + integrity sha512-elQEwluzaU8R8dbVuW2Q2Y8Nznf7hnjM7+DSCd14Lo5fF63C9qNLbwZYbmZrtV9/ySpSUpkRpQXvJb6xyu4hCQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-typescript" "^7.12.13" + +"@babel/preset-typescript@7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.7.4.tgz" + integrity sha512-rqrjxfdiHPsnuPur0jKrIIGQCIgoTWMTjlbWE69G4QJ6TIOVnnRnIJhUxNTL/VwDmEAVX08Tq3B1nirer5341w== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-transform-typescript" "^7.7.4" + +"@babel/template@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz" + integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/traverse@^7.0.0", "@babel/traverse@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.0.tgz" + integrity sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.13.0" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/parser" "^7.13.0" + "@babel/types" "^7.13.0" + debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.10" + lodash "^4.17.19" -"@babel/types@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0.tgz#6e191793d3c854d19c6749989e3bc55f0e962118" +"@babel/types@^7.0.0", "@babel/types@^7.12.13", "@babel/types@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.0.tgz" + integrity sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA== dependencies: - esutils "^2.0.2" - lodash "^4.17.10" + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" to-fast-properties "^2.0.0" +"@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents": + version "2.1.8-no-fsevents" + resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.tgz#da7c3996b8e6e19ebd14d82eaced2313e7769f9b" + integrity sha512-+nb9vWloHNNMFHjGofEam3wopE3m1yuambrrd/fnPc+lFOMB9ROTqQlche9ByFWNkdNqfSgR/kkQtQ8DzEWt2w== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + +"@types/events@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz" + integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== + +"@types/prop-types@*": + version "15.7.3" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz" + integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== + +"@types/react-native@0.63.25": + version "0.63.25" + resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.63.25.tgz" + integrity sha512-cRm+1iQecewpFYOArYJoM1qGd0JpFJ6f97KqIy9H2GawAdWkgyarSk8CBy4SMt2WOtPkysCu2EG7UwIT3vNeaA== + dependencies: + "@types/react" "*" + +"@types/react@*": + version "17.0.2" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.2.tgz" + integrity sha512-Xt40xQsrkdvjn1EyWe1Bc0dJLcil/9x2vAuW7ya+PuQip4UYUaXyhzWmAbwRsdMgwOFHpfp7/FFZebDU6Y8VHA== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + acorn-jsx@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-4.1.1.tgz#e8e41e48ea2fe0c896740610ab6a4ffd8add225e" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-4.1.1.tgz" dependencies: acorn "^5.0.3" acorn@^5.0.3, acorn@^5.6.0: version "5.7.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz" ajv-keywords@^3.0.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz" ajv@^6.0.1, ajv@^6.5.3: version "6.5.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.4.tgz#247d5274110db653706b550fcc2b797ca28cfc59" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.4.tgz" dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" @@ -105,71 +339,122 @@ ajv@^6.0.1, ajv@^6.5.3: ansi-escapes@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz" ansi-regex@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz" ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz" dependencies: color-convert "^1.9.0" +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + argparse@^1.0.7: version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz" dependencies: sprintf-js "~1.0.2" aria-query@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz" dependencies: ast-types-flow "0.0.7" commander "^2.11.0" +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + array-includes@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz" dependencies: define-properties "^1.1.2" es-abstract "^1.7.0" array-union@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz" dependencies: array-uniq "^1.0.1" array-uniq@^1.0.1: version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz" + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= arrify@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= ast-types-flow@0.0.7, ast-types-flow@^0.0.7: version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz" + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== async@^2.6.1: version "2.6.1" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz" dependencies: lodash "^4.17.10" +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + axobject-query@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.1.tgz#05dfa705ada8ad9db993fa6896f22d395b0b0a07" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.1.tgz" dependencies: ast-types-flow "0.0.7" babel-eslint@^10.0.0: version "10.0.0" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.0.tgz#0bb43e6b11a119bf3defbb1ee2521f42e2d413c9" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.0.tgz" dependencies: "@babel/code-frame" "^7.0.0" "@babel/parser" "^7.0.0" @@ -180,46 +465,124 @@ babel-eslint@^10.0.0: babylon@7.0.0-beta.19: version "7.0.0-beta.19" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.19.tgz#e928c7e807e970e0536b078ab3e0c48f9e052503" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.19.tgz" balanced-match@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz" + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== bluebird@~3.5.0: version "3.5.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.2.tgz#1be0908e054a751754549c270489c1505d4ab15a" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.2.tgz" brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz" dependencies: balanced-match "^1.0.0" concat-map "0.0.1" +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.14.5: + version "4.16.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" + integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw== + dependencies: + caniuse-lite "^1.0.30001181" + colorette "^1.2.1" + electron-to-chromium "^1.3.649" + escalade "^3.1.1" + node-releases "^1.1.70" + builtin-modules@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" caller-path@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz" dependencies: callsites "^0.2.0" callsites@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz" + +caniuse-lite@^1.0.30001181: + version "1.0.30001192" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001192.tgz#b848ebc0ab230cf313d194a4775a30155d50ae40" + integrity sha512-63OrUnwJj5T1rUmoyqYTdRWBqFFxZFlyZnRRjDR8NSUQFB6A+j/uBORU/SyJ5WzDLg4SPiZH40hQCBNdZ/jmAw== catharsis@~0.8.9: version "0.8.9" - resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.9.tgz#98cc890ca652dd2ef0e70b37925310ff9e90fc8b" + resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.9.tgz" dependencies: underscore-contrib "~0.3.0" chalk@^2.0.0, chalk@^2.1.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" @@ -227,47 +590,113 @@ chalk@^2.0.0, chalk@^2.1.0: chardet@^0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz" + +chokidar@^3.4.0: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.3.1" circular-json@^0.3.1: version "0.3.3" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" cli-cursor@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz" dependencies: restore-cursor "^2.0.0" cli-width@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz" dependencies: color-name "1.1.3" color-name@1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz" + +colorette@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" + integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== commander@^2.11.0, commander@^2.18.0: - version "2.18.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.18.0.tgz#2bf063ddee7c7891176981a2cc798e5754bc6970" + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== concat-map@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz" contains-path@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz" + +convert-source-map@^1.1.0, convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= cross-spawn@^6.0.5: version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz" dependencies: nice-try "^1.0.4" path-key "^2.0.1" @@ -275,35 +704,74 @@ cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" +csstype@^3.0.2: + version "3.0.7" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.7.tgz" + integrity sha512-KxnUB0ZMlnUWCsx2Z8MUsr6qV6ja1w9ArPErJaJaF8a5SOWoHLIszeCTKGRGRgtLgYrs1E8CHkNSP1VZTTPc9g== + damerau-levenshtein@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz" -debug@^2.6.8, debug@^2.6.9: +debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz" dependencies: ms "2.0.0" debug@^3.1.0: version "3.2.5" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.5.tgz#c2418fbfd7a29f4d4f70ff4cea604d4b64c46407" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.5.tgz" dependencies: ms "^2.1.1" +debug@^4.1.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + deep-is@~0.1.3: version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz" define-properties@^1.1.2: version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz" dependencies: object-keys "^1.0.12" +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + del@^2.0.2: version "2.2.2" - resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz" dependencies: globby "^5.0.0" is-path-cwd "^1.0.0" @@ -315,34 +783,39 @@ del@^2.0.2: doctrine@1.5.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz" dependencies: esutils "^2.0.2" isarray "^1.0.0" doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz" dependencies: esutils "^2.0.2" +electron-to-chromium@^1.3.649: + version "1.3.675" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.675.tgz#7ad29f98d7b48da581554eb28bb9a71fd5fd4956" + integrity sha512-GEQw+6dNWjueXGkGfjgm7dAMtXfEqrfDG3uWcZdeaD4cZ3dKYdPRQVruVXQRXtPLtOr5GNVVlNLRMChOZ611pQ== + email-addresses@^3.0.1: version "3.0.2" - resolved "https://registry.yarnpkg.com/email-addresses/-/email-addresses-3.0.2.tgz#a31280d19baf86669840a0aa45be1d7f6e7df315" + resolved "https://registry.yarnpkg.com/email-addresses/-/email-addresses-3.0.2.tgz" emoji-regex@^6.5.1: version "6.5.1" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz" error-ex@^1.2.0: version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz" dependencies: is-arrayish "^0.2.1" es-abstract@^1.6.1, es-abstract@^1.7.0: version "1.12.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz" dependencies: es-to-primitive "^1.1.1" function-bind "^1.1.1" @@ -352,19 +825,24 @@ es-abstract@^1.6.1, es-abstract@^1.7.0: es-to-primitive@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz" dependencies: is-callable "^1.1.1" is-date-object "^1.0.1" is-symbol "^1.0.1" +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5, escape-string-regexp@~1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" eslint-config-airbnb-base@^13.1.0: version "13.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.1.0.tgz#b5a1b480b80dfad16433d6c4ad84e6605052c05c" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.1.0.tgz" dependencies: eslint-restricted-globals "^0.1.1" object.assign "^4.1.0" @@ -372,7 +850,7 @@ eslint-config-airbnb-base@^13.1.0: eslint-config-airbnb@^17.1.0: version "17.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-17.1.0.tgz#3964ed4bc198240315ff52030bf8636f42bc4732" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-17.1.0.tgz" dependencies: eslint-config-airbnb-base "^13.1.0" object.assign "^4.1.0" @@ -380,21 +858,21 @@ eslint-config-airbnb@^17.1.0: eslint-import-resolver-node@^0.3.1: version "0.3.2" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz" dependencies: debug "^2.6.9" resolve "^1.5.0" eslint-module-utils@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz#b270362cd88b1a48ad308976ce7fa54e98411746" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz" dependencies: debug "^2.6.8" pkg-dir "^1.0.0" eslint-plugin-import@^2.14.0: version "2.14.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz#6b17626d2e3e6ad52cfce8807a845d15e22111a8" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz" dependencies: contains-path "^0.1.0" debug "^2.6.8" @@ -409,7 +887,7 @@ eslint-plugin-import@^2.14.0: eslint-plugin-jsx-a11y@^6.1.1: version "6.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.1.tgz#7bf56dbe7d47d811d14dbb3ddff644aa656ce8e1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.1.tgz" dependencies: aria-query "^3.0.0" array-includes "^3.0.3" @@ -422,17 +900,17 @@ eslint-plugin-jsx-a11y@^6.1.1: eslint-plugin-react-native-globals@^0.1.1: version "0.1.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz#ee1348bc2ceb912303ce6bdbd22e2f045ea86ea2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz" eslint-plugin-react-native@^3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-native/-/eslint-plugin-react-native-3.3.0.tgz#77135f1b9d69058c5612777aac90d9cd6d35af33" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-native/-/eslint-plugin-react-native-3.3.0.tgz" dependencies: eslint-plugin-react-native-globals "^0.1.1" eslint-plugin-react@^7.11.1: version "7.11.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz#c01a7af6f17519457d6116aa94fc6d2ccad5443c" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz" dependencies: array-includes "^3.0.3" doctrine "^2.1.0" @@ -442,33 +920,33 @@ eslint-plugin-react@^7.11.1: eslint-restricted-globals@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" + resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz" eslint-scope@3.7.1: version "3.7.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz" dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" eslint-scope@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz" dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" eslint-utils@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz" eslint-visitor-keys@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz" eslint@^5.6.0: version "5.6.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.6.0.tgz#b6f7806041af01f71b3f1895cbb20971ea4b6223" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.6.0.tgz" dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.5.3" @@ -511,136 +989,227 @@ eslint@^5.6.0: espree@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-4.0.0.tgz#253998f20a0f82db5d866385799d912a83a36634" + resolved "https://registry.yarnpkg.com/espree/-/espree-4.0.0.tgz" dependencies: acorn "^5.6.0" acorn-jsx "^4.1.1" esprima@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz" esquery@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz" dependencies: estraverse "^4.0.0" esrecurse@^4.1.0: version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz" dependencies: estraverse "^4.1.0" estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz" esutils@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz" events@1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.0.tgz#4b389fc200f910742ebff3abb2efe33690f45429" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.0.tgz" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" external-editor@^3.0.0: version "3.0.3" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz" dependencies: chardet "^0.7.0" iconv-lite "^0.4.24" tmp "^0.0.33" +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + fast-deep-equal@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz" fast-json-stable-stringify@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz" fast-levenshtein@~2.0.4: version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" figures@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz" dependencies: escape-string-regexp "^1.0.5" file-entry-cache@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz" dependencies: flat-cache "^1.2.1" object-assign "^4.0.1" filename-reserved-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz#e61cf805f0de1c984567d0386dc5df50ee5af7e4" + resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz" filenamify-url@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/filenamify-url/-/filenamify-url-1.0.0.tgz#b32bd81319ef5863b73078bed50f46a4f7975f50" + resolved "https://registry.yarnpkg.com/filenamify-url/-/filenamify-url-1.0.0.tgz" dependencies: filenamify "^1.0.0" humanize-url "^1.0.0" filenamify@^1.0.0: version "1.2.1" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-1.2.1.tgz#a9f2ffd11c503bed300015029272378f1f1365a5" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-1.2.1.tgz" dependencies: filename-reserved-regex "^1.0.0" strip-outer "^1.0.0" trim-repeated "^1.0.0" +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + find-up@^1.0.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz" dependencies: path-exists "^2.0.0" pinkie-promise "^2.0.0" find-up@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz" dependencies: locate-path "^2.0.0" flat-cache@^1.2.1: version "1.3.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz" dependencies: circular-json "^0.3.1" del "^2.0.2" graceful-fs "^4.1.2" write "^0.2.1" +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + fs-extra@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.0.tgz#8cc3f47ce07ef7b3593a11b9fb245f7e34c041d6" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.0.tgz" dependencies: graceful-fs "^4.1.2" jsonfile "^4.0.0" universalify "^0.1.0" +fs-readdir-recursive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" + integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== + fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz" + +fsevents@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== function-bind@^1.1.0, function-bind@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz" functional-red-black-tree@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= gh-pages@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-2.0.0.tgz#6615f6cb2abc0bcf22668e15b13afc5e304b9d93" + resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-2.0.0.tgz" dependencies: async "^2.6.1" commander "^2.18.0" @@ -651,9 +1220,36 @@ gh-pages@^2.0.0: graceful-fs "^4.1.11" rimraf "^2.6.2" +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + dependencies: + is-glob "^4.0.1" + +glob@^7.0.0: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: version "7.1.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz" dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -664,11 +1260,11 @@ glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: globals@^11.1.0, globals@^11.7.0: version "11.7.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz" globby@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz" dependencies: array-union "^1.0.1" arrify "^1.0.0" @@ -679,7 +1275,7 @@ globby@^5.0.0: globby@^6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz" dependencies: array-union "^1.0.1" glob "^7.0.3" @@ -688,62 +1284,95 @@ globby@^6.1.0: pinkie-promise "^2.0.0" graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + version "4.2.6" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz" has-symbols@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" has@^1.0.1, has@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz" dependencies: function-bind "^1.1.1" hosted-git-info@^2.1.4: version "2.7.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz" humanize-url@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/humanize-url/-/humanize-url-1.0.1.tgz#f4ab99e0d288174ca4e1e50407c55fbae464efff" + resolved "https://registry.yarnpkg.com/humanize-url/-/humanize-url-1.0.1.tgz" dependencies: normalize-url "^1.0.0" strip-url-auth "^1.0.0" iconv-lite@^0.4.24: version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz" dependencies: safer-buffer ">= 2.1.2 < 3" ignore@^4.0.6: version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz" imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz" inflight@^1.0.4: version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz" dependencies: once "^1.3.0" wrappy "1" -inherits@2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" +inherits@2, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inquirer@^6.1.0: version "6.2.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz" dependencies: ansi-escapes "^3.0.0" chalk "^2.0.0" @@ -759,96 +1388,236 @@ inquirer@^6.1.0: strip-ansi "^4.0.0" through "^2.3.6" +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-builtin-module@^1.0.0: version "1.0.0" - resolved "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + resolved "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz" dependencies: builtin-modules "^1.0.0" is-callable@^1.1.1, is-callable@^1.1.3: version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz" + +is-core-module@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" is-date-object@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= is-fullwidth-code-point@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-path-cwd@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz" is-path-in-cwd@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz" dependencies: is-path-inside "^1.0.0" is-path-inside@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz" dependencies: path-is-inside "^1.0.1" is-plain-obj@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz" + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" is-promise@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz" is-regex@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz" dependencies: has "^1.0.1" is-resolvable@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz" is-symbol@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz" dependencies: has-symbols "^1.0.0" -isarray@^1.0.0: +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz" isexe@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz" js-yaml@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" js2xmlparser@~3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-3.0.0.tgz#3fb60eaa089c5440f9319f51760ccd07e2499733" + resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-3.0.0.tgz" dependencies: xmlcreate "^1.0.1" jsdoc@^3.5.5: version "3.5.5" - resolved "https://registry.yarnpkg.com/jsdoc/-/jsdoc-3.5.5.tgz#484521b126e81904d632ff83ec9aaa096708fa4d" + resolved "https://registry.yarnpkg.com/jsdoc/-/jsdoc-3.5.5.tgz" dependencies: babylon "7.0.0-beta.19" bluebird "~3.5.0" @@ -865,44 +1634,75 @@ jsdoc@^3.5.5: jsesc@^2.5.1: version "2.5.1" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz" json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + +json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" jsonfile@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz" optionalDependencies: graceful-fs "^4.1.6" jsx-ast-utils@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz" dependencies: array-includes "^3.0.3" +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + klaw@~2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-2.0.0.tgz#59c128e0dc5ce410201151194eeb9cbf858650f6" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-2.0.0.tgz" dependencies: graceful-fs "^4.1.9" levn@^0.3.0, levn@~0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz" dependencies: prelude-ls "~1.1.2" type-check "~0.3.2" load-json-file@^2.0.0: version "2.0.0" - resolved "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + resolved "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz" dependencies: graceful-fs "^4.1.2" parse-json "^2.2.0" @@ -911,81 +1711,173 @@ load-json-file@^2.0.0: locate-path@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz" dependencies: p-locate "^2.0.0" path-exists "^3.0.0" -lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" +lodash@^4.17.10, lodash@^4.17.19, lodash@^4.17.4, lodash@^4.17.5: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -loose-envify@^1.3.1: +loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz" dependencies: js-tokens "^3.0.0 || ^4.0.0" +make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + marked@~0.3.6: version "0.3.19" - resolved "http://registry.npmjs.org/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790" + resolved "http://registry.npmjs.org/marked/-/marked-0.3.19.tgz" + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" mimic-fn@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz" minami@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/minami/-/minami-1.2.3.tgz#99b6dcdfb2f0a54da1c9c8f7aa3a327787aaf9f8" + resolved "https://registry.yarnpkg.com/minami/-/minami-1.2.3.tgz" minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz" dependencies: brace-expansion "^1.1.7" minimist@0.0.8: version "0.0.8" - resolved "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + resolved "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.1" - resolved "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + resolved "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" dependencies: minimist "0.0.8" ms@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== ms@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz" mute-stream@0.0.7: version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz" + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz" nice-try@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz" + +node-releases@^1.1.70: + version "1.1.71" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" + integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== normalize-package-data@^2.3.2: version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz" dependencies: hosted-git-info "^2.1.4" is-builtin-module "^1.0.0" semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + normalize-url@^1.0.0: version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz" dependencies: object-assign "^4.0.1" prepend-http "^1.0.0" @@ -994,15 +1886,31 @@ normalize-url@^1.0.0: object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz" + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" object-keys@^1.0.11, object-keys@^1.0.12: version "1.0.12" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" object.assign@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz" dependencies: define-properties "^1.1.2" function-bind "^1.1.1" @@ -1011,28 +1919,35 @@ object.assign@^4.1.0: object.entries@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz" dependencies: define-properties "^1.1.2" es-abstract "^1.6.1" function-bind "^1.1.0" has "^1.0.1" +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + once@^1.3.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz" dependencies: wrappy "1" onetime@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz" dependencies: mimic-fn "^1.0.0" optionator@^0.8.2: version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz" dependencies: deep-is "~0.1.3" fast-levenshtein "~2.0.4" @@ -1043,291 +1958,495 @@ optionator@^0.8.2: os-tmpdir@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz" p-limit@^1.1.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz" dependencies: p-try "^1.0.0" p-locate@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz" dependencies: p-limit "^1.1.0" p-try@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz" parse-json@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz" dependencies: error-ex "^1.2.0" +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + path-exists@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz" dependencies: pinkie-promise "^2.0.0" path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz" path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz" path-key@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz" -path-parse@^1.0.5: +path-parse@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== path-type@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz" dependencies: pify "^2.0.0" +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + pify@^2.0.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz" + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== pinkie-promise@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz" dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz" pkg-dir@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz" dependencies: find-up "^1.0.0" pluralize@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= prelude-ls@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz" prepend-http@^1.0.0: version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== progress@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz" prop-types@^15.6.2: - version "15.6.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102" + version "15.7.2" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz" + integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== dependencies: - loose-envify "^1.3.1" + loose-envify "^1.4.0" object-assign "^4.1.1" + react-is "^16.8.1" punycode@^2.1.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz" query-string@^4.1.0: version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz" dependencies: object-assign "^4.1.0" strict-uri-encode "^1.0.0" +react-is@^16.8.1: + version "16.13.1" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + read-pkg-up@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz" dependencies: find-up "^2.0.0" read-pkg "^2.0.0" read-pkg@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz" dependencies: load-json-file "^2.0.0" normalize-package-data "^2.3.2" path-type "^2.0.0" +readable-stream@^2.0.2: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + regexpp@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.0.tgz#b2a7534a85ca1b033bcf5ce9ff8e56d4e0755365" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.0.tgz" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= require-uncached@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz" dependencies: caller-path "^0.1.0" resolve-from "^1.0.0" requizzle@~0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.1.tgz#6943c3530c4d9a7e46f1cddd51c158fc670cdbde" + resolved "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.1.tgz" dependencies: underscore "~1.6.0" resolve-from@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= resolve@^1.5.0, resolve@^1.6.0: - version "1.8.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" + version "1.20.0" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== dependencies: - path-parse "^1.0.5" + is-core-module "^2.2.0" + path-parse "^1.0.6" restore-cursor@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz" dependencies: onetime "^2.0.0" signal-exit "^3.0.2" +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + rimraf@^2.2.8, rimraf@^2.6.2: version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz" dependencies: glob "^7.0.5" run-async@^2.2.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz" dependencies: is-promise "^2.1.0" rxjs@^6.1.0: version "6.3.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz#3c6a7fa420e844a81390fb1158a9ec614f4bad55" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz" dependencies: tslib "^1.9.0" +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + "safer-buffer@>= 2.1.2 < 3": version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz" + +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.5.1: - version "5.5.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477" +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" shebang-command@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz" dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz" signal-exit@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz" + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== slice-ansi@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz" dependencies: is-fullwidth-code-point "^2.0.0" +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + sort-keys@^1.0.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz" dependencies: is-plain-obj "^1.0.0" -source-map@^0.5.0: +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz" spdx-correct@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz" dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz" spdx-expression-parse@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz" dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz#e2a303236cac54b04031fa7a5a79c7e701df852f" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" strict-uri-encode@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz" string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz" dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + strip-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz" dependencies: ansi-regex "^3.0.0" strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz" strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz" strip-outer@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" + resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz" dependencies: escape-string-regexp "^1.0.2" strip-url-auth@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-url-auth/-/strip-url-auth-1.0.1.tgz#22b0fa3a41385b33be3f331551bbb837fa0cd7ae" + resolved "https://registry.yarnpkg.com/strip-url-auth/-/strip-url-auth-1.0.1.tgz" supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz" dependencies: has-flag "^3.0.0" table@^4.0.3: version "4.0.3" - resolved "http://registry.npmjs.org/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc" + resolved "http://registry.npmjs.org/table/-/table-4.0.3.tgz" dependencies: ajv "^6.0.1" ajv-keywords "^3.0.0" @@ -1338,97 +2457,168 @@ table@^4.0.3: taffydb@2.6.2: version "2.6.2" - resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268" + resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz" text-table@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz" through@^2.3.6: version "2.3.8" - resolved "http://registry.npmjs.org/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + resolved "http://registry.npmjs.org/through/-/through-2.3.8.tgz" tmp@^0.0.33: version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz" dependencies: os-tmpdir "~1.0.2" to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" trim-repeated@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" + resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz" dependencies: escape-string-regexp "^1.0.2" -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - tslib@^1.9.0: version "1.9.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz" type-check@~0.3.2: version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz" dependencies: prelude-ls "~1.1.2" +typescript@4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz" + integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg== + underscore-contrib@~0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/underscore-contrib/-/underscore-contrib-0.3.0.tgz#665b66c24783f8fa2b18c9f8cbb0e2c7d48c26c7" + resolved "https://registry.yarnpkg.com/underscore-contrib/-/underscore-contrib-0.3.0.tgz" dependencies: underscore "1.6.0" underscore@1.6.0, underscore@~1.6.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz" underscore@~1.8.3: version "1.8.3" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" universalify@^0.1.0: version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== uri-js@^4.2.2: version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz" dependencies: punycode "^2.1.0" +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + validate-npm-package-license@^3.0.1: version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" dependencies: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" which@^1.2.9: version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz" dependencies: isexe "^2.0.0" wordwrap@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz" wrappy@1: version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz" write@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz" dependencies: mkdirp "^0.5.1" xmlcreate@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/xmlcreate/-/xmlcreate-1.0.2.tgz#fa6bf762a60a413fb3dd8f4b03c5b269238d308f" + resolved "https://registry.yarnpkg.com/xmlcreate/-/xmlcreate-1.0.2.tgz"