From 36bf93cd2cd5573fcc39d3d2cd53fbcf4305fa7f Mon Sep 17 00:00:00 2001 From: Philippe Kalitine Date: Tue, 24 Jul 2018 17:14:36 +0200 Subject: [PATCH] feat(build): new es2015 esm build, package.json#es2015 Bundles have changed. main, module and browser fields of package.json still point to the same bundle types. es2015 field points to the es2015 code bundle for browser. The build process has been simplified. IMPORTANT: dist/netflux.umd.js changed to dist/netflux.browser.es5.umd.js. --- README.md | 33 +- manual/installation.md | 18 +- package-lock.json | 1175 ++--- package.json | 44 +- rollup.config.js | 100 +- rollup.config.proto.js | 26 +- src/Channel.ts | 2 +- src/Signaling.ts | 2 +- src/WebChannel.ts | 2 +- src/proto/index.js | 4330 ++++------------- src/service/UserMessage.ts | 2 +- src/service/channelBuilder/ChannelBuilder.ts | 2 +- .../dataChannelBuilder/DataChannelBuilder.ts | 2 +- src/service/dataChannelBuilder/Remote.ts | 2 +- src/service/topology/FullMesh.ts | 2 +- src/service/topology/Topology.ts | 2 +- tsconfig.dist.json | 11 - tsconfig.docs.json | 8 - tsconfig.json | 4 +- 19 files changed, 1738 insertions(+), 4029 deletions(-) delete mode 100644 tsconfig.dist.json delete mode 100644 tsconfig.docs.json diff --git a/README.md b/README.md index 93fc6a86..a9332f6f 100644 --- a/README.md +++ b/README.md @@ -41,11 +41,15 @@ Documentation: - Universal API (works in Chrome/Firefox and NodeJS). - TypeScript declaration files are included. - Simple and familiar API usage. -- 4 builds (ES5 code): - - `dist/netflux.cjs.js` CommonJS format for NodeJS (see _package.json#main_). - - `dist/esm/index.node.js` ES module format for NodeJS (see _package.json#module_). - - `dist/esm/index.browser.js` ES module format for browsers (see _package.json#browser_). - - `dist/netflux.umd.js` UMD format for browsers. +- Multiple bundles for any configuration: + - For NodeJS + - `dist/netflux.node.es5.cjs.js` commonjs format, es5 code (see _package.json#main_). + - `dist/netflux.node.es5.esm.js` ES module format, es5 code (see _package.json#module_). + - For browsers + - `dist/netflux.browser.es5.umd.js` UMD format, es5 code + - `dist/netflux.browser.es5.esm.js` ES module format, es5 code (see _package.json#browser_). + - `dist/netflux.browser.es2015.esm.js` ES module format, es2015 code (see _package.json#es2015_). + - `dist/netflux.browser.esnext.esm.js` ES module format, esnext code (see _package.json#esnext_). ## Install @@ -53,6 +57,25 @@ Documentation: npm install netflux ``` +3 peer dependencies to be installed for some cases: + +- `rxjs` is necessary for both NodeJS and browsers if you want to take advantage of EcmaScript modules, tree-shaking etc. Otherwise for it is already included into `dist/netflux.browser.es5.umd.js` and `dist/netflux.node.es5.cjs.js` bundles. + +```shell +npm install rxjs +``` + +- `uws` and `text-encoding` if you target NodeJS (developing a bot): + +```shell +npm install uws text-encoding +``` + +**Why peer dependencies?** + +- Reduce the installation size by not omitting unused dependencies. +- Take advantage of new standards and techniques: EcmaScript modules, bundle tools like Webpack, RollupJS etc. + ## Usage Here is a basic usage example for client and server (checkout the [documenation](https://coast-team.github.io/netflux) for more details). diff --git a/manual/installation.md b/manual/installation.md index 82519eb9..c16e9efa 100644 --- a/manual/installation.md +++ b/manual/installation.md @@ -3,10 +3,24 @@ ## NPM ```shell -npm install -S netflux +npm install netflux ``` -Netflux has an optional peer dependency: `wrtc`. This package provides WebRTC API in NodeJS, but for now it is not in use as more tests needed. Checkout [wrtc repository](https://github.com/js-platform/node-webrtc) for more info on it. +3 peer dependencies to be installed for some cases: + +- `rxjs` is necessary for both NodeJS and browsers if you want to take advantage of EcmaScript modules, tree-shaking etc. Otherwise for it is already included into `dist/netflux.browser.es5.umd.js` and `dist/netflux.node.es5.cjs.js` bundles. + +```shell +npm install rxjs +``` + +- `uws` and `text-encoding` if you target NodeJS (developing a bot): + +```shell +npm install uws text-encoding +``` + +Netflux has an optional dependency: `wrtc`. This package provides WebRTC API in NodeJS, but for now it is not in use as more tests needed. Checkout [wrtc repository](https://github.com/js-platform/node-webrtc) for more info on it. ## What you need diff --git a/package-lock.json b/package-lock.json index 67a949d5..c6b727a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -221,17 +221,17 @@ } }, "node-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", - "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.2.0.tgz", + "integrity": "sha512-OayFWziIxiHY8bCUyLX6sTpDH8Jsbp4FfYd1j1f7vZyfgkcOnAyM4oQR16f8a0s7Gl/viMGRey8eScYk4V4EZA==", "dev": true } } }, "@pm2/agent": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@pm2/agent/-/agent-0.5.10.tgz", - "integrity": "sha512-ua5IqxhCXgkNUT6R1zgkVj8YKGGGxNjNR4Ejng9CuX8PWuTWC7db9/V6PZpzJsaAYIIPLYTsv70etmc1txMsHg==", + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@pm2/agent/-/agent-0.5.11.tgz", + "integrity": "sha512-yLX+Bv2W8PuMCtC5OhyOvxOR3/6FLk6lBLmW4z7CKqeXFABi0V/6z9WAaGVRgehhmc3yiiaJtEfqdh1JnHBb2g==", "dev": true, "requires": { "async": "^2.6.0", @@ -258,9 +258,9 @@ } }, "@pm2/io": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@pm2/io/-/io-2.1.0.tgz", - "integrity": "sha512-Ij9kIiA+PB98jEAFH+8NZmMDJOjN2eqo6x4ZVDylwNrwj4h0gTb6gXtEaB0JJTn3wCDkFMfU+swwHIe6RWG9WQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@pm2/io/-/io-2.1.1.tgz", + "integrity": "sha512-6Gdnayvsx7B/CeGOu9IbQNMbOCpGPEexJhnNH3O0/R5MaWvFnGtbcM/guI92BQWImMw+6uXnRDAxA7//utS4kQ==", "dev": true, "requires": { "async": "2.6.1", @@ -287,9 +287,9 @@ } }, "@pm2/js-api": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/@pm2/js-api/-/js-api-0.5.21.tgz", - "integrity": "sha1-6vByIC5/7zvhKiK/UaoK3DNGP3k=", + "version": "0.5.22", + "resolved": "https://registry.npmjs.org/@pm2/js-api/-/js-api-0.5.22.tgz", + "integrity": "sha512-sDAIhQj3vU3HVB79GCFvYQNv/NRccIXstoqsqYUOotDo/1DPn25IzRT2tSiyKJOumiBRZNAnuA/CMcU2n5MO0Q==", "dev": true, "requires": { "async": "^2.4.1", @@ -320,27 +320,32 @@ "@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", + "dev": true }, "@protobufjs/base64": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "dev": true }, "@protobufjs/codegen": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "dev": true }, "@protobufjs/eventemitter": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", + "dev": true }, "@protobufjs/fetch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "dev": true, "requires": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" @@ -349,27 +354,32 @@ "@protobufjs/float": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", + "dev": true }, "@protobufjs/inquire": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", + "dev": true }, "@protobufjs/path": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", + "dev": true }, "@protobufjs/pool": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", + "dev": true }, "@protobufjs/utf8": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", + "dev": true }, "@samverschueren/stream-to-observable": { "version": "0.3.0", @@ -516,9 +526,9 @@ } }, "@semantic-release/npm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-4.0.0.tgz", - "integrity": "sha512-qfuIMkWRNiugrs13kjc48fUr14//0BVzbRExOWpwgGQQ6wK4wFmzdGAuZM/KcwMfrGwtupIsZQx0gZLIKZWlrw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-4.0.1.tgz", + "integrity": "sha512-J0Mo8lP5XyeH9hXAcFQ6i+fO9jmFgkhwIkQzQurB5MNreUOwRLXelCz8dW21ASp5K+sUZmU1bdZDb0UuVF0uJQ==", "dev": true, "requires": { "@semantic-release/error": "^2.2.0", @@ -695,12 +705,13 @@ "@types/long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz", - "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==" + "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==", + "dev": true }, "@types/node": { - "version": "8.10.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.19.tgz", - "integrity": "sha512-+PU57o6DtOSx0/algmxgCwWrmCiomwC/K+LPfXonT0tQMbNTjHEqVzwL9dFEhFoPmLFIiSWjRorLH6Z0hJMT+Q==", + "version": "10.5.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz", + "integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==", "dev": true }, "JSONStream": { @@ -766,9 +777,9 @@ "dev": true }, "agent-base": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.0.tgz", - "integrity": "sha512-c+R/U5X+2zz2+UCrCFv6odQzJdoqI+YecuhnAJLa1zYaMc13zPfwMwZrr91Pd1DYNo/yPRbiM4WVf9whgwFsIg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", "dev": true, "requires": { "es6-promisify": "^5.0.0" @@ -1120,27 +1131,6 @@ } } }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", @@ -1285,11 +1275,27 @@ } }, "app-root-path": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.0.1.tgz", - "integrity": "sha1-zWLc+OT9WkF+/GZNLlsQZTxlG0Y=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.1.0.tgz", + "integrity": "sha1-mL9lmTJ+zqGZMJhm6BQDaP0uZGo=", + "dev": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -1321,9 +1327,9 @@ "dev": true }, "arr-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", - "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, "array-find-index": { @@ -2119,6 +2125,17 @@ "lodash": "^4.17.4", "mkdirp": "^0.5.1", "source-map-support": "^0.4.15" + }, + "dependencies": { + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + } } }, "babel-runtime": { @@ -2277,9 +2294,9 @@ "dev": true }, "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "optional": true, "requires": { @@ -2322,7 +2339,6 @@ "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=", "dev": true, - "optional": true, "requires": { "readable-stream": "~2.0.5" }, @@ -2331,15 +2347,13 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true, - "optional": true + "dev": true }, "readable-stream": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "dev": true, - "optional": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -2353,8 +2367,7 @@ "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true, - "optional": true + "dev": true } } }, @@ -2496,6 +2509,16 @@ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, + "brotli-size": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/brotli-size/-/brotli-size-0.0.2.tgz", + "integrity": "sha512-8Fblpr9EX6ySFNBLPhcv1j6Y7nQLStdWnzxzGOrjyFilrN/HA5Hmv9xYVwQ+dCqHgPSnWg26tYxg67IbBqTh5g==", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "iltorb": "^2.0.5" + } + }, "browser-resolve": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", @@ -2610,6 +2633,28 @@ "ieee754": "^1.1.4" } }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, "buffer-from": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", @@ -2797,9 +2842,9 @@ } }, "caniuse-lite": { - "version": "1.0.30000853", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000853.tgz", - "integrity": "sha512-vMrE8BED4MJC9IhDJKP8ok6bJUfn5+YHvxwXMYfiPqQOJ3r2B9ihcArlUnXu6yPWf7b3jHqiEBwXZEbrbiFUqg==", + "version": "1.0.30000865", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000865.tgz", + "integrity": "sha512-vs79o1mOSKRGv/1pSkp4EXgl4ZviWeYReXw60XfacPU64uQWZwJT6vZNmxRF9O+6zu71sJwMxLK5JXxbzuVrLw==", "dev": true }, "capture-stack-trace": { @@ -2992,6 +3037,12 @@ } } }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true + }, "ci-info": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", @@ -3009,9 +3060,9 @@ } }, "circular-json": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.4.tgz", - "integrity": "sha512-vnJA8KS0BfOihugYEUkLRcnmq21FbuivbxgzDLXNs3zIk4KllV4Mx4UuTzBXht9F00C7QfD1YqMXg1zP6EXpig==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.5.tgz", + "integrity": "sha512-13YaR6kiz0kBNmIVM87Io8Hp7bWOo4r61vkEANy8iH9R9bc6avud/1FT0SBpqR1RpIQADOh/Q+yHZDA1iL6ysA==", "dev": true }, "class-utils": { @@ -3026,12 +3077,6 @@ "static-extend": "^0.1.1" }, "dependencies": { - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -3193,12 +3238,6 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, - "coffee-script": { - "version": "1.12.7", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", - "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", - "dev": true - }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -3275,9 +3314,9 @@ } }, "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz", + "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==", "dev": true }, "commitizen": { @@ -3466,6 +3505,12 @@ "date-now": "^0.1.4" } }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", @@ -3769,9 +3814,9 @@ "dev": true }, "cssom": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", - "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", + "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==", "dev": true }, "cssstyle": { @@ -4267,6 +4312,12 @@ "repeating": "^2.0.0" } }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true + }, "detect-newline": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", @@ -4431,9 +4482,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.48", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.48.tgz", - "integrity": "sha1-07DYWTgUBE4JLs4hCPw6ya6kuQA=", + "version": "1.3.52", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.52.tgz", + "integrity": "sha1-0tnxJwuko7lnuDHEDvcftNmrXOA=", "dev": true }, "elegant-spinner": { @@ -4481,6 +4532,15 @@ "iconv-lite": "~0.4.13" } }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, "engine.io": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.5.tgz", @@ -4610,9 +4670,9 @@ } }, "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { "is-arrayish": "^0.2.1" @@ -4658,9 +4718,9 @@ "dev": true }, "escodegen": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.10.0.tgz", - "integrity": "sha512-fjUOf8johsv23WuIKdNQU4P9t9jhQ4Qzx6pC2uW890OloK3Zs1ZAoCNpg/2larNF501jLl3UNy0kIRcF6VI22g==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", + "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", "dev": true, "optional": true, "requires": { @@ -4963,9 +5023,9 @@ "dev": true }, "esprima": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "estraverse": { @@ -4976,9 +5036,9 @@ "optional": true }, "estree-walker": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz", - "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz", + "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==", "dev": true }, "esutils": { @@ -5104,6 +5164,12 @@ "fill-range": "^2.1.0" } }, + "expand-template": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.1.tgz", + "integrity": "sha512-cebqLtV8KOZfw0UI8TEFWxtczxxC1jvyUvx6H4fyp1K1FN7A4Q+uggVUlOsI1K8AGU0rwOGqP8nCapdrw8CYQg==", + "dev": true + }, "expand-tilde": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", @@ -5114,25 +5180,29 @@ } }, "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "extend-shallow": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", - "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "kind-of": "^1.1.0" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { - "kind-of": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", - "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", - "dev": true + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } } } }, @@ -5316,27 +5386,6 @@ } } }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", @@ -5654,9 +5703,9 @@ } }, "follow-redirects": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", - "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.1.tgz", + "integrity": "sha512-v9GI1hpaqq1ZZR6pBD1+kI7O24PhDvNGNodjS3MdcEqyrahCp8zbtpv+2B/krUnSmUH80lbAS7MrdeK5IylgKg==", "dev": true, "requires": { "debug": "^3.1.0" @@ -5741,6 +5790,12 @@ "null-check": "^1.0.0" } }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, "fs-exists-sync": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", @@ -6333,6 +6388,22 @@ } } }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, "generate-function": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", @@ -6481,6 +6552,12 @@ "git-up": "^2.0.0" } }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", + "dev": true + }, "gkt": { "version": "https://tgz.pm2.io/gkt-1.0.0.tgz", "integrity": "sha512-zr6QQnzLt3Ja0t0XI8gws2kn7zV2p0l/D3kreNvS6hFZhVU5g+uY/30l42jbgt0XGcNBEmBDGJR71J692V92tA==", @@ -6650,27 +6727,6 @@ "requires": { "amdefine": ">=0.0.4" } - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "optional": true, - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "optional": true - } - } } } }, @@ -6751,6 +6807,12 @@ "has-symbol-support-x": "^1.4.1" } }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -6898,9 +6960,9 @@ "dev": true }, "hosted-git-info": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", "dev": true }, "htmlparser2": { @@ -7158,6 +7220,19 @@ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, + "iltorb": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/iltorb/-/iltorb-2.3.2.tgz", + "integrity": "sha512-FOmQvlD8kHnCugvGPbn/wSp5qa96hxH85mzfkJ1AEDZznB1CnJCnXlD+j/fW5xlbZfownrOaPtwISufH6oAO1Q==", + "dev": true, + "requires": { + "detect-libc": "^1.0.3", + "nan": "^2.10.0", + "npmlog": "^4.1.2", + "prebuild-install": "^3.0.0", + "which-pm-runs": "^1.0.0" + } + }, "import-from": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", @@ -7544,23 +7619,6 @@ "symbol-observable": "^1.1.0" } }, - "is-odd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", - "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", - "dev": true, - "requires": { - "is-number": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, "is-path-inside": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", @@ -7878,15 +7936,15 @@ "dev": true }, "jest-validate": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-23.0.1.tgz", - "integrity": "sha1-zZ8BqJ0mu4hfEqhmdxXpyGWldU8=", + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-23.4.0.tgz", + "integrity": "sha1-2W7t4B7wOskJwAnpyORVGX1IwgE=", "dev": true, "requires": { "chalk": "^2.0.1", "jest-get-type": "^22.1.0", "leven": "^2.1.0", - "pretty-format": "^23.0.1" + "pretty-format": "^23.2.0" } }, "js-tokens": { @@ -8031,9 +8089,9 @@ } }, "karma": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/karma/-/karma-2.0.4.tgz", - "integrity": "sha512-32yhTwoi6BZgJZhR78GwhzyFABbYG/1WwQqYgY7Vh96Demvua2jM3+FyRltIMTUH/Kd5xaQvDw2L7jTvkYFeXg==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/karma/-/karma-2.0.5.tgz", + "integrity": "sha512-rECezBeY7mjzGUWhFlB7CvPHgkHJLXyUmWg+6vHCEsdWNUTnmiS6jRrIMcJEWgU2DUGZzGWG0bTRVky8fsDTOA==", "dev": true, "requires": { "bluebird": "^3.3.0", @@ -8684,27 +8742,6 @@ } } }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", @@ -9294,9 +9331,9 @@ } }, "log4js": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-2.9.0.tgz", - "integrity": "sha512-pptn4+5Q3ysOW6Jgm9lzhDUCFEYv7FLrazEzPQQlxgSP+IVl5HMPgT8hm2DyRqGY4GUiVjZz4XXRvTZ9BELQyw==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-2.11.0.tgz", + "integrity": "sha512-z1XdwyGFg8/WGkOyF6DPJjivCWNLKrklGdViywdYnSKOvgtEBo2UyEMZS5sD2mZrQlU3TvO8wDWLc8mzE1ncBQ==", "dev": true, "requires": { "amqplib": "^0.5.2", @@ -9489,7 +9526,8 @@ "long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true }, "longest": { "version": "1.0.1", @@ -9498,12 +9536,12 @@ "dev": true }, "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" } }, "loud-rejection": { @@ -9842,18 +9880,18 @@ "dev": true }, "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", "dev": true }, "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", "dev": true, "requires": { - "mime-db": "~1.33.0" + "mime-db": "~1.35.0" } }, "mimic-fn": { @@ -10018,13 +10056,12 @@ "version": "2.10.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "dev": true, - "optional": true + "dev": true }, "nanomatch": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", - "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -10032,7 +10069,6 @@ "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", "is-windows": "^1.0.2", "kind-of": "^6.0.2", "object.pick": "^1.3.0", @@ -10053,25 +10089,6 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -10129,6 +10146,15 @@ "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==", "dev": true }, + "node-abi": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.4.3.tgz", + "integrity": "sha512-b656V5C0628gOOA2kwcpNA/bxdlqYF9FvxJ+qqVX0ctdXNVZpS8J6xEUYir3WAKc7U0BH/NRlSpNbGsy+azjeg==", + "dev": true, + "requires": { + "semver": "^5.4.1" + } + }, "node-emoji": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz", @@ -10233,6 +10259,12 @@ "integrity": "sha1-WG24EB2zDLRDjrVGc3pBqtDPE9U=", "dev": true }, + "noop-logger": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=", + "dev": true + }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", @@ -10298,6 +10330,18 @@ "which": "^1.2.10" } }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, "nssocket": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/nssocket/-/nssocket-0.6.0.tgz", @@ -10880,6 +10924,17 @@ "requires": { "ms": "2.0.0" } + }, + "socks-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz", + "integrity": "sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA==", + "dev": true, + "optional": true, + "requires": { + "agent-base": "^4.1.0", + "socks": "^1.1.10" + } } } }, @@ -11173,9 +11228,9 @@ "optional": true }, "pidusage": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/pidusage/-/pidusage-2.0.12.tgz", - "integrity": "sha512-ru3WTimcOpB1BCRedFXFTjGy4IAwPgsVjbICRPpDohd7iU1etvNvckZ75u06gcy4rskHWTZA2N9f8K3Cg0j6Tg==", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/pidusage/-/pidusage-2.0.13.tgz", + "integrity": "sha512-YCe7ns8Val5L+GE84aE8lcl5iozuDvWf/rP4S9CXnsliK++EyJleAc6BmK4Fo8aFUjDQSe+lrkcFtap1mJimsg==", "dev": true }, "pify": { @@ -11200,9 +11255,9 @@ } }, "please-upgrade-node": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.0.2.tgz", - "integrity": "sha512-bslfSeW+ksUbB/sYZeEdKFyTG4YWU9YKRvqfSRvZKE675khAuBUPqV5RUwJZaGuWmVQLweK45Q+lPHFVnSlSug==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz", + "integrity": "sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==", "dev": true, "requires": { "semver-compare": "^1.0.0" @@ -11230,25 +11285,45 @@ "arr-flatten": "^1.0.1", "array-slice": "^0.2.3" } - } - } - }, - "pm2": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pm2/-/pm2-3.0.0.tgz", - "integrity": "sha512-nttYP/BfOzNvsHUS+jJ8uwc1tRaAM/ETFx91krRnUymKrCreLpF/ntQWGT7rTABABu2yYPeHNotakQOA+YmsHQ==", - "dev": true, - "requires": { - "@pm2/agent": "^0.5.4", - "@pm2/io": "^2.0.2", - "@pm2/js-api": "^0.5.15", - "async": "^2.6.1", - "blessed": "^0.1.81", - "chalk": "^2.4.1", - "chokidar": "^2.0.4", - "cli-table-redemption": "^1.0.0", - "coffee-script": "^1.12.7", - "commander": "2.15.1", + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "dev": true + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "dev": true, + "requires": { + "kind-of": "^1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "dev": true + } + } + }, + "pm2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pm2/-/pm2-3.0.2.tgz", + "integrity": "sha512-WI9T30gO8fjZ/S0LT1sRvdHIswj4cyPP6UzZ8gKvPgNN4mqDps1JbXGR9rOBGcGT1hR/OBgV52fZqYa7THozgg==", + "dev": true, + "requires": { + "@pm2/agent": "^0.5.11", + "@pm2/io": "~2.1.0", + "@pm2/js-api": "^0.5.15", + "async": "^2.6.1", + "blessed": "^0.1.81", + "chalk": "^2.4.1", + "chokidar": "^2.0.4", + "cli-table-redemption": "^1.0.0", + "commander": "2.15.1", "cron": "^1.3", "debug": "^3.1", "eventemitter2": "5.0.1", @@ -11258,7 +11333,7 @@ "moment": "^2.22.2", "needle": "^2.2.1", "nssocket": "0.6.0", - "pidusage": "^2.0.6", + "pidusage": "2.0.13", "pm2-axon": "3.3.0", "pm2-axon-rpc": "^0.5.1", "pm2-deploy": "^0.3.9", @@ -11284,6 +11359,12 @@ "supports-color": "^5.3.0" } }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -11304,22 +11385,6 @@ "rechoir": "^0.6.2" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", - "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "sprintf-js": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz", @@ -11396,6 +11461,29 @@ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, + "prebuild-install": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-3.0.0.tgz", + "integrity": "sha512-9kuOu84mRwlQV3JyD+tkYiJtTbeEVtPf0z91OvU89llsT8Y1mjZyz8jyMzMrCj+UynQzzaEc/p31IZBqXG77rA==", + "dev": true, + "requires": { + "detect-libc": "^1.0.3", + "expand-template": "^1.0.2", + "github-from-package": "0.0.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "node-abi": "^2.2.0", + "noop-logger": "^0.1.1", + "npmlog": "^4.0.1", + "os-homedir": "^1.0.1", + "pump": "^2.0.1", + "rc": "^1.1.6", + "simple-get": "^2.7.0", + "tar-fs": "^1.13.0", + "tunnel-agent": "^0.6.0", + "which-pm-runs": "^1.0.0" + } + }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -11421,9 +11509,9 @@ "dev": true }, "pretty-format": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.0.1.tgz", - "integrity": "sha1-1h0GUmjkx1kIO8y8onoBrXx2AfQ=", + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.2.0.tgz", + "integrity": "sha1-OwqqY8AYpTWDNzwcs6XZbMXoMBc=", "dev": true, "requires": { "ansi-regex": "^3.0.0", @@ -11479,6 +11567,7 @@ "version": "6.8.8", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.8.tgz", "integrity": "sha512-AAmHtD5pXgZfi7GMpllpO3q1Xw1OYldr+dMUlAnffGTAhqkg72WdmSY71uKBF/JuyiKs8psYbtKrhi0ASCD8qw==", + "dev": true, "requires": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -11493,13 +11582,6 @@ "@types/long": "^4.0.0", "@types/node": "^10.1.0", "long": "^4.0.0" - }, - "dependencies": { - "@types/node": { - "version": "10.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz", - "integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==" - } } }, "protocols": { @@ -11509,9 +11591,9 @@ "dev": true }, "proxy-agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.0.0.tgz", - "integrity": "sha512-g6n6vnk8fRf705ShN+FEXFG/SDJaW++lSs0d9KaJh4uBWW/wi7en4Cpo5VYQW3SZzAE121lhB/KLQrbURoubZw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.0.1.tgz", + "integrity": "sha512-mAZexaz9ZxQhYPWfAjzlrloEjW+JHiBFryE4AJXFDTnaXfmH/FKqC1swTRKuEPbHWz02flQNXFOyDUF7zfEG6A==", "dev": true, "optional": true, "requires": { @@ -11522,7 +11604,7 @@ "lru-cache": "^4.1.2", "pac-proxy-agent": "^2.0.1", "proxy-from-env": "^1.0.0", - "socks-proxy-agent": "^3.0.0" + "socks-proxy-agent": "^4.0.1" }, "dependencies": { "debug": { @@ -11570,6 +11652,16 @@ "randombytes": "^2.0.1" } }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", @@ -11864,27 +11956,6 @@ "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } } }, "regexpu-core": { @@ -12122,9 +12193,9 @@ "dev": true }, "resolve": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", - "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { "path-parse": "^1.0.5" @@ -12228,24 +12299,15 @@ } }, "rollup": { - "version": "0.63.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.63.3.tgz", - "integrity": "sha512-bA7c+TMXM08MUdaUzAAST6NzARaOYdKQTe8MqPzk/zOx4H2AVwjBqnVK9xb4e/N5iC0dSFunqJmbcG3HJv4hZw==", + "version": "0.63.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.63.4.tgz", + "integrity": "sha512-IGTH7u0P6bmu7cXL0g11UDYTR9WKku70cYlqVyOYdqLoQopBGmCbGC3SMeheqHymnehHe/5yf6BJ6BEoxQBVTQ==", "dev": true, "requires": { "@types/estree": "0.0.39", "@types/node": "*" } }, - "rollup-plugin-babel": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-3.0.7.tgz", - "integrity": "sha512-bVe2y0z/V5Ax1qU8NX/0idmzIwJPdUGu8Xx3vXH73h0yGjxfv2gkFI82MBVg49SlsFlLTBadBHb67zy4TWM3hA==", - "dev": true, - "requires": { - "rollup-pluginutils": "^1.5.0" - } - }, "rollup-plugin-cleanup": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/rollup-plugin-cleanup/-/rollup-plugin-cleanup-3.0.0.tgz", @@ -12262,22 +12324,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", "dev": true - }, - "estree-walker": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz", - "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==", - "dev": true - }, - "rollup-pluginutils": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.3.0.tgz", - "integrity": "sha512-xB6hsRsjdJdIYWEyYUJy/3ki5g69wrf0luHPGNK3ZSocV6HLNfio59l3dZ3TL4xUwEKgROhFi9jOCt6c5gfUWw==", - "dev": true, - "requires": { - "estree-walker": "^0.5.2", - "micromatch": "^2.3.11" - } } } }, @@ -12293,12 +12339,6 @@ "rollup-pluginutils": "^2.0.1" }, "dependencies": { - "estree-walker": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz", - "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==", - "dev": true - }, "magic-string": { "version": "0.22.5", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", @@ -12307,30 +12347,22 @@ "requires": { "vlq": "^0.2.2" } - }, - "rollup-pluginutils": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.3.0.tgz", - "integrity": "sha512-xB6hsRsjdJdIYWEyYUJy/3ki5g69wrf0luHPGNK3ZSocV6HLNfio59l3dZ3TL4xUwEKgROhFi9jOCt6c5gfUWw==", - "dev": true, - "requires": { - "estree-walker": "^0.5.2", - "micromatch": "^2.3.11" - } } } }, "rollup-plugin-filesize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-filesize/-/rollup-plugin-filesize-2.0.0.tgz", - "integrity": "sha512-ZFwmrHvfAXLyYLK9mgiFDCDg3wncX/Dx5XLA9KDBqVu+Gi3zH7hvpjho36QZyyAmYm8iEwv1KGOCMdCernzo7A==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-filesize/-/rollup-plugin-filesize-4.0.1.tgz", + "integrity": "sha512-S7W6/G5+KCusq3gXwTOXQIqg88dKdv6jXhgQtZ8F1kJ9ecctzuUsWzE9yeVhcbGW92U0SgAerfOASOhBvEIN3g==", "dev": true, "requires": { "boxen": "^1.1.0", + "brotli-size": "0.0.2", "colors": "^1.1.2", "deep-assign": "^2.0.0", "filesize": "^3.5.6", - "gzip-size": "^3.0.0" + "gzip-size": "^3.0.0", + "terser": "^3.8.0" } }, "rollup-plugin-node-resolve": { @@ -12362,12 +12394,6 @@ "rollup-pluginutils": "^2.0.1" }, "dependencies": { - "estree-walker": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz", - "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==", - "dev": true - }, "magic-string": { "version": "0.16.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.16.0.tgz", @@ -12376,45 +12402,6 @@ "requires": { "vlq": "^0.2.1" } - }, - "rollup-pluginutils": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.3.0.tgz", - "integrity": "sha512-xB6hsRsjdJdIYWEyYUJy/3ki5g69wrf0luHPGNK3ZSocV6HLNfio59l3dZ3TL4xUwEKgROhFi9jOCt6c5gfUWw==", - "dev": true, - "requires": { - "estree-walker": "^0.5.2", - "micromatch": "^2.3.11" - } - } - } - }, - "rollup-plugin-strip": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-strip/-/rollup-plugin-strip-1.1.1.tgz", - "integrity": "sha1-uWXZyqWXHWJu0bcD7nPTQh4/79E=", - "dev": true, - "requires": { - "acorn": "^3.1.0", - "estree-walker": "^0.2.1", - "magic-string": "^0.15.0", - "rollup-pluginutils": "^1.3.1" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true - }, - "magic-string": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.15.2.tgz", - "integrity": "sha1-BoHXOIdBu8Ot2qZQYJkmJMbAnpw=", - "dev": true, - "requires": { - "vlq": "^0.2.1" - } } } }, @@ -12430,12 +12417,6 @@ "tslib": "1.9.3" }, "dependencies": { - "estree-walker": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz", - "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==", - "dev": true - }, "fs-extra": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", @@ -12455,42 +12436,24 @@ "requires": { "graceful-fs": "^4.1.6" } - }, - "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "dev": true, - "requires": { - "path-parse": "^1.0.5" - } - }, - "rollup-pluginutils": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.3.0.tgz", - "integrity": "sha512-xB6hsRsjdJdIYWEyYUJy/3ki5g69wrf0luHPGNK3ZSocV6HLNfio59l3dZ3TL4xUwEKgROhFi9jOCt6c5gfUWw==", - "dev": true, - "requires": { - "estree-walker": "^0.5.2", - "micromatch": "^2.3.11" - } } } }, "rollup-pluginutils": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", - "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.3.0.tgz", + "integrity": "sha512-xB6hsRsjdJdIYWEyYUJy/3ki5g69wrf0luHPGNK3ZSocV6HLNfio59l3dZ3TL4xUwEKgROhFi9jOCt6c5gfUWw==", "dev": true, "requires": { - "estree-walker": "^0.2.1", - "minimatch": "^3.0.2" + "estree-walker": "^0.5.2", + "micromatch": "^2.3.11" } }, "rtcpeerconnection-shim": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/rtcpeerconnection-shim/-/rtcpeerconnection-shim-1.2.13.tgz", "integrity": "sha512-Xz4zQLZNs9lFBvqbaHGIjLWtyZ1V82ec5r+WNEo7NlIx3zF5M3ytn9mkkfYeZmpE032cNg3Vvf0rP8kNXUNd9w==", + "dev": true, "requires": { "sdp": "^2.6.0" } @@ -12514,6 +12477,7 @@ "version": "6.2.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", + "dev": true, "requires": { "tslib": "^1.9.0" } @@ -12555,7 +12519,8 @@ "sdp": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/sdp/-/sdp-2.7.4.tgz", - "integrity": "sha512-0+wTfgvUUEGcvvFoHIC0aiGbx6gzwAUm8FkKt5Oqqkjf9mEEDLgwnoDKX7MYTGXrNNwzikVbutJ+OVNAGmJBQw==" + "integrity": "sha512-0+wTfgvUUEGcvvFoHIC0aiGbx6gzwAUm8FkKt5Oqqkjf9mEEDLgwnoDKX7MYTGXrNNwzikVbutJ+OVNAGmJBQw==", + "dev": true }, "semantic-release": { "version": "15.8.1", @@ -12674,12 +12639,6 @@ "locate-path": "^3.0.0" } }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", - "dev": true - }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -12780,15 +12739,6 @@ "y18n": "^3.2.1 || ^4.0.0", "yargs-parser": "^10.1.0" } - }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } } } }, @@ -12927,6 +12877,23 @@ "uws": "^10.148.1" } }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=", + "dev": true + }, + "simple-get": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", + "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", + "dev": true, + "requires": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, "slack-node": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz", @@ -12953,7 +12920,8 @@ "version": "1.1.15", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=", - "dev": true + "dev": true, + "optional": true }, "smtp-connection": { "version": "2.12.0", @@ -13157,19 +13125,41 @@ "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz", "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=", "dev": true, + "optional": true, "requires": { "ip": "^1.1.4", "smart-buffer": "^1.0.13" } }, "socks-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz", - "integrity": "sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz", + "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==", "dev": true, + "optional": true, "requires": { - "agent-base": "^4.1.0", - "socks": "^1.1.10" + "agent-base": "~4.2.0", + "socks": "~2.2.0" + }, + "dependencies": { + "smart-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.1.tgz", + "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==", + "dev": true, + "optional": true + }, + "socks": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.1.tgz", + "integrity": "sha512-0GabKw7n9mI46vcNrVfs0o6XzWzjVa3h6GaSo2UPxtWAROXUWavfJWh1M4PR5tnE0dcnQXZIDFP4yrAysLze/w==", + "dev": true, + "optional": true, + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.0.1" + } + } } }, "sort-keys": { @@ -13201,12 +13191,21 @@ } }, "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", + "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "source-map": "^0.5.6" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "source-map-url": { @@ -13285,27 +13284,6 @@ "dev": true, "requires": { "extend-shallow": "^3.0.0" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } } }, "split2": { @@ -13541,6 +13519,45 @@ "integrity": "sha1-KtNxaWKUmPylvIQkMJbTzeDsOjQ=", "dev": true }, + "tar-fs": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", + "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", + "dev": true, + "requires": { + "chownr": "^1.0.1", + "mkdirp": "^0.5.1", + "pump": "^1.0.0", + "tar-stream": "^1.1.2" + }, + "dependencies": { + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "tar-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz", + "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.1.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.0", + "xtend": "^4.0.0" + } + }, "term-size": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", @@ -13567,10 +13584,30 @@ } } }, + "terser": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.8.1.tgz", + "integrity": "sha512-FRin3gKQ0vm0xPPLuxw1FqpVgv1b2pBpYCaFb5qe6A7sD749Fnq1VbDiX3CEFM0BV0fqDzFtBfgmxhxCdzKQIg==", + "dev": true, + "requires": { + "commander": "~2.16.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.6" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "text-encoding": { "version": "0.6.4", "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", - "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=" + "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=", + "dev": true }, "text-extensions": { "version": "1.7.0", @@ -13644,6 +13681,12 @@ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", "dev": true }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", @@ -13669,27 +13712,6 @@ "extend-shallow": "^3.0.2", "regex-not": "^1.0.2", "safe-regex": "^1.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } } }, "to-regex-range": { @@ -13714,9 +13736,9 @@ } }, "tough-cookie": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.2.tgz", - "integrity": "sha512-vahm+X8lSV/KjXziec8x5Vp0OTC9mq8EVCOApIsRAooeuMPSO8aT7PFACYkaL0yZ/3hVqw+8DzhCJwl8H2Ad6w==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "optional": true, "requires": { @@ -13903,15 +13925,6 @@ "y18n": "^3.2.1 || ^4.0.0", "yargs-parser": "^10.1.0" } - }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } } } }, @@ -13936,7 +13949,8 @@ "tslib": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true }, "tslint": { "version": "5.11.0", @@ -13991,7 +14005,6 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.0.1" } @@ -14047,27 +14060,15 @@ "dev": true }, "uglify-js": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.5.tgz", - "integrity": "sha512-Fm52gLqJqFBnT+Sn411NPDnsgaWiYeRLw42x7Va/mS8TKgaepwoGY7JLXHSEef3d3PmdFXSz1Zx7KMLL89E2QA==", + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, + "optional": true, "requires": { - "commander": "~2.16.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz", - "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" } }, "uglify-to-browserify": { @@ -14101,12 +14102,6 @@ "set-value": "^0.4.3" }, "dependencies": { - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", @@ -14140,9 +14135,9 @@ } }, "universalify": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", - "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true }, "unpipe": { @@ -14285,21 +14280,10 @@ "dev": true }, "use": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", - "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true }, "useragent": { "version": "2.2.1", @@ -14341,15 +14325,16 @@ "dev": true }, "uuid": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true }, "uws": { "version": "10.148.1", "resolved": "https://registry.npmjs.org/uws/-/uws-10.148.1.tgz", - "integrity": "sha1-/Rp5z2EYo4jgob7YoTlwMNLE/Sw=" + "integrity": "sha1-/Rp5z2EYo4jgob7YoTlwMNLE/Sw=", + "dev": true }, "v8-compile-cache": { "version": "2.0.0", @@ -14462,6 +14447,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-6.3.0.tgz", "integrity": "sha512-WRLIEzXLCTSifhR1tqiK+HXuySLQ+8vESHBeJ0Uq5N9Eewa2hL+54fKnMqtB5sCSG7/crfntdovpp4R4ttvd8w==", + "dev": true, "requires": { "rtcpeerconnection-shim": "^1.2.10", "sdp": "^2.7.0" @@ -14499,6 +14485,21 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, "widest-line": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", @@ -14682,9 +14683,9 @@ } }, "yargs-parser": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.0.0.tgz", - "integrity": "sha512-+DHejWujTVYeMHLff8U96rLc4uE4Emncoftvn5AjhB1Jw1pWxLzgBUT/WYbPrHmy6YPEBTZQx5myHhVcuuu64g==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", "dev": true, "requires": { "camelcase": "^4.1.0" diff --git a/package.json b/package.json index cc72e6a5..e027bb30 100644 --- a/package.json +++ b/package.json @@ -3,10 +3,12 @@ "description": "Peer to peer isomorphic transport API based on WebRTC and WebSocket. Allows to create/join full mesh network", "version": "0.0.0-development", "license": "AGPL-3.0", - "main": "dist/netflux.cjs.js", - "module": "dist/esm/index.node.js", - "browser": "dist/esm/index.browser.js", - "types": "dist/esm/index.node.d.ts", + "main": "dist/netflux.node.es5.cjs.js", + "module": "dist/netflux.node.es5.esm.js", + "browser": "dist/netflux.browser.es5.esm.js", + "es2015": "dist/netflux.browser.es2015.esm.js", + "esnext": "dist/netflux.browser.esnext.esm.js", + "types": "dist/types/src/index.node.d.ts", "homepage": "https://coast-team.github.io/netflux", "repository": { "type": "git", @@ -32,8 +34,8 @@ "dist/" ], "scripts": { - "build": "rm -rf dist && tsc -p tsconfig.dist.json && rollup --config", - "postbuild": "mkdir dist/esm/proto && cp src/proto/index.js src/proto/index.d.ts dist/esm/proto && uglifyjs -o dist/netflux.umd.min.js dist/netflux.umd.js", + "build": "rm -rf dist && rollup --config", + "postbuild": "mkdir dist/types/src/proto && cp src/proto/index.d.ts dist/types/src/proto", "pretest": "rollup -c test/util/rollup.config.js && pm2 --silent restart test/util/process.yml --only netflux-test-signaling && pm2 restart test/util/process.yml --only netflux-test-bot ", "test": "karma start", "posttest": "pm2 --silent delete test/util/process.yml", @@ -41,30 +43,26 @@ "test:firefox": "npm test -- --browsers Firefox", "test:travis": "npm run build && npm test -- -- travis", "test:debug": "npm test -- -- debug", - "proto": "pbjs -t static-module -w es6 --no-verify --no-delimited --no-convert src/proto/index.proto -o src/proto/index.es6.js && pbts src/proto/index.es6.js -o src/proto/index.d.ts", - "postproto": "rollup -c rollup.config.proto.js && rm src/proto/index.es6.js", + "proto": "pbjs -t static-module -w es6 --no-verify --no-delimited --no-convert src/proto/index.proto -o src/proto/index.js && pbts src/proto/index.js -o src/proto/index.d.ts", + "postproto": "rollup -c rollup.config.proto.js", "semantic-release": "semantic-release", "travis-deploy-once": "travis-deploy-once", - "predoc": "rm -rf ./docs; tsc -p tsconfig.docs.json", + "predoc": "rm -rf ./docs; tsc -p tsconfig.json --outDir docs/jsFromTs --target esnext --declaration", "doc": "esdoc -c esdoc.json", "lint": "tslint --fix -p tsconfig.json && prettier --write --list-different 'manual/**/*.md' 'src/**/*.ts' 'test/**/*.{ts,config.js}' './*.{ts,js,json,md}' && markdownlint ./*.md manual/*.md manual/**/*.md", "precommit": "lint-staged && npm test -- -- precommit-githook", "commitmsg": "commitlint -e $GIT_PARAMS", "cz": "git-cz" }, - "dependencies": { - "protobufjs": "^6.8.8", - "rxjs": "^6.2.2", + "peerDependencies": { + "rxjs": "^6.2.0", "text-encoding": "^0.6.4", - "uws": "^10.148.1", - "webrtc-adapter": "^6.3.0" + "uws": "^10.148.1" }, "devDependencies": { "@commitlint/cli": "^7.0.0", "@commitlint/config-conventional": "^7.0.1", "@types/jasmine": "^2.8.8", - "babel-core": "^6.26.3", - "babel-preset-env": "^1.7.0", "commitizen": "^2.10.1", "cz-conventional-changelog": "^2.1.0", "esdoc": "^1.1.0", @@ -75,7 +73,7 @@ "jasmine-core": "^3.1.0", "jasmine-spec-reporter": "^4.1.0", "json": "^9.0.3", - "karma": "^2.0.4", + "karma": "^2.0.5", "karma-chrome-launcher": "^2.0.0", "karma-firefox-launcher": "^1.1.0", "karma-jasmine": "^1.1.2", @@ -86,25 +84,27 @@ "koa-router": "^7.4.0", "lint-staged": "^7.2.0", "markdownlint-cli": "^0.11.0", - "pm2": "^3.0.0", + "pm2": "^3.0.2", "prettier": "^1.13.7", + "protobufjs": "^6.8.8", "rollup": "^0.63.3", - "rollup-plugin-babel": "^3.0.7", "rollup-plugin-cleanup": "^3.0.0", "rollup-plugin-commonjs": "^9.1.3", - "rollup-plugin-filesize": "^2.0.0", + "rollup-plugin-filesize": "^4.0.1", "rollup-plugin-node-resolve": "^3.0.3", "rollup-plugin-re": "^1.0.7", - "rollup-plugin-strip": "^1.1.1", "rollup-plugin-typescript2": "^0.16.1", + "rxjs": "^6.2.2", "semantic-release": "^15.8.1", "sigver": "^20.0.0", + "text-encoding": "^0.6.4", "travis-deploy-once": "^5.0.1", "tslib": "^1.9.3", "tslint": "^5.11.0", "tslint-config-prettier": "^1.14.0", "typescript": "^2.9.2", - "uglify-js": "^3.4.5" + "uws": "^10.148.1", + "webrtc-adapter": "^6.3.0" }, "commitlint": { "extends": [ diff --git a/rollup.config.js b/rollup.config.js index 8e058d75..ebd77683 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,24 +1,53 @@ import filesize from 'rollup-plugin-filesize' -import commonjs from 'rollup-plugin-commonjs' import resolve from 'rollup-plugin-node-resolve' import typescript from 'rollup-plugin-typescript2' import cleanup from 'rollup-plugin-cleanup' -const tsConfig = { - tsconfig: 'tsconfig.dist.json', +const tsConfigEs5 = { tsconfigOverride: { compilerOptions: { - declaration: false, - sourceMap: false, + removeComments: true, + downlevelIteration: true, + sourceMap: true, + }, + }, +} + +const tsConfigEs2015 = { + tsconfigOverride: { + compilerOptions: { + target: 'es2015', + downlevelIteration: false, + removeComments: true, + sourceMap: true, + }, + }, +} + +const tsConfigEsNext = { + tsconfigOverride: { + compilerOptions: { + target: 'esnext', + downlevelIteration: false, + removeComments: true, + sourceMap: true, }, }, - include: ['src/**/*.ts'], } -const commonjsConfig = { - namedExports: { - 'node_modules/protobufjs/minimal.js': ['Reader', 'Writer', 'util', 'roots'], + +const tsConfigDeclaration = { + useTsconfigDeclarationDir: true, + tsconfigOverride: { + compilerOptions: { + downlevelIteration: true, + declaration: true, + removeComments: true, + sourceMap: true, + }, }, + include: ['src/**/*.ts'], } + const filesizeConfig = { format: { round: 0 } } export default [ @@ -26,18 +55,16 @@ export default [ input: 'src/index.node.ts', output: [ { - file: 'dist/netflux.cjs.js', + file: 'dist/netflux.node.es5.cjs.js', format: 'cjs', sourcemap: true, }, ], plugins: [ - typescript(tsConfig), + typescript(tsConfigEs5), resolve({ - jsnext: true, module: true, }), - commonjs(commonjsConfig), filesize(filesizeConfig), cleanup(), ], @@ -45,21 +72,58 @@ export default [ { input: 'src/index.browser.ts', output: { - file: 'dist/netflux.umd.js', + file: 'dist/netflux.browser.es5.umd.js', format: 'umd', name: 'netflux', sourcemap: true, }, plugins: [ - typescript(tsConfig), + typescript(tsConfigEs5), resolve({ browser: true, - jsnext: true, - module: true, }), - commonjs(commonjsConfig), filesize(filesizeConfig), cleanup(), ], }, + { + input: 'src/index.browser.ts', + output: { + file: 'dist/netflux.browser.es5.esm.js', + format: 'es', + sourcemap: true, + }, + external: ['rxjs', 'rxjs/operators'], + plugins: [typescript(tsConfigEs5), filesize(filesizeConfig), cleanup()], + }, + { + input: 'src/index.node.ts', + output: { + file: 'dist/netflux.node.es5.esm.js', + format: 'es', + sourcemap: true, + }, + external: ['rxjs', 'rxjs/operators'], + plugins: [typescript(tsConfigDeclaration), filesize(filesizeConfig), cleanup()], + }, + { + input: 'src/index.browser.ts', + output: { + file: 'dist/netflux.browser.es2015.esm.js', + format: 'es', + sourcemap: true, + }, + external: ['rxjs', 'rxjs/operators'], + plugins: [typescript(tsConfigEs2015), filesize(filesizeConfig), cleanup()], + }, + { + input: 'src/index.browser.ts', + output: { + file: 'dist/netflux.browser.esnext.esm.js', + format: 'es', + sourcemap: true, + }, + external: ['rxjs', 'rxjs/operators'], + plugins: [typescript(tsConfigEsNext), filesize(filesizeConfig), cleanup()], + }, ] diff --git a/rollup.config.proto.js b/rollup.config.proto.js index 60545eb4..3026f03d 100644 --- a/rollup.config.proto.js +++ b/rollup.config.proto.js @@ -1,11 +1,12 @@ import commonjs from 'rollup-plugin-commonjs' import resolve from 'rollup-plugin-node-resolve' import replace from 'rollup-plugin-re' -import babel from 'rollup-plugin-babel' +import typescript from 'rollup-plugin-typescript2' +import cleanup from 'rollup-plugin-cleanup' export default [ { - input: 'src/proto/index.es6.js', + input: 'src/proto/index.js', output: [{ file: 'src/proto/index.js', format: 'es' }], plugins: [ replace({ @@ -16,23 +17,22 @@ export default [ }, ], }), + typescript({ + tsconfigOverride: { + compilerOptions: { + allowJs: true, + removeComments: true, + }, + }, + include: ['src/proto/index.js'], + }), resolve(), commonjs({ namedExports: { 'node_modules/protobufjs/minimal.js': ['Reader', 'Writer', 'util', 'roots'], }, }), - babel({ - babelrc: false, - presets: [ - [ - 'env', - { - modules: false, - }, - ], - ], - }), + cleanup(), ], }, ] diff --git a/src/Channel.ts b/src/Channel.ts index 3773278e..9c73e345 100644 --- a/src/Channel.ts +++ b/src/Channel.ts @@ -1,6 +1,6 @@ import { RTCDataChannel } from './misc/env' import { isBrowser, log, MIN_ID } from './misc/util' -import { channel as proto, IMessage, Message } from './proto' +import { channel as proto, IMessage, Message } from './proto/index' import { UserMessage } from './service/UserMessage' import { WebChannel } from './WebChannel' diff --git a/src/Signaling.ts b/src/Signaling.ts index 347356e5..b62907dc 100644 --- a/src/Signaling.ts +++ b/src/Signaling.ts @@ -2,7 +2,7 @@ import { Observable, Subject } from 'rxjs' import { env } from './misc/env' import { isBrowser, IStream, isWebSocketSupported, log } from './misc/util' -import { IMessage, Message, signaling as proto } from './proto' +import { IMessage, Message, signaling as proto } from './proto/index' import { WebChannel } from './WebChannel' export type InSigMsg = Message diff --git a/src/WebChannel.ts b/src/WebChannel.ts index 4f625069..dc6a7821 100644 --- a/src/WebChannel.ts +++ b/src/WebChannel.ts @@ -13,7 +13,7 @@ import { validateKey, validateWebSocketURL, } from './misc/util' -import { IMessage, Message } from './proto' +import { IMessage, Message } from './proto/index' import { ChannelBuilder } from './service/channelBuilder/ChannelBuilder' import { FullMesh } from './service/topology/FullMesh' import { ITopology, TopologyEnum, TopologyState } from './service/topology/Topology' diff --git a/src/proto/index.js b/src/proto/index.js index 9b4768e5..2d0e47fb 100644 --- a/src/proto/index.js +++ b/src/proto/index.js @@ -5,41 +5,25 @@ function createCommonjsModule(fn, module) { } var aspromise = asPromise; - -/** - * Callback as used by {@link util.asPromise}. - * @typedef asPromiseCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {...*} params Additional arguments - * @returns {undefined} - */ - -/** - * Returns a promise from a node-style callback function. - * @memberof util - * @param {asPromiseCallback} fn Function to call - * @param {*} ctx Function context - * @param {...*} params Function arguments - * @returns {Promise<*>} Promisified function - */ -function asPromise(fn, ctx /*, varargs */) { - var params = new Array(arguments.length - 1), - offset = 0, - index = 2, +function asPromise(fn, ctx ) { + var params = new Array(arguments.length - 1), + offset = 0, + index = 2, pending = true; - while (index < arguments.length) { + while (index < arguments.length) params[offset++] = arguments[index++]; - }return new Promise(function executor(resolve, reject) { - params[offset] = function callback(err /*, varargs */) { + return new Promise(function executor(resolve, reject) { + params[offset] = function callback(err ) { if (pending) { pending = false; - if (err) reject(err);else { + if (err) + reject(err); + else { var params = new Array(arguments.length - 1), offset = 0; - while (offset < params.length) { + while (offset < params.length) params[offset++] = arguments[offset]; - }resolve.apply(null, params); + resolve.apply(null, params); } } }; @@ -55,392 +39,227 @@ function asPromise(fn, ctx /*, varargs */) { } var base64_1 = createCommonjsModule(function (module, exports) { - - /** - * A minimal base64 implementation for number arrays. - * @memberof util - * @namespace - */ - - var base64 = exports; - - /** - * Calculates the byte length of a base64 encoded string. - * @param {string} string Base64 encoded string - * @returns {number} Byte length - */ - base64.length = function length(string) { - var p = string.length; - if (!p) return 0; - var n = 0; - while (--p % 4 > 1 && string.charAt(p) === "=") { - ++n; - }return Math.ceil(string.length * 3) / 4 - n; - }; - - // Base64 encoding table - var b64 = new Array(64); - - // Base64 decoding table - var s64 = new Array(123); - - // 65..90, 97..122, 48..57, 43, 47 - for (var i = 0; i < 64;) { - s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++; - } /** - * Encodes a buffer to a base64 encoded string. - * @param {Uint8Array} buffer Source buffer - * @param {number} start Source start - * @param {number} end Source end - * @returns {string} Base64 encoded string - */ - base64.encode = function encode(buffer, start, end) { - var parts = null, - chunk = []; - var i = 0, - // output index +var base64 = exports; +base64.length = function length(string) { + var p = string.length; + if (!p) + return 0; + var n = 0; + while (--p % 4 > 1 && string.charAt(p) === "=") + ++n; + return Math.ceil(string.length * 3) / 4 - n; +}; +var b64 = new Array(64); +var s64 = new Array(123); +for (var i = 0; i < 64;) + s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++; +base64.encode = function encode(buffer, start, end) { + var parts = null, + chunk = []; + var i = 0, j = 0, - // goto index - t; // temporary - while (start < end) { - var b = buffer[start++]; - switch (j) { - case 0: - chunk[i++] = b64[b >> 2]; - t = (b & 3) << 4; - j = 1; - break; - case 1: - chunk[i++] = b64[t | b >> 4]; - t = (b & 15) << 2; - j = 2; - break; - case 2: - chunk[i++] = b64[t | b >> 6]; - chunk[i++] = b64[b & 63]; - j = 0; - break; - } - if (i > 8191) { - (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk)); - i = 0; - } - } - if (j) { - chunk[i++] = b64[t]; - chunk[i++] = 61; - if (j === 1) chunk[i++] = 61; + t; + while (start < end) { + var b = buffer[start++]; + switch (j) { + case 0: + chunk[i++] = b64[b >> 2]; + t = (b & 3) << 4; + j = 1; + break; + case 1: + chunk[i++] = b64[t | b >> 4]; + t = (b & 15) << 2; + j = 2; + break; + case 2: + chunk[i++] = b64[t | b >> 6]; + chunk[i++] = b64[b & 63]; + j = 0; + break; } - if (parts) { - if (i) parts.push(String.fromCharCode.apply(String, chunk.slice(0, i))); - return parts.join(""); + if (i > 8191) { + (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk)); + i = 0; } - return String.fromCharCode.apply(String, chunk.slice(0, i)); - }; - - var invalidEncoding = "invalid encoding"; - - /** - * Decodes a base64 encoded string to a buffer. - * @param {string} string Source string - * @param {Uint8Array} buffer Destination buffer - * @param {number} offset Destination offset - * @returns {number} Number of bytes written - * @throws {Error} If encoding is invalid - */ - base64.decode = function decode(string, buffer, offset) { - var start = offset; - var j = 0, - // goto index - t; // temporary - for (var i = 0; i < string.length;) { - var c = string.charCodeAt(i++); - if (c === 61 && j > 1) break; - if ((c = s64[c]) === undefined) throw Error(invalidEncoding); - switch (j) { - case 0: - t = c; - j = 1; - break; - case 1: - buffer[offset++] = t << 2 | (c & 48) >> 4; - t = c; - j = 2; - break; - case 2: - buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2; - t = c; - j = 3; - break; - case 3: - buffer[offset++] = (t & 3) << 6 | c; - j = 0; - break; - } + } + if (j) { + chunk[i++] = b64[t]; + chunk[i++] = 61; + if (j === 1) + chunk[i++] = 61; + } + if (parts) { + if (i) + parts.push(String.fromCharCode.apply(String, chunk.slice(0, i))); + return parts.join(""); + } + return String.fromCharCode.apply(String, chunk.slice(0, i)); +}; +var invalidEncoding = "invalid encoding"; +base64.decode = function decode(string, buffer, offset) { + var start = offset; + var j = 0, + t; + for (var i = 0; i < string.length;) { + var c = string.charCodeAt(i++); + if (c === 61 && j > 1) + break; + if ((c = s64[c]) === undefined) + throw Error(invalidEncoding); + switch (j) { + case 0: + t = c; + j = 1; + break; + case 1: + buffer[offset++] = t << 2 | (c & 48) >> 4; + t = c; + j = 2; + break; + case 2: + buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2; + t = c; + j = 3; + break; + case 3: + buffer[offset++] = (t & 3) << 6 | c; + j = 0; + break; } - if (j === 1) throw Error(invalidEncoding); - return offset - start; - }; - - /** - * Tests if the specified string appears to be base64 encoded. - * @param {string} string String to test - * @returns {boolean} `true` if probably base64 encoded, otherwise false - */ - base64.test = function test(string) { - return (/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string) - ); - }; + } + if (j === 1) + throw Error(invalidEncoding); + return offset - start; +}; +base64.test = function test(string) { + return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string); +}; }); var eventemitter = EventEmitter; - -/** - * Constructs a new event emitter instance. - * @classdesc A minimal event emitter. - * @memberof util - * @constructor - */ function EventEmitter() { - - /** - * Registered listeners. - * @type {Object.} - * @private - */ this._listeners = {}; } - -/** - * Registers an event listener. - * @param {string} evt Event name - * @param {function} fn Listener - * @param {*} [ctx] Listener context - * @returns {util.EventEmitter} `this` - */ EventEmitter.prototype.on = function on(evt, fn, ctx) { (this._listeners[evt] || (this._listeners[evt] = [])).push({ - fn: fn, - ctx: ctx || this + fn : fn, + ctx : ctx || this }); return this; }; - -/** - * Removes an event listener or any matching listeners if arguments are omitted. - * @param {string} [evt] Event name. Removes all listeners if omitted. - * @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted. - * @returns {util.EventEmitter} `this` - */ EventEmitter.prototype.off = function off(evt, fn) { - if (evt === undefined) this._listeners = {};else { - if (fn === undefined) this._listeners[evt] = [];else { + if (evt === undefined) + this._listeners = {}; + else { + if (fn === undefined) + this._listeners[evt] = []; + else { var listeners = this._listeners[evt]; - for (var i = 0; i < listeners.length;) { - if (listeners[i].fn === fn) listeners.splice(i, 1);else ++i; - } + for (var i = 0; i < listeners.length;) + if (listeners[i].fn === fn) + listeners.splice(i, 1); + else + ++i; } } return this; }; - -/** - * Emits an event by calling its listeners with the specified arguments. - * @param {string} evt Event name - * @param {...*} args Arguments - * @returns {util.EventEmitter} `this` - */ EventEmitter.prototype.emit = function emit(evt) { var listeners = this._listeners[evt]; if (listeners) { var args = [], i = 1; - for (; i < arguments.length;) { + for (; i < arguments.length;) args.push(arguments[i++]); - }for (i = 0; i < listeners.length;) { + for (i = 0; i < listeners.length;) listeners[i].fn.apply(listeners[i++].ctx, args); - } } return this; }; var float_1 = factory(factory); - -/** - * Reads / writes floats / doubles from / to buffers. - * @name util.float - * @namespace - */ - -/** - * Writes a 32 bit float to a buffer using little endian byte order. - * @name util.float.writeFloatLE - * @function - * @param {number} val Value to write - * @param {Uint8Array} buf Target buffer - * @param {number} pos Target buffer offset - * @returns {undefined} - */ - -/** - * Writes a 32 bit float to a buffer using big endian byte order. - * @name util.float.writeFloatBE - * @function - * @param {number} val Value to write - * @param {Uint8Array} buf Target buffer - * @param {number} pos Target buffer offset - * @returns {undefined} - */ - -/** - * Reads a 32 bit float from a buffer using little endian byte order. - * @name util.float.readFloatLE - * @function - * @param {Uint8Array} buf Source buffer - * @param {number} pos Source buffer offset - * @returns {number} Value read - */ - -/** - * Reads a 32 bit float from a buffer using big endian byte order. - * @name util.float.readFloatBE - * @function - * @param {Uint8Array} buf Source buffer - * @param {number} pos Source buffer offset - * @returns {number} Value read - */ - -/** - * Writes a 64 bit double to a buffer using little endian byte order. - * @name util.float.writeDoubleLE - * @function - * @param {number} val Value to write - * @param {Uint8Array} buf Target buffer - * @param {number} pos Target buffer offset - * @returns {undefined} - */ - -/** - * Writes a 64 bit double to a buffer using big endian byte order. - * @name util.float.writeDoubleBE - * @function - * @param {number} val Value to write - * @param {Uint8Array} buf Target buffer - * @param {number} pos Target buffer offset - * @returns {undefined} - */ - -/** - * Reads a 64 bit double from a buffer using little endian byte order. - * @name util.float.readDoubleLE - * @function - * @param {Uint8Array} buf Source buffer - * @param {number} pos Source buffer offset - * @returns {number} Value read - */ - -/** - * Reads a 64 bit double from a buffer using big endian byte order. - * @name util.float.readDoubleBE - * @function - * @param {Uint8Array} buf Source buffer - * @param {number} pos Source buffer offset - * @returns {number} Value read - */ - -// Factory function for the purpose of node-based testing in modified global environments function factory(exports) { - - // float: typed array - if (typeof Float32Array !== "undefined") (function () { - - var f32 = new Float32Array([-0]), + if (typeof Float32Array !== "undefined") (function() { + var f32 = new Float32Array([ -0 ]), f8b = new Uint8Array(f32.buffer), - le = f8b[3] === 128; - + le = f8b[3] === 128; function writeFloat_f32_cpy(val, buf, pos) { f32[0] = val; - buf[pos] = f8b[0]; + buf[pos ] = f8b[0]; buf[pos + 1] = f8b[1]; buf[pos + 2] = f8b[2]; buf[pos + 3] = f8b[3]; } - function writeFloat_f32_rev(val, buf, pos) { f32[0] = val; - buf[pos] = f8b[3]; + buf[pos ] = f8b[3]; buf[pos + 1] = f8b[2]; buf[pos + 2] = f8b[1]; buf[pos + 3] = f8b[0]; } - - /* istanbul ignore next */ exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev; - /* istanbul ignore next */ exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy; - function readFloat_f32_cpy(buf, pos) { - f8b[0] = buf[pos]; + f8b[0] = buf[pos ]; f8b[1] = buf[pos + 1]; f8b[2] = buf[pos + 2]; f8b[3] = buf[pos + 3]; return f32[0]; } - function readFloat_f32_rev(buf, pos) { - f8b[3] = buf[pos]; + f8b[3] = buf[pos ]; f8b[2] = buf[pos + 1]; f8b[1] = buf[pos + 2]; f8b[0] = buf[pos + 3]; return f32[0]; } - - /* istanbul ignore next */ exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev; - /* istanbul ignore next */ exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy; - - // float: ieee754 - })();else (function () { - + })(); else (function() { function writeFloat_ieee754(writeUint, val, buf, pos) { var sign = val < 0 ? 1 : 0; - if (sign) val = -val; - if (val === 0) writeUint(1 / val > 0 ? /* positive */0 : /* negative 0 */2147483648, buf, pos);else if (isNaN(val)) writeUint(2143289344, buf, pos);else if (val > 3.4028234663852886e+38) // +-Infinity - writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);else if (val < 1.1754943508222875e-38) // denormal - writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);else { + if (sign) + val = -val; + if (val === 0) + writeUint(1 / val > 0 ? 0 : 2147483648, buf, pos); + else if (isNaN(val)) + writeUint(2143289344, buf, pos); + else if (val > 3.4028234663852886e+38) + writeUint((sign << 31 | 2139095040) >>> 0, buf, pos); + else if (val < 1.1754943508222875e-38) + writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos); + else { var exponent = Math.floor(Math.log(val) / Math.LN2), mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607; writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos); } } - exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE); exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE); - function readFloat_ieee754(readUint, buf, pos) { var uint = readUint(buf, pos), sign = (uint >> 31) * 2 + 1, exponent = uint >>> 23 & 255, mantissa = uint & 8388607; - return exponent === 255 ? mantissa ? NaN : sign * Infinity : exponent === 0 // denormal - ? sign * 1.401298464324817e-45 * mantissa : sign * Math.pow(2, exponent - 150) * (mantissa + 8388608); + return exponent === 255 + ? mantissa + ? NaN + : sign * Infinity + : exponent === 0 + ? sign * 1.401298464324817e-45 * mantissa + : sign * Math.pow(2, exponent - 150) * (mantissa + 8388608); } - exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE); exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE); })(); - - // double: typed array - if (typeof Float64Array !== "undefined") (function () { - + if (typeof Float64Array !== "undefined") (function() { var f64 = new Float64Array([-0]), f8b = new Uint8Array(f64.buffer), - le = f8b[7] === 128; - + le = f8b[7] === 128; function writeDouble_f64_cpy(val, buf, pos) { f64[0] = val; - buf[pos] = f8b[0]; + buf[pos ] = f8b[0]; buf[pos + 1] = f8b[1]; buf[pos + 2] = f8b[2]; buf[pos + 3] = f8b[3]; @@ -449,10 +268,9 @@ function factory(exports) { buf[pos + 6] = f8b[6]; buf[pos + 7] = f8b[7]; } - function writeDouble_f64_rev(val, buf, pos) { f64[0] = val; - buf[pos] = f8b[7]; + buf[pos ] = f8b[7]; buf[pos + 1] = f8b[6]; buf[pos + 2] = f8b[5]; buf[pos + 3] = f8b[4]; @@ -461,14 +279,10 @@ function factory(exports) { buf[pos + 6] = f8b[1]; buf[pos + 7] = f8b[0]; } - - /* istanbul ignore next */ exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev; - /* istanbul ignore next */ exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy; - function readDouble_f64_cpy(buf, pos) { - f8b[0] = buf[pos]; + f8b[0] = buf[pos ]; f8b[1] = buf[pos + 1]; f8b[2] = buf[pos + 2]; f8b[3] = buf[pos + 3]; @@ -478,9 +292,8 @@ function factory(exports) { f8b[7] = buf[pos + 7]; return f64[0]; } - function readDouble_f64_rev(buf, pos) { - f8b[7] = buf[pos]; + f8b[7] = buf[pos ]; f8b[6] = buf[pos + 1]; f8b[5] = buf[pos + 2]; f8b[4] = buf[pos + 3]; @@ -490,307 +303,204 @@ function factory(exports) { f8b[0] = buf[pos + 7]; return f64[0]; } - - /* istanbul ignore next */ exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev; - /* istanbul ignore next */ exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy; - - // double: ieee754 - })();else (function () { - + })(); else (function() { function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) { var sign = val < 0 ? 1 : 0; - if (sign) val = -val; + if (sign) + val = -val; if (val === 0) { writeUint(0, buf, pos + off0); - writeUint(1 / val > 0 ? /* positive */0 : /* negative 0 */2147483648, buf, pos + off1); + writeUint(1 / val > 0 ? 0 : 2147483648, buf, pos + off1); } else if (isNaN(val)) { writeUint(0, buf, pos + off0); writeUint(2146959360, buf, pos + off1); } else if (val > 1.7976931348623157e+308) { - // +-Infinity writeUint(0, buf, pos + off0); writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1); } else { var mantissa; if (val < 2.2250738585072014e-308) { - // denormal mantissa = val / 5e-324; writeUint(mantissa >>> 0, buf, pos + off0); writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1); } else { var exponent = Math.floor(Math.log(val) / Math.LN2); - if (exponent === 1024) exponent = 1023; + if (exponent === 1024) + exponent = 1023; mantissa = val * Math.pow(2, -exponent); writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0); writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1); } } } - exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4); exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0); - function readDouble_ieee754(readUint, off0, off1, buf, pos) { var lo = readUint(buf, pos + off0), hi = readUint(buf, pos + off1); var sign = (hi >> 31) * 2 + 1, exponent = hi >>> 20 & 2047, mantissa = 4294967296 * (hi & 1048575) + lo; - return exponent === 2047 ? mantissa ? NaN : sign * Infinity : exponent === 0 // denormal - ? sign * 5e-324 * mantissa : sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496); + return exponent === 2047 + ? mantissa + ? NaN + : sign * Infinity + : exponent === 0 + ? sign * 5e-324 * mantissa + : sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496); } - exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4); exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0); })(); - return exports; } - -// uint helpers - function writeUintLE(val, buf, pos) { - buf[pos] = val & 255; - buf[pos + 1] = val >>> 8 & 255; - buf[pos + 2] = val >>> 16 & 255; - buf[pos + 3] = val >>> 24; + buf[pos ] = val & 255; + buf[pos + 1] = val >>> 8 & 255; + buf[pos + 2] = val >>> 16 & 255; + buf[pos + 3] = val >>> 24; } - function writeUintBE(val, buf, pos) { - buf[pos] = val >>> 24; - buf[pos + 1] = val >>> 16 & 255; - buf[pos + 2] = val >>> 8 & 255; - buf[pos + 3] = val & 255; + buf[pos ] = val >>> 24; + buf[pos + 1] = val >>> 16 & 255; + buf[pos + 2] = val >>> 8 & 255; + buf[pos + 3] = val & 255; } - function readUintLE(buf, pos) { - return (buf[pos] | buf[pos + 1] << 8 | buf[pos + 2] << 16 | buf[pos + 3] << 24) >>> 0; + return (buf[pos ] + | buf[pos + 1] << 8 + | buf[pos + 2] << 16 + | buf[pos + 3] << 24) >>> 0; } - function readUintBE(buf, pos) { - return (buf[pos] << 24 | buf[pos + 1] << 16 | buf[pos + 2] << 8 | buf[pos + 3]) >>> 0; + return (buf[pos ] << 24 + | buf[pos + 1] << 16 + | buf[pos + 2] << 8 + | buf[pos + 3]) >>> 0; } var inquire_1 = inquire; - -/** - * Requires a module only if available. - * @memberof util - * @param {string} moduleName Module to require - * @returns {?Object} Required module if available and not empty, otherwise `null` - */ function inquire(moduleName) { return null; } var utf8_1 = createCommonjsModule(function (module, exports) { - - /** - * A minimal UTF8 implementation for number arrays. - * @memberof util - * @namespace - */ - - var utf8 = exports; - - /** - * Calculates the UTF8 byte length of a string. - * @param {string} string String - * @returns {number} Byte length - */ - utf8.length = function utf8_length(string) { - var len = 0, - c = 0; - for (var i = 0; i < string.length; ++i) { - c = string.charCodeAt(i); - if (c < 128) len += 1;else if (c < 2048) len += 2;else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) { - ++i; - len += 4; - } else len += 3; - } - return len; - }; - - /** - * Reads UTF8 bytes as a string. - * @param {Uint8Array} buffer Source buffer - * @param {number} start Source start - * @param {number} end Source end - * @returns {string} String read - */ - utf8.read = function utf8_read(buffer, start, end) { - var len = end - start; - if (len < 1) return ""; - var parts = null, - chunk = [], - i = 0, - // char offset - t; // temporary - while (start < end) { - t = buffer[start++]; - if (t < 128) chunk[i++] = t;else if (t > 191 && t < 224) chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;else if (t > 239 && t < 365) { - t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000; - chunk[i++] = 0xD800 + (t >> 10); - chunk[i++] = 0xDC00 + (t & 1023); - } else chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63; - if (i > 8191) { - (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk)); - i = 0; - } - } - if (parts) { - if (i) parts.push(String.fromCharCode.apply(String, chunk.slice(0, i))); - return parts.join(""); +var utf8 = exports; +utf8.length = function utf8_length(string) { + var len = 0, + c = 0; + for (var i = 0; i < string.length; ++i) { + c = string.charCodeAt(i); + if (c < 128) + len += 1; + else if (c < 2048) + len += 2; + else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) { + ++i; + len += 4; + } else + len += 3; + } + return len; +}; +utf8.read = function utf8_read(buffer, start, end) { + var len = end - start; + if (len < 1) + return ""; + var parts = null, + chunk = [], + i = 0, + t; + while (start < end) { + t = buffer[start++]; + if (t < 128) + chunk[i++] = t; + else if (t > 191 && t < 224) + chunk[i++] = (t & 31) << 6 | buffer[start++] & 63; + else if (t > 239 && t < 365) { + t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000; + chunk[i++] = 0xD800 + (t >> 10); + chunk[i++] = 0xDC00 + (t & 1023); + } else + chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63; + if (i > 8191) { + (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk)); + i = 0; } - return String.fromCharCode.apply(String, chunk.slice(0, i)); - }; - - /** - * Writes a string as UTF8 bytes. - * @param {string} string Source string - * @param {Uint8Array} buffer Destination buffer - * @param {number} offset Destination offset - * @returns {number} Bytes written - */ - utf8.write = function utf8_write(string, buffer, offset) { - var start = offset, - c1, - // character 1 - c2; // character 2 - for (var i = 0; i < string.length; ++i) { - c1 = string.charCodeAt(i); - if (c1 < 128) { - buffer[offset++] = c1; - } else if (c1 < 2048) { - buffer[offset++] = c1 >> 6 | 192; - buffer[offset++] = c1 & 63 | 128; - } else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) { - c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF); - ++i; - buffer[offset++] = c1 >> 18 | 240; - buffer[offset++] = c1 >> 12 & 63 | 128; - buffer[offset++] = c1 >> 6 & 63 | 128; - buffer[offset++] = c1 & 63 | 128; - } else { - buffer[offset++] = c1 >> 12 | 224; - buffer[offset++] = c1 >> 6 & 63 | 128; - buffer[offset++] = c1 & 63 | 128; - } + } + if (parts) { + if (i) + parts.push(String.fromCharCode.apply(String, chunk.slice(0, i))); + return parts.join(""); + } + return String.fromCharCode.apply(String, chunk.slice(0, i)); +}; +utf8.write = function utf8_write(string, buffer, offset) { + var start = offset, + c1, + c2; + for (var i = 0; i < string.length; ++i) { + c1 = string.charCodeAt(i); + if (c1 < 128) { + buffer[offset++] = c1; + } else if (c1 < 2048) { + buffer[offset++] = c1 >> 6 | 192; + buffer[offset++] = c1 & 63 | 128; + } else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) { + c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF); + ++i; + buffer[offset++] = c1 >> 18 | 240; + buffer[offset++] = c1 >> 12 & 63 | 128; + buffer[offset++] = c1 >> 6 & 63 | 128; + buffer[offset++] = c1 & 63 | 128; + } else { + buffer[offset++] = c1 >> 12 | 224; + buffer[offset++] = c1 >> 6 & 63 | 128; + buffer[offset++] = c1 & 63 | 128; } - return offset - start; - }; + } + return offset - start; +}; }); var pool_1 = pool; - -/** - * An allocator as used by {@link util.pool}. - * @typedef PoolAllocator - * @type {function} - * @param {number} size Buffer size - * @returns {Uint8Array} Buffer - */ - -/** - * A slicer as used by {@link util.pool}. - * @typedef PoolSlicer - * @type {function} - * @param {number} start Start offset - * @param {number} end End offset - * @returns {Uint8Array} Buffer slice - * @this {Uint8Array} - */ - -/** - * A general purpose buffer pool. - * @memberof util - * @function - * @param {PoolAllocator} alloc Allocator - * @param {PoolSlicer} slice Slicer - * @param {number} [size=8192] Slab size - * @returns {PoolAllocator} Pooled allocator - */ function pool(alloc, slice, size) { - var SIZE = size || 8192; - var MAX = SIZE >>> 1; - var slab = null; + var SIZE = size || 8192; + var MAX = SIZE >>> 1; + var slab = null; var offset = SIZE; return function pool_alloc(size) { - if (size < 1 || size > MAX) return alloc(size); + if (size < 1 || size > MAX) + return alloc(size); if (offset + size > SIZE) { slab = alloc(SIZE); offset = 0; } var buf = slice.call(slab, offset, offset += size); - if (offset & 7) // align to 32 bit + if (offset & 7) offset = (offset | 7) + 1; return buf; }; } var longbits = LongBits; - -/** - * Constructs new long bits. - * @classdesc Helper class for working with the low and high bits of a 64 bit value. - * @memberof util - * @constructor - * @param {number} lo Low 32 bits, unsigned - * @param {number} hi High 32 bits, unsigned - */ function LongBits(lo, hi) { - - // note that the casts below are theoretically unnecessary as of today, but older statically - // generated converter code might still call the ctor with signed 32bits. kept for compat. - - /** - * Low bits. - * @type {number} - */ this.lo = lo >>> 0; - - /** - * High bits. - * @type {number} - */ this.hi = hi >>> 0; } - -/** - * Zero bits. - * @memberof util.LongBits - * @type {util.LongBits} - */ var zero = LongBits.zero = new LongBits(0, 0); - -zero.toNumber = function () { - return 0; -}; -zero.zzEncode = zero.zzDecode = function () { - return this; -}; -zero.length = function () { - return 1; -}; - -/** - * Zero hash. - * @memberof util.LongBits - * @type {string} - */ +zero.toNumber = function() { return 0; }; +zero.zzEncode = zero.zzDecode = function() { return this; }; +zero.length = function() { return 1; }; var zeroHash = LongBits.zeroHash = "\0\0\0\0\0\0\0\0"; - -/** - * Constructs new long bits from the specified number. - * @param {number} value Value - * @returns {util.LongBits} Instance - */ LongBits.fromNumber = function fromNumber(value) { - if (value === 0) return zero; + if (value === 0) + return zero; var sign = value < 0; - if (sign) value = -value; + if (sign) + value = -value; var lo = value >>> 0, hi = (value - lo) / 4294967296 >>> 0; if (sign) { @@ -798,674 +508,282 @@ LongBits.fromNumber = function fromNumber(value) { lo = ~lo >>> 0; if (++lo > 4294967295) { lo = 0; - if (++hi > 4294967295) hi = 0; + if (++hi > 4294967295) + hi = 0; } } return new LongBits(lo, hi); }; - -/** - * Constructs new long bits from a number, long or string. - * @param {Long|number|string} value Value - * @returns {util.LongBits} Instance - */ LongBits.from = function from(value) { - if (typeof value === "number") return LongBits.fromNumber(value); + if (typeof value === "number") + return LongBits.fromNumber(value); if (minimal.isString(value)) { - /* istanbul ignore else */ - if (minimal.Long) value = minimal.Long.fromString(value);else return LongBits.fromNumber(parseInt(value, 10)); + if (minimal.Long) + value = minimal.Long.fromString(value); + else + return LongBits.fromNumber(parseInt(value, 10)); } return value.low || value.high ? new LongBits(value.low >>> 0, value.high >>> 0) : zero; }; - -/** - * Converts this long bits to a possibly unsafe JavaScript number. - * @param {boolean} [unsigned=false] Whether unsigned or not - * @returns {number} Possibly unsafe number - */ LongBits.prototype.toNumber = function toNumber(unsigned) { if (!unsigned && this.hi >>> 31) { var lo = ~this.lo + 1 >>> 0, - hi = ~this.hi >>> 0; - if (!lo) hi = hi + 1 >>> 0; + hi = ~this.hi >>> 0; + if (!lo) + hi = hi + 1 >>> 0; return -(lo + hi * 4294967296); } return this.lo + this.hi * 4294967296; }; - -/** - * Converts this long bits to a long. - * @param {boolean} [unsigned=false] Whether unsigned or not - * @returns {Long} Long - */ LongBits.prototype.toLong = function toLong(unsigned) { - return minimal.Long ? new minimal.Long(this.lo | 0, this.hi | 0, Boolean(unsigned)) - /* istanbul ignore next */ - : { low: this.lo | 0, high: this.hi | 0, unsigned: Boolean(unsigned) }; + return minimal.Long + ? new minimal.Long(this.lo | 0, this.hi | 0, Boolean(unsigned)) + : { low: this.lo | 0, high: this.hi | 0, unsigned: Boolean(unsigned) }; }; - var charCodeAt = String.prototype.charCodeAt; - -/** - * Constructs new long bits from the specified 8 characters long hash. - * @param {string} hash Hash - * @returns {util.LongBits} Bits - */ LongBits.fromHash = function fromHash(hash) { - if (hash === zeroHash) return zero; - return new LongBits((charCodeAt.call(hash, 0) | charCodeAt.call(hash, 1) << 8 | charCodeAt.call(hash, 2) << 16 | charCodeAt.call(hash, 3) << 24) >>> 0, (charCodeAt.call(hash, 4) | charCodeAt.call(hash, 5) << 8 | charCodeAt.call(hash, 6) << 16 | charCodeAt.call(hash, 7) << 24) >>> 0); + if (hash === zeroHash) + return zero; + return new LongBits( + ( charCodeAt.call(hash, 0) + | charCodeAt.call(hash, 1) << 8 + | charCodeAt.call(hash, 2) << 16 + | charCodeAt.call(hash, 3) << 24) >>> 0 + , + ( charCodeAt.call(hash, 4) + | charCodeAt.call(hash, 5) << 8 + | charCodeAt.call(hash, 6) << 16 + | charCodeAt.call(hash, 7) << 24) >>> 0 + ); }; - -/** - * Converts this long bits to a 8 characters long hash. - * @returns {string} Hash - */ LongBits.prototype.toHash = function toHash() { - return String.fromCharCode(this.lo & 255, this.lo >>> 8 & 255, this.lo >>> 16 & 255, this.lo >>> 24, this.hi & 255, this.hi >>> 8 & 255, this.hi >>> 16 & 255, this.hi >>> 24); + return String.fromCharCode( + this.lo & 255, + this.lo >>> 8 & 255, + this.lo >>> 16 & 255, + this.lo >>> 24 , + this.hi & 255, + this.hi >>> 8 & 255, + this.hi >>> 16 & 255, + this.hi >>> 24 + ); }; - -/** - * Zig-zag encodes this long bits. - * @returns {util.LongBits} `this` - */ LongBits.prototype.zzEncode = function zzEncode() { - var mask = this.hi >> 31; - this.hi = ((this.hi << 1 | this.lo >>> 31) ^ mask) >>> 0; - this.lo = (this.lo << 1 ^ mask) >>> 0; + var mask = this.hi >> 31; + this.hi = ((this.hi << 1 | this.lo >>> 31) ^ mask) >>> 0; + this.lo = ( this.lo << 1 ^ mask) >>> 0; return this; }; - -/** - * Zig-zag decodes this long bits. - * @returns {util.LongBits} `this` - */ LongBits.prototype.zzDecode = function zzDecode() { var mask = -(this.lo & 1); - this.lo = ((this.lo >>> 1 | this.hi << 31) ^ mask) >>> 0; - this.hi = (this.hi >>> 1 ^ mask) >>> 0; + this.lo = ((this.lo >>> 1 | this.hi << 31) ^ mask) >>> 0; + this.hi = ( this.hi >>> 1 ^ mask) >>> 0; return this; }; - -/** - * Calculates the length of this longbits when encoded as a varint. - * @returns {number} Length - */ LongBits.prototype.length = function length() { - var part0 = this.lo, + var part0 = this.lo, part1 = (this.lo >>> 28 | this.hi << 4) >>> 0, - part2 = this.hi >>> 24; - return part2 === 0 ? part1 === 0 ? part0 < 16384 ? part0 < 128 ? 1 : 2 : part0 < 2097152 ? 3 : 4 : part1 < 16384 ? part1 < 128 ? 5 : 6 : part1 < 2097152 ? 7 : 8 : part2 < 128 ? 9 : 10; + part2 = this.hi >>> 24; + return part2 === 0 + ? part1 === 0 + ? part0 < 16384 + ? part0 < 128 ? 1 : 2 + : part0 < 2097152 ? 3 : 4 + : part1 < 16384 + ? part1 < 128 ? 5 : 6 + : part1 < 2097152 ? 7 : 8 + : part2 < 128 ? 9 : 10; }; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - var minimal = createCommonjsModule(function (module, exports) { - - var util = exports; - - // used to return a Promise where callback is omitted - util.asPromise = aspromise; - - // converts to / from base64 encoded strings - util.base64 = base64_1; - - // base class of rpc.Service - util.EventEmitter = eventemitter; - - // float handling accross browsers - util.float = float_1; - - // requires modules optionally and hides the call from bundlers - util.inquire = inquire_1; - - // converts to / from utf8 encoded strings - util.utf8 = utf8_1; - - // provides a node-like buffer pool in the browser - util.pool = pool_1; - - // utility to work with the low and high bits of a 64 bit value - util.LongBits = longbits; - - // global object reference - util.global = typeof window !== "undefined" && window || typeof commonjsGlobal !== "undefined" && commonjsGlobal || typeof self !== "undefined" && self || commonjsGlobal; // eslint-disable-line no-invalid-this - - /** - * An immuable empty array. - * @memberof util - * @type {Array.<*>} - * @const - */ - util.emptyArray = Object.freeze ? Object.freeze([]) : /* istanbul ignore next */[]; // used on prototypes - - /** - * An immutable empty object. - * @type {Object} - * @const - */ - util.emptyObject = Object.freeze ? Object.freeze({}) : /* istanbul ignore next */{}; // used on prototypes - - /** - * Whether running within node or not. - * @memberof util - * @type {boolean} - * @const - */ - util.isNode = Boolean(util.global.process && util.global.process.versions && util.global.process.versions.node); - - /** - * Tests if the specified value is an integer. - * @function - * @param {*} value Value to test - * @returns {boolean} `true` if the value is an integer - */ - util.isInteger = Number.isInteger || /* istanbul ignore next */function isInteger(value) { - return typeof value === "number" && isFinite(value) && Math.floor(value) === value; - }; - - /** - * Tests if the specified value is a string. - * @param {*} value Value to test - * @returns {boolean} `true` if the value is a string - */ - util.isString = function isString(value) { - return typeof value === "string" || value instanceof String; - }; - - /** - * Tests if the specified value is a non-null object. - * @param {*} value Value to test - * @returns {boolean} `true` if the value is a non-null object - */ - util.isObject = function isObject(value) { - return value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === "object"; - }; - - /** - * Checks if a property on a message is considered to be present. - * This is an alias of {@link util.isSet}. - * @function - * @param {Object} obj Plain object or message instance - * @param {string} prop Property name - * @returns {boolean} `true` if considered to be present, otherwise `false` - */ - util.isset = - - /** - * Checks if a property on a message is considered to be present. - * @param {Object} obj Plain object or message instance - * @param {string} prop Property name - * @returns {boolean} `true` if considered to be present, otherwise `false` - */ - util.isSet = function isSet(obj, prop) { - var value = obj[prop]; - if (value != null && obj.hasOwnProperty(prop)) // eslint-disable-line eqeqeq, no-prototype-builtins - return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== "object" || (Array.isArray(value) ? value.length : Object.keys(value).length) > 0; - return false; - }; - - /** - * Any compatible Buffer instance. - * This is a minimal stand-alone definition of a Buffer instance. The actual type is that exported by node's typings. - * @interface Buffer - * @extends Uint8Array - */ - - /** - * Node's Buffer class if available. - * @type {Constructor} - */ - util.Buffer = function () { - try { - var Buffer = util.inquire("buffer").Buffer; - // refuse to use non-node buffers if not explicitly assigned (perf reasons): - return Buffer.prototype.utf8Write ? Buffer : /* istanbul ignore next */null; - } catch (e) { - /* istanbul ignore next */ - return null; - } - }(); - - // Internal alias of or polyfull for Buffer.from. - util._Buffer_from = null; - - // Internal alias of or polyfill for Buffer.allocUnsafe. - util._Buffer_allocUnsafe = null; - - /** - * Creates a new buffer of whatever type supported by the environment. - * @param {number|number[]} [sizeOrArray=0] Buffer size or number array - * @returns {Uint8Array|Buffer} Buffer - */ - util.newBuffer = function newBuffer(sizeOrArray) { - /* istanbul ignore next */ - return typeof sizeOrArray === "number" ? util.Buffer ? util._Buffer_allocUnsafe(sizeOrArray) : new util.Array(sizeOrArray) : util.Buffer ? util._Buffer_from(sizeOrArray) : typeof Uint8Array === "undefined" ? sizeOrArray : new Uint8Array(sizeOrArray); - }; - - /** - * Array implementation used in the browser. `Uint8Array` if supported, otherwise `Array`. - * @type {Constructor} - */ - util.Array = typeof Uint8Array !== "undefined" ? Uint8Array /* istanbul ignore next */ : Array; - - /** - * Any compatible Long instance. - * This is a minimal stand-alone definition of a Long instance. The actual type is that exported by long.js. - * @interface Long - * @property {number} low Low bits - * @property {number} high High bits - * @property {boolean} unsigned Whether unsigned or not - */ - - /** - * Long.js's Long class if available. - * @type {Constructor} - */ - util.Long = /* istanbul ignore next */util.global.dcodeIO && /* istanbul ignore next */util.global.dcodeIO.Long || /* istanbul ignore next */util.global.Long || util.inquire("long"); - - /** - * Regular expression used to verify 2 bit (`bool`) map keys. - * @type {RegExp} - * @const - */ - util.key2Re = /^true|false|0|1$/; - - /** - * Regular expression used to verify 32 bit (`int32` etc.) map keys. - * @type {RegExp} - * @const - */ - util.key32Re = /^-?(?:0|[1-9][0-9]*)$/; - - /** - * Regular expression used to verify 64 bit (`int64` etc.) map keys. - * @type {RegExp} - * @const - */ - util.key64Re = /^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/; - - /** - * Converts a number or long to an 8 characters long hash string. - * @param {Long|number} value Value to convert - * @returns {string} Hash - */ - util.longToHash = function longToHash(value) { - return value ? util.LongBits.from(value).toHash() : util.LongBits.zeroHash; - }; - - /** - * Converts an 8 characters long hash string to a long or number. - * @param {string} hash Hash - * @param {boolean} [unsigned=false] Whether unsigned or not - * @returns {Long|number} Original value - */ - util.longFromHash = function longFromHash(hash, unsigned) { - var bits = util.LongBits.fromHash(hash); - if (util.Long) return util.Long.fromBits(bits.lo, bits.hi, unsigned); - return bits.toNumber(Boolean(unsigned)); - }; - - /** - * Merges the properties of the source object into the destination object. - * @memberof util - * @param {Object.} dst Destination object - * @param {Object.} src Source object - * @param {boolean} [ifNotSet=false] Merges only if the key is not already set - * @returns {Object.} Destination object - */ - function merge(dst, src, ifNotSet) { - // used by converters - for (var keys = Object.keys(src), i = 0; i < keys.length; ++i) { - if (dst[keys[i]] === undefined || !ifNotSet) dst[keys[i]] = src[keys[i]]; - }return dst; +var util = exports; +util.asPromise = aspromise; +util.base64 = base64_1; +util.EventEmitter = eventemitter; +util.float = float_1; +util.inquire = inquire_1; +util.utf8 = utf8_1; +util.pool = pool_1; +util.LongBits = longbits; +util.global = typeof window !== "undefined" && window + || typeof commonjsGlobal !== "undefined" && commonjsGlobal + || typeof self !== "undefined" && self + || commonjsGlobal; +util.emptyArray = Object.freeze ? Object.freeze([]) : []; +util.emptyObject = Object.freeze ? Object.freeze({}) : {}; +util.isNode = Boolean(util.global.process && util.global.process.versions && util.global.process.versions.node); +util.isInteger = Number.isInteger || function isInteger(value) { + return typeof value === "number" && isFinite(value) && Math.floor(value) === value; +}; +util.isString = function isString(value) { + return typeof value === "string" || value instanceof String; +}; +util.isObject = function isObject(value) { + return value && typeof value === "object"; +}; +util.isset = +util.isSet = function isSet(obj, prop) { + var value = obj[prop]; + if (value != null && obj.hasOwnProperty(prop)) + return typeof value !== "object" || (Array.isArray(value) ? value.length : Object.keys(value).length) > 0; + return false; +}; +util.Buffer = (function() { + try { + var Buffer = util.inquire("buffer").Buffer; + return Buffer.prototype.utf8Write ? Buffer : null; + } catch (e) { + return null; } - - util.merge = merge; - - /** - * Converts the first character of a string to lower case. - * @param {string} str String to convert - * @returns {string} Converted string - */ - util.lcFirst = function lcFirst(str) { - return str.charAt(0).toLowerCase() + str.substring(1); - }; - - /** - * Creates a custom error constructor. - * @memberof util - * @param {string} name Error name - * @returns {Constructor} Custom error constructor - */ - function newError(name) { - - function CustomError(message, properties) { - - if (!(this instanceof CustomError)) return new CustomError(message, properties); - - // Error.call(this, message); - // ^ just returns a new error instance because the ctor can be called as a function - - Object.defineProperty(this, "message", { get: function get() { - return message; - } }); - - /* istanbul ignore next */ - if (Error.captureStackTrace) // node - Error.captureStackTrace(this, CustomError);else Object.defineProperty(this, "stack", { value: new Error().stack || "" }); - - if (properties) merge(this, properties); - } - - (CustomError.prototype = Object.create(Error.prototype)).constructor = CustomError; - - Object.defineProperty(CustomError.prototype, "name", { get: function get() { - return name; - } }); - - CustomError.prototype.toString = function toString() { - return this.name + ": " + this.message; - }; - - return CustomError; +})(); +util._Buffer_from = null; +util._Buffer_allocUnsafe = null; +util.newBuffer = function newBuffer(sizeOrArray) { + return typeof sizeOrArray === "number" + ? util.Buffer + ? util._Buffer_allocUnsafe(sizeOrArray) + : new util.Array(sizeOrArray) + : util.Buffer + ? util._Buffer_from(sizeOrArray) + : typeof Uint8Array === "undefined" + ? sizeOrArray + : new Uint8Array(sizeOrArray); +}; +util.Array = typeof Uint8Array !== "undefined" ? Uint8Array : Array; +util.Long = util.global.dcodeIO && util.global.dcodeIO.Long + || util.global.Long + || util.inquire("long"); +util.key2Re = /^true|false|0|1$/; +util.key32Re = /^-?(?:0|[1-9][0-9]*)$/; +util.key64Re = /^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/; +util.longToHash = function longToHash(value) { + return value + ? util.LongBits.from(value).toHash() + : util.LongBits.zeroHash; +}; +util.longFromHash = function longFromHash(hash, unsigned) { + var bits = util.LongBits.fromHash(hash); + if (util.Long) + return util.Long.fromBits(bits.lo, bits.hi, unsigned); + return bits.toNumber(Boolean(unsigned)); +}; +function merge(dst, src, ifNotSet) { + for (var keys = Object.keys(src), i = 0; i < keys.length; ++i) + if (dst[keys[i]] === undefined || !ifNotSet) + dst[keys[i]] = src[keys[i]]; + return dst; +} +util.merge = merge; +util.lcFirst = function lcFirst(str) { + return str.charAt(0).toLowerCase() + str.substring(1); +}; +function newError(name) { + function CustomError(message, properties) { + if (!(this instanceof CustomError)) + return new CustomError(message, properties); + Object.defineProperty(this, "message", { get: function() { return message; } }); + if (Error.captureStackTrace) + Error.captureStackTrace(this, CustomError); + else + Object.defineProperty(this, "stack", { value: (new Error()).stack || "" }); + if (properties) + merge(this, properties); } - - util.newError = newError; - - /** - * Constructs a new protocol error. - * @classdesc Error subclass indicating a protocol specifc error. - * @memberof util - * @extends Error - * @template T extends Message - * @constructor - * @param {string} message Error message - * @param {Object.} [properties] Additional properties - * @example - * try { - * MyMessage.decode(someBuffer); // throws if required fields are missing - * } catch (e) { - * if (e instanceof ProtocolError && e.instance) - * console.log("decoded so far: " + JSON.stringify(e.instance)); - * } - */ - util.ProtocolError = newError("ProtocolError"); - - /** - * So far decoded message instance. - * @name util.ProtocolError#instance - * @type {Message} - */ - - /** - * A OneOf getter as returned by {@link util.oneOfGetter}. - * @typedef OneOfGetter - * @type {function} - * @returns {string|undefined} Set field name, if any - */ - - /** - * Builds a getter for a oneof's present field name. - * @param {string[]} fieldNames Field names - * @returns {OneOfGetter} Unbound getter - */ - util.oneOfGetter = function getOneOf(fieldNames) { - var fieldMap = {}; - for (var i = 0; i < fieldNames.length; ++i) { - fieldMap[fieldNames[i]] = 1; - } /** - * @returns {string|undefined} Set field name, if any - * @this Object - * @ignore - */ - return function () { - // eslint-disable-line consistent-return - for (var keys = Object.keys(this), i = keys.length - 1; i > -1; --i) { - if (fieldMap[keys[i]] === 1 && this[keys[i]] !== undefined && this[keys[i]] !== null) return keys[i]; - } - }; + (CustomError.prototype = Object.create(Error.prototype)).constructor = CustomError; + Object.defineProperty(CustomError.prototype, "name", { get: function() { return name; } }); + CustomError.prototype.toString = function toString() { + return this.name + ": " + this.message; }; - - /** - * A OneOf setter as returned by {@link util.oneOfSetter}. - * @typedef OneOfSetter - * @type {function} - * @param {string|undefined} value Field name - * @returns {undefined} - */ - - /** - * Builds a setter for a oneof's present field name. - * @param {string[]} fieldNames Field names - * @returns {OneOfSetter} Unbound setter - */ - util.oneOfSetter = function setOneOf(fieldNames) { - - /** - * @param {string} name Field name - * @returns {undefined} - * @this Object - * @ignore - */ - return function (name) { - for (var i = 0; i < fieldNames.length; ++i) { - if (fieldNames[i] !== name) delete this[fieldNames[i]]; - } - }; + return CustomError; +} +util.newError = newError; +util.ProtocolError = newError("ProtocolError"); +util.oneOfGetter = function getOneOf(fieldNames) { + var fieldMap = {}; + for (var i = 0; i < fieldNames.length; ++i) + fieldMap[fieldNames[i]] = 1; + return function() { + for (var keys = Object.keys(this), i = keys.length - 1; i > -1; --i) + if (fieldMap[keys[i]] === 1 && this[keys[i]] !== undefined && this[keys[i]] !== null) + return keys[i]; }; - - /** - * Default conversion options used for {@link Message#toJSON} implementations. - * - * These options are close to proto3's JSON mapping with the exception that internal types like Any are handled just like messages. More precisely: - * - * - Longs become strings - * - Enums become string keys - * - Bytes become base64 encoded strings - * - (Sub-)Messages become plain objects - * - Maps become plain objects with all string keys - * - Repeated fields become arrays - * - NaN and Infinity for float and double fields become strings - * - * @type {IConversionOptions} - * @see https://developers.google.com/protocol-buffers/docs/proto3?hl=en#json - */ - util.toJSONOptions = { - longs: String, - enums: String, - bytes: String, - json: true +}; +util.oneOfSetter = function setOneOf(fieldNames) { + return function(name) { + for (var i = 0; i < fieldNames.length; ++i) + if (fieldNames[i] !== name) + delete this[fieldNames[i]]; }; - - // Sets up buffer utility according to the environment (called in index-minimal) - util._configure = function () { - var Buffer = util.Buffer; - /* istanbul ignore if */ - if (!Buffer) { - util._Buffer_from = util._Buffer_allocUnsafe = null; - return; - } - // because node 4.x buffers are incompatible & immutable - // see: https://github.com/dcodeIO/protobuf.js/pull/665 - util._Buffer_from = Buffer.from !== Uint8Array.from && Buffer.from || - /* istanbul ignore next */ +}; +util.toJSONOptions = { + longs: String, + enums: String, + bytes: String, + json: true +}; +util._configure = function() { + var Buffer = util.Buffer; + if (!Buffer) { + util._Buffer_from = util._Buffer_allocUnsafe = null; + return; + } + util._Buffer_from = Buffer.from !== Uint8Array.from && Buffer.from || function Buffer_from(value, encoding) { return new Buffer(value, encoding); }; - util._Buffer_allocUnsafe = Buffer.allocUnsafe || - /* istanbul ignore next */ + util._Buffer_allocUnsafe = Buffer.allocUnsafe || function Buffer_allocUnsafe(size) { return new Buffer(size); }; - }; +}; }); var writer = Writer; - -var BufferWriter; // cyclic - -var LongBits$1 = minimal.LongBits, - base64 = minimal.base64, - utf8 = minimal.utf8; - -/** - * Constructs a new writer operation instance. - * @classdesc Scheduled writer operation. - * @constructor - * @param {function(*, Uint8Array, number)} fn Function to call - * @param {number} len Value byte length - * @param {*} val Value to write - * @ignore - */ +var BufferWriter; +var LongBits$1 = minimal.LongBits, + base64 = minimal.base64, + utf8 = minimal.utf8; function Op(fn, len, val) { - - /** - * Function to call. - * @type {function(Uint8Array, number, *)} - */ this.fn = fn; - - /** - * Value byte length. - * @type {number} - */ this.len = len; - - /** - * Next operation. - * @type {Writer.Op|undefined} - */ this.next = undefined; - - /** - * Value to write. - * @type {*} - */ - this.val = val; // type varies + this.val = val; } - -/* istanbul ignore next */ -function noop() {} // eslint-disable-line no-empty-function - -/** - * Constructs a new writer state instance. - * @classdesc Copied writer state. - * @memberof Writer - * @constructor - * @param {Writer} writer Writer to copy state from - * @ignore - */ +function noop() {} function State(writer) { - - /** - * Current head. - * @type {Writer.Op} - */ this.head = writer.head; - - /** - * Current tail. - * @type {Writer.Op} - */ this.tail = writer.tail; - - /** - * Current buffer length. - * @type {number} - */ this.len = writer.len; - - /** - * Next state. - * @type {State|null} - */ this.next = writer.states; } - -/** - * Constructs a new writer instance. - * @classdesc Wire format writer using `Uint8Array` if available, otherwise `Array`. - * @constructor - */ function Writer() { - - /** - * Current length. - * @type {number} - */ this.len = 0; - - /** - * Operations head. - * @type {Object} - */ this.head = new Op(noop, 0, 0); - - /** - * Operations tail - * @type {Object} - */ this.tail = this.head; - - /** - * Linked forked states. - * @type {Object|null} - */ this.states = null; - - // When a value is written, the writer calculates its byte length and puts it into a linked - // list of operations to perform when finish() is called. This both allows us to allocate - // buffers of the exact required size and reduces the amount of work we have to do compared - // to first calculating over objects and then encoding over objects. In our case, the encoding - // part is just a linked list walk calling operations with already prepared values. } - -/** - * Creates a new writer. - * @function - * @returns {BufferWriter|Writer} A {@link BufferWriter} when Buffers are supported, otherwise a {@link Writer} - */ -Writer.create = minimal.Buffer ? function create_buffer_setup() { - return (Writer.create = function create_buffer() { - return new BufferWriter(); - })(); -} -/* istanbul ignore next */ -: function create_array() { - return new Writer(); -}; - -/** - * Allocates a buffer of the specified size. - * @param {number} size Buffer size - * @returns {Uint8Array} Buffer - */ +Writer.create = minimal.Buffer + ? function create_buffer_setup() { + return (Writer.create = function create_buffer() { + return new BufferWriter(); + })(); + } + : function create_array() { + return new Writer(); + }; Writer.alloc = function alloc(size) { return new minimal.Array(size); }; - -// Use Uint8Array buffer pool in the browser, just like node does with buffers -/* istanbul ignore else */ -if (minimal.Array !== Array) Writer.alloc = minimal.pool(Writer.alloc, minimal.Array.prototype.subarray); - -/** - * Pushes a new operation to the queue. - * @param {function(Uint8Array, number, *)} fn Function to call - * @param {number} len Value byte length - * @param {number} val Value to write - * @returns {Writer} `this` - * @private - */ +if (minimal.Array !== Array) + Writer.alloc = minimal.pool(Writer.alloc, minimal.Array.prototype.subarray); Writer.prototype._push = function push(fn, len, val) { this.tail = this.tail.next = new Op(fn, len, val); this.len += len; return this; }; - function writeByte(val, buf, pos) { buf[pos] = val & 255; } - function writeVarint32(val, buf, pos) { while (val > 127) { buf[pos++] = val & 127 | 128; @@ -1473,57 +791,32 @@ function writeVarint32(val, buf, pos) { } buf[pos] = val; } - -/** - * Constructs a new varint writer operation instance. - * @classdesc Scheduled varint writer operation. - * @extends Op - * @constructor - * @param {number} len Value byte length - * @param {number} val Value to write - * @ignore - */ function VarintOp(len, val) { this.len = len; this.next = undefined; this.val = val; } - VarintOp.prototype = Object.create(Op.prototype); VarintOp.prototype.fn = writeVarint32; - -/** - * Writes an unsigned 32 bit value as a varint. - * @param {number} value Value to write - * @returns {Writer} `this` - */ Writer.prototype.uint32 = function write_uint32(value) { - // here, the call to this.push has been inlined and a varint specific Op subclass is used. - // uint32 is by far the most frequently used operation and benefits significantly from this. - this.len += (this.tail = this.tail.next = new VarintOp((value = value >>> 0) < 128 ? 1 : value < 16384 ? 2 : value < 2097152 ? 3 : value < 268435456 ? 4 : 5, value)).len; + this.len += (this.tail = this.tail.next = new VarintOp( + (value = value >>> 0) + < 128 ? 1 + : value < 16384 ? 2 + : value < 2097152 ? 3 + : value < 268435456 ? 4 + : 5, + value)).len; return this; }; - -/** - * Writes a signed 32 bit value as a varint. - * @function - * @param {number} value Value to write - * @returns {Writer} `this` - */ Writer.prototype.int32 = function write_int32(value) { - return value < 0 ? this._push(writeVarint64, 10, LongBits$1.fromNumber(value)) // 10 bytes per spec - : this.uint32(value); + return value < 0 + ? this._push(writeVarint64, 10, LongBits$1.fromNumber(value)) + : this.uint32(value); }; - -/** - * Writes a 32 bit value as a varint, zig-zag encoded. - * @param {number} value Value to write - * @returns {Writer} `this` - */ Writer.prototype.sint32 = function write_sint32(value) { return this.uint32((value << 1 ^ value >> 31) >>> 0); }; - function writeVarint64(val, buf, pos) { while (val.hi) { buf[pos++] = val.lo & 127 | 128; @@ -1536,129 +829,51 @@ function writeVarint64(val, buf, pos) { } buf[pos++] = val.lo; } - -/** - * Writes an unsigned 64 bit value as a varint. - * @param {Long|number|string} value Value to write - * @returns {Writer} `this` - * @throws {TypeError} If `value` is a string and no long library is present. - */ Writer.prototype.uint64 = function write_uint64(value) { var bits = LongBits$1.from(value); return this._push(writeVarint64, bits.length(), bits); }; - -/** - * Writes a signed 64 bit value as a varint. - * @function - * @param {Long|number|string} value Value to write - * @returns {Writer} `this` - * @throws {TypeError} If `value` is a string and no long library is present. - */ Writer.prototype.int64 = Writer.prototype.uint64; - -/** - * Writes a signed 64 bit value as a varint, zig-zag encoded. - * @param {Long|number|string} value Value to write - * @returns {Writer} `this` - * @throws {TypeError} If `value` is a string and no long library is present. - */ Writer.prototype.sint64 = function write_sint64(value) { var bits = LongBits$1.from(value).zzEncode(); return this._push(writeVarint64, bits.length(), bits); }; - -/** - * Writes a boolish value as a varint. - * @param {boolean} value Value to write - * @returns {Writer} `this` - */ Writer.prototype.bool = function write_bool(value) { return this._push(writeByte, 1, value ? 1 : 0); }; - function writeFixed32(val, buf, pos) { - buf[pos] = val & 255; - buf[pos + 1] = val >>> 8 & 255; - buf[pos + 2] = val >>> 16 & 255; - buf[pos + 3] = val >>> 24; + buf[pos ] = val & 255; + buf[pos + 1] = val >>> 8 & 255; + buf[pos + 2] = val >>> 16 & 255; + buf[pos + 3] = val >>> 24; } - -/** - * Writes an unsigned 32 bit value as fixed 32 bits. - * @param {number} value Value to write - * @returns {Writer} `this` - */ Writer.prototype.fixed32 = function write_fixed32(value) { return this._push(writeFixed32, 4, value >>> 0); }; - -/** - * Writes a signed 32 bit value as fixed 32 bits. - * @function - * @param {number} value Value to write - * @returns {Writer} `this` - */ Writer.prototype.sfixed32 = Writer.prototype.fixed32; - -/** - * Writes an unsigned 64 bit value as fixed 64 bits. - * @param {Long|number|string} value Value to write - * @returns {Writer} `this` - * @throws {TypeError} If `value` is a string and no long library is present. - */ Writer.prototype.fixed64 = function write_fixed64(value) { var bits = LongBits$1.from(value); return this._push(writeFixed32, 4, bits.lo)._push(writeFixed32, 4, bits.hi); }; - -/** - * Writes a signed 64 bit value as fixed 64 bits. - * @function - * @param {Long|number|string} value Value to write - * @returns {Writer} `this` - * @throws {TypeError} If `value` is a string and no long library is present. - */ Writer.prototype.sfixed64 = Writer.prototype.fixed64; - -/** - * Writes a float (32 bit). - * @function - * @param {number} value Value to write - * @returns {Writer} `this` - */ Writer.prototype.float = function write_float(value) { return this._push(minimal.float.writeFloatLE, 4, value); }; - -/** - * Writes a double (64 bit float). - * @function - * @param {number} value Value to write - * @returns {Writer} `this` - */ Writer.prototype.double = function write_double(value) { return this._push(minimal.float.writeDoubleLE, 8, value); }; - -var writeBytes = minimal.Array.prototype.set ? function writeBytes_set(val, buf, pos) { - buf.set(val, pos); // also works for plain array values -} -/* istanbul ignore next */ -: function writeBytes_for(val, buf, pos) { - for (var i = 0; i < val.length; ++i) { - buf[pos + i] = val[i]; +var writeBytes = minimal.Array.prototype.set + ? function writeBytes_set(val, buf, pos) { + buf.set(val, pos); } -}; - -/** - * Writes a sequence of bytes. - * @param {Uint8Array|string} value Buffer or base64 encoded string to write - * @returns {Writer} `this` - */ + : function writeBytes_for(val, buf, pos) { + for (var i = 0; i < val.length; ++i) + buf[pos + i] = val[i]; + }; Writer.prototype.bytes = function write_bytes(value) { var len = value.length >>> 0; - if (!len) return this._push(writeByte, 1, 0); + if (!len) + return this._push(writeByte, 1, 0); if (minimal.isString(value)) { var buf = Writer.alloc(len = base64.length(value)); base64.decode(value, buf, 0); @@ -1666,478 +881,265 @@ Writer.prototype.bytes = function write_bytes(value) { } return this.uint32(len)._push(writeBytes, len, value); }; - -/** - * Writes a string. - * @param {string} value Value to write - * @returns {Writer} `this` - */ Writer.prototype.string = function write_string(value) { var len = utf8.length(value); - return len ? this.uint32(len)._push(utf8.write, len, value) : this._push(writeByte, 1, 0); + return len + ? this.uint32(len)._push(utf8.write, len, value) + : this._push(writeByte, 1, 0); }; - -/** - * Forks this writer's state by pushing it to a stack. - * Calling {@link Writer#reset|reset} or {@link Writer#ldelim|ldelim} resets the writer to the previous state. - * @returns {Writer} `this` - */ Writer.prototype.fork = function fork() { this.states = new State(this); this.head = this.tail = new Op(noop, 0, 0); this.len = 0; return this; }; - -/** - * Resets this instance to the last state. - * @returns {Writer} `this` - */ Writer.prototype.reset = function reset() { if (this.states) { - this.head = this.states.head; - this.tail = this.states.tail; - this.len = this.states.len; + this.head = this.states.head; + this.tail = this.states.tail; + this.len = this.states.len; this.states = this.states.next; } else { this.head = this.tail = new Op(noop, 0, 0); - this.len = 0; + this.len = 0; } return this; }; - -/** - * Resets to the last state and appends the fork state's current write length as a varint followed by its operations. - * @returns {Writer} `this` - */ Writer.prototype.ldelim = function ldelim() { var head = this.head, tail = this.tail, - len = this.len; + len = this.len; this.reset().uint32(len); if (len) { - this.tail.next = head.next; // skip noop + this.tail.next = head.next; this.tail = tail; this.len += len; } return this; }; - -/** - * Finishes the write operation. - * @returns {Uint8Array} Finished buffer - */ Writer.prototype.finish = function finish() { var head = this.head.next, - // skip noop - buf = this.constructor.alloc(this.len), - pos = 0; + buf = this.constructor.alloc(this.len), + pos = 0; while (head) { head.fn(head.val, buf, pos); pos += head.len; head = head.next; } - // this.head = this.tail = null; return buf; }; - -Writer._configure = function (BufferWriter_) { +Writer._configure = function(BufferWriter_) { BufferWriter = BufferWriter_; }; var writer_buffer = BufferWriter$1; - -// extends Writer - (BufferWriter$1.prototype = Object.create(writer.prototype)).constructor = BufferWriter$1; - var Buffer = minimal.Buffer; - -/** - * Constructs a new buffer writer instance. - * @classdesc Wire format writer using node buffers. - * @extends Writer - * @constructor - */ function BufferWriter$1() { writer.call(this); } - -/** - * Allocates a buffer of the specified size. - * @param {number} size Buffer size - * @returns {Buffer} Buffer - */ BufferWriter$1.alloc = function alloc_buffer(size) { return (BufferWriter$1.alloc = minimal._Buffer_allocUnsafe)(size); }; - -var writeBytesBuffer = Buffer && Buffer.prototype instanceof Uint8Array && Buffer.prototype.set.name === "set" ? function writeBytesBuffer_set(val, buf, pos) { - buf.set(val, pos); // faster than copy (requires node >= 4 where Buffers extend Uint8Array and set is properly inherited) - // also works for plain array values -} -/* istanbul ignore next */ -: function writeBytesBuffer_copy(val, buf, pos) { - if (val.copy) // Buffer values - val.copy(buf, pos, 0, val.length);else for (var i = 0; i < val.length;) { - // plain array values - buf[pos++] = val[i++]; +var writeBytesBuffer = Buffer && Buffer.prototype instanceof Uint8Array && Buffer.prototype.set.name === "set" + ? function writeBytesBuffer_set(val, buf, pos) { + buf.set(val, pos); } -}; - -/** - * @override - */ + : function writeBytesBuffer_copy(val, buf, pos) { + if (val.copy) + val.copy(buf, pos, 0, val.length); + else for (var i = 0; i < val.length;) + buf[pos++] = val[i++]; + }; BufferWriter$1.prototype.bytes = function write_bytes_buffer(value) { - if (minimal.isString(value)) value = minimal._Buffer_from(value, "base64"); + if (minimal.isString(value)) + value = minimal._Buffer_from(value, "base64"); var len = value.length >>> 0; this.uint32(len); - if (len) this._push(writeBytesBuffer, len, value); + if (len) + this._push(writeBytesBuffer, len, value); return this; }; - function writeStringBuffer(val, buf, pos) { - if (val.length < 40) // plain js is faster for short strings (probably due to redundant assertions) - minimal.utf8.write(val, buf, pos);else buf.utf8Write(val, pos); + if (val.length < 40) + minimal.utf8.write(val, buf, pos); + else + buf.utf8Write(val, pos); } - -/** - * @override - */ BufferWriter$1.prototype.string = function write_string_buffer(value) { var len = Buffer.byteLength(value); this.uint32(len); - if (len) this._push(writeStringBuffer, len, value); + if (len) + this._push(writeStringBuffer, len, value); return this; }; var reader = Reader; - -var BufferReader; // cyclic - -var LongBits$2 = minimal.LongBits, - utf8$1 = minimal.utf8; - -/* istanbul ignore next */ +var BufferReader; +var LongBits$2 = minimal.LongBits, + utf8$1 = minimal.utf8; function indexOutOfRange(reader, writeLength) { return RangeError("index out of range: " + reader.pos + " + " + (writeLength || 1) + " > " + reader.len); } - -/** - * Constructs a new reader instance using the specified buffer. - * @classdesc Wire format reader using `Uint8Array` if available, otherwise `Array`. - * @constructor - * @param {Uint8Array} buffer Buffer to read from - */ function Reader(buffer) { - - /** - * Read buffer. - * @type {Uint8Array} - */ this.buf = buffer; - - /** - * Read buffer position. - * @type {number} - */ this.pos = 0; - - /** - * Read buffer length. - * @type {number} - */ this.len = buffer.length; } - -var create_array = typeof Uint8Array !== "undefined" ? function create_typed_array(buffer) { - if (buffer instanceof Uint8Array || Array.isArray(buffer)) return new Reader(buffer); - throw Error("illegal buffer"); -} -/* istanbul ignore next */ -: function create_array(buffer) { - if (Array.isArray(buffer)) return new Reader(buffer); - throw Error("illegal buffer"); -}; - -/** - * Creates a new reader using the specified buffer. - * @function - * @param {Uint8Array|Buffer} buffer Buffer to read from - * @returns {Reader|BufferReader} A {@link BufferReader} if `buffer` is a Buffer, otherwise a {@link Reader} - * @throws {Error} If `buffer` is not a valid buffer - */ -Reader.create = minimal.Buffer ? function create_buffer_setup(buffer) { - return (Reader.create = function create_buffer(buffer) { - return minimal.Buffer.isBuffer(buffer) ? new BufferReader(buffer) - /* istanbul ignore next */ - : create_array(buffer); - })(buffer); -} -/* istanbul ignore next */ -: create_array; - -Reader.prototype._slice = minimal.Array.prototype.subarray || /* istanbul ignore next */minimal.Array.prototype.slice; - -/** - * Reads a varint as an unsigned 32 bit value. - * @function - * @returns {number} Value read - */ -Reader.prototype.uint32 = function read_uint32_setup() { - var value = 4294967295; // optimizer type-hint, tends to deopt otherwise (?!) +var create_array = typeof Uint8Array !== "undefined" + ? function create_typed_array(buffer) { + if (buffer instanceof Uint8Array || Array.isArray(buffer)) + return new Reader(buffer); + throw Error("illegal buffer"); + } + : function create_array(buffer) { + if (Array.isArray(buffer)) + return new Reader(buffer); + throw Error("illegal buffer"); + }; +Reader.create = minimal.Buffer + ? function create_buffer_setup(buffer) { + return (Reader.create = function create_buffer(buffer) { + return minimal.Buffer.isBuffer(buffer) + ? new BufferReader(buffer) + : create_array(buffer); + })(buffer); + } + : create_array; +Reader.prototype._slice = minimal.Array.prototype.subarray || minimal.Array.prototype.slice; +Reader.prototype.uint32 = (function read_uint32_setup() { + var value = 4294967295; return function read_uint32() { - value = (this.buf[this.pos] & 127) >>> 0;if (this.buf[this.pos++] < 128) return value; - value = (value | (this.buf[this.pos] & 127) << 7) >>> 0;if (this.buf[this.pos++] < 128) return value; - value = (value | (this.buf[this.pos] & 127) << 14) >>> 0;if (this.buf[this.pos++] < 128) return value; - value = (value | (this.buf[this.pos] & 127) << 21) >>> 0;if (this.buf[this.pos++] < 128) return value; - value = (value | (this.buf[this.pos] & 15) << 28) >>> 0;if (this.buf[this.pos++] < 128) return value; - - /* istanbul ignore if */ + value = ( this.buf[this.pos] & 127 ) >>> 0; if (this.buf[this.pos++] < 128) return value; + value = (value | (this.buf[this.pos] & 127) << 7) >>> 0; if (this.buf[this.pos++] < 128) return value; + value = (value | (this.buf[this.pos] & 127) << 14) >>> 0; if (this.buf[this.pos++] < 128) return value; + value = (value | (this.buf[this.pos] & 127) << 21) >>> 0; if (this.buf[this.pos++] < 128) return value; + value = (value | (this.buf[this.pos] & 15) << 28) >>> 0; if (this.buf[this.pos++] < 128) return value; if ((this.pos += 5) > this.len) { this.pos = this.len; throw indexOutOfRange(this, 10); } return value; }; -}(); - -/** - * Reads a varint as a signed 32 bit value. - * @returns {number} Value read - */ +})(); Reader.prototype.int32 = function read_int32() { return this.uint32() | 0; }; - -/** - * Reads a zig-zag encoded varint as a signed 32 bit value. - * @returns {number} Value read - */ Reader.prototype.sint32 = function read_sint32() { var value = this.uint32(); return value >>> 1 ^ -(value & 1) | 0; }; - -/* eslint-disable no-invalid-this */ - function readLongVarint() { - // tends to deopt with local vars for octet etc. var bits = new LongBits$2(0, 0); var i = 0; if (this.len - this.pos > 4) { - // fast route (lo) for (; i < 4; ++i) { - // 1st..4th bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0; - if (this.buf[this.pos++] < 128) return bits; + if (this.buf[this.pos++] < 128) + return bits; } - // 5th bits.lo = (bits.lo | (this.buf[this.pos] & 127) << 28) >>> 0; - bits.hi = (bits.hi | (this.buf[this.pos] & 127) >> 4) >>> 0; - if (this.buf[this.pos++] < 128) return bits; + bits.hi = (bits.hi | (this.buf[this.pos] & 127) >> 4) >>> 0; + if (this.buf[this.pos++] < 128) + return bits; i = 0; } else { for (; i < 3; ++i) { - /* istanbul ignore if */ - if (this.pos >= this.len) throw indexOutOfRange(this); - // 1st..3th + if (this.pos >= this.len) + throw indexOutOfRange(this); bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0; - if (this.buf[this.pos++] < 128) return bits; + if (this.buf[this.pos++] < 128) + return bits; } - // 4th bits.lo = (bits.lo | (this.buf[this.pos++] & 127) << i * 7) >>> 0; return bits; } if (this.len - this.pos > 4) { - // fast route (hi) for (; i < 5; ++i) { - // 6th..10th bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0; - if (this.buf[this.pos++] < 128) return bits; + if (this.buf[this.pos++] < 128) + return bits; } } else { for (; i < 5; ++i) { - /* istanbul ignore if */ - if (this.pos >= this.len) throw indexOutOfRange(this); - // 6th..10th + if (this.pos >= this.len) + throw indexOutOfRange(this); bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0; - if (this.buf[this.pos++] < 128) return bits; + if (this.buf[this.pos++] < 128) + return bits; } } - /* istanbul ignore next */ throw Error("invalid varint encoding"); } - -/* eslint-enable no-invalid-this */ - -/** - * Reads a varint as a signed 64 bit value. - * @name Reader#int64 - * @function - * @returns {Long} Value read - */ - -/** - * Reads a varint as an unsigned 64 bit value. - * @name Reader#uint64 - * @function - * @returns {Long} Value read - */ - -/** - * Reads a zig-zag encoded varint as a signed 64 bit value. - * @name Reader#sint64 - * @function - * @returns {Long} Value read - */ - -/** - * Reads a varint as a boolean. - * @returns {boolean} Value read - */ Reader.prototype.bool = function read_bool() { return this.uint32() !== 0; }; - function readFixed32_end(buf, end) { - // note that this uses `end`, not `pos` - return (buf[end - 4] | buf[end - 3] << 8 | buf[end - 2] << 16 | buf[end - 1] << 24) >>> 0; + return (buf[end - 4] + | buf[end - 3] << 8 + | buf[end - 2] << 16 + | buf[end - 1] << 24) >>> 0; } - -/** - * Reads fixed 32 bits as an unsigned 32 bit integer. - * @returns {number} Value read - */ Reader.prototype.fixed32 = function read_fixed32() { - - /* istanbul ignore if */ - if (this.pos + 4 > this.len) throw indexOutOfRange(this, 4); - + if (this.pos + 4 > this.len) + throw indexOutOfRange(this, 4); return readFixed32_end(this.buf, this.pos += 4); }; - -/** - * Reads fixed 32 bits as a signed 32 bit integer. - * @returns {number} Value read - */ Reader.prototype.sfixed32 = function read_sfixed32() { - - /* istanbul ignore if */ - if (this.pos + 4 > this.len) throw indexOutOfRange(this, 4); - + if (this.pos + 4 > this.len) + throw indexOutOfRange(this, 4); return readFixed32_end(this.buf, this.pos += 4) | 0; }; - -/* eslint-disable no-invalid-this */ - -function readFixed64() /* this: Reader */{ - - /* istanbul ignore if */ - if (this.pos + 8 > this.len) throw indexOutOfRange(this, 8); - +function readFixed64( ) { + if (this.pos + 8 > this.len) + throw indexOutOfRange(this, 8); return new LongBits$2(readFixed32_end(this.buf, this.pos += 4), readFixed32_end(this.buf, this.pos += 4)); } - -/* eslint-enable no-invalid-this */ - -/** - * Reads fixed 64 bits. - * @name Reader#fixed64 - * @function - * @returns {Long} Value read - */ - -/** - * Reads zig-zag encoded fixed 64 bits. - * @name Reader#sfixed64 - * @function - * @returns {Long} Value read - */ - -/** - * Reads a float (32 bit) as a number. - * @function - * @returns {number} Value read - */ Reader.prototype.float = function read_float() { - - /* istanbul ignore if */ - if (this.pos + 4 > this.len) throw indexOutOfRange(this, 4); - + if (this.pos + 4 > this.len) + throw indexOutOfRange(this, 4); var value = minimal.float.readFloatLE(this.buf, this.pos); this.pos += 4; return value; }; - -/** - * Reads a double (64 bit float) as a number. - * @function - * @returns {number} Value read - */ Reader.prototype.double = function read_double() { - - /* istanbul ignore if */ - if (this.pos + 8 > this.len) throw indexOutOfRange(this, 4); - + if (this.pos + 8 > this.len) + throw indexOutOfRange(this, 4); var value = minimal.float.readDoubleLE(this.buf, this.pos); this.pos += 8; return value; }; - -/** - * Reads a sequence of bytes preceeded by its length as a varint. - * @returns {Uint8Array} Value read - */ Reader.prototype.bytes = function read_bytes() { var length = this.uint32(), - start = this.pos, - end = this.pos + length; - - /* istanbul ignore if */ - if (end > this.len) throw indexOutOfRange(this, length); - + start = this.pos, + end = this.pos + length; + if (end > this.len) + throw indexOutOfRange(this, length); this.pos += length; - if (Array.isArray(this.buf)) // plain array + if (Array.isArray(this.buf)) return this.buf.slice(start, end); - return start === end // fix for IE 10/Win8 and others' subarray returning array of size 1 - ? new this.buf.constructor(0) : this._slice.call(this.buf, start, end); + return start === end + ? new this.buf.constructor(0) + : this._slice.call(this.buf, start, end); }; - -/** - * Reads a string preceeded by its byte length as a varint. - * @returns {string} Value read - */ Reader.prototype.string = function read_string() { var bytes = this.bytes(); return utf8$1.read(bytes, 0, bytes.length); }; - -/** - * Skips the specified number of bytes if specified, otherwise skips a varint. - * @param {number} [length] Length if known, otherwise a varint is assumed - * @returns {Reader} `this` - */ Reader.prototype.skip = function skip(length) { if (typeof length === "number") { - /* istanbul ignore if */ - if (this.pos + length > this.len) throw indexOutOfRange(this, length); + if (this.pos + length > this.len) + throw indexOutOfRange(this, length); this.pos += length; } else { do { - /* istanbul ignore if */ - if (this.pos >= this.len) throw indexOutOfRange(this); + if (this.pos >= this.len) + throw indexOutOfRange(this); } while (this.buf[this.pos++] & 128); } return this; }; - -/** - * Skips the next element of the specified wire type. - * @param {number} wireType Wire type received - * @returns {Reader} `this` - */ -Reader.prototype.skipType = function (wireType) { +Reader.prototype.skipType = function(wireType) { switch (wireType) { case 0: this.skip(); @@ -2156,207 +1158,99 @@ Reader.prototype.skipType = function (wireType) { case 5: this.skip(4); break; - - /* istanbul ignore next */ default: throw Error("invalid wire type " + wireType + " at offset " + this.pos); } return this; }; - -Reader._configure = function (BufferReader_) { +Reader._configure = function(BufferReader_) { BufferReader = BufferReader_; - - var fn = minimal.Long ? "toLong" : /* istanbul ignore next */"toNumber"; + var fn = minimal.Long ? "toLong" : "toNumber"; minimal.merge(Reader.prototype, { - int64: function read_int64() { return readLongVarint.call(this)[fn](false); }, - uint64: function read_uint64() { return readLongVarint.call(this)[fn](true); }, - sint64: function read_sint64() { return readLongVarint.call(this).zzDecode()[fn](false); }, - fixed64: function read_fixed64() { return readFixed64.call(this)[fn](true); }, - sfixed64: function read_sfixed64() { return readFixed64.call(this)[fn](false); } - }); }; var reader_buffer = BufferReader$1; - -// extends Reader - (BufferReader$1.prototype = Object.create(reader.prototype)).constructor = BufferReader$1; - -/** - * Constructs a new buffer reader instance. - * @classdesc Wire format reader using node buffers. - * @extends Reader - * @constructor - * @param {Buffer} buffer Buffer to read from - */ function BufferReader$1(buffer) { - reader.call(this, buffer); - - /** - * Read buffer. - * @name BufferReader#buf - * @type {Buffer} - */ + reader.call(this, buffer); } - -/* istanbul ignore else */ -if (minimal.Buffer) BufferReader$1.prototype._slice = minimal.Buffer.prototype.slice; - -/** - * @override - */ +if (minimal.Buffer) + BufferReader$1.prototype._slice = minimal.Buffer.prototype.slice; BufferReader$1.prototype.string = function read_string_buffer() { - var len = this.uint32(); // modifies pos - return this.buf.utf8Slice(this.pos, this.pos = Math.min(this.pos + len, this.len)); + var len = this.uint32(); + return this.buf.utf8Slice(this.pos, this.pos = Math.min(this.pos + len, this.len)); }; var service = Service; - -// Extends EventEmitter (Service.prototype = Object.create(minimal.EventEmitter.prototype)).constructor = Service; - -/** - * A service method callback as used by {@link rpc.ServiceMethod|ServiceMethod}. - * - * Differs from {@link RPCImplCallback} in that it is an actual callback of a service method which may not return `response = null`. - * @typedef rpc.ServiceMethodCallback - * @template TRes extends Message - * @type {function} - * @param {Error|null} error Error, if any - * @param {TRes} [response] Response message - * @returns {undefined} - */ - -/** - * A service method part of a {@link rpc.Service} as created by {@link Service.create}. - * @typedef rpc.ServiceMethod - * @template TReq extends Message - * @template TRes extends Message - * @type {function} - * @param {TReq|Properties} request Request message or plain object - * @param {rpc.ServiceMethodCallback} [callback] Node-style callback called with the error, if any, and the response message - * @returns {Promise>} Promise if `callback` has been omitted, otherwise `undefined` - */ - -/** - * Constructs a new RPC service instance. - * @classdesc An RPC service as returned by {@link Service#create}. - * @exports rpc.Service - * @extends util.EventEmitter - * @constructor - * @param {RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ function Service(rpcImpl, requestDelimited, responseDelimited) { - - if (typeof rpcImpl !== "function") throw TypeError("rpcImpl must be a function"); - + if (typeof rpcImpl !== "function") + throw TypeError("rpcImpl must be a function"); minimal.EventEmitter.call(this); - - /** - * RPC implementation. Becomes `null` once the service is ended. - * @type {RPCImpl|null} - */ this.rpcImpl = rpcImpl; - - /** - * Whether requests are length-delimited. - * @type {boolean} - */ this.requestDelimited = Boolean(requestDelimited); - - /** - * Whether responses are length-delimited. - * @type {boolean} - */ this.responseDelimited = Boolean(responseDelimited); } - -/** - * Calls a service method through {@link rpc.Service#rpcImpl|rpcImpl}. - * @param {Method|rpc.ServiceMethod} method Reflected or static method - * @param {Constructor} requestCtor Request constructor - * @param {Constructor} responseCtor Response constructor - * @param {TReq|Properties} request Request message or plain object - * @param {rpc.ServiceMethodCallback} callback Service callback - * @returns {undefined} - * @template TReq extends Message - * @template TRes extends Message - */ Service.prototype.rpcCall = function rpcCall(method, requestCtor, responseCtor, request, callback) { - - if (!request) throw TypeError("request must be specified"); - + if (!request) + throw TypeError("request must be specified"); var self = this; - if (!callback) return minimal.asPromise(rpcCall, self, method, requestCtor, responseCtor, request); - + if (!callback) + return minimal.asPromise(rpcCall, self, method, requestCtor, responseCtor, request); if (!self.rpcImpl) { - setTimeout(function () { - callback(Error("already ended")); - }, 0); + setTimeout(function() { callback(Error("already ended")); }, 0); return undefined; } - try { - return self.rpcImpl(method, requestCtor[self.requestDelimited ? "encodeDelimited" : "encode"](request).finish(), function rpcCallback(err, response) { - - if (err) { - self.emit("error", err, method); - return callback(err); - } - - if (response === null) { - self.end( /* endedByRPC */true); - return undefined; - } - - if (!(response instanceof responseCtor)) { - try { - response = responseCtor[self.responseDelimited ? "decodeDelimited" : "decode"](response); - } catch (err) { + return self.rpcImpl( + method, + requestCtor[self.requestDelimited ? "encodeDelimited" : "encode"](request).finish(), + function rpcCallback(err, response) { + if (err) { self.emit("error", err, method); return callback(err); } + if (response === null) { + self.end( true); + return undefined; + } + if (!(response instanceof responseCtor)) { + try { + response = responseCtor[self.responseDelimited ? "decodeDelimited" : "decode"](response); + } catch (err) { + self.emit("error", err, method); + return callback(err); + } + } + self.emit("data", response, method); + return callback(null, response); } - - self.emit("data", response, method); - return callback(null, response); - }); + ); } catch (err) { self.emit("error", err, method); - setTimeout(function () { - callback(err); - }, 0); + setTimeout(function() { callback(err); }, 0); return undefined; } }; - -/** - * Ends this service and emits the `end` event. - * @param {boolean} [endedByRPC=false] Whether the service has been ended by the RPC implementation. - * @returns {rpc.Service} `this` - */ Service.prototype.end = function end(endedByRPC) { if (this.rpcImpl) { - if (!endedByRPC) // signal end to rpcImpl + if (!endedByRPC) this.rpcImpl(null, null, null); this.rpcImpl = null; this.emit("end").off(); @@ -2365,83 +1259,29 @@ Service.prototype.end = function end(endedByRPC) { }; var rpc_1 = createCommonjsModule(function (module, exports) { - - /** - * Streaming RPC helpers. - * @namespace - */ - - var rpc = exports; - - /** - * RPC implementation passed to {@link Service#create} performing a service request on network level, i.e. by utilizing http requests or websockets. - * @typedef RPCImpl - * @type {function} - * @param {Method|rpc.ServiceMethod,Message<{}>>} method Reflected or static method being called - * @param {Uint8Array} requestData Request data - * @param {RPCImplCallback} callback Callback function - * @returns {undefined} - * @example - * function rpcImpl(method, requestData, callback) { - * if (protobuf.util.lcFirst(method.name) !== "myMethod") // compatible with static code - * throw Error("no such method"); - * asynchronouslyObtainAResponse(requestData, function(err, responseData) { - * callback(err, responseData); - * }); - * } - */ - - /** - * Node-style callback as used by {@link RPCImpl}. - * @typedef RPCImplCallback - * @type {function} - * @param {Error|null} error Error, if any, otherwise `null` - * @param {Uint8Array|null} [response] Response data or `null` to signal end of stream, if there hasn't been an error - * @returns {undefined} - */ - - rpc.Service = service; +var rpc = exports; +rpc.Service = service; }); var roots = {}; var indexMinimal = createCommonjsModule(function (module, exports) { - - var protobuf = exports; - - /** - * Build type, one of `"full"`, `"light"` or `"minimal"`. - * @name build - * @type {string} - * @const - */ - protobuf.build = "minimal"; - - // Serialization - protobuf.Writer = writer; - protobuf.BufferWriter = writer_buffer; - protobuf.Reader = reader; - protobuf.BufferReader = reader_buffer; - - // Utility - protobuf.util = minimal; - protobuf.rpc = rpc_1; - protobuf.roots = roots; - protobuf.configure = configure; - - /* istanbul ignore next */ - /** - * Reconfigures the library according to the environment. - * @returns {undefined} - */ - function configure() { +var protobuf = exports; +protobuf.build = "minimal"; +protobuf.Writer = writer; +protobuf.BufferWriter = writer_buffer; +protobuf.Reader = reader; +protobuf.BufferReader = reader_buffer; +protobuf.util = minimal; +protobuf.rpc = rpc_1; +protobuf.roots = roots; +protobuf.configure = configure; +function configure() { protobuf.Reader._configure(protobuf.BufferReader); protobuf.util._configure(); - } - - // Set up buffer utility according to the environment - protobuf.Writer._configure(protobuf.BufferWriter); - configure(); +} +protobuf.Writer._configure(protobuf.BufferWriter); +configure(); }); var minimal$1 = indexMinimal; @@ -2450,119 +1290,39 @@ var minimal_2 = minimal$1.Writer; var minimal_3 = minimal$1.util; var minimal_4 = minimal$1.roots; -/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/ - -// Common aliases -var $Reader = minimal_1, - $Writer = minimal_2, - $util = minimal_3; - -// Exported root namespace +var $Reader = minimal_1, $Writer = minimal_2, $util = minimal_3; var $root = minimal_4["default"] || (minimal_4["default"] = {}); - -var Message = $root.Message = function () { - - /** - * Properties of a Message. - * @exports IMessage - * @interface IMessage - * @property {number|null} [senderId] Message senderId - * @property {number|null} [recipientId] Message recipientId - * @property {number|null} [serviceId] Message serviceId - * @property {Uint8Array|null} [content] Message content - */ - - /** - * Constructs a new Message. - * @exports Message - * @classdesc Represents a Message. - * @implements IMessage - * @constructor - * @param {IMessage=} [properties] Properties to set - */ +var Message = $root.Message = (function () { function Message(properties) { - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * Message senderId. - * @member {number} senderId - * @memberof Message - * @instance - */ Message.prototype.senderId = 0; - - /** - * Message recipientId. - * @member {number} recipientId - * @memberof Message - * @instance - */ Message.prototype.recipientId = 0; - - /** - * Message serviceId. - * @member {number} serviceId - * @memberof Message - * @instance - */ Message.prototype.serviceId = 0; - - /** - * Message content. - * @member {Uint8Array} content - * @memberof Message - * @instance - */ Message.prototype.content = $util.newBuffer([]); - - /** - * Creates a new Message instance using the specified properties. - * @function create - * @memberof Message - * @static - * @param {IMessage=} [properties] Properties to set - * @returns {Message} Message instance - */ Message.create = function create(properties) { return new Message(properties); }; - - /** - * Encodes the specified Message message. Does not implicitly {@link Message.verify|verify} messages. - * @function encode - * @memberof Message - * @static - * @param {IMessage} message Message message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ Message.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); - if (message.senderId != null && message.hasOwnProperty("senderId")) writer.uint32( /* id 1, wireType 0 =*/8).uint32(message.senderId); - if (message.recipientId != null && message.hasOwnProperty("recipientId")) writer.uint32( /* id 2, wireType 0 =*/16).uint32(message.recipientId); - if (message.serviceId != null && message.hasOwnProperty("serviceId")) writer.uint32( /* id 3, wireType 0 =*/24).uint32(message.serviceId); - if (message.content != null && message.hasOwnProperty("content")) writer.uint32( /* id 4, wireType 2 =*/34).bytes(message.content); + if (!writer) + writer = $Writer.create(); + if (message.senderId != null && message.hasOwnProperty("senderId")) + writer.uint32(8).uint32(message.senderId); + if (message.recipientId != null && message.hasOwnProperty("recipientId")) + writer.uint32(16).uint32(message.recipientId); + if (message.serviceId != null && message.hasOwnProperty("serviceId")) + writer.uint32(24).uint32(message.serviceId); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(34).bytes(message.content); return writer; }; - - /** - * Decodes a Message message from the specified reader or buffer. - * @function decode - * @memberof Message - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {Message} Message - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ Message.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.Message(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.Message(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -2585,136 +1345,46 @@ var Message = $root.Message = function () { } return message; }; - return Message; -}(); - -var userMessage = $root.userMessage = function () { - - /** - * Namespace userMessage. - * @exports userMessage - * @namespace - */ +})(); +var userMessage = $root.userMessage = (function () { var userMessage = {}; - - userMessage.Message = function () { - - /** - * Properties of a Message. - * @memberof userMessage - * @interface IMessage - * @property {number|null} [length] Message length - * @property {userMessage.Message.Type|null} [type] Message type - * @property {Uint8Array|null} [full] Message full - * @property {userMessage.Message.IChunk|null} [chunk] Message chunk - */ - - /** - * Constructs a new Message. - * @memberof userMessage - * @classdesc Represents a Message. - * @implements IMessage - * @constructor - * @param {userMessage.IMessage=} [properties] Properties to set - */ + userMessage.Message = (function () { function Message(properties) { - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * Message length. - * @member {number} length - * @memberof userMessage.Message - * @instance - */ Message.prototype.length = 0; - - /** - * Message type. - * @member {userMessage.Message.Type} type - * @memberof userMessage.Message - * @instance - */ Message.prototype.type = 0; - - /** - * Message full. - * @member {Uint8Array} full - * @memberof userMessage.Message - * @instance - */ Message.prototype.full = $util.newBuffer([]); - - /** - * Message chunk. - * @member {userMessage.Message.IChunk|null|undefined} chunk - * @memberof userMessage.Message - * @instance - */ Message.prototype.chunk = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields = void 0; - - /** - * Message contentType. - * @member {"full"|"chunk"|undefined} contentType - * @memberof userMessage.Message - * @instance - */ + var $oneOfFields; Object.defineProperty(Message.prototype, "contentType", { get: $util.oneOfGetter($oneOfFields = ["full", "chunk"]), set: $util.oneOfSetter($oneOfFields) }); - - /** - * Creates a new Message instance using the specified properties. - * @function create - * @memberof userMessage.Message - * @static - * @param {userMessage.IMessage=} [properties] Properties to set - * @returns {userMessage.Message} Message instance - */ Message.create = function create(properties) { return new Message(properties); }; - - /** - * Encodes the specified Message message. Does not implicitly {@link userMessage.Message.verify|verify} messages. - * @function encode - * @memberof userMessage.Message - * @static - * @param {userMessage.IMessage} message Message message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ Message.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); - if (message.length != null && message.hasOwnProperty("length")) writer.uint32( /* id 1, wireType 0 =*/8).uint32(message.length); - if (message.type != null && message.hasOwnProperty("type")) writer.uint32( /* id 2, wireType 0 =*/16).int32(message.type); - if (message.full != null && message.hasOwnProperty("full")) writer.uint32( /* id 3, wireType 2 =*/26).bytes(message.full); - if (message.chunk != null && message.hasOwnProperty("chunk")) $root.userMessage.Message.Chunk.encode(message.chunk, writer.uint32( /* id 4, wireType 2 =*/34).fork()).ldelim(); + if (!writer) + writer = $Writer.create(); + if (message.length != null && message.hasOwnProperty("length")) + writer.uint32(8).uint32(message.length); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(16).int32(message.type); + if (message.full != null && message.hasOwnProperty("full")) + writer.uint32(26).bytes(message.full); + if (message.chunk != null && message.hasOwnProperty("chunk")) + $root.userMessage.Message.Chunk.encode(message.chunk, writer.uint32(34).fork()).ldelim(); return writer; }; - - /** - * Decodes a Message message from the specified reader or buffer. - * @function decode - * @memberof userMessage.Message - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {userMessage.Message} Message - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ Message.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.userMessage.Message(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.userMessage.Message(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -2737,100 +1407,34 @@ var userMessage = $root.userMessage = function () { } return message; }; - - Message.Chunk = function () { - - /** - * Properties of a Chunk. - * @memberof userMessage.Message - * @interface IChunk - * @property {number|null} [id] Chunk id - * @property {number|null} [nb] Chunk nb - * @property {Uint8Array|null} [content] Chunk content - */ - - /** - * Constructs a new Chunk. - * @memberof userMessage.Message - * @classdesc Represents a Chunk. - * @implements IChunk - * @constructor - * @param {userMessage.Message.IChunk=} [properties] Properties to set - */ + Message.Chunk = (function () { function Chunk(properties) { - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * Chunk id. - * @member {number} id - * @memberof userMessage.Message.Chunk - * @instance - */ Chunk.prototype.id = 0; - - /** - * Chunk nb. - * @member {number} nb - * @memberof userMessage.Message.Chunk - * @instance - */ Chunk.prototype.nb = 0; - - /** - * Chunk content. - * @member {Uint8Array} content - * @memberof userMessage.Message.Chunk - * @instance - */ Chunk.prototype.content = $util.newBuffer([]); - - /** - * Creates a new Chunk instance using the specified properties. - * @function create - * @memberof userMessage.Message.Chunk - * @static - * @param {userMessage.Message.IChunk=} [properties] Properties to set - * @returns {userMessage.Message.Chunk} Chunk instance - */ Chunk.create = function create(properties) { return new Chunk(properties); }; - - /** - * Encodes the specified Chunk message. Does not implicitly {@link userMessage.Message.Chunk.verify|verify} messages. - * @function encode - * @memberof userMessage.Message.Chunk - * @static - * @param {userMessage.Message.IChunk} message Chunk message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ Chunk.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); - if (message.id != null && message.hasOwnProperty("id")) writer.uint32( /* id 1, wireType 0 =*/8).uint32(message.id); - if (message.nb != null && message.hasOwnProperty("nb")) writer.uint32( /* id 2, wireType 0 =*/16).uint32(message.nb); - if (message.content != null && message.hasOwnProperty("content")) writer.uint32( /* id 4, wireType 2 =*/34).bytes(message.content); + if (!writer) + writer = $Writer.create(); + if (message.id != null && message.hasOwnProperty("id")) + writer.uint32(8).uint32(message.id); + if (message.nb != null && message.hasOwnProperty("nb")) + writer.uint32(16).uint32(message.nb); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(34).bytes(message.content); return writer; }; - - /** - * Decodes a Chunk message from the specified reader or buffer. - * @function decode - * @memberof userMessage.Message.Chunk - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {userMessage.Message.Chunk} Chunk - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ Chunk.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.userMessage.Message.Chunk(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.userMessage.Message.Chunk(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -2850,147 +1454,53 @@ var userMessage = $root.userMessage = function () { } return message; }; - return Chunk; - }(); - - /** - * Type enum. - * @name userMessage.Message.Type - * @enum {string} - * @property {number} STRING=0 STRING value - * @property {number} U_INT_8_ARRAY=1 U_INT_8_ARRAY value - */ - Message.Type = function () { - var valuesById = {}, - values = Object.create(valuesById); + })(); + Message.Type = (function () { + var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "STRING"] = 0; values[valuesById[1] = "U_INT_8_ARRAY"] = 1; return values; - }(); - + })(); return Message; - }(); - + })(); return userMessage; -}(); - -var channelBuilder = $root.channelBuilder = function () { - - /** - * Namespace channelBuilder. - * @exports channelBuilder - * @namespace - */ +})(); +var channelBuilder = $root.channelBuilder = (function () { var channelBuilder = {}; - - channelBuilder.Message = function () { - - /** - * Properties of a Message. - * @memberof channelBuilder - * @interface IMessage - * @property {channelBuilder.INegotiation|null} [negotiation] Message negotiation - * @property {Uint8Array|null} [connectionRequest] Message connectionRequest - * @property {boolean|null} [connectionResponse] Message connectionResponse - */ - - /** - * Constructs a new Message. - * @memberof channelBuilder - * @classdesc Represents a Message. - * @implements IMessage - * @constructor - * @param {channelBuilder.IMessage=} [properties] Properties to set - */ + channelBuilder.Message = (function () { function Message(properties) { - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * Message negotiation. - * @member {channelBuilder.INegotiation|null|undefined} negotiation - * @memberof channelBuilder.Message - * @instance - */ Message.prototype.negotiation = null; - - /** - * Message connectionRequest. - * @member {Uint8Array} connectionRequest - * @memberof channelBuilder.Message - * @instance - */ Message.prototype.connectionRequest = $util.newBuffer([]); - - /** - * Message connectionResponse. - * @member {boolean} connectionResponse - * @memberof channelBuilder.Message - * @instance - */ Message.prototype.connectionResponse = false; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields = void 0; - - /** - * Message type. - * @member {"negotiation"|"connectionRequest"|"connectionResponse"|undefined} type - * @memberof channelBuilder.Message - * @instance - */ + var $oneOfFields; Object.defineProperty(Message.prototype, "type", { get: $util.oneOfGetter($oneOfFields = ["negotiation", "connectionRequest", "connectionResponse"]), set: $util.oneOfSetter($oneOfFields) }); - - /** - * Creates a new Message instance using the specified properties. - * @function create - * @memberof channelBuilder.Message - * @static - * @param {channelBuilder.IMessage=} [properties] Properties to set - * @returns {channelBuilder.Message} Message instance - */ Message.create = function create(properties) { return new Message(properties); }; - - /** - * Encodes the specified Message message. Does not implicitly {@link channelBuilder.Message.verify|verify} messages. - * @function encode - * @memberof channelBuilder.Message - * @static - * @param {channelBuilder.IMessage} message Message message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ Message.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); - if (message.negotiation != null && message.hasOwnProperty("negotiation")) $root.channelBuilder.Negotiation.encode(message.negotiation, writer.uint32( /* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.connectionRequest != null && message.hasOwnProperty("connectionRequest")) writer.uint32( /* id 2, wireType 2 =*/18).bytes(message.connectionRequest); - if (message.connectionResponse != null && message.hasOwnProperty("connectionResponse")) writer.uint32( /* id 3, wireType 0 =*/24).bool(message.connectionResponse); + if (!writer) + writer = $Writer.create(); + if (message.negotiation != null && message.hasOwnProperty("negotiation")) + $root.channelBuilder.Negotiation.encode(message.negotiation, writer.uint32(10).fork()).ldelim(); + if (message.connectionRequest != null && message.hasOwnProperty("connectionRequest")) + writer.uint32(18).bytes(message.connectionRequest); + if (message.connectionResponse != null && message.hasOwnProperty("connectionResponse")) + writer.uint32(24).bool(message.connectionResponse); return writer; }; - - /** - * Decodes a Message message from the specified reader or buffer. - * @function decode - * @memberof channelBuilder.Message - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {channelBuilder.Message} Message - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ Message.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.channelBuilder.Message(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.channelBuilder.Message(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -3010,93 +1520,33 @@ var channelBuilder = $root.channelBuilder = function () { } return message; }; - return Message; - }(); - - channelBuilder.Negotiation = function () { - - /** - * Properties of a Negotiation. - * @memberof channelBuilder - * @interface INegotiation - * @property {channelBuilder.IInfo|null} [initiator] Negotiation initiator - * @property {channelBuilder.IInfo|null} [passive] Negotiation passive - */ - - /** - * Constructs a new Negotiation. - * @memberof channelBuilder - * @classdesc Represents a Negotiation. - * @implements INegotiation - * @constructor - * @param {channelBuilder.INegotiation=} [properties] Properties to set - */ + })(); + channelBuilder.Negotiation = (function () { function Negotiation(properties) { - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * Negotiation initiator. - * @member {channelBuilder.IInfo|null|undefined} initiator - * @memberof channelBuilder.Negotiation - * @instance - */ Negotiation.prototype.initiator = null; - - /** - * Negotiation passive. - * @member {channelBuilder.IInfo|null|undefined} passive - * @memberof channelBuilder.Negotiation - * @instance - */ Negotiation.prototype.passive = null; - - /** - * Creates a new Negotiation instance using the specified properties. - * @function create - * @memberof channelBuilder.Negotiation - * @static - * @param {channelBuilder.INegotiation=} [properties] Properties to set - * @returns {channelBuilder.Negotiation} Negotiation instance - */ Negotiation.create = function create(properties) { return new Negotiation(properties); }; - - /** - * Encodes the specified Negotiation message. Does not implicitly {@link channelBuilder.Negotiation.verify|verify} messages. - * @function encode - * @memberof channelBuilder.Negotiation - * @static - * @param {channelBuilder.INegotiation} message Negotiation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ Negotiation.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); - if (message.initiator != null && message.hasOwnProperty("initiator")) $root.channelBuilder.Info.encode(message.initiator, writer.uint32( /* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.passive != null && message.hasOwnProperty("passive")) $root.channelBuilder.Info.encode(message.passive, writer.uint32( /* id 2, wireType 2 =*/18).fork()).ldelim(); + if (!writer) + writer = $Writer.create(); + if (message.initiator != null && message.hasOwnProperty("initiator")) + $root.channelBuilder.Info.encode(message.initiator, writer.uint32(10).fork()).ldelim(); + if (message.passive != null && message.hasOwnProperty("passive")) + $root.channelBuilder.Info.encode(message.passive, writer.uint32(18).fork()).ldelim(); return writer; }; - - /** - * Decodes a Negotiation message from the specified reader or buffer. - * @function decode - * @memberof channelBuilder.Negotiation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {channelBuilder.Negotiation} Negotiation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ Negotiation.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.channelBuilder.Negotiation(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.channelBuilder.Negotiation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -3113,143 +1563,48 @@ var channelBuilder = $root.channelBuilder = function () { } return message; }; - return Negotiation; - }(); - - channelBuilder.Info = function () { - - /** - * Properties of an Info. - * @memberof channelBuilder - * @interface IInfo - * @property {number|null} [id] Info id - * @property {string|null} [wss] Info wss - * @property {number|null} [wcId] Info wcId - * @property {boolean|null} [wsSupported] Info wsSupported - * @property {boolean|null} [wsTried] Info wsTried - * @property {boolean|null} [dcSupported] Info dcSupported - * @property {boolean|null} [dcTried] Info dcTried - */ - - /** - * Constructs a new Info. - * @memberof channelBuilder - * @classdesc Represents an Info. - * @implements IInfo - * @constructor - * @param {channelBuilder.IInfo=} [properties] Properties to set - */ + })(); + channelBuilder.Info = (function () { function Info(properties) { - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * Info id. - * @member {number} id - * @memberof channelBuilder.Info - * @instance - */ Info.prototype.id = 0; - - /** - * Info wss. - * @member {string} wss - * @memberof channelBuilder.Info - * @instance - */ Info.prototype.wss = ""; - - /** - * Info wcId. - * @member {number} wcId - * @memberof channelBuilder.Info - * @instance - */ Info.prototype.wcId = 0; - - /** - * Info wsSupported. - * @member {boolean} wsSupported - * @memberof channelBuilder.Info - * @instance - */ Info.prototype.wsSupported = false; - - /** - * Info wsTried. - * @member {boolean} wsTried - * @memberof channelBuilder.Info - * @instance - */ Info.prototype.wsTried = false; - - /** - * Info dcSupported. - * @member {boolean} dcSupported - * @memberof channelBuilder.Info - * @instance - */ Info.prototype.dcSupported = false; - - /** - * Info dcTried. - * @member {boolean} dcTried - * @memberof channelBuilder.Info - * @instance - */ Info.prototype.dcTried = false; - - /** - * Creates a new Info instance using the specified properties. - * @function create - * @memberof channelBuilder.Info - * @static - * @param {channelBuilder.IInfo=} [properties] Properties to set - * @returns {channelBuilder.Info} Info instance - */ Info.create = function create(properties) { return new Info(properties); }; - - /** - * Encodes the specified Info message. Does not implicitly {@link channelBuilder.Info.verify|verify} messages. - * @function encode - * @memberof channelBuilder.Info - * @static - * @param {channelBuilder.IInfo} message Info message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ Info.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); - if (message.id != null && message.hasOwnProperty("id")) writer.uint32( /* id 1, wireType 0 =*/8).uint32(message.id); - if (message.wss != null && message.hasOwnProperty("wss")) writer.uint32( /* id 2, wireType 2 =*/18).string(message.wss); - if (message.wcId != null && message.hasOwnProperty("wcId")) writer.uint32( /* id 3, wireType 0 =*/24).uint32(message.wcId); - if (message.wsSupported != null && message.hasOwnProperty("wsSupported")) writer.uint32( /* id 4, wireType 0 =*/32).bool(message.wsSupported); - if (message.wsTried != null && message.hasOwnProperty("wsTried")) writer.uint32( /* id 5, wireType 0 =*/40).bool(message.wsTried); - if (message.dcSupported != null && message.hasOwnProperty("dcSupported")) writer.uint32( /* id 6, wireType 0 =*/48).bool(message.dcSupported); - if (message.dcTried != null && message.hasOwnProperty("dcTried")) writer.uint32( /* id 7, wireType 0 =*/56).bool(message.dcTried); + if (!writer) + writer = $Writer.create(); + if (message.id != null && message.hasOwnProperty("id")) + writer.uint32(8).uint32(message.id); + if (message.wss != null && message.hasOwnProperty("wss")) + writer.uint32(18).string(message.wss); + if (message.wcId != null && message.hasOwnProperty("wcId")) + writer.uint32(24).uint32(message.wcId); + if (message.wsSupported != null && message.hasOwnProperty("wsSupported")) + writer.uint32(32).bool(message.wsSupported); + if (message.wsTried != null && message.hasOwnProperty("wsTried")) + writer.uint32(40).bool(message.wsTried); + if (message.dcSupported != null && message.hasOwnProperty("dcSupported")) + writer.uint32(48).bool(message.dcSupported); + if (message.dcTried != null && message.hasOwnProperty("dcTried")) + writer.uint32(56).bool(message.dcTried); return writer; }; - - /** - * Decodes an Info message from the specified reader or buffer. - * @function decode - * @memberof channelBuilder.Info - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {channelBuilder.Info} Info - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ Info.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.channelBuilder.Info(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.channelBuilder.Info(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -3281,129 +1636,45 @@ var channelBuilder = $root.channelBuilder = function () { } return message; }; - return Info; - }(); - + })(); return channelBuilder; -}(); - -var fullMesh = $root.fullMesh = function () { - - /** - * Namespace fullMesh. - * @exports fullMesh - * @namespace - */ +})(); +var fullMesh = $root.fullMesh = (function () { var fullMesh = {}; - - fullMesh.Message = function () { - - /** - * Properties of a Message. - * @memberof fullMesh - * @interface IMessage - * @property {fullMesh.IPeers|null} [members] Message members - * @property {fullMesh.IPeers|null} [adjacentMembers] Message adjacentMembers - * @property {boolean|null} [heartbeat] Message heartbeat - */ - - /** - * Constructs a new Message. - * @memberof fullMesh - * @classdesc Represents a Message. - * @implements IMessage - * @constructor - * @param {fullMesh.IMessage=} [properties] Properties to set - */ + fullMesh.Message = (function () { function Message(properties) { - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * Message members. - * @member {fullMesh.IPeers|null|undefined} members - * @memberof fullMesh.Message - * @instance - */ Message.prototype.members = null; - - /** - * Message adjacentMembers. - * @member {fullMesh.IPeers|null|undefined} adjacentMembers - * @memberof fullMesh.Message - * @instance - */ Message.prototype.adjacentMembers = null; - - /** - * Message heartbeat. - * @member {boolean} heartbeat - * @memberof fullMesh.Message - * @instance - */ Message.prototype.heartbeat = false; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields = void 0; - - /** - * Message type. - * @member {"members"|"adjacentMembers"|"heartbeat"|undefined} type - * @memberof fullMesh.Message - * @instance - */ + var $oneOfFields; Object.defineProperty(Message.prototype, "type", { get: $util.oneOfGetter($oneOfFields = ["members", "adjacentMembers", "heartbeat"]), set: $util.oneOfSetter($oneOfFields) }); - - /** - * Creates a new Message instance using the specified properties. - * @function create - * @memberof fullMesh.Message - * @static - * @param {fullMesh.IMessage=} [properties] Properties to set - * @returns {fullMesh.Message} Message instance - */ Message.create = function create(properties) { return new Message(properties); }; - - /** - * Encodes the specified Message message. Does not implicitly {@link fullMesh.Message.verify|verify} messages. - * @function encode - * @memberof fullMesh.Message - * @static - * @param {fullMesh.IMessage} message Message message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ Message.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); - if (message.members != null && message.hasOwnProperty("members")) $root.fullMesh.Peers.encode(message.members, writer.uint32( /* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.adjacentMembers != null && message.hasOwnProperty("adjacentMembers")) $root.fullMesh.Peers.encode(message.adjacentMembers, writer.uint32( /* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.heartbeat != null && message.hasOwnProperty("heartbeat")) writer.uint32( /* id 4, wireType 0 =*/32).bool(message.heartbeat); + if (!writer) + writer = $Writer.create(); + if (message.members != null && message.hasOwnProperty("members")) + $root.fullMesh.Peers.encode(message.members, writer.uint32(10).fork()).ldelim(); + if (message.adjacentMembers != null && message.hasOwnProperty("adjacentMembers")) + $root.fullMesh.Peers.encode(message.adjacentMembers, writer.uint32(26).fork()).ldelim(); + if (message.heartbeat != null && message.hasOwnProperty("heartbeat")) + writer.uint32(32).bool(message.heartbeat); return writer; }; - - /** - * Decodes a Message message from the specified reader or buffer. - * @function decode - * @memberof fullMesh.Message - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {fullMesh.Message} Message - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ Message.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.fullMesh.Message(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.fullMesh.Message(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -3423,100 +1694,48 @@ var fullMesh = $root.fullMesh = function () { } return message; }; - return Message; - }(); - - fullMesh.Peers = function () { - - /** - * Properties of a Peers. - * @memberof fullMesh - * @interface IPeers - * @property {Array.|null} [ids] Peers ids - */ - - /** - * Constructs a new Peers. - * @memberof fullMesh - * @classdesc Represents a Peers. - * @implements IPeers - * @constructor - * @param {fullMesh.IPeers=} [properties] Properties to set - */ + })(); + fullMesh.Peers = (function () { function Peers(properties) { this.ids = []; - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * Peers ids. - * @member {Array.} ids - * @memberof fullMesh.Peers - * @instance - */ Peers.prototype.ids = $util.emptyArray; - - /** - * Creates a new Peers instance using the specified properties. - * @function create - * @memberof fullMesh.Peers - * @static - * @param {fullMesh.IPeers=} [properties] Properties to set - * @returns {fullMesh.Peers} Peers instance - */ Peers.create = function create(properties) { return new Peers(properties); }; - - /** - * Encodes the specified Peers message. Does not implicitly {@link fullMesh.Peers.verify|verify} messages. - * @function encode - * @memberof fullMesh.Peers - * @static - * @param {fullMesh.IPeers} message Peers message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ Peers.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); + if (!writer) + writer = $Writer.create(); if (message.ids != null && message.ids.length) { - writer.uint32( /* id 1, wireType 2 =*/10).fork(); - for (var i = 0; i < message.ids.length; ++i) { + writer.uint32(10).fork(); + for (var i = 0; i < message.ids.length; ++i) writer.uint32(message.ids[i]); - }writer.ldelim(); + writer.ldelim(); } return writer; }; - - /** - * Decodes a Peers message from the specified reader or buffer. - * @function decode - * @memberof fullMesh.Peers - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {fullMesh.Peers} Peers - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ Peers.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.fullMesh.Peers(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.fullMesh.Peers(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.ids && message.ids.length)) message.ids = []; + if (!(message.ids && message.ids.length)) + message.ids = []; if ((tag & 7) === 2) { var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) { + while (reader.pos < end2) message.ids.push(reader.uint32()); - } - } else message.ids.push(reader.uint32()); + } + else + message.ids.push(reader.uint32()); break; default: reader.skipType(tag & 7); @@ -3525,99 +1744,38 @@ var fullMesh = $root.fullMesh = function () { } return message; }; - return Peers; - }(); - - fullMesh.ConnectionRequest = function () { - - /** - * Properties of a ConnectionRequest. - * @memberof fullMesh - * @interface IConnectionRequest - * @property {number|null} [id] ConnectionRequest id - * @property {Array.|null} [adjacentIds] ConnectionRequest adjacentIds - */ - - /** - * Constructs a new ConnectionRequest. - * @memberof fullMesh - * @classdesc Represents a ConnectionRequest. - * @implements IConnectionRequest - * @constructor - * @param {fullMesh.IConnectionRequest=} [properties] Properties to set - */ + })(); + fullMesh.ConnectionRequest = (function () { function ConnectionRequest(properties) { this.adjacentIds = []; - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * ConnectionRequest id. - * @member {number} id - * @memberof fullMesh.ConnectionRequest - * @instance - */ ConnectionRequest.prototype.id = 0; - - /** - * ConnectionRequest adjacentIds. - * @member {Array.} adjacentIds - * @memberof fullMesh.ConnectionRequest - * @instance - */ ConnectionRequest.prototype.adjacentIds = $util.emptyArray; - - /** - * Creates a new ConnectionRequest instance using the specified properties. - * @function create - * @memberof fullMesh.ConnectionRequest - * @static - * @param {fullMesh.IConnectionRequest=} [properties] Properties to set - * @returns {fullMesh.ConnectionRequest} ConnectionRequest instance - */ ConnectionRequest.create = function create(properties) { return new ConnectionRequest(properties); }; - - /** - * Encodes the specified ConnectionRequest message. Does not implicitly {@link fullMesh.ConnectionRequest.verify|verify} messages. - * @function encode - * @memberof fullMesh.ConnectionRequest - * @static - * @param {fullMesh.IConnectionRequest} message ConnectionRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ ConnectionRequest.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); - if (message.id != null && message.hasOwnProperty("id")) writer.uint32( /* id 1, wireType 0 =*/8).uint32(message.id); + if (!writer) + writer = $Writer.create(); + if (message.id != null && message.hasOwnProperty("id")) + writer.uint32(8).uint32(message.id); if (message.adjacentIds != null && message.adjacentIds.length) { - writer.uint32( /* id 2, wireType 2 =*/18).fork(); - for (var i = 0; i < message.adjacentIds.length; ++i) { + writer.uint32(18).fork(); + for (var i = 0; i < message.adjacentIds.length; ++i) writer.uint32(message.adjacentIds[i]); - }writer.ldelim(); + writer.ldelim(); } return writer; }; - - /** - * Decodes a ConnectionRequest message from the specified reader or buffer. - * @function decode - * @memberof fullMesh.ConnectionRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {fullMesh.ConnectionRequest} ConnectionRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ ConnectionRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.fullMesh.ConnectionRequest(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.fullMesh.ConnectionRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -3625,13 +1783,15 @@ var fullMesh = $root.fullMesh = function () { message.id = reader.uint32(); break; case 2: - if (!(message.adjacentIds && message.adjacentIds.length)) message.adjacentIds = []; + if (!(message.adjacentIds && message.adjacentIds.length)) + message.adjacentIds = []; if ((tag & 7) === 2) { var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) { + while (reader.pos < end2) message.adjacentIds.push(reader.uint32()); - } - } else message.adjacentIds.push(reader.uint32()); + } + else + message.adjacentIds.push(reader.uint32()); break; default: reader.skipType(tag & 7); @@ -3640,129 +1800,45 @@ var fullMesh = $root.fullMesh = function () { } return message; }; - return ConnectionRequest; - }(); - + })(); return fullMesh; -}(); - -var dataChannelBuilder = $root.dataChannelBuilder = function () { - - /** - * Namespace dataChannelBuilder. - * @exports dataChannelBuilder - * @namespace - */ +})(); +var dataChannelBuilder = $root.dataChannelBuilder = (function () { var dataChannelBuilder = {}; - - dataChannelBuilder.Message = function () { - - /** - * Properties of a Message. - * @memberof dataChannelBuilder - * @interface IMessage - * @property {string|null} [offer] Message offer - * @property {string|null} [answer] Message answer - * @property {dataChannelBuilder.IIceCandidate|null} [candidate] Message candidate - */ - - /** - * Constructs a new Message. - * @memberof dataChannelBuilder - * @classdesc Represents a Message. - * @implements IMessage - * @constructor - * @param {dataChannelBuilder.IMessage=} [properties] Properties to set - */ + dataChannelBuilder.Message = (function () { function Message(properties) { - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * Message offer. - * @member {string} offer - * @memberof dataChannelBuilder.Message - * @instance - */ Message.prototype.offer = ""; - - /** - * Message answer. - * @member {string} answer - * @memberof dataChannelBuilder.Message - * @instance - */ Message.prototype.answer = ""; - - /** - * Message candidate. - * @member {dataChannelBuilder.IIceCandidate|null|undefined} candidate - * @memberof dataChannelBuilder.Message - * @instance - */ Message.prototype.candidate = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields = void 0; - - /** - * Message type. - * @member {"offer"|"answer"|"candidate"|undefined} type - * @memberof dataChannelBuilder.Message - * @instance - */ + var $oneOfFields; Object.defineProperty(Message.prototype, "type", { get: $util.oneOfGetter($oneOfFields = ["offer", "answer", "candidate"]), set: $util.oneOfSetter($oneOfFields) }); - - /** - * Creates a new Message instance using the specified properties. - * @function create - * @memberof dataChannelBuilder.Message - * @static - * @param {dataChannelBuilder.IMessage=} [properties] Properties to set - * @returns {dataChannelBuilder.Message} Message instance - */ Message.create = function create(properties) { return new Message(properties); }; - - /** - * Encodes the specified Message message. Does not implicitly {@link dataChannelBuilder.Message.verify|verify} messages. - * @function encode - * @memberof dataChannelBuilder.Message - * @static - * @param {dataChannelBuilder.IMessage} message Message message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ Message.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); - if (message.offer != null && message.hasOwnProperty("offer")) writer.uint32( /* id 1, wireType 2 =*/10).string(message.offer); - if (message.answer != null && message.hasOwnProperty("answer")) writer.uint32( /* id 2, wireType 2 =*/18).string(message.answer); - if (message.candidate != null && message.hasOwnProperty("candidate")) $root.dataChannelBuilder.IceCandidate.encode(message.candidate, writer.uint32( /* id 3, wireType 2 =*/26).fork()).ldelim(); + if (!writer) + writer = $Writer.create(); + if (message.offer != null && message.hasOwnProperty("offer")) + writer.uint32(10).string(message.offer); + if (message.answer != null && message.hasOwnProperty("answer")) + writer.uint32(18).string(message.answer); + if (message.candidate != null && message.hasOwnProperty("candidate")) + $root.dataChannelBuilder.IceCandidate.encode(message.candidate, writer.uint32(26).fork()).ldelim(); return writer; }; - - /** - * Decodes a Message message from the specified reader or buffer. - * @function decode - * @memberof dataChannelBuilder.Message - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {dataChannelBuilder.Message} Message - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ Message.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.dataChannelBuilder.Message(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.dataChannelBuilder.Message(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -3782,103 +1858,36 @@ var dataChannelBuilder = $root.dataChannelBuilder = function () { } return message; }; - return Message; - }(); - - dataChannelBuilder.IceCandidate = function () { - - /** - * Properties of an IceCandidate. - * @memberof dataChannelBuilder - * @interface IIceCandidate - * @property {string|null} [candidate] IceCandidate candidate - * @property {string|null} [sdpMid] IceCandidate sdpMid - * @property {number|null} [sdpMLineIndex] IceCandidate sdpMLineIndex - */ - - /** - * Constructs a new IceCandidate. - * @memberof dataChannelBuilder - * @classdesc Represents an IceCandidate. - * @implements IIceCandidate - * @constructor - * @param {dataChannelBuilder.IIceCandidate=} [properties] Properties to set - */ + })(); + dataChannelBuilder.IceCandidate = (function () { function IceCandidate(properties) { - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * IceCandidate candidate. - * @member {string} candidate - * @memberof dataChannelBuilder.IceCandidate - * @instance - */ IceCandidate.prototype.candidate = ""; - - /** - * IceCandidate sdpMid. - * @member {string} sdpMid - * @memberof dataChannelBuilder.IceCandidate - * @instance - */ IceCandidate.prototype.sdpMid = ""; - - /** - * IceCandidate sdpMLineIndex. - * @member {number} sdpMLineIndex - * @memberof dataChannelBuilder.IceCandidate - * @instance - */ IceCandidate.prototype.sdpMLineIndex = 0; - - /** - * Creates a new IceCandidate instance using the specified properties. - * @function create - * @memberof dataChannelBuilder.IceCandidate - * @static - * @param {dataChannelBuilder.IIceCandidate=} [properties] Properties to set - * @returns {dataChannelBuilder.IceCandidate} IceCandidate instance - */ IceCandidate.create = function create(properties) { return new IceCandidate(properties); }; - - /** - * Encodes the specified IceCandidate message. Does not implicitly {@link dataChannelBuilder.IceCandidate.verify|verify} messages. - * @function encode - * @memberof dataChannelBuilder.IceCandidate - * @static - * @param {dataChannelBuilder.IIceCandidate} message IceCandidate message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ IceCandidate.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); - if (message.candidate != null && message.hasOwnProperty("candidate")) writer.uint32( /* id 1, wireType 2 =*/10).string(message.candidate); - if (message.sdpMid != null && message.hasOwnProperty("sdpMid")) writer.uint32( /* id 2, wireType 2 =*/18).string(message.sdpMid); - if (message.sdpMLineIndex != null && message.hasOwnProperty("sdpMLineIndex")) writer.uint32( /* id 3, wireType 0 =*/24).uint32(message.sdpMLineIndex); + if (!writer) + writer = $Writer.create(); + if (message.candidate != null && message.hasOwnProperty("candidate")) + writer.uint32(10).string(message.candidate); + if (message.sdpMid != null && message.hasOwnProperty("sdpMid")) + writer.uint32(18).string(message.sdpMid); + if (message.sdpMLineIndex != null && message.hasOwnProperty("sdpMLineIndex")) + writer.uint32(24).uint32(message.sdpMLineIndex); return writer; }; - - /** - * Decodes an IceCandidate message from the specified reader or buffer. - * @function decode - * @memberof dataChannelBuilder.IceCandidate - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {dataChannelBuilder.IceCandidate} IceCandidate - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ IceCandidate.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.dataChannelBuilder.IceCandidate(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.dataChannelBuilder.IceCandidate(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -3898,119 +1907,42 @@ var dataChannelBuilder = $root.dataChannelBuilder = function () { } return message; }; - return IceCandidate; - }(); - + })(); return dataChannelBuilder; -}(); - -var channel = $root.channel = function () { - - /** - * Namespace channel. - * @exports channel - * @namespace - */ +})(); +var channel = $root.channel = (function () { var channel = {}; - - channel.Message = function () { - - /** - * Properties of a Message. - * @memberof channel - * @interface IMessage - * @property {channel.IData|null} [initPing] Message initPing - * @property {number|null} [initPong] Message initPong - */ - - /** - * Constructs a new Message. - * @memberof channel - * @classdesc Represents a Message. - * @implements IMessage - * @constructor - * @param {channel.IMessage=} [properties] Properties to set - */ + channel.Message = (function () { function Message(properties) { - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * Message initPing. - * @member {channel.IData|null|undefined} initPing - * @memberof channel.Message - * @instance - */ Message.prototype.initPing = null; - - /** - * Message initPong. - * @member {number} initPong - * @memberof channel.Message - * @instance - */ Message.prototype.initPong = 0; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields = void 0; - - /** - * Message type. - * @member {"initPing"|"initPong"|undefined} type - * @memberof channel.Message - * @instance - */ + var $oneOfFields; Object.defineProperty(Message.prototype, "type", { get: $util.oneOfGetter($oneOfFields = ["initPing", "initPong"]), set: $util.oneOfSetter($oneOfFields) }); - - /** - * Creates a new Message instance using the specified properties. - * @function create - * @memberof channel.Message - * @static - * @param {channel.IMessage=} [properties] Properties to set - * @returns {channel.Message} Message instance - */ Message.create = function create(properties) { return new Message(properties); }; - - /** - * Encodes the specified Message message. Does not implicitly {@link channel.Message.verify|verify} messages. - * @function encode - * @memberof channel.Message - * @static - * @param {channel.IMessage} message Message message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ Message.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); - if (message.initPing != null && message.hasOwnProperty("initPing")) $root.channel.Data.encode(message.initPing, writer.uint32( /* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.initPong != null && message.hasOwnProperty("initPong")) writer.uint32( /* id 2, wireType 0 =*/16).uint32(message.initPong); + if (!writer) + writer = $Writer.create(); + if (message.initPing != null && message.hasOwnProperty("initPing")) + $root.channel.Data.encode(message.initPing, writer.uint32(10).fork()).ldelim(); + if (message.initPong != null && message.hasOwnProperty("initPong")) + writer.uint32(16).uint32(message.initPong); return writer; }; - - /** - * Decodes a Message message from the specified reader or buffer. - * @function decode - * @memberof channel.Message - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {channel.Message} Message - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ Message.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.channel.Message(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.channel.Message(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -4027,129 +1959,47 @@ var channel = $root.channel = function () { } return message; }; - return Message; - }(); - - channel.Data = function () { - - /** - * Properties of a Data. - * @memberof channel - * @interface IData - * @property {number|null} [topology] Data topology - * @property {number|null} [wcId] Data wcId - * @property {number|null} [senderId] Data senderId - * @property {Array.|null} [members] Data members - * @property {string|null} [key] Data key - */ - - /** - * Constructs a new Data. - * @memberof channel - * @classdesc Represents a Data. - * @implements IData - * @constructor - * @param {channel.IData=} [properties] Properties to set - */ + })(); + channel.Data = (function () { function Data(properties) { this.members = []; - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * Data topology. - * @member {number} topology - * @memberof channel.Data - * @instance - */ Data.prototype.topology = 0; - - /** - * Data wcId. - * @member {number} wcId - * @memberof channel.Data - * @instance - */ Data.prototype.wcId = 0; - - /** - * Data senderId. - * @member {number} senderId - * @memberof channel.Data - * @instance - */ Data.prototype.senderId = 0; - - /** - * Data members. - * @member {Array.} members - * @memberof channel.Data - * @instance - */ Data.prototype.members = $util.emptyArray; - - /** - * Data key. - * @member {string} key - * @memberof channel.Data - * @instance - */ Data.prototype.key = ""; - - /** - * Creates a new Data instance using the specified properties. - * @function create - * @memberof channel.Data - * @static - * @param {channel.IData=} [properties] Properties to set - * @returns {channel.Data} Data instance - */ Data.create = function create(properties) { return new Data(properties); }; - - /** - * Encodes the specified Data message. Does not implicitly {@link channel.Data.verify|verify} messages. - * @function encode - * @memberof channel.Data - * @static - * @param {channel.IData} message Data message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ Data.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); - if (message.topology != null && message.hasOwnProperty("topology")) writer.uint32( /* id 1, wireType 0 =*/8).uint32(message.topology); - if (message.wcId != null && message.hasOwnProperty("wcId")) writer.uint32( /* id 2, wireType 0 =*/16).uint32(message.wcId); - if (message.senderId != null && message.hasOwnProperty("senderId")) writer.uint32( /* id 3, wireType 0 =*/24).uint32(message.senderId); + if (!writer) + writer = $Writer.create(); + if (message.topology != null && message.hasOwnProperty("topology")) + writer.uint32(8).uint32(message.topology); + if (message.wcId != null && message.hasOwnProperty("wcId")) + writer.uint32(16).uint32(message.wcId); + if (message.senderId != null && message.hasOwnProperty("senderId")) + writer.uint32(24).uint32(message.senderId); if (message.members != null && message.members.length) { - writer.uint32( /* id 4, wireType 2 =*/34).fork(); - for (var i = 0; i < message.members.length; ++i) { + writer.uint32(34).fork(); + for (var i = 0; i < message.members.length; ++i) writer.uint32(message.members[i]); - }writer.ldelim(); + writer.ldelim(); } - if (message.key != null && message.hasOwnProperty("key")) writer.uint32( /* id 5, wireType 2 =*/42).string(message.key); + if (message.key != null && message.hasOwnProperty("key")) + writer.uint32(42).string(message.key); return writer; }; - - /** - * Decodes a Data message from the specified reader or buffer. - * @function decode - * @memberof channel.Data - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {channel.Data} Data - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ Data.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.channel.Data(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.channel.Data(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -4163,13 +2013,15 @@ var channel = $root.channel = function () { message.senderId = reader.uint32(); break; case 4: - if (!(message.members && message.members.length)) message.members = []; + if (!(message.members && message.members.length)) + message.members = []; if ((tag & 7) === 2) { var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) { + while (reader.pos < end2) message.members.push(reader.uint32()); - } - } else message.members.push(reader.uint32()); + } + else + message.members.push(reader.uint32()); break; case 5: message.key = reader.string(); @@ -4181,139 +2033,48 @@ var channel = $root.channel = function () { } return message; }; - return Data; - }(); - + })(); return channel; -}(); - -var signaling = $root.signaling = function () { - - /** - * Namespace signaling. - * @exports signaling - * @namespace - */ +})(); +var signaling = $root.signaling = (function () { var signaling = {}; - - signaling.Message = function () { - - /** - * Properties of a Message. - * @memberof signaling - * @interface IMessage - * @property {boolean|null} [heartbeat] Message heartbeat - * @property {signaling.IContent|null} [content] Message content - * @property {signaling.IGroupData|null} [connect] Message connect - * @property {boolean|null} [connected] Message connected - */ - - /** - * Constructs a new Message. - * @memberof signaling - * @classdesc Represents a Message. - * @implements IMessage - * @constructor - * @param {signaling.IMessage=} [properties] Properties to set - */ + signaling.Message = (function () { function Message(properties) { - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * Message heartbeat. - * @member {boolean} heartbeat - * @memberof signaling.Message - * @instance - */ Message.prototype.heartbeat = false; - - /** - * Message content. - * @member {signaling.IContent|null|undefined} content - * @memberof signaling.Message - * @instance - */ Message.prototype.content = null; - - /** - * Message connect. - * @member {signaling.IGroupData|null|undefined} connect - * @memberof signaling.Message - * @instance - */ Message.prototype.connect = null; - - /** - * Message connected. - * @member {boolean} connected - * @memberof signaling.Message - * @instance - */ Message.prototype.connected = false; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields = void 0; - - /** - * Message type. - * @member {"heartbeat"|"content"|"connect"|"connected"|undefined} type - * @memberof signaling.Message - * @instance - */ + var $oneOfFields; Object.defineProperty(Message.prototype, "type", { get: $util.oneOfGetter($oneOfFields = ["heartbeat", "content", "connect", "connected"]), set: $util.oneOfSetter($oneOfFields) }); - - /** - * Creates a new Message instance using the specified properties. - * @function create - * @memberof signaling.Message - * @static - * @param {signaling.IMessage=} [properties] Properties to set - * @returns {signaling.Message} Message instance - */ Message.create = function create(properties) { return new Message(properties); }; - - /** - * Encodes the specified Message message. Does not implicitly {@link signaling.Message.verify|verify} messages. - * @function encode - * @memberof signaling.Message - * @static - * @param {signaling.IMessage} message Message message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ Message.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); - if (message.heartbeat != null && message.hasOwnProperty("heartbeat")) writer.uint32( /* id 1, wireType 0 =*/8).bool(message.heartbeat); - if (message.content != null && message.hasOwnProperty("content")) $root.signaling.Content.encode(message.content, writer.uint32( /* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.connect != null && message.hasOwnProperty("connect")) $root.signaling.GroupData.encode(message.connect, writer.uint32( /* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.connected != null && message.hasOwnProperty("connected")) writer.uint32( /* id 4, wireType 0 =*/32).bool(message.connected); + if (!writer) + writer = $Writer.create(); + if (message.heartbeat != null && message.hasOwnProperty("heartbeat")) + writer.uint32(8).bool(message.heartbeat); + if (message.content != null && message.hasOwnProperty("content")) + $root.signaling.Content.encode(message.content, writer.uint32(18).fork()).ldelim(); + if (message.connect != null && message.hasOwnProperty("connect")) + $root.signaling.GroupData.encode(message.connect, writer.uint32(26).fork()).ldelim(); + if (message.connected != null && message.hasOwnProperty("connected")) + writer.uint32(32).bool(message.connected); return writer; }; - - /** - * Decodes a Message message from the specified reader or buffer. - * @function decode - * @memberof signaling.Message - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {signaling.Message} Message - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ Message.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.signaling.Message(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.signaling.Message(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -4336,113 +2097,39 @@ var signaling = $root.signaling = function () { } return message; }; - return Message; - }(); - - signaling.Content = function () { - - /** - * Properties of a Content. - * @memberof signaling - * @interface IContent - * @property {number|null} [senderId] Content senderId - * @property {number|null} [recipientId] Content recipientId - * @property {boolean|null} [lastData] Content lastData - * @property {Uint8Array|null} [data] Content data - */ - - /** - * Constructs a new Content. - * @memberof signaling - * @classdesc Represents a Content. - * @implements IContent - * @constructor - * @param {signaling.IContent=} [properties] Properties to set - */ + })(); + signaling.Content = (function () { function Content(properties) { - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * Content senderId. - * @member {number} senderId - * @memberof signaling.Content - * @instance - */ Content.prototype.senderId = 0; - - /** - * Content recipientId. - * @member {number} recipientId - * @memberof signaling.Content - * @instance - */ Content.prototype.recipientId = 0; - - /** - * Content lastData. - * @member {boolean} lastData - * @memberof signaling.Content - * @instance - */ Content.prototype.lastData = false; - - /** - * Content data. - * @member {Uint8Array} data - * @memberof signaling.Content - * @instance - */ Content.prototype.data = $util.newBuffer([]); - - /** - * Creates a new Content instance using the specified properties. - * @function create - * @memberof signaling.Content - * @static - * @param {signaling.IContent=} [properties] Properties to set - * @returns {signaling.Content} Content instance - */ Content.create = function create(properties) { return new Content(properties); }; - - /** - * Encodes the specified Content message. Does not implicitly {@link signaling.Content.verify|verify} messages. - * @function encode - * @memberof signaling.Content - * @static - * @param {signaling.IContent} message Content message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ Content.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); - if (message.senderId != null && message.hasOwnProperty("senderId")) writer.uint32( /* id 1, wireType 0 =*/8).uint32(message.senderId); - if (message.recipientId != null && message.hasOwnProperty("recipientId")) writer.uint32( /* id 2, wireType 0 =*/16).uint32(message.recipientId); - if (message.lastData != null && message.hasOwnProperty("lastData")) writer.uint32( /* id 3, wireType 0 =*/24).bool(message.lastData); - if (message.data != null && message.hasOwnProperty("data")) writer.uint32( /* id 4, wireType 2 =*/34).bytes(message.data); + if (!writer) + writer = $Writer.create(); + if (message.senderId != null && message.hasOwnProperty("senderId")) + writer.uint32(8).uint32(message.senderId); + if (message.recipientId != null && message.hasOwnProperty("recipientId")) + writer.uint32(16).uint32(message.recipientId); + if (message.lastData != null && message.hasOwnProperty("lastData")) + writer.uint32(24).bool(message.lastData); + if (message.data != null && message.hasOwnProperty("data")) + writer.uint32(34).bytes(message.data); return writer; }; - - /** - * Decodes a Content message from the specified reader or buffer. - * @function decode - * @memberof signaling.Content - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {signaling.Content} Content - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ Content.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.signaling.Content(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.signaling.Content(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -4465,99 +2152,38 @@ var signaling = $root.signaling = function () { } return message; }; - return Content; - }(); - - signaling.GroupData = function () { - - /** - * Properties of a GroupData. - * @memberof signaling - * @interface IGroupData - * @property {number|null} [id] GroupData id - * @property {Array.|null} [members] GroupData members - */ - - /** - * Constructs a new GroupData. - * @memberof signaling - * @classdesc Represents a GroupData. - * @implements IGroupData - * @constructor - * @param {signaling.IGroupData=} [properties] Properties to set - */ + })(); + signaling.GroupData = (function () { function GroupData(properties) { this.members = []; - if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) { - if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - - /** - * GroupData id. - * @member {number} id - * @memberof signaling.GroupData - * @instance - */ GroupData.prototype.id = 0; - - /** - * GroupData members. - * @member {Array.} members - * @memberof signaling.GroupData - * @instance - */ GroupData.prototype.members = $util.emptyArray; - - /** - * Creates a new GroupData instance using the specified properties. - * @function create - * @memberof signaling.GroupData - * @static - * @param {signaling.IGroupData=} [properties] Properties to set - * @returns {signaling.GroupData} GroupData instance - */ GroupData.create = function create(properties) { return new GroupData(properties); }; - - /** - * Encodes the specified GroupData message. Does not implicitly {@link signaling.GroupData.verify|verify} messages. - * @function encode - * @memberof signaling.GroupData - * @static - * @param {signaling.IGroupData} message GroupData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ GroupData.encode = function encode(message, writer) { - if (!writer) writer = $Writer.create(); - if (message.id != null && message.hasOwnProperty("id")) writer.uint32( /* id 1, wireType 0 =*/8).uint32(message.id); + if (!writer) + writer = $Writer.create(); + if (message.id != null && message.hasOwnProperty("id")) + writer.uint32(8).uint32(message.id); if (message.members != null && message.members.length) { - writer.uint32( /* id 2, wireType 2 =*/18).fork(); - for (var i = 0; i < message.members.length; ++i) { + writer.uint32(18).fork(); + for (var i = 0; i < message.members.length; ++i) writer.uint32(message.members[i]); - }writer.ldelim(); + writer.ldelim(); } return writer; }; - - /** - * Decodes a GroupData message from the specified reader or buffer. - * @function decode - * @memberof signaling.GroupData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {signaling.GroupData} GroupData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ GroupData.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, - message = new $root.signaling.GroupData(); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.signaling.GroupData(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -4565,13 +2191,15 @@ var signaling = $root.signaling = function () { message.id = reader.uint32(); break; case 2: - if (!(message.members && message.members.length)) message.members = []; + if (!(message.members && message.members.length)) + message.members = []; if ((tag & 7) === 2) { var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) { + while (reader.pos < end2) message.members.push(reader.uint32()); - } - } else message.members.push(reader.uint32()); + } + else + message.members.push(reader.uint32()); break; default: reader.skipType(tag & 7); @@ -4580,12 +2208,10 @@ var signaling = $root.signaling = function () { } return message; }; - return GroupData; - }(); - + })(); return signaling; -}(); +})(); export default $root; export { Message, userMessage, channelBuilder, fullMesh, dataChannelBuilder, channel, signaling }; diff --git a/src/service/UserMessage.ts b/src/service/UserMessage.ts index bcb171d1..91463522 100644 --- a/src/service/UserMessage.ts +++ b/src/service/UserMessage.ts @@ -1,6 +1,6 @@ import { env } from '../misc/env' import { log } from '../misc/util' -import { userMessage as proto } from '../proto' +import { userMessage as proto } from '../proto/index' import { Service } from '../service/Service' /** diff --git a/src/service/channelBuilder/ChannelBuilder.ts b/src/service/channelBuilder/ChannelBuilder.ts index e1afcd51..297bcb95 100644 --- a/src/service/channelBuilder/ChannelBuilder.ts +++ b/src/service/channelBuilder/ChannelBuilder.ts @@ -2,7 +2,7 @@ import { merge, Observable, Subject } from 'rxjs' import { Channel } from '../../Channel' import { isWebRTCSupported, isWebSocketSupported, log } from '../../misc/util' -import { channelBuilder as proto } from '../../proto' +import { channelBuilder as proto } from '../../proto/index' import { WebChannel } from '../../WebChannel' import { CONNECT_TIMEOUT as WEBSOCKET_TIMEOUT, WebSocketBuilder } from '../../WebSocketBuilder' import { diff --git a/src/service/dataChannelBuilder/DataChannelBuilder.ts b/src/service/dataChannelBuilder/DataChannelBuilder.ts index 7e25fe71..05666f39 100644 --- a/src/service/dataChannelBuilder/DataChannelBuilder.ts +++ b/src/service/dataChannelBuilder/DataChannelBuilder.ts @@ -4,7 +4,7 @@ import { Channel } from '../../Channel' import '../../misc/env' import { env, RTCDataChannelEvent } from '../../misc/env' import { log } from '../../misc/util' -import { dataChannelBuilder as proto } from '../../proto' +import { dataChannelBuilder as proto } from '../../proto/index' import { WebChannel } from '../../WebChannel' import { IAllStreams, Service } from '../Service' import { Remote } from './Remote' diff --git a/src/service/dataChannelBuilder/Remote.ts b/src/service/dataChannelBuilder/Remote.ts index 9695bc59..5430016b 100644 --- a/src/service/dataChannelBuilder/Remote.ts +++ b/src/service/dataChannelBuilder/Remote.ts @@ -2,7 +2,7 @@ import { ReplaySubject } from 'rxjs' import { env, RTCDataChannel } from '../../misc/env' import { log } from '../../misc/util' -import { dataChannelBuilder as proto } from '../../proto' +import { dataChannelBuilder as proto } from '../../proto/index' export class Remote { public readonly id: number diff --git a/src/service/topology/FullMesh.ts b/src/service/topology/FullMesh.ts index d616d8ae..eca86ed7 100644 --- a/src/service/topology/FullMesh.ts +++ b/src/service/topology/FullMesh.ts @@ -1,6 +1,6 @@ import { Channel, IChannelInitData, MAXIMUM_MISSED_HEARTBEAT } from '../../Channel' import { isBrowser, log } from '../../misc/util' -import { fullMesh as proto } from '../../proto' +import { fullMesh as proto } from '../../proto/index' import { InWcMsg, WebChannel } from '../../WebChannel' import { ConnectionError } from '../channelBuilder/ConnectionError' import { ITopology, Topology, TopologyState } from './Topology' diff --git a/src/service/topology/Topology.ts b/src/service/topology/Topology.ts index d1445a8d..a55f63e7 100644 --- a/src/service/topology/Topology.ts +++ b/src/service/topology/Topology.ts @@ -2,7 +2,7 @@ import { Observable, Subject } from 'rxjs' import { Channel } from '../../Channel' import { log } from '../../misc/util' -import { IMessage } from '../../proto' +import { IMessage } from '../../proto/index' import { WebChannel } from '../../WebChannel' import { IMessageFactory, IWebChannelStream, Service } from '../Service' diff --git a/tsconfig.dist.json b/tsconfig.dist.json deleted file mode 100644 index 7e9b587e..00000000 --- a/tsconfig.dist.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "dist/esm", - "declaration": true, - "removeComments": true, - "sourceMap": true - }, - "include": ["src/**/*"], - "exclude": [] -} diff --git a/tsconfig.docs.json b/tsconfig.docs.json deleted file mode 100644 index 979a080e..00000000 --- a/tsconfig.docs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "docs/jsFromTs", - "target": "ESNext" - }, - "exclude": [] -} diff --git a/tsconfig.json b/tsconfig.json index 1a477edb..c20696b3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,6 @@ { "compilerOptions": { + "declarationDir": "dist/types", "target": "es5", "module": "es2015", "lib": ["es2017", "dom"], @@ -12,6 +13,5 @@ "noImplicitReturns": true, "noFallthroughCasesInSwitch": true }, - "include": ["src/**/*", "test/**/*"], - "exclude": ["**/proto/index.d.ts"] + "include": ["src/**/*", "test/**/*"] }