@twilio/conversations 2.5.0-rc.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/util/index.ts"],"sourcesContent":["import { Logger } from \"../logger\";\nimport { JSONValue } from \"../types\";\n\n/**\n * Deep-clone an object. Note that this does not work on object containing\n * functions.\n * @param {object} obj - the object to deep-clone\n * @returns {object}\n */\nfunction deepClone<T>(obj: T): T {\n return JSON.parse(JSON.stringify(obj)) as T;\n}\n\nfunction parseToNumber(value) {\n if (typeof value !== \"undefined\" && !isNaN(Number(value))) {\n return Number(value);\n }\n return null;\n}\n\n// timeString cannot be typed `string` because in member.ts\n// call to parseTime(data.lastReadTimestamp) uses number not a string for timestamp.\nfunction parseTime(timeString): Date | null {\n try {\n return new Date(timeString);\n } catch (e) {\n return null;\n }\n}\n\nfunction parseAttributes(\n rawAttributes,\n warningMessage: string,\n log: Logger\n): JSONValue {\n let attributes = {};\n if (rawAttributes) {\n try {\n attributes = JSON.parse(rawAttributes);\n } catch (e) {\n log.warn(warningMessage, e);\n }\n }\n\n return attributes;\n}\n\n/**\n * Construct URI with query parameters\n */\nclass UriBuilder {\n private base: string;\n private args: string[];\n private paths: string[];\n\n constructor(base: string) {\n this.base = base.replace(/\\/$/, \"\");\n this.args = [];\n this.paths = [];\n }\n\n public arg(name: string, value: string | number | boolean): UriBuilder {\n if (typeof value !== \"undefined\") {\n this.args.push(\n encodeURIComponent(name) + \"=\" + encodeURIComponent(value)\n );\n }\n return this;\n }\n\n public path(name: string): UriBuilder {\n this.paths.push(encodeURIComponent(name));\n return this;\n }\n\n public build(): string {\n let result = this.base;\n if (this.paths.length) {\n result += \"/\" + this.paths.join(\"/\");\n }\n\n if (this.args.length) {\n result += \"?\" + this.args.join(\"&\");\n }\n return result;\n }\n}\n\nexport { deepClone, UriBuilder, parseToNumber, parseTime, parseAttributes };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;;;;AAKG;AACH,SAAS,SAAS,CAAI,GAAM,EAAA;IAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAM,CAAC;AAC9C,CAAC;AAED,SAAS,aAAa,CAAC,KAAK,EAAA;AAC1B,IAAA,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;AACzD,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AACd,CAAC;AAED;AACA;AACA,SAAS,SAAS,CAAC,UAAU,EAAA;IAC3B,IAAI;AACF,QAAA,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;AAC7B,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACH,CAAC;AAED,SAAS,eAAe,CACtB,aAAa,EACb,cAAsB,EACtB,GAAW,EAAA;IAEX,IAAI,UAAU,GAAG,EAAE,CAAC;AACpB,IAAA,IAAI,aAAa,EAAE;QACjB,IAAI;AACF,YAAA,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AACxC,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AACV,YAAA,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;AAC7B,SAAA;AACF,KAAA;AAED,IAAA,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;AAEG;AACH,MAAM,UAAU,CAAA;AAKd,IAAA,WAAA,CAAY,IAAY,EAAA;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;IAEM,GAAG,CAAC,IAAY,EAAE,KAAgC,EAAA;AACvD,QAAA,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;AAChC,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CACZ,kBAAkB,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAC3D,CAAC;AACH,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAEM,IAAA,IAAI,CAAC,IAAY,EAAA;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,KAAK,GAAA;AACV,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;AACvB,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACrB,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtC,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACpB,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrC,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACf;AACF;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/util/index.ts"],"sourcesContent":["import { Logger } from \"../logger\";\nimport { JSONValue } from \"../types\";\n\n/**\n * Deep-clone an object. Note that this does not work on object containing\n * functions.\n * @param {object} obj - the object to deep-clone\n * @returns {object}\n */\nfunction deepClone<T>(obj: T): T {\n return JSON.parse(JSON.stringify(obj)) as T;\n}\n\nfunction parseToNumber(value) {\n if (typeof value !== \"undefined\" && !isNaN(Number(value))) {\n return Number(value);\n }\n return null;\n}\n\n// timeString cannot be typed `string` because in member.ts\n// call to parseTime(data.lastReadTimestamp) uses number not a string for timestamp.\nfunction parseTime(timeString): Date | null {\n try {\n return new Date(timeString);\n } catch (e) {\n return null;\n }\n}\n\nfunction parseAttributes(\n rawAttributes,\n warningMessage: string,\n log: Logger\n): JSONValue {\n let attributes = {};\n if (rawAttributes) {\n try {\n attributes = JSON.parse(rawAttributes);\n } catch (e) {\n log.warn(warningMessage, e);\n }\n }\n\n return attributes;\n}\n\n/**\n * Construct URI with query parameters\n */\nclass UriBuilder {\n private base: string;\n private args: string[];\n private paths: string[];\n\n constructor(base: string) {\n this.base = base.replace(/\\/$/, \"\");\n this.args = [];\n this.paths = [];\n }\n\n public arg(\n name: string,\n value: string | number | boolean | undefined\n ): UriBuilder {\n if (typeof value !== \"undefined\") {\n this.args.push(\n encodeURIComponent(name) + \"=\" + encodeURIComponent(value)\n );\n }\n return this;\n }\n\n public path(name: string): UriBuilder {\n this.paths.push(encodeURIComponent(name));\n return this;\n }\n\n public build(): string {\n let result = this.base;\n if (this.paths.length) {\n result += \"/\" + this.paths.join(\"/\");\n }\n\n if (this.args.length) {\n result += \"?\" + this.args.join(\"&\");\n }\n return result;\n }\n}\n\nexport { deepClone, UriBuilder, parseToNumber, parseTime, parseAttributes };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;;;;AAKG;AACH,SAAS,SAAS,CAAI,GAAM,EAAA;IAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAM,CAAC;AAC9C,CAAC;AAED,SAAS,aAAa,CAAC,KAAK,EAAA;AAC1B,IAAA,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;AACzD,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AACd,CAAC;AAED;AACA;AACA,SAAS,SAAS,CAAC,UAAU,EAAA;IAC3B,IAAI;AACF,QAAA,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;AAC7B,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACH,CAAC;AAED,SAAS,eAAe,CACtB,aAAa,EACb,cAAsB,EACtB,GAAW,EAAA;IAEX,IAAI,UAAU,GAAG,EAAE,CAAC;AACpB,IAAA,IAAI,aAAa,EAAE;QACjB,IAAI;AACF,YAAA,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AACxC,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AACV,YAAA,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;AAC7B,SAAA;AACF,KAAA;AAED,IAAA,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;AAEG;AACH,MAAM,UAAU,CAAA;AAKd,IAAA,WAAA,CAAY,IAAY,EAAA;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;IAEM,GAAG,CACR,IAAY,EACZ,KAA4C,EAAA;AAE5C,QAAA,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;AAChC,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CACZ,kBAAkB,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAC3D,CAAC;AACH,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAEM,IAAA,IAAI,CAAC,IAAY,EAAA;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,KAAK,GAAA;AACV,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;AACvB,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACrB,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtC,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACpB,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrC,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACf;AACF;;;;;;;;"}
@@ -2966,7 +2966,7 @@ img {
2966
2966
  </aside>
2967
2967
  <div class="tsd-comment tsd-typography">
2968
2968
  <div class="lead">
2969
- <p>Returned Conversations instance is not yet fully initialized. Calling any
2969
+ <p>Returned Conversations Client instance is not yet fully initialized. Calling any
2970
2970
  operations will block until it is. Use connection events to monitor when
2971
2971
  client becomes fully available (connectionStateChanged with state
2972
2972
  &#39;connected&#39;) or not available (connectionStateChange with state &#39;denied&#39;,
@@ -3422,7 +3422,7 @@ img {
3422
3422
  </aside>
3423
3423
  <div class="tsd-comment tsd-typography">
3424
3424
  <div class="lead">
3425
- <p>Current version of the Conversations client.</p>
3425
+ <p>Parse a push notification payload.</p>
3426
3426
  </div>
3427
3427
  </div>
3428
3428
  <div class="tsd-type-declaration">
@@ -3548,7 +3548,7 @@ img {
3548
3548
  <a name="getMessageRecipients" class="tsd-anchor"></a>
3549
3549
  <h3>get<wbr>Message<wbr>Recipients</h3>
3550
3550
  <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
3551
- <li class="tsd-signature tsd-kind-icon">get<wbr>Message<wbr>Recipients<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/Paginator.html" class="tsd-signature-type" data-tsd-kind="Interface">Paginator</a><span class="tsd-signature-symbol">&lt;</span><a href="../modules.html#RecipientDescriptor" class="tsd-signature-type" data-tsd-kind="Type alias">RecipientDescriptor</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li>
3551
+ <li class="tsd-signature tsd-kind-icon">get<wbr>Message<wbr>Recipients<span class="tsd-signature-symbol">(</span>options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">PaginatorOptions</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/Paginator.html" class="tsd-signature-type" data-tsd-kind="Interface">Paginator</a><span class="tsd-signature-symbol">&lt;</span><a href="../modules.html#RecipientDescriptor" class="tsd-signature-type" data-tsd-kind="Type alias">RecipientDescriptor</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li>
3552
3552
  </ul>
3553
3553
  <ul class="tsd-descriptions">
3554
3554
  <li class="tsd-description">
@@ -3559,6 +3559,15 @@ img {
3559
3559
  <p>Get recipients of all messages in the conversation.</p>
3560
3560
  </div>
3561
3561
  </div>
3562
+ <h4 class="tsd-parameters-title">Parameters</h4>
3563
+ <ul class="tsd-parameters">
3564
+ <li>
3565
+ <h5><span class="tsd-flag ts-flagOptional">Optional</span> options: <span class="tsd-signature-type">PaginatorOptions</span></h5>
3566
+ <div class="tsd-comment tsd-typography">
3567
+ <p>Optional configuration, set pageSize to request a specific pagination page size. Page size specifies a number of messages to include in a single batch. Each message may include multiple recipients.</p>
3568
+ </div>
3569
+ </li>
3570
+ </ul>
3562
3571
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/Paginator.html" class="tsd-signature-type" data-tsd-kind="Interface">Paginator</a><span class="tsd-signature-symbol">&lt;</span><a href="../modules.html#RecipientDescriptor" class="tsd-signature-type" data-tsd-kind="Type alias">RecipientDescriptor</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4>
3563
3572
  </li>
3564
3573
  </ul>
package/docs/index.html CHANGED
@@ -2980,7 +2980,7 @@ img {
2980
2980
  </code></pre>
2981
2981
  <p>Find the hash of each release published on the <a href="#changelog">Changelog</a> page.</p>
2982
2982
  <a href="#changelog" id="changelog" style="color: inherit; text-decoration: none;">
2983
- <h2>Supported Browsers</h2><table><thead><tr><th>Browser</th><th>Supported Versions</th></tr></thead><tbody><tr><td>Chrome for Android</td><td>115</td></tr><tr><td>Firefox for Android</td><td>115</td></tr><tr><td>UC Browser for Android</td><td>15.5</td></tr><tr><td>Chrome</td><td>116, 115, 114</td></tr><tr><td>Edge</td><td>115, 114, 113</td></tr><tr><td>Firefox</td><td>116, 115, 114</td></tr><tr><td>Internet Explorer</td><td>11</td></tr><tr><td>Safari for iOS</td><td>16.5, 16.4</td></tr><tr><td>Safari</td><td>16.5, 16.4, 16.3</td></tr><tr><td>Samsung Internet</td><td>21, 20</td></tr></tbody></table><h3>Changelog</h3>
2983
+ <h2>Supported Browsers</h2><table><thead><tr><th>Browser</th><th>Supported Versions</th></tr></thead><tbody><tr><td>Chrome for Android</td><td>118</td></tr><tr><td>Firefox for Android</td><td>118</td></tr><tr><td>UC Browser for Android</td><td>15.5</td></tr><tr><td>Chrome</td><td>118, 117, 116</td></tr><tr><td>Edge</td><td>118, 117, 116</td></tr><tr><td>Firefox</td><td>118, 117, 116</td></tr><tr><td>Internet Explorer</td><td>11</td></tr><tr><td>Safari for iOS</td><td>17.0, 16.6</td></tr><tr><td>Safari</td><td>17.0, 16.6, 16.5</td></tr><tr><td>Samsung Internet</td><td>22, 21</td></tr></tbody></table><h3>Changelog</h3>
2984
2984
  </a>
2985
2985
  <p>See this <a href="https://www.twilio.com/docs/conversations/javascript/changelog">link</a>.</p>
2986
2986
  </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twilio/conversations",
3
- "version": "2.5.0-rc.0",
3
+ "version": "2.5.0",
4
4
  "description": "Twilio Conversations client library",
5
5
  "main": "./builds/lib.js",
6
6
  "browser": "./builds/browser.js",
@@ -36,12 +36,12 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "@babel/runtime": "^7.17.0",
39
- "@twilio/declarative-type-validator": "^0.2.7-rc.0",
40
- "@twilio/deprecation-decorator": "^0.2.5-rc.0",
41
- "@twilio/mcs-client": "^0.6.7-rc.0",
42
- "@twilio/notifications": "^2.0.6-rc.0",
43
- "@twilio/operation-retrier": "^4.0.15-rc.0",
44
- "@twilio/replay-event-emitter": "^0.3.7-rc.0",
39
+ "@twilio/declarative-type-validator": "^0.2.7",
40
+ "@twilio/deprecation-decorator": "^0.2.5",
41
+ "@twilio/mcs-client": "^0.6.7",
42
+ "@twilio/notifications": "^2.0.6",
43
+ "@twilio/operation-retrier": "^4.0.15",
44
+ "@twilio/replay-event-emitter": "^0.3.7",
45
45
  "core-js": "^3.17.3",
46
46
  "iso8601-duration": "=1.2.0",
47
47
  "isomorphic-form-data": "^2.0.0",
@@ -89,6 +89,7 @@
89
89
  "eslint-plugin-prettier": "4.0.0",
90
90
  "fancy-log": "^1.3.3",
91
91
  "fs": "0.0.2",
92
+ "isomorphic-fetch": "^3.0.0",
92
93
  "mocha": "^6.2.2",
93
94
  "mocha.parallel": "^0.15.6",
94
95
  "node-fetch": "^2.6.1",
@@ -104,7 +105,7 @@
104
105
  "sinon-chai": "^3.3.0",
105
106
  "ts-node": "^8.5.2",
106
107
  "tslib": "^2.4.0",
107
- "twilio": "^3.37.1",
108
+ "twilio": "^4.17.0",
108
109
  "typedoc": "^0.21.4",
109
110
  "typescript": "^4.3.2",
110
111
  "typescript-strict-plugin": "1.1.2"