diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000000000000000000000000000000000000..86811d21c1dcae9966a7e61622e473d79e08cf8d --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,37 @@ +module.exports = { + "extends": "airbnb", + "parser": "babel-eslint", + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module", + "ecmaFeatures": { + "jsx": true, + "modules": true, + "experimentalObjectRestSpread": true + } + }, + "rules": { + "react/no-multi-comp": 0, + "import/default": 0, + "import/first": 0, + "import/no-duplicates": 0, + "import/named": 0, + "import/namespace": 0, + "import/no-unresolved": 0, + "import/no-named-as-default": 2, + "comma-dangle": [2, "never"], + "func-names": 0, + "no-console": 0, + "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }], + + }, + "plugins": [ + "react", "import" + ], + "settings": { + "import/parser": "babel-eslint", + "import/resolve": { + "moduleDirectory": ["node_modules", "src"] + } + }, +}; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 1c9c707341f484b588d8dc06625a21ca1fbf83ff..73779e461a7a3e5292aac9245bc77ac99552bc10 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,19 +7,19 @@ "@types/jss": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.3.0.tgz", - "integrity": "sha512-n7MUYCO/Wt4d6Yj0ZewXSSkqBcrdLFgpQ4mUBRXBWDmLfXtgT3tJ26GVPr8HiyRLLze6iQfaBJTlvjRTjgZpRg==" + "integrity": "sha1-D4SE/QPe0gaRe+J7WCF/J0oK1Z8=" }, "@types/react": { - "version": "16.0.35", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.0.35.tgz", - "integrity": "sha512-8MP/F4EHnNaJGJO0ExCkO2RVAkpOTIO/ByE8dbZ2LMShYZ6rGRvxKk6hVHYop54tM/BocXGVxpw+G6b8AQwy7g==" + "version": "16.0.38", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.0.38.tgz", + "integrity": "sha512-t0XJHNrlzLiVAKCWxS9zzAadoQO8zGFpHsrvNVk7QmrDXnm3cPFy2wFcHGNbKjntBiXznL6qQkh+a1Wxu21+dA==" }, "@types/react-transition-group": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.6.tgz", - "integrity": "sha512-mVhRv+d0MIoLWl6hEFA7Nnd/obW2RQpZViTAKhM37mltuTDWCdoj8xAZv94ntB8wgAc6DDiDCXxFXPgClGnsfQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.7.tgz", + "integrity": "sha512-aTbd37E2XJ5Zi/lRrXo74RMhZikS/r5a06EStXEdapy4pqzvPrdY9BpWGNSpnyp8oNaggL0duljNdC8T0dRIUA==", "requires": { - "@types/react": "16.0.35" + "@types/react": "16.0.38" } }, "abab": { @@ -31,7 +31,7 @@ "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=", "dev": true }, "accepts": { @@ -125,9 +125,9 @@ } }, "ajv-keywords": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz", - "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz", + "integrity": "sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74=", "dev": true }, "align-text": { @@ -174,7 +174,7 @@ "ansi-styles": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", "dev": true, "requires": { "color-convert": "1.9.0" @@ -183,7 +183,7 @@ "anymatch": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=", "dev": true, "requires": { "micromatch": "2.3.11", @@ -202,7 +202,7 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", "dev": true }, "are-we-there-yet": { @@ -224,6 +224,16 @@ "sprintf-js": "1.0.3" } }, + "aria-query": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-0.7.1.tgz", + "integrity": "sha1-Jsu1r/ZBRLCoJb4YRuCxbPoAsR4=", + "dev": true, + "requires": { + "ast-types-flow": "0.0.7", + "commander": "2.11.0" + } + }, "arr-diff": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", @@ -236,7 +246,7 @@ "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", "dev": true }, "arr-union": { @@ -367,6 +377,12 @@ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true + }, "async": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", @@ -394,7 +410,7 @@ "async-limiter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" + "integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=" }, "asynckit": { "version": "0.4.0", @@ -434,14 +450,23 @@ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", "dev": true }, + "axobject-query": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-0.1.0.tgz", + "integrity": "sha1-YvWdvFnJ+SQnWco0mWDnov48NsA=", + "dev": true, + "requires": { + "ast-types-flow": "0.0.7" + } + }, "babel-cli": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.24.1.tgz", "integrity": "sha1-IHzXBbumFImy6kG1MSNBz2rKIoM=", "dev": true, "requires": { - "babel-core": "6.25.0", - "babel-polyfill": "6.23.0", + "babel-core": "6.26.0", + "babel-polyfill": "6.26.0", "babel-register": "6.26.0", "babel-runtime": "6.26.0", "chokidar": "1.7.0", @@ -449,7 +474,7 @@ "convert-source-map": "1.5.0", "fs-readdir-recursive": "1.0.0", "glob": "7.1.2", - "lodash": "4.17.4", + "lodash": "4.17.5", "output-file-sync": "1.1.2", "path-is-absolute": "1.0.1", "slash": "1.0.0", @@ -510,9 +535,9 @@ } }, "babel-core": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz", - "integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=", + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", + "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", "dev": true, "requires": { "babel-code-frame": "6.26.0", @@ -528,7 +553,7 @@ "convert-source-map": "1.5.0", "debug": "2.6.9", "json5": "0.5.1", - "lodash": "4.17.4", + "lodash": "4.17.5", "minimatch": "3.0.4", "path-is-absolute": "1.0.1", "private": "0.1.7", @@ -567,7 +592,7 @@ "babel-types": "6.26.0", "detect-indent": "4.0.0", "jsesc": "1.3.0", - "lodash": "4.17.4", + "lodash": "4.17.5", "source-map": "0.5.7", "trim-right": "1.0.1" }, @@ -642,7 +667,7 @@ "babel-helper-function-name": "6.24.1", "babel-runtime": "6.26.0", "babel-types": "6.26.0", - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "babel-helper-explode-assignable-expression": { @@ -719,7 +744,7 @@ "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0", - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "babel-helper-remap-async-to-generator": { @@ -765,15 +790,15 @@ "integrity": "sha1-5KA7E9wQOJ4UD8ZF0J/8TO0wFnE=", "dev": true, "requires": { - "babel-core": "6.25.0", + "babel-core": "6.26.0", "babel-plugin-istanbul": "4.1.5", "babel-preset-jest": "20.0.3" } }, "babel-loader": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.1.tgz", - "integrity": "sha1-uHE0yLEuPkwqlOBUYIW8aAorhIg=", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.3.tgz", + "integrity": "sha512-PeN29YvOynPMvNk7QCzsHqxpmfXwKAC+uxkiSNFQsmXBBVltzEkVWmv/Ip3tx7yk149dQUwk497bTXNu+DZjLA==", "dev": true, "requires": { "find-cache-dir": "1.0.0", @@ -822,7 +847,7 @@ "integrity": "sha1-UVu/qZaJOYEULZCx+bFjXeKZUQk=", "dev": true, "requires": { - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "babel-plugin-syntax-async-functions": { @@ -1005,7 +1030,7 @@ "babel-template": "6.26.0", "babel-traverse": "6.26.0", "babel-types": "6.26.0", - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "babel-plugin-transform-es2015-classes": { @@ -1340,20 +1365,20 @@ } }, "babel-polyfill": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", - "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=", + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", "dev": true, "requires": { "babel-runtime": "6.26.0", - "core-js": "2.5.1", + "core-js": "2.5.3", "regenerator-runtime": "0.10.5" }, "dependencies": { "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", "dev": true }, "regenerator-runtime": { @@ -1367,7 +1392,7 @@ "babel-preset-env": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.0.tgz", - "integrity": "sha512-OVgtQRuOZKckrILgMA5rvctvFZPv72Gua9Rt006AiPoB0DJKGN07UmaQA+qRrYgK71MVct8fFhT0EyNWYorVew==", + "integrity": "sha1-LeHHgqeAoKXWBdGZyVdZbaQ8ROQ=", "dev": true, "requires": { "babel-plugin-check-es2015-constants": "6.22.0", @@ -1503,7 +1528,7 @@ "babel-runtime": "6.26.0", "core-js": "2.5.1", "home-or-tmp": "2.0.0", - "lodash": "4.17.4", + "lodash": "4.17.5", "mkdirp": "0.5.1", "source-map-support": "0.4.18" }, @@ -1527,7 +1552,7 @@ "convert-source-map": "1.5.0", "debug": "2.6.9", "json5": "0.5.1", - "lodash": "4.17.4", + "lodash": "4.17.5", "minimatch": "3.0.4", "path-is-absolute": "1.0.1", "private": "0.1.7", @@ -1555,7 +1580,7 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" + "regenerator-runtime": "0.11.1" }, "dependencies": { "core-js": { @@ -1575,7 +1600,7 @@ "babel-traverse": "6.26.0", "babel-types": "6.26.0", "babylon": "6.18.0", - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "babel-traverse": { @@ -1592,7 +1617,7 @@ "debug": "2.6.9", "globals": "9.18.0", "invariant": "2.2.2", - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "babel-types": { @@ -1603,7 +1628,7 @@ "requires": { "babel-runtime": "6.26.0", "esutils": "2.0.2", - "lodash": "4.17.4", + "lodash": "4.17.5", "to-fast-properties": "1.0.3" }, "dependencies": { @@ -1618,7 +1643,7 @@ "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", "dev": true }, "backo2": { @@ -1713,7 +1738,7 @@ "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", "dev": true }, "binary-extensions": { @@ -1748,7 +1773,7 @@ "bluebird": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=", "dev": true }, "bn.js": { @@ -1790,7 +1815,7 @@ "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", "dev": true }, "setprototypeof": { @@ -1861,7 +1886,7 @@ "brcast": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/brcast/-/brcast-3.0.1.tgz", - "integrity": "sha512-eI3yqf9YEqyGl9PCNTR46MGvDylGtaHjalcz6Q3fAPnP/PhpKkkve52vFdfGpwp4VUvK6LUr4TQN+2stCrEwTg==" + "integrity": "sha1-YlaoNJsg3p7tRCV6myTXFJPNSN0=" }, "brorand": { "version": "1.1.0", @@ -2243,7 +2268,7 @@ "chalk": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", - "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==", + "integrity": "sha1-2+xJQ20q4V9TYRTnbRRlbNvA9E0=", "dev": true, "requires": { "ansi-styles": "3.2.0", @@ -2256,6 +2281,12 @@ "resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz", "integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU=" }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, "charenc": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", @@ -2294,6 +2325,7 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", + "fsevents": "1.1.3", "glob-parent": "2.0.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", @@ -2327,7 +2359,7 @@ "clap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "integrity": "sha1-TzZ0WzIAhJJVf0ZBLWbVDLmbzlE=", "dev": true, "requires": { "chalk": "1.1.3" @@ -2771,7 +2803,7 @@ "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", "dev": true }, "content-type-parser": { @@ -2817,7 +2849,7 @@ "cosmiconfig": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", - "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", + "integrity": "sha1-YXPOvVb6wELB9DkO33r2wHx8uJI=", "dev": true, "requires": { "is-directory": "0.3.1", @@ -3039,7 +3071,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -3221,7 +3253,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -3295,6 +3327,12 @@ "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", "dev": true }, + "damerau-levenshtein": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz", + "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=", + "dev": true + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -3321,7 +3359,7 @@ "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "dev": true, "requires": { "ms": "2.0.0" @@ -3359,7 +3397,7 @@ "deepmerge": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.0.1.tgz", - "integrity": "sha512-VIPwiMJqJ13ZQfaCsIFnp5Me9tnjURiaIFxfz7EH0Ci0dTSQpZtSLrqOicXqEd/z2r+z+Klk9GzmnRsgpgbOsQ==" + "integrity": "sha1-JcHCTxEPuRT4AAG5JSZN138/QxI=" }, "default-require-extensions": { "version": "1.0.0", @@ -3468,7 +3506,7 @@ "diff": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz", - "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==", + "integrity": "sha1-sdhVB9rzlkgo3lSzfQ1zumfdpWw=", "dev": true }, "diffie-hellman": { @@ -3508,27 +3546,12 @@ } }, "doctrine": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", - "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" - }, - "dependencies": { - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } + "esutils": "2.0.2" } }, "dom-converter": { @@ -3561,7 +3584,7 @@ "dom-helpers": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.3.1.tgz", - "integrity": "sha512-2Sm+JaYn74OiTM2wHvxJOo3roiq/h25Yi69Fqk269cNUwIXsCvATB6CRSFC9Am/20G2b28hGv/+7NiWydIrPvg==" + "integrity": "sha1-/BpOFf/fYN3eA6SAqcD+zoId1KY=" }, "dom-serializer": { "version": "0.1.0", @@ -3626,7 +3649,7 @@ "duplexify": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz", - "integrity": "sha512-g8ID9OroF9hKt2POf8YLayy+9594PzmM3scI00/uBXocX3TWNgoB67hjzkFe9ITAbQOne/lLdBxHXvYUM4ZgGA==", + "integrity": "sha1-i1gYgA35L9ASWyeriWSRkShYJD4=", "requires": { "end-of-stream": "1.4.1", "inherits": "2.0.3", @@ -3709,6 +3732,12 @@ "integrity": "sha1-80Ea3pdYp1Zd+Eiy2gy70bRsvWQ=", "dev": true }, + "emoji-regex": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz", + "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==", + "dev": true + }, "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", @@ -3732,7 +3761,7 @@ "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==", + "integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=", "requires": { "once": "1.4.0" } @@ -3873,7 +3902,7 @@ "cheerio": "0.22.0", "function.prototype.name": "1.0.3", "is-subset": "0.1.1", - "lodash": "4.17.4", + "lodash": "4.17.5", "object-is": "1.0.1", "object.assign": "4.0.4", "object.entries": "1.0.4", @@ -3936,7 +3965,7 @@ "es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" + "integrity": "sha1-njr0B0Wd7tR+mpH5uIWoTrBcVh0=" }, "escape-html": { "version": "1.0.3", @@ -3951,81 +3980,109 @@ "dev": true }, "eslint": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.2.0.tgz", - "integrity": "sha1-orMYQRGxmOAunH88ymJaXgHFaz0=", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.18.1.tgz", + "integrity": "sha512-gPSfpSRCHre1GLxGmO68tZNxOlL2y7xBd95VcLD+Eo4S2js31YoMum3CAQIOaxY24hqYOMksMvW38xuuWKQTgw==", "dev": true, "requires": { - "ajv": "5.2.3", + "ajv": "5.5.2", "babel-code-frame": "6.26.0", - "chalk": "1.1.3", + "chalk": "2.3.1", "concat-stream": "1.6.0", - "debug": "2.6.9", - "doctrine": "2.0.0", + "cross-spawn": "5.1.0", + "debug": "3.1.0", + "doctrine": "2.1.0", "eslint-scope": "3.7.1", - "espree": "3.5.1", + "eslint-visitor-keys": "1.0.0", + "espree": "3.5.3", "esquery": "1.0.0", - "estraverse": "4.2.0", "esutils": "2.0.2", "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", "glob": "7.1.2", - "globals": "9.18.0", - "ignore": "3.3.5", + "globals": "11.3.0", + "ignore": "3.3.7", "imurmurhash": "0.1.4", "inquirer": "3.3.0", - "is-resolvable": "1.0.0", + "is-resolvable": "1.1.0", "js-yaml": "3.10.0", - "json-stable-stringify": "1.0.1", + "json-stable-stringify-without-jsonify": "1.0.1", "levn": "0.3.0", - "lodash": "4.17.4", + "lodash": "4.17.5", "minimatch": "3.0.4", "mkdirp": "0.5.1", "natural-compare": "1.4.0", "optionator": "0.8.2", "path-is-inside": "1.0.2", - "pluralize": "4.0.0", + "pluralize": "7.0.0", "progress": "2.0.0", "require-uncached": "1.0.3", + "semver": "5.4.1", + "strip-ansi": "4.0.0", "strip-json-comments": "2.0.1", - "table": "4.0.2", + "table": "4.0.3", "text-table": "0.2.0" }, "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { - "ansi-styles": "2.2.1", + "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "supports-color": "5.2.0" } }, - "esprima": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", - "dev": true + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" + } }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz", + "integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==", "dev": true }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "js-yaml": { @@ -4038,28 +4095,58 @@ "esprima": "4.0.0" } }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", + "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } } } }, + "eslint-config-airbnb": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-16.1.0.tgz", + "integrity": "sha512-zLyOhVWhzB/jwbz7IPSbkUuj7X2ox4PHXTcZkEmDqTvd0baJmJyuxlFPDlZOE/Y5bC+HQRaEkT3FoHo9wIdRiw==", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "12.1.0" + } + }, + "eslint-config-airbnb-base": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz", + "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==", + "dev": true, + "requires": { + "eslint-restricted-globals": "0.1.1" + } + }, "eslint-import-resolver-node": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz", - "integrity": "sha512-yUtXS15gIcij68NmXmP9Ni77AQuCN0itXbCc/jWd8C6/yKZaSNXicpC8cgvjnxVdmfsosIXrjpzFq7GcDryb6A==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", + "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", "dev": true, "requires": { "debug": "2.6.9", - "resolve": "1.4.0" + "resolve": "1.5.0" }, "dependencies": { "resolve": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", - "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", "dev": true, "requires": { "path-parse": "1.0.5" @@ -4108,19 +4195,19 @@ } }, "eslint-plugin-import": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.7.0.tgz", - "integrity": "sha512-HGYmpU9f/zJaQiKNQOVfHUh2oLWW3STBrCgH0sHTX1xtsxYlH1zjLh8FlQGEIdZSdTbUMaV36WaZ6ImXkenGxQ==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.9.0.tgz", + "integrity": "sha1-JgAu+/ylmJtyiKwEdQi9JPIXsWk=", "dev": true, "requires": { "builtin-modules": "1.1.1", "contains-path": "0.1.0", "debug": "2.6.9", "doctrine": "1.5.0", - "eslint-import-resolver-node": "0.3.1", + "eslint-import-resolver-node": "0.3.2", "eslint-module-utils": "2.1.1", "has": "1.0.1", - "lodash.cond": "4.5.2", + "lodash": "4.17.5", "minimatch": "3.0.4", "read-pkg-up": "2.0.0" }, @@ -4135,12 +4222,6 @@ "isarray": "1.0.0" } }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -4197,49 +4278,87 @@ } } }, + "eslint-plugin-jsx-a11y": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.0.3.tgz", + "integrity": "sha1-VFg9GuRCSDFi4EDhPMMYZUZRAOU=", + "dev": true, + "requires": { + "aria-query": "0.7.1", + "array-includes": "3.0.3", + "ast-types-flow": "0.0.7", + "axobject-query": "0.1.0", + "damerau-levenshtein": "1.0.4", + "emoji-regex": "6.5.1", + "jsx-ast-utils": "2.0.1" + } + }, "eslint-plugin-react": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.3.0.tgz", - "integrity": "sha512-7L6QEOxm7XhcDoe+U9Qt7GJjU6KeQOX9jCLGE8EPGF6FQbwZ9LgcBzsjXIZv9oYvNQlvQZmLjJs76xEeWsI4QA==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.7.0.tgz", + "integrity": "sha512-KC7Snr4YsWZD5flu6A5c0AcIZidzW3Exbqp7OT67OaD2AppJtlBr/GuPrW/vaQM/yfZotEvKAdrxrO+v8vwYJA==", "dev": true, "requires": { - "doctrine": "2.0.0", + "doctrine": "2.1.0", "has": "1.0.1", "jsx-ast-utils": "2.0.1", - "prop-types": "15.5.10" + "prop-types": "15.6.0" + }, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "prop-types": { + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", + "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "dev": true, + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1" + } + } } }, + "eslint-restricted-globals": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz", + "integrity": "sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc=", + "dev": true + }, "eslint-scope": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "4.2.0", + "esrecurse": "4.2.1", "estraverse": "4.2.0" - }, - "dependencies": { - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - } } }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true + }, "eslint-watch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/eslint-watch/-/eslint-watch-3.1.2.tgz", "integrity": "sha1-uTs+ygiRXxE9yQCZT4gNsTZN5LM=", "dev": true, "requires": { - "babel-polyfill": "6.23.0", + "babel-polyfill": "6.26.0", "bluebird": "3.5.1", "chalk": "1.1.3", "chokidar": "1.7.0", "debug": "2.6.9", "keypress": "0.2.1", - "lodash": "4.17.4", + "lodash": "4.17.5", "optionator": "0.8.2", "source-map-support": "0.4.18", "text-table": "0.2.0", @@ -4274,15 +4393,29 @@ } }, "espree": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz", - "integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.3.tgz", + "integrity": "sha512-Zy3tAJDORxQZLl2baguiRU1syPERAIg0L+JB2MWorORgTu/CplzvxS9WWA7Xh4+Q+eOQihNs/1o1Xep8cvCxWQ==", "dev": true, "requires": { - "acorn": "5.1.2", + "acorn": "5.4.1", "acorn-jsx": "3.0.1" + }, + "dependencies": { + "acorn": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.4.1.tgz", + "integrity": "sha512-XLmq3H/BVvW6/GbxKryGxWORz1ebilSsUDlyC27bXhWGWAZWkGwS6FLHjOlwFXNFoWFQEO/Df4u0YYd0K3BQgQ==", + "dev": true + } } }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + }, "esquery": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", @@ -4290,34 +4423,29 @@ "dev": true, "requires": { "estraverse": "4.2.0" - }, - "dependencies": { - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - } } }, "esrecurse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.0" - }, - "dependencies": { - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - } + "estraverse": "4.2.0" } }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -4373,7 +4501,7 @@ "exec-sh": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz", - "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==", + "integrity": "sha1-FjuYpuiea2W0fCoo0hW8H2OYnDg=", "dev": true, "requires": { "merge": "1.2.0" @@ -4454,13 +4582,13 @@ } }, "external-editor": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.5.tgz", - "integrity": "sha512-Msjo64WT5W+NhOpQXh0nOHm+n0RfU1QUwDnKYvJ8dEJ8zlwLrqXNTv5mSUTJpepf41PDJGyhueTw2vNZW+Fr/w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", + "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", "dev": true, "requires": { + "chardet": "0.4.2", "iconv-lite": "0.4.19", - "jschardet": "1.5.1", "tmp": "0.0.33" } }, @@ -4491,7 +4619,7 @@ "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", "dev": true, "requires": { - "lodash": "4.17.4" + "lodash": "4.17.5" } } } @@ -4514,6 +4642,12 @@ "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", "dev": true }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", @@ -4580,7 +4714,7 @@ "file-loader": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.11.2.tgz", - "integrity": "sha512-N+uhF3mswIFeziHQjGScJ/yHXYt3DiLBeC+9vWW+WjUBiClMSOlV1YrXQi+7KM2aA3Rn4Bybgv+uXFQbfkzpvg==", + "integrity": "sha1-T/HfKK84cZpgmAk7iMgscdF5SjQ=", "dev": true, "requires": { "loader-utils": "1.1.0" @@ -4664,7 +4798,7 @@ "dev": true, "requires": { "commondir": "1.0.1", - "make-dir": "1.0.0", + "make-dir": "1.2.0", "pkg-dir": "2.0.0" } }, @@ -4777,17 +4911,921 @@ "universalify": "0.1.1" } }, - "fs-readdir-recursive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz", - "integrity": "sha1-jNF0XItPiinIyuw5JHaSG6GV9WA=", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, + "fs-readdir-recursive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz", + "integrity": "sha1-jNF0XItPiinIyuw5JHaSG6GV9WA=", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", + "integrity": "sha1-EfgjGPX+e7LNIpZaEI6TBiCCFtg=", + "dev": true, + "optional": true, + "requires": { + "nan": "2.7.0", + "node-pre-gyp": "0.6.39" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true, + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.39", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.2", + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "dev": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, "fstream": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", @@ -4803,7 +5841,7 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", "dev": true }, "function.prototype.name": { @@ -4817,6 +5855,12 @@ "is-callable": "1.1.3" } }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, "gauge": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", @@ -4895,7 +5939,7 @@ "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -4977,7 +6021,7 @@ "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", "dev": true }, "globby": { @@ -5001,7 +6045,7 @@ "dev": true, "requires": { "glob": "7.1.2", - "lodash": "4.17.4", + "lodash": "4.17.5", "minimatch": "3.0.4" } }, @@ -5365,7 +6409,7 @@ "hosted-git-info": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=", "dev": true }, "hpack.js": { @@ -5435,7 +6479,7 @@ "bluebird": "3.5.1", "html-minifier": "3.5.5", "loader-utils": "0.2.17", - "lodash": "4.17.4", + "lodash": "4.17.5", "pretty-error": "2.1.1", "toposort": "1.0.6" }, @@ -5509,7 +6553,7 @@ "requires": { "http-proxy": "1.16.2", "is-glob": "3.1.0", - "lodash": "4.17.4", + "lodash": "4.17.5", "micromatch": "2.3.11" }, "dependencies": { @@ -5566,7 +6610,7 @@ "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=" }, "icss-replace-symbols": { "version": "1.1.0", @@ -5599,9 +6643,9 @@ "dev": true }, "ignore": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz", - "integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", "dev": true }, "immediate": { @@ -5682,9 +6726,9 @@ "chalk": "2.0.1", "cli-cursor": "2.1.0", "cli-width": "2.2.0", - "external-editor": "2.0.5", + "external-editor": "2.1.0", "figures": "2.0.0", - "lodash": "4.17.4", + "lodash": "4.17.5", "mute-stream": "0.0.7", "run-async": "2.3.0", "rx-lite": "4.0.8", @@ -5771,10 +6815,10 @@ "is-absolute": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "integrity": "sha1-OV4a6EsR8mrReV5zwXN45IowFXY=", "requires": { "is-relative": "1.0.0", - "is-windows": "1.0.1" + "is-windows": "1.0.2" } }, "is-absolute-url": { @@ -5986,7 +7030,7 @@ "is-number-like": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", - "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", + "integrity": "sha1-LhKWILUIkQQuROm7uzBZPnXPu+M=", "dev": true, "requires": { "lodash.isfinite": "3.3.2" @@ -6045,7 +7089,7 @@ "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", "requires": { "isobject": "3.0.1" }, @@ -6092,19 +7136,16 @@ "is-relative": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "integrity": "sha1-obtpNc6MXboei5dUubLcwCDiJg0=", "requires": { "is-unc-path": "1.0.0" } }, "is-resolvable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", - "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", - "dev": true, - "requires": { - "tryit": "1.0.3" - } + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true }, "is-stream": { "version": "1.1.0", @@ -6141,7 +7182,7 @@ "is-unc-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "integrity": "sha1-1zHoiY7QkKEsNSrS6u1Qla0yLJ0=", "requires": { "unc-path-regex": "0.1.2" } @@ -6153,9 +7194,9 @@ "dev": true }, "is-windows": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz", - "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, "is-wsl": { "version": "1.1.0", @@ -6232,19 +7273,19 @@ "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", "dev": true, "requires": { - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "esprima": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=", "dev": true }, "js-yaml": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=", "dev": true, "requires": { "argparse": "1.0.9", @@ -6584,7 +7625,7 @@ "jest-haste-map": { "version": "20.0.5", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.0.5.tgz", - "integrity": "sha512-0IKAQjUvuZjMCNi/0VNQQF74/H9KB67hsHJqGiwTWQC6XO5Azs7kLWm+6Q/dwuhvDUvABDOBMFK2/FwZ3sZ07Q==", + "integrity": "sha1-q61077GgBZdKe2UX4RAQcJyrkRI=", "dev": true, "requires": { "fb-watchman": "2.0.0", @@ -6775,7 +7816,7 @@ "integrity": "sha1-osgCIZxCA/dU3xQE5JAYYWnRJNg=", "dev": true, "requires": { - "babel-core": "6.25.0", + "babel-core": "6.26.0", "babel-jest": "20.0.3", "babel-plugin-istanbul": "4.1.5", "chalk": "1.1.3", @@ -7019,12 +8060,6 @@ "dev": true, "optional": true }, - "jschardet": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.5.1.tgz", - "integrity": "sha512-vE2hT1D0HLZCLLclfBSfkfTTedhVj0fubHpJBHKwwUWX0nSbhPAfk+SG9rTX95BYNmau8rGFfCeaT6T5OW1C2A==", - "dev": true - }, "jsdom": { "version": "9.12.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", @@ -7097,7 +8132,7 @@ "boom": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "integrity": "sha1-XdnabuOl8wIHdDYpDLcX0/SlTgI=", "dev": true, "requires": { "hoek": "4.2.0" @@ -7160,7 +8195,7 @@ "hawk": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "integrity": "sha1-r02RTrBl+bXOTZ0RwcshJu7MMDg=", "dev": true, "requires": { "boom": "4.3.1", @@ -7189,13 +8224,13 @@ "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", "dev": true }, "request": { "version": "2.83.0", "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "integrity": "sha1-ygtl2gLtYpNYh4COb1EDgQNOM1Y=", "dev": true, "requires": { "aws-sign2": "0.7.0", @@ -7281,6 +8316,12 @@ "jsonify": "0.0.0" } }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -7364,7 +8405,7 @@ "jss-compose": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/jss-compose/-/jss-compose-5.0.0.tgz", - "integrity": "sha512-YofRYuiA0+VbeOw0VjgkyO380sA4+TWDrW52nSluD9n+1FWOlDzNbgpZ/Sb3Y46+DcAbOS21W5jo6SAqUEiuwA==", + "integrity": "sha1-zgGy5FIdZcN+pCz0kRbl96tZZIQ=", "requires": { "warning": "3.0.0" } @@ -7372,12 +8413,12 @@ "jss-default-unit": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/jss-default-unit/-/jss-default-unit-8.0.2.tgz", - "integrity": "sha512-WxNHrF/18CdoAGw2H0FqOEvJdREXVXLazn7PQYU7V6/BWkCV0GkmWsppNiExdw8dP4TU1ma1dT9zBNJ95feLmg==" + "integrity": "sha1-zB6Im65MC5QZMnsxSrHI4oJokOY=" }, "jss-expand": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/jss-expand/-/jss-expand-5.1.0.tgz", - "integrity": "sha512-WTxmNipgj0V8kr8gc8Gc6Et7uQZH60H7FFNG9zZHjR6TPJoj7TDK+/EBxwRHtCRQD4B8RTwoa7MyEKD4ReKfXw==" + "integrity": "sha1-sa107BhjHzT2WiEk/PzrZABhDj0=" }, "jss-extend": { "version": "6.1.0", @@ -7390,12 +8431,12 @@ "jss-global": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/jss-global/-/jss-global-3.0.0.tgz", - "integrity": "sha512-wxYn7vL+TImyQYGAfdplg7yaxnPQ9RaXY/cIA8hawaVnmmWxDHzBK32u1y+RAvWboa3lW83ya3nVZ/C+jyjZ5Q==" + "integrity": "sha1-4Z5ckasrljU8In4wqiy9k4zar6I=" }, "jss-nested": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/jss-nested/-/jss-nested-6.0.1.tgz", - "integrity": "sha512-rn964TralHOZxoyEgeq3hXY8hyuCElnvQoVrQwKHVmu55VRDd6IqExAx9be5HgK0yN/+hQdgAXQl/GUrBbbSTA==", + "integrity": "sha1-75kredbo9j2TnEOXudmbXLvoJMo=", "requires": { "warning": "3.0.0" } @@ -7420,12 +8461,12 @@ "jss-props-sort": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/jss-props-sort/-/jss-props-sort-6.0.0.tgz", - "integrity": "sha512-E89UDcrphmI0LzmvYk25Hp4aE5ZBsXqMWlkFXS0EtPkunJkRr+WXdCNYbXbksIPnKlBenGB9OxzQY+mVc70S+g==" + "integrity": "sha1-kQUQGjtQcfq2Hi2F6nTMIumxYyM=" }, "jss-template": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/jss-template/-/jss-template-1.0.1.tgz", - "integrity": "sha512-m5BqEWha17fmIVXm1z8xbJhY6GFJxNB9H68GVnCWPyGYfxiAgY9WTQyvDAVj+pYRgrXSOfN5V1T4+SzN1sJTeg==", + "integrity": "sha1-Ca7Z2GzFR7B/U+81XX4Xd/faQwo=", "requires": { "warning": "3.0.0" } @@ -7433,7 +8474,7 @@ "jss-vendor-prefixer": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/jss-vendor-prefixer/-/jss-vendor-prefixer-7.0.0.tgz", - "integrity": "sha512-Agd+FKmvsI0HLcYXkvy8GYOw3AAASBUpsmIRvVQheps+JWaN892uFOInTr0DRydwaD91vSSUCU4NssschvF7MA==", + "integrity": "sha1-AWZyllABXvGdnwJDfHNmcjFgXHE=", "requires": { "css-vendor": "0.3.8" } @@ -7521,7 +8562,7 @@ "limiter": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.2.tgz", - "integrity": "sha512-JIKZ0xb6fZZYa3deZ0BgXCgX6HgV8Nx3mFGeFHmFWW8Fb2c08e0CyE+G3nalpD0xGvGssjGb1UdFr+PprxZEbw==", + "integrity": "sha1-Ip2AVYkcixGvng7lIA6OCbs9y+s=", "dev": true }, "load-json-file": { @@ -7555,9 +8596,9 @@ } }, "localforage": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.5.6.tgz", - "integrity": "sha1-0DTRXlNy7pfGQXPpqa65aBX13QY=", + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.5.7.tgz", + "integrity": "sha1-tEVVRhDUC8vpEPHoiUk4uD2He8s=", "requires": { "lie": "3.1.1" } @@ -7616,9 +8657,9 @@ } }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" }, "lodash-es": { "version": "4.17.4", @@ -7661,12 +8702,6 @@ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, - "lodash.cond": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", - "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", - "dev": true - }, "lodash.curry": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", @@ -7847,7 +8882,7 @@ "lru-cache": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=", "dev": true, "requires": { "pseudomap": "1.0.2", @@ -7861,12 +8896,20 @@ "dev": true }, "make-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz", - "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz", + "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } } }, "makeerror": { @@ -7906,12 +8949,12 @@ } }, "material-ui": { - "version": "1.0.0-beta.29", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.29.tgz", - "integrity": "sha512-l0QDFy5gmwiFRq1azgBHlhGu/aZbGPwcHKezwTTDXIxuEkOzC1fpJb2Zv+wCileAW1s1NJx5hAN2lh2E/xeVxQ==", + "version": "1.0.0-beta.35", + "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.35.tgz", + "integrity": "sha512-KqCNpe2Hhi1J1UsM4Ko8hdYi67N3Ck4T7IPk7PoAo4edYaY/ntcfB16645B3A/RVxYgRBFy7btQHtA4X7r7mIw==", "requires": { "@types/jss": "9.3.0", - "@types/react-transition-group": "2.0.6", + "@types/react-transition-group": "2.0.7", "babel-runtime": "6.26.0", "brcast": "3.0.1", "classnames": "2.2.5", @@ -7926,16 +8969,16 @@ "jss-props-sort": "6.0.0", "jss-vendor-prefixer": "7.0.0", "keycode": "2.1.9", - "lodash": "4.17.4", + "lodash": "4.17.5", "normalize-scroll-left": "0.1.2", "prop-types": "15.6.0", "react-event-listener": "0.5.3", "react-jss": "8.2.1", - "react-popper": "0.7.5", - "react-scrollbar-size": "2.0.2", + "react-popper": "0.8.2", + "react-scrollbar-size": "2.1.0", "react-transition-group": "2.2.1", "recompose": "0.26.0", - "scroll": "2.0.1", + "scroll": "2.0.3", "warning": "3.0.0" }, "dependencies": { @@ -7957,9 +9000,9 @@ } }, "material-ui-icons": { - "version": "1.0.0-beta.17", - "resolved": "https://registry.npmjs.org/material-ui-icons/-/material-ui-icons-1.0.0-beta.17.tgz", - "integrity": "sha1-XxmvVKLZnu7zR6VUFKaFPhyFDcM=", + "version": "1.0.0-beta.35", + "resolved": "https://registry.npmjs.org/material-ui-icons/-/material-ui-icons-1.0.0-beta.35.tgz", + "integrity": "sha512-w8NIy9sYrwAZM7Gd+eraNdT5e84Y0oA0nsR/M4fi8LimTD9NXaBD4QImhnKlSS4soO52sj3uYhnMRVG/JEfQ5w==", "requires": { "recompose": "0.26.0" } @@ -8108,9 +9151,9 @@ } }, "mimic-fn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "min-document": { @@ -8136,7 +9179,7 @@ "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "requires": { "brace-expansion": "1.1.8" } @@ -8209,9 +9252,9 @@ "dev": true }, "mqtt": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-2.15.1.tgz", - "integrity": "sha512-wcU1Ec/PqdgmWZ8InKd9298UlHbsL4ujnUdkkN1JIee0HI1Qe+JvZhO66qCYQKEH+U2XsJMcr9GncQPKUEfmRw==", + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-2.15.3.tgz", + "integrity": "sha512-1ouZMkJbmr48QV42uGCx9BF8dCoY/IUEDGOxuJiVpnzV1Cl3bxqRAu/HAQjWWruhXHWnAolfnFLm/GvTLkT+Wg==", "requires": { "commist": "1.0.0", "concat-stream": "1.6.0", @@ -8219,7 +9262,7 @@ "help-me": "1.1.0", "inherits": "2.0.3", "minimist": "1.2.0", - "mqtt-packet": "5.4.0", + "mqtt-packet": "5.5.0", "pump": "2.0.1", "readable-stream": "2.3.3", "reinterval": "1.1.0", @@ -8231,20 +9274,27 @@ "mqtt-localforage-store": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/mqtt-localforage-store/-/mqtt-localforage-store-1.0.5.tgz", - "integrity": "sha512-FG/tidF0CABS434D2oRNhjTy/asifCYnVVLXa5eW3miggoWu9slvJ4+bqkFP7W34SqPHR64LnRirSh99ntzy8A==", + "integrity": "sha1-v9fF7lHzOWRWYsuU/3Nf1eXTzQ4=", "requires": { "readable-stream": "2.3.3" } }, "mqtt-packet": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-5.4.0.tgz", - "integrity": "sha512-ziN7uVysLdn7fYbOhEaKOhcZC3yIRTTakY4TFd2w+UvZIx9dPr8NCqbBYoC4WYDlzWHTn5EqR5x20pC+K24Ymg==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-5.5.0.tgz", + "integrity": "sha512-kR+Uw+r9rjUFSLZutmaAhjL4Y1asKLMTwE++PP0iuApJuc+zItE5v2LluQN2K3Pri5e2+K4V++QDjqGTgle/+A==", "requires": { "bl": "1.2.1", "inherits": "2.0.3", - "process-nextick-args": "1.0.7", + "process-nextick-args": "2.0.0", "safe-buffer": "5.1.1" + }, + "dependencies": { + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + } } }, "ms": { @@ -8350,7 +9400,7 @@ "no-case": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", "dev": true, "requires": { "lower-case": "1.1.4" @@ -8364,7 +9414,7 @@ "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "integrity": "sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8=", "requires": { "encoding": "0.1.12", "is-stream": "1.1.0" @@ -8546,7 +9596,7 @@ "boom": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "integrity": "sha1-XdnabuOl8wIHdDYpDLcX0/SlTgI=", "dev": true, "requires": { "hoek": "4.2.0" @@ -8578,7 +9628,7 @@ "hawk": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "integrity": "sha1-r02RTrBl+bXOTZ0RwcshJu7MMDg=", "dev": true, "requires": { "boom": "4.3.1", @@ -8607,13 +9657,13 @@ "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", "dev": true }, "request": { "version": "2.83.0", "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "integrity": "sha1-ygtl2gLtYpNYh4COb1EDgQNOM1Y=", "dev": true, "requires": { "aws-sign2": "0.7.0", @@ -8702,7 +9752,7 @@ "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", "dev": true, "requires": { "hosted-git-info": "2.5.0", @@ -8729,7 +9779,7 @@ "normalize-scroll-left": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-scroll-left/-/normalize-scroll-left-0.1.2.tgz", - "integrity": "sha512-F9YMRls0zCF6BFIE2YnXDRpHPpfd91nOIaNdDgrx5YMoPLo8Wqj+6jNXHQsYBavJeXP4ww8HCt0xQAKc5qk2Fg==" + "integrity": "sha1-a3lpG6eetfsQf6Xt+9wGtVyu4qo=" }, "normalize-url": { "version": "1.9.1", @@ -8837,7 +9887,7 @@ "npmlog": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=", "dev": true, "requires": { "are-we-there-yet": "1.1.4", @@ -9081,7 +10131,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "1.2.0" } }, "opener": { @@ -9266,7 +10316,7 @@ "p-map": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", "dev": true }, "pako": { @@ -9500,9 +10550,9 @@ "dev": true }, "pluralize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-4.0.0.tgz", - "integrity": "sha1-WbcIwcAZCi9pLxx2GMRGsFL9F2I=", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", "dev": true }, "popper.js": { @@ -9614,7 +10664,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -9687,7 +10737,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -9759,7 +10809,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -9830,7 +10880,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -9901,7 +10951,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -9972,7 +11022,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -10043,7 +11093,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -10115,7 +11165,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -10187,7 +11237,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -10305,7 +11355,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -10378,7 +11428,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -10449,7 +11499,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -10534,7 +11584,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -10613,7 +11663,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -10685,7 +11735,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -10759,7 +11809,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -10833,7 +11883,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -10943,7 +11993,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -11017,7 +12067,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -11089,7 +12139,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -11161,7 +12211,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -11232,7 +12282,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -11305,7 +12355,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -11390,7 +12440,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -11463,7 +12513,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -11542,7 +12592,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { "chalk": "1.1.3", @@ -11636,7 +12686,7 @@ "promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", "requires": { "asap": "2.0.6" } @@ -11717,7 +12767,7 @@ "pump": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", "requires": { "end-of-stream": "1.4.1", "once": "1.4.0" @@ -11726,7 +12776,7 @@ "pumpify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz", - "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==", + "integrity": "sha1-gLfF334kFT0D8OesigWl0Gi9B/s=", "requires": { "duplexify": "3.5.3", "inherits": "2.0.3", @@ -11787,7 +12837,7 @@ "raf": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", - "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", + "integrity": "sha1-ooh2iBtLwsqRF9QTgWPduA94FXU=", "requires": { "performance-now": "2.1.0" } @@ -11803,7 +12853,7 @@ "randomatic": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", "dev": true, "requires": { "is-number": "3.0.0", @@ -11867,9 +12917,9 @@ "dev": true }, "raven-js": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/raven-js/-/raven-js-3.22.1.tgz", - "integrity": "sha512-2Y8czUl5a9usbvXbpV8a+GPAiDXjxQjaHImZL0TyJWI5k5jV/6o+wceaBAg9g6RpO9OOJp0/w2mMs6pBoqOyDA==" + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/raven-js/-/raven-js-3.22.3.tgz", + "integrity": "sha512-pIzHpAggyTOGJE3ruAKdZNK5qhO4V21kR7lwpdUM875yHpq1cqeGzvs78/RufF3g7NaAvVmMPCbaV9uUhQzJ3A==" }, "raw-body": { "version": "2.3.2", @@ -11985,7 +13035,7 @@ "react-event-listener": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.5.3.tgz", - "integrity": "sha512-fTGYvhe7eTsqq0m664Km0rxKQcqLIGZWZINmy1LU0fu312tay8Mt3Twq2P5Xj1dfDVvvzT1Ql3/FDkiMPJ1MOg==", + "integrity": "sha1-qLSSWWrWAYZTFPzCwYy4e2zjh24=", "requires": { "babel-runtime": "6.26.0", "fbjs": "0.8.16", @@ -12053,17 +13103,16 @@ "integrity": "sha1-RABCa8+oDKpnJMd1VpUxUgn6Swc=", "dev": true, "requires": { - "lodash": "4.17.4" + "lodash": "4.17.5" } } } }, "react-input-autosize": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.0.1.tgz", - "integrity": "sha1-6SGQSXtAJsJ4CtDy/XA8g1ugPjM=", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.1.tgz", + "integrity": "sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA==", "requires": { - "create-react-class": "15.6.2", "prop-types": "15.5.10" } }, @@ -12143,12 +13192,29 @@ } }, "react-popper": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.7.5.tgz", - "integrity": "sha512-ya9dhhGCf74JTOB2uyksEHhIGw7w9tNZRUJF73lEq2h4H5JT6MBa4PdT4G+sx6fZwq+xKZAL/sVNAIuojPn7Dg==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.8.2.tgz", + "integrity": "sha512-sL3r9aOG8sw48Vs5EiTZV4EXhEH0eoN9718WoIsb0Lx2H/sAZbVLZrENduXCAhre6cEqSh7mMR5sI1luYkVhYQ==", "requires": { "popper.js": "1.12.9", - "prop-types": "15.5.10" + "prop-types": "15.6.0" + }, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "prop-types": { + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", + "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1" + } + } } }, "react-proxy": { @@ -12157,7 +13223,7 @@ "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=", "dev": true, "requires": { - "lodash": "4.17.4", + "lodash": "4.17.5", "react-deep-force-update": "1.1.1" } }, @@ -12168,30 +13234,57 @@ "dev": true }, "react-redux": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.6.tgz", - "integrity": "sha512-8taaaGu+J7PMJQDJrk/xiWEYQmdo3mkXw6wPr3K3LxvXis3Fymiq7c13S+Tpls/AyNUAsoONkU81AP0RA6y6Vw==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz", + "integrity": "sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg==", "requires": { - "hoist-non-react-statics": "2.3.1", + "hoist-non-react-statics": "2.5.0", "invariant": "2.2.2", - "lodash": "4.17.4", - "lodash-es": "4.17.4", + "lodash": "4.17.5", + "lodash-es": "4.17.5", "loose-envify": "1.3.1", - "prop-types": "15.5.10" + "prop-types": "15.6.0" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz", + "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w==" + }, + "lodash-es": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.5.tgz", + "integrity": "sha512-Ez3ONp3TK9gX1HYKp6IhetcVybD+2F+Yp6GS9dfH8ue6EOCEzQtQEh4K0FYWBP9qLv+lzeQAYXw+3ySfxyZqkw==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "prop-types": { + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", + "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1" + } + } } }, "react-redux-loading-bar": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-redux-loading-bar/-/react-redux-loading-bar-3.0.0.tgz", - "integrity": "sha1-HzOLgqJLht2HB3JoRZ4Rs93Hm8k=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/react-redux-loading-bar/-/react-redux-loading-bar-3.1.1.tgz", + "integrity": "sha512-5ubOTduRMD0KkO6m1TM+H4d2U/WMl2+GUO8Tpx6WgJJJFJKPPzxdXA4nqu5D/PyD9VqVYSd9+sJDTlQ+DSBUFQ==", "requires": { "prop-types": "15.5.10" } }, "react-responsive-modal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-responsive-modal/-/react-responsive-modal-2.0.0.tgz", - "integrity": "sha512-eeFDyR+UFo1YrAQwJjqvTo1djBNb5cHIlICPODesWQOHdgji5kTelXbtQ8ZaQFG0J8uA7pXDq9jjbYvwJP9LcQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/react-responsive-modal/-/react-responsive-modal-2.0.1.tgz", + "integrity": "sha512-tsbePbALzIUFOESbiUPDn6KvRy7jLBVTLwuRZ8UnfxC8/SU1fafRbxkmSQ2fXt6f+cJc2RGnIB+sBxc3bVebHw==", "requires": { "classnames": "2.2.5", "no-scroll": "2.1.0", @@ -12221,7 +13314,7 @@ "react-router": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/react-router/-/react-router-3.2.0.tgz", - "integrity": "sha512-sXlLOg0TRCqnjCVskqBHGjzNjcJKUqXEKnDSuxMYJSPJNq9hROE9VsiIW2kfIq7Ev+20Iz0nxayekXyv0XNmsg==", + "integrity": "sha1-YrYnnVibcLNOJlET5MCpJhoC7TY=", "requires": { "create-react-class": "15.6.2", "history": "3.3.0", @@ -12251,14 +13344,14 @@ } }, "react-router-navigation-prompt": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/react-router-navigation-prompt/-/react-router-navigation-prompt-1.5.5.tgz", - "integrity": "sha512-hRVNE1+yVNHERCE+25Q/HJpyQaf1HKcaz5MjikOvZkXvMlM2W5QpcslDSEOhao0rWw9np2QvOuFwr8Vhbg7qKQ==" + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/react-router-navigation-prompt/-/react-router-navigation-prompt-1.5.7.tgz", + "integrity": "sha512-di8nvxEf9CCLXMFKe8fQun5WGmQ6M8Fa9q9pAzTK8ZiuMuLiWSihYTjAtfxGR5EFQRZNfsQdQM+y+hlcFwvXVQ==" }, "react-sanfona": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/react-sanfona/-/react-sanfona-0.4.0.tgz", - "integrity": "sha1-YbQocJd3uJPyaJPhocWTchfbD6c=", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-sanfona/-/react-sanfona-0.4.3.tgz", + "integrity": "sha1-yuRXkzKKFjNa8oqcHXNX6WPC4zs=", "requires": { "classnames": "2.2.5", "prop-types": "15.5.10", @@ -12266,23 +13359,41 @@ } }, "react-scrollbar-size": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/react-scrollbar-size/-/react-scrollbar-size-2.0.2.tgz", - "integrity": "sha512-scpDs2PZFf9CJteBeDu7jkk7s+YX06Si4rQGVHsH6vjR/p7417q1Jv5SpOblLLesOgNrfWekwoHQG1g0/p3tvw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/react-scrollbar-size/-/react-scrollbar-size-2.1.0.tgz", + "integrity": "sha512-9dDUJvk7S48r0TRKjlKJ9e/LkLLYgc9LdQR6W21I8ZqtSrEsedPOoMji4nU3DHy7fx2l8YMScJS/N7qiloYzXQ==", "requires": { "babel-runtime": "6.26.0", - "prop-types": "15.5.10", - "react-event-listener": "0.5.3" + "prop-types": "15.6.0", + "react-event-listener": "0.5.3", + "stifle": "1.0.4" + }, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "prop-types": { + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", + "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1" + } + } } }, "react-select": { - "version": "1.0.0-rc.10", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-1.0.0-rc.10.tgz", - "integrity": "sha1-8Tc0YlD5JVyXn7+iGGCJmSh3I1A=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-1.2.1.tgz", + "integrity": "sha512-vaCgT2bEl+uTyE/uKOEgzE5Dc/wLtzhnBvoHCeuLoJWc4WuadN6WQDhoL42DW+TziniZK2Gaqe/wUXydI3NSaQ==", "requires": { "classnames": "2.2.5", "prop-types": "15.5.10", - "react-input-autosize": "2.0.1" + "react-input-autosize": "2.2.1" } }, "react-side-effect": { @@ -12323,7 +13434,7 @@ "react-transition-group": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.2.1.tgz", - "integrity": "sha512-q54UBM22bs/CekG8r3+vi9TugSqh0t7qcEVycaRc9M0p0aCEu+h6rp/RFiW7fHfgd1IKpd9oILFTl5QK+FpiPA==", + "integrity": "sha1-6ftne3nmRV/TkbA4I6/oSEnfShA=", "requires": { "chain-function": "1.0.0", "classnames": "2.2.5", @@ -12420,7 +13531,7 @@ "recompose": { "version": "0.26.0", "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.26.0.tgz", - "integrity": "sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog==", + "integrity": "sha1-m6v/A5y3K6W9FzZtVdcjL737LTA=", "requires": { "change-emitter": "0.1.6", "fbjs": "0.8.16", @@ -12431,7 +13542,7 @@ "redbox-react": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/redbox-react/-/redbox-react-1.5.0.tgz", - "integrity": "sha512-mdxArOI3sF8K5Nay5NG+lv/VW516TbXjjd4h1wcV1Iy4IMDQPnCayjoQXBAycAFSME4nyXRUXCjHxsw2rYpVRw==", + "integrity": "sha1-BNqxFVfSZlG/NWKmfCKs5WxdOWc=", "dev": true, "requires": { "error-stack-parser": "1.3.6", @@ -12489,18 +13600,18 @@ "redux": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", + "integrity": "sha1-BrcxIyFZAdJdBlvjQusCa8HIU3s=", "requires": { - "lodash": "4.17.4", + "lodash": "4.17.5", "lodash-es": "4.17.4", "loose-envify": "1.3.1", "symbol-observable": "1.0.4" } }, "redux-act": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/redux-act/-/redux-act-1.5.1.tgz", - "integrity": "sha512-GD7I/4kH1X/H7VI1s1CRzJun8PALba/B71KGVxG4c3fJdKBQN9ED6BIYZjfaWsTtYGr1i3TE6AEFbAcB+utgSQ==" + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/redux-act/-/redux-act-1.7.3.tgz", + "integrity": "sha512-bVkC6+b9r+YLntoOPIbTumQJoujAX5Ct7fItdxlYBZTl534H7s571iM9bwGfl/WhTg0HCmo72EeR0yD7Xj6GiQ==" }, "redux-devtools": { "version": "3.4.1", @@ -12508,7 +13619,7 @@ "integrity": "sha1-CdNCzgq2CHvmeelTodfFMO+hE44=", "dev": true, "requires": { - "lodash": "4.17.4", + "lodash": "4.17.5", "prop-types": "15.5.10", "redux-devtools-instrument": "1.8.2" } @@ -12516,7 +13627,7 @@ "redux-devtools-dock-monitor": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/redux-devtools-dock-monitor/-/redux-devtools-dock-monitor-1.1.3.tgz", - "integrity": "sha512-yAXzoI0lpjv19CxVuw8RECeFWUVdyzayqnkX8ePZyeXV2ZgIk4T+rKx82Wk+REP1y3rl8o1/oFDq4B7EobOqMg==", + "integrity": "sha1-EgXoI8glNlcKrIVRocS3CXLLpqo=", "dev": true, "requires": { "babel-runtime": "6.26.0", @@ -12532,7 +13643,7 @@ "integrity": "sha1-XpHP5ALnkNrj/S8NI197fYSwn/4=", "dev": true, "requires": { - "lodash": "4.17.4", + "lodash": "4.17.5", "symbol-observable": "1.0.4" } }, @@ -12567,16 +13678,16 @@ } }, "redux-form": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/redux-form/-/redux-form-7.2.1.tgz", - "integrity": "sha512-KWV+rq+L1QGoRSKoJXbGS8Mw2q4ta5FVyGxW5ZYnAEjXZAukvUCkqDUzobBmOqiRHvrZ3/ssEA7kJFdu7rV8+w==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/redux-form/-/redux-form-7.2.3.tgz", + "integrity": "sha512-UpopunO0bYMwGvKaHq5bcUUBJDvFmZ6lMM/uFfnzjpCtuP39Eb7i6UpB4OPzfuIBVpbDNIF5GRewQFvLZn9afw==", "requires": { "deep-equal": "1.0.1", "es6-error": "4.1.1", "hoist-non-react-statics": "2.3.1", "invariant": "2.2.2", "is-promise": "2.1.0", - "lodash": "4.17.4", + "lodash": "4.17.5", "lodash-es": "4.17.4", "prop-types": "15.5.10" } @@ -12584,7 +13695,7 @@ "redux-form-material-ui": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/redux-form-material-ui/-/redux-form-material-ui-4.3.3.tgz", - "integrity": "sha512-3VS2NgwqTsObdNrg8QoGRadr0PGyYW352GpKbfTrz51wWHUYX/zo7S5O/FunrCqjmUCnS/mERCU4i6Wx1RWmFw==" + "integrity": "sha1-WMWhYjEa1v7UtHCc1KKxTOJpseM=" }, "redux-immutable-state-invariant": { "version": "2.0.0", @@ -12613,18 +13724,18 @@ "regenerate": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", + "integrity": "sha1-DDNtOYBVPXVcObWGrjsgqknIK38=", "dev": true }, "regenerator-runtime": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==" + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, "regenerator-transform": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=", "dev": true, "requires": { "babel-runtime": "6.26.0", @@ -12635,7 +13746,7 @@ "regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=", "dev": true, "requires": { "is-equal-shallow": "0.1.3" @@ -13023,7 +14134,7 @@ "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" }, "sane": { "version": "1.6.0", @@ -13067,7 +14178,7 @@ "dev": true, "requires": { "glob": "7.1.2", - "lodash": "4.17.4", + "lodash": "4.17.5", "scss-tokenizer": "0.2.3", "yargs": "7.1.0" }, @@ -13113,7 +14224,7 @@ "sass-loader": { "version": "6.0.6", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.6.tgz", - "integrity": "sha512-c3/Zc+iW+qqDip6kXPYLEgsAu2lf4xz0EZDplB7EmSUMda12U1sGJPetH55B/j9eu0bTtKzKlNPWWyYC7wFNyQ==", + "integrity": "sha1-6dXmwfFV+qMqSybXqbcQfCJeQPk=", "dev": true, "requires": { "async": "2.5.0", @@ -13129,7 +14240,7 @@ "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", "dev": true, "requires": { - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "pify": { @@ -13143,7 +14254,7 @@ "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", "dev": true }, "schema-utils": { @@ -13156,9 +14267,9 @@ } }, "scroll": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/scroll/-/scroll-2.0.1.tgz", - "integrity": "sha1-tMfSfovPOuiligQvJyaK4/VfnM0=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/scroll/-/scroll-2.0.3.tgz", + "integrity": "sha512-3ncZzf8gUW739h3LeS68nSssO60O+GGjT3SxzgofQmT8PIoyHzebql9HHPJopZX8iT6TKOdwaWFMqL6LzUN3DQ==", "requires": { "rafl": "1.2.2" } @@ -13417,7 +14528,7 @@ "shallowequal": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.0.2.tgz", - "integrity": "sha512-zlVXeVUKvo+HEv1e2KQF/csyeMKx2oHvatQ9l6XjCUj3agvC8XGf6R9HvIPDSmp8FNPvx7b5kaEJTRi7CqxtEw==" + "integrity": "sha1-FWHb3vuMAUCBADGQhXZNo/z4P48=" }, "shebang-command": { "version": "1.2.0", @@ -13449,7 +14560,7 @@ "shellwords": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "integrity": "sha1-1rkYHBpI05cyTISHHvvPxz/AZUs=", "dev": true }, "sigmund": { @@ -13816,7 +14927,7 @@ "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==", + "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=", "dev": true, "requires": { "source-map": "0.5.7" @@ -13945,7 +15056,7 @@ "split2": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", - "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "integrity": "sha1-GGsldbz4PoW30YRldWI47k7kJJM=", "requires": { "through2": "2.0.3" } @@ -14085,6 +15196,11 @@ "readable-stream": "2.3.3" } }, + "stifle": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stifle/-/stifle-1.0.4.tgz", + "integrity": "sha1-izvN9SQZsKnHnjWtrc5QEjwdjpk=" + }, "stream-browserify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", @@ -14171,7 +15287,7 @@ "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", "requires": { "safe-buffer": "5.1.1" } @@ -14218,7 +15334,7 @@ "style-loader": { "version": "0.18.2", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.18.2.tgz", - "integrity": "sha512-WPpJPZGUxWYHWIUMNNOYqql7zh85zGmr84FdTVWq52WTIkqlW9xSxD3QYWi/T31cqn9UNSsietVEgGn2aaSCzw==", + "integrity": "sha1-zDFFmvvNbYC3Ig7lSykan9Zv9es=", "dev": true, "requires": { "loader-utils": "1.1.0", @@ -14279,19 +15395,30 @@ "dev": true }, "table": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", - "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", + "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", "dev": true, "requires": { - "ajv": "5.2.3", - "ajv-keywords": "2.1.0", - "chalk": "2.1.0", - "lodash": "4.17.4", + "ajv": "6.2.0", + "ajv-keywords": "3.1.0", + "chalk": "2.3.1", + "lodash": "4.17.5", "slice-ansi": "1.0.0", "string-width": "2.1.1" }, "dependencies": { + "ajv": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.0.tgz", + "integrity": "sha1-r6wpW7qgFSRJ5SJ0LkVHwa6TKNI=", + "dev": true, + "requires": { + "fast-deep-equal": "1.0.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", @@ -14299,16 +15426,22 @@ "dev": true }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" + "supports-color": "5.2.0" } }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "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", @@ -14333,6 +15466,15 @@ "requires": { "ansi-regex": "3.0.0" } + }, + "supports-color": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", + "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } } } }, @@ -14434,7 +15576,7 @@ "theming": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/theming/-/theming-1.3.0.tgz", - "integrity": "sha512-ya5Ef7XDGbTPBv5ENTwrwkPUexrlPeiAg/EI9kdlUAZhNlRbCdhMKRgjNX1IcmsmiPcqDQZE6BpSaH+cr31FKw==", + "integrity": "sha1-KG1broC+iQ0K3GReXKBJhyNyW9w=", "requires": { "brcast": "3.0.1", "is-function": "1.0.1", @@ -14445,7 +15587,7 @@ "throat": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/throat/-/throat-3.2.0.tgz", - "integrity": "sha512-/EY8VpvlqJ+sFtLPeOgc8Pl7kQVOWv0woD87KTXVHPIAE842FGT+rokxIhe8xIUP1cfgrkt0as0vDLjDiMtr8w==", + "integrity": "sha1-UMsGcO28QCN7njR9fh+I5GIK+DY=", "dev": true }, "through": { @@ -14698,12 +15840,6 @@ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, - "tryit": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", - "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", - "dev": true - }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", @@ -14965,7 +16101,7 @@ "url-loader": { "version": "0.5.9", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.5.9.tgz", - "integrity": "sha512-B7QYFyvv+fOBqBVeefsxv6koWWtjmHaMFT6KZWti4KRw8YUD/hOU+3AECvXuzyVawIBx3z7zQRejXCDSO5kk1Q==", + "integrity": "sha1-zI/qgse5Bud3cBklCGnlaemVwpU=", "dev": true, "requires": { "loader-utils": "1.1.0", @@ -15161,7 +16297,7 @@ "uuid": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=" }, "v8flags": { "version": "2.1.1", @@ -15262,7 +16398,7 @@ "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "dev": true, "requires": { - "lodash": "4.17.4" + "lodash": "4.17.5" } } } @@ -15279,7 +16415,7 @@ "webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "integrity": "sha1-qFWYCx8LazWbodXZ+zmulB+qY60=", "dev": true }, "webpack": { @@ -15333,7 +16469,7 @@ "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "dev": true, "requires": { - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "cliui": { @@ -15432,7 +16568,7 @@ "express": "4.16.1", "filesize": "3.5.10", "gzip-size": "3.0.0", - "lodash": "4.17.4", + "lodash": "4.17.5", "mkdirp": "0.5.1", "opener": "1.4.3", "ws": "2.3.1" @@ -15539,7 +16675,7 @@ "mime": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=", "dev": true }, "path-to-regexp": { @@ -15551,13 +16687,13 @@ "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", "dev": true }, "send": { "version": "0.16.1", "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", - "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", + "integrity": "sha1-pw4coh0TgsEdDZ9iMd6ygQgNerM=", "dev": true, "requires": { "debug": "2.6.9", @@ -15578,7 +16714,7 @@ "serve-static": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", - "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", + "integrity": "sha1-TFfVNASnYdjy58HooYpH2/J4pxk=", "dev": true, "requires": { "encodeurl": "1.0.1", @@ -15590,7 +16726,7 @@ "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", "dev": true }, "supports-color": { @@ -15632,9 +16768,9 @@ } }, "webpack-concat-plugin": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/webpack-concat-plugin/-/webpack-concat-plugin-1.4.1.tgz", - "integrity": "sha512-Bj82MNoLmW0ejMQNNMVciNryfCjg5Wm50esx9khU2sLEdsnQJ9AwMrM4+WV1dliTqBSJUUGoTU5Fe80PckOC7g==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/webpack-concat-plugin/-/webpack-concat-plugin-1.4.2.tgz", + "integrity": "sha512-HdV2xOq4twtL2ThR9NSCCQ888v1JBMpJfm3k2mA1I5LkS2+/6rv8q/bb9yTSaR0fVaMtANZi4Wkz0xc33MAt6w==", "dev": true, "requires": { "md5": "2.2.1", @@ -15806,6 +16942,7 @@ "anymatch": "2.0.0", "async-each": "1.0.1", "braces": "2.3.0", + "fsevents": "1.1.3", "glob-parent": "3.1.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", @@ -16317,7 +17454,7 @@ "webpack-hot-middleware": { "version": "2.18.2", "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.18.2.tgz", - "integrity": "sha512-dB7uOnUWsojZIAC6Nwi5v3tuaQNd2i7p4vF5LsJRyoTOgr2fRYQdMKQxRZIZZaz0cTPBX8rvcWU1A6/n7JTITg==", + "integrity": "sha1-hN7mQ/A3w9WcneFCVIQwNxqo07I=", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -16348,7 +17485,7 @@ "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=", "dev": true }, "source-map": { @@ -16378,7 +17515,7 @@ "websocket-stream": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/websocket-stream/-/websocket-stream-5.1.1.tgz", - "integrity": "sha512-ypQ50zVCnikSvJcRFWaZh7xeCufSje5+mbJRq3mdvdNx+06TD98C+bQsSKc7FkI6y1PVuNbzkenGywxlFiQeUQ==", + "integrity": "sha1-aNI5Fs31NonP9z4hP6IXjbzqYWk=", "requires": { "duplexify": "3.5.3", "inherits": "2.0.3", @@ -16465,7 +17602,7 @@ "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", "dev": true, "requires": { "isexe": "2.0.0" @@ -16480,7 +17617,7 @@ "wide-align": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "integrity": "sha1-Vx4PGwYEY268DfwhsDObvjE0FxA=", "dev": true, "requires": { "string-width": "1.0.2" diff --git a/package.json b/package.json index ed54d41a1e3b210a9bc529ce4e7cf25bfe9d0611..20196b95ec549f273b7aee8805ca05e57897868b 100644 --- a/package.json +++ b/package.json @@ -13,50 +13,53 @@ "prebuild:dev": "npm run clean:dev", "remove:prod": "rimraf ./build", "remove:dev": "rimraf ./bundle", - "start": "NODE_ENV=development webpack-dev-server --config ./webpack.dev.config.babel.js --inline" + "start": "NODE_ENV=development webpack-dev-server --config ./webpack.dev.config.babel.js --inline", + "lint-fix": "./node_modules/.bin/eslint --fix src", + "lint": "./node_modules/.bin/eslint src" }, "author": "", "license": "MIT", "dependencies": { "history": "^3.3.0", - "localforage": "^1.5.6", - "lodash": "^4.17.4", - "material-ui": "^1.0.0-beta.29", - "material-ui-icons": "^1.0.0-beta.17", - "mqtt": "^2.15.1", + "localforage": "^1.5.7", + "lodash": "^4.17.5", + "material-ui": "^1.0.0-beta.35", + "material-ui-icons": "^1.0.0-beta.35", + "mqtt": "^2.15.3", "mqtt-localforage-store": "^1.0.5", "object-assign": "4.1.0", "path": "^0.12.7", - "raven-js": "^3.22.1", + "raven-js": "^3.22.3", "react": "15.5.4", "react-custom-scrollbars": "^4.2.1", "react-dom": "15.5.4", "react-helmet": "5.2.0", "react-materialize": "^0.18.4", - "react-redux": "^5.0.5", - "react-redux-loading-bar": "^3.0.0", + "react-redux": "^5.0.7", + "react-redux-loading-bar": "^3.1.1", "react-responsive-modal": "^2.0.0", "react-router": "^3.2.0", - "react-router-navigation-prompt": "^1.5.5", - "react-sanfona": "^0.4.0", - "react-select": "^1.0.0-rc.10", + "react-router-navigation-prompt": "^1.5.7", + "react-sanfona": "^0.4.3", + "react-select": "^1.2.1", "redux": "^3.7.2", - "redux-act": "^1.5.1", - "redux-form": "^7.2.1", + "redux-act": "^1.7.3", + "redux-form": "^7.2.3", "redux-form-material-ui": "^4.3.3", - "redux-saga": "^0.16.0" + "redux-saga": "^0.16.0", + "regenerator-runtime": "^0.11.1" }, "devDependencies": { "autoprefixer": "7.1.2", "babel-cli": "6.24.1", - "babel-core": "^6.25.0", + "babel-core": "^6.26.0", "babel-eslint": "7.2.3", "babel-jest": "20.0.3", - "babel-loader": "^7.1.1", + "babel-loader": "^7.1.3", "babel-plugin-transform-class-properties": "^6.24.1", "babel-plugin-transform-react-constant-elements": "6.23.0", "babel-plugin-transform-react-remove-prop-types": "0.4.6", - "babel-polyfill": "^6.23.0", + "babel-polyfill": "^6.26.0", "babel-preset-env": "1.6.0", "babel-preset-react": "6.24.1", "babel-preset-react-hmre": "^1.1.1", @@ -69,9 +72,11 @@ "coveralls": "2.13.1", "css-loader": "0.28.4", "enzyme": "2.9.1", - "eslint": "4.2.0", - "eslint-plugin-import": "2.7.0", - "eslint-plugin-react": "7.3.0", + "eslint": "^4.18.1", + "eslint-config-airbnb": "^16.1.0", + "eslint-plugin-import": "^2.9.0", + "eslint-plugin-jsx-a11y": "^6.0.3", + "eslint-plugin-react": "^7.7.0", "eslint-watch": "3.1.2", "extract-text-webpack-plugin": "3.0.0-rc.2", "file-loader": "0.11.2", @@ -105,7 +110,7 @@ "url-loader": "0.5.9", "webpack": "^2.6.1", "webpack-bundle-analyzer": "2.8.2", - "webpack-concat-plugin": "^1.4.1", + "webpack-concat-plugin": "^1.4.2", "webpack-dev-middleware": "1.11.0", "webpack-dev-server": "^2.9.4", "webpack-hot-middleware": "2.18.2", diff --git a/src/assets/vendor/utils/dashboard.js b/src/assets/vendor/utils/dashboard.js index b3422e60525ea4a5a809cc03f2462773499e6a39..a38b12e4e3e03d4cd09987740ed28a56a85fa807 100644 --- a/src/assets/vendor/utils/dashboard.js +++ b/src/assets/vendor/utils/dashboard.js @@ -1,123 +1,124 @@ -var recorder, - audio_context, - DashboardWidget, - ChatListWidget, - ProfileViewWidget, - ContactsWidget, - ContactRequestsWidget, - AddContactWidget, - ChatAreaWidget; +let recorder, + audio_context, + DashboardWidget, + ChatListWidget, + ProfileViewWidget, + ContactsWidget, + ContactRequestsWidget, + AddContactWidget, + ChatAreaWidget; (function () { - var el, t; - DashboardWidget = { - settings: { - panels_options: { - logo_wrap: [], - chats_list: [], - contacts_list_view: [], - new_contact_view: [], - profile_view: [], - photos_list: [], - videos_list: [], - links_list: [], - files_list: [] - }, - vw: 0, - active_chat: 1, - chat_types: [], - message_statuses: [], - contacts: [], - chats: [], - geoIpService: "//freegeoip.net/json/", - minNumberDigits: 10, - minCodeDigits: 6, - }, - elements: { - countryData: [], - addressDropdown: '#country', - codeInput: '#code', - telRealInput: '#number', - telInput: '#full-number', - verify: '#verify', - first_name: "#first_name", - last_name: "#last_name", - sendCodeBtn: '#sendCode', - sendVerifyBtn: '#verifyCode', - doneBtn: '#doneBtn', - - chat: '#chat', - chats: '#chats', - photos: '#photos', - videos: '#videos', - links: '#links', - files: '#files', - - logo_wrap: '#logo_wrap', - chats_list: '#chats_list', - photos_list: '#photos_list', - videos_list: '#vidoes_list', - links_list: '#links_list', - files_list: '#files_list', - }, - titleTemplate: 'Dashboard | ', - init: function () { - t = this; - el = this.elements; - - this.initSettings(); - this.initDashboard(); - this.initChat(); - - this.initCountry(); - this.initCodePhone(); - - this.bindUIActions(); - - this.initElementMasks(); - //this.initRecording(); - //this.initRecordLog(); - }, - initSettings: function () { - t.calculateVWCoefficient(); - - t.settings.panels_options['logo_wrap']['width'] = t.settings.vw * $('#logo_wrap').width(); - t.settings.panels_options['logo_wrap']['min'] = t.settings.vw * 100; - t.settings.panels_options['logo_wrap']['max'] = t.settings.vw * 3400; - - t.settings.panels_options['chats_list']['width'] = t.settings.vw * $('#chats_list').width(); - t.settings.panels_options['chats_list']['min'] = t.settings.vw * 100; - t.settings.panels_options['chats_list']['max'] = t.settings.vw * 3400; - - t.settings.panels_options['contacts_list_view']['width'] = t.settings.vw * $('#contacts_list_view').width(); - t.settings.panels_options['contacts_list_view']['min'] = t.settings.vw * 100; - t.settings.panels_options['contacts_list_view']['max'] = t.settings.vw * 3400; - - t.settings.panels_options['new_contact_view']['width'] = t.settings.vw * $('#new_contact_view').width(); - t.settings.panels_options['new_contact_view']['min'] = t.settings.vw * 100; - t.settings.panels_options['new_contact_view']['max'] = t.settings.vw * 3400; - - t.settings.panels_options['profile_view']['width'] = t.settings.vw * $('#profile_view').width(); - t.settings.panels_options['profile_view']['min'] = t.settings.vw * 100; - t.settings.panels_options['profile_view']['max'] = t.settings.vw * 3400; - - t.settings.panels_options['photos_list']['width'] = t.settings.vw * $('#photos_list').width(); - t.settings.panels_options['photos_list']['min'] = 70; - t.settings.panels_options['photos_list']['max'] = 90; - - t.settings.panels_options['videos_list']['width'] = t.settings.vw * $('#videos_list').width(); - t.settings.panels_options['videos_list']['min'] = 70; - t.settings.panels_options['videos_list']['max'] = 90; - - t.settings.panels_options['links_list']['width'] = t.settings.vw * $('#links_list').width(); - t.settings.panels_options['links_list']['min'] = 70; - t.settings.panels_options['links_list']['max'] = 90; - - t.settings.panels_options['files_list']['width'] = t.settings.vw * $('#files_list').width(); - t.settings.panels_options['files_list']['min'] = 70; - t.settings.panels_options['files_list']['max'] = 90; - - /* + let el, + t; + DashboardWidget = { + settings: { + panels_options: { + logo_wrap: [], + chats_list: [], + contacts_list_view: [], + new_contact_view: [], + profile_view: [], + photos_list: [], + videos_list: [], + links_list: [], + files_list: [] + }, + vw: 0, + active_chat: 1, + chat_types: [], + message_statuses: [], + contacts: [], + chats: [], + geoIpService: '//freegeoip.net/json/', + minNumberDigits: 10, + minCodeDigits: 6 + }, + elements: { + countryData: [], + addressDropdown: '#country', + codeInput: '#code', + telRealInput: '#number', + telInput: '#full-number', + verify: '#verify', + first_name: '#first_name', + last_name: '#last_name', + sendCodeBtn: '#sendCode', + sendVerifyBtn: '#verifyCode', + doneBtn: '#doneBtn', + + chat: '#chat', + chats: '#chats', + photos: '#photos', + videos: '#videos', + links: '#links', + files: '#files', + + logo_wrap: '#logo_wrap', + chats_list: '#chats_list', + photos_list: '#photos_list', + videos_list: '#vidoes_list', + links_list: '#links_list', + files_list: '#files_list' + }, + titleTemplate: 'Dashboard | ', + init() { + t = this; + el = this.elements; + + this.initSettings(); + this.initDashboard(); + this.initChat(); + + this.initCountry(); + this.initCodePhone(); + + this.bindUIActions(); + + this.initElementMasks(); + // this.initRecording(); + // this.initRecordLog(); + }, + initSettings() { + t.calculateVWCoefficient(); + + t.settings.panels_options.logo_wrap.width = t.settings.vw * $('#logo_wrap').width(); + t.settings.panels_options.logo_wrap.min = t.settings.vw * 100; + t.settings.panels_options.logo_wrap.max = t.settings.vw * 3400; + + t.settings.panels_options.chats_list.width = t.settings.vw * $('#chats_list').width(); + t.settings.panels_options.chats_list.min = t.settings.vw * 100; + t.settings.panels_options.chats_list.max = t.settings.vw * 3400; + + t.settings.panels_options.contacts_list_view.width = t.settings.vw * $('#contacts_list_view').width(); + t.settings.panels_options.contacts_list_view.min = t.settings.vw * 100; + t.settings.panels_options.contacts_list_view.max = t.settings.vw * 3400; + + t.settings.panels_options.new_contact_view.width = t.settings.vw * $('#new_contact_view').width(); + t.settings.panels_options.new_contact_view.min = t.settings.vw * 100; + t.settings.panels_options.new_contact_view.max = t.settings.vw * 3400; + + t.settings.panels_options.profile_view.width = t.settings.vw * $('#profile_view').width(); + t.settings.panels_options.profile_view.min = t.settings.vw * 100; + t.settings.panels_options.profile_view.max = t.settings.vw * 3400; + + t.settings.panels_options.photos_list.width = t.settings.vw * $('#photos_list').width(); + t.settings.panels_options.photos_list.min = 70; + t.settings.panels_options.photos_list.max = 90; + + t.settings.panels_options.videos_list.width = t.settings.vw * $('#videos_list').width(); + t.settings.panels_options.videos_list.min = 70; + t.settings.panels_options.videos_list.max = 90; + + t.settings.panels_options.links_list.width = t.settings.vw * $('#links_list').width(); + t.settings.panels_options.links_list.min = 70; + t.settings.panels_options.links_list.max = 90; + + t.settings.panels_options.files_list.width = t.settings.vw * $('#files_list').width(); + t.settings.panels_options.files_list.min = 70; + t.settings.panels_options.files_list.max = 90; + + /* $(document).keypress(function (e) { var keycode = (e.keyCode ? e.keyCode : e.which); if (keycode == '13') { @@ -125,330 +126,318 @@ var recorder, } }); */ - }, - initDashboard: function () { - //@TODO: need check user session - if (!GlobalWidget.getRosterId()) { - location.replace('/web/welcome.htm'); - } - - //4a. reconnect because was redirect to dashboard (temporary) - mqttOptions.password = token(); - mqttOptions.cleanSession = false; - mqttOptions.onFailure = function (m) { - console.log("%cClient{%s, %s} - connection to backend failed: %s", "color:red", client(), token(), m.errorMessage); - ProfileViewWidget.logout(); - }; - mqttOptions.onSuccess = function () { - console.log("%cClient{%s, %s} - connected to backend", "color:green", client(), token()); - - var msg = enc(encProfile({"phone": GlobalWidget.getPhoneNumber(), "status": "get"})); - ws.send(msg); - }; - delete mqttOptions.mqttVersion; - delete mqttOptions.mqttVersionExplicit; - - mqtt_open(mqttOptions); - }, - calculateVWCoefficient: function () { - t.settings.vw = (100 / $(document).width()); - }, - bindUIActions: function () { - - $('.drag_handle_left').on('mousedown', function (e) { - e.preventDefault(); - - var right_side_bar_id = ''; - right_side_bar_id = $('#chats_list').is(':hidden') ? right_side_bar_id : 'chats_list'; - right_side_bar_id = $('#contacts_list_view').is(':hidden') ? right_side_bar_id : 'contacts_list_view'; - right_side_bar_id = $('#new_contact_view').is(':hidden') ? right_side_bar_id : 'new_contact_view'; - right_side_bar_id = $('#profile_view').is(':hidden') ? right_side_bar_id : 'profile_view'; - - $(document).mousemove(function (e) { - var right_sid_bar_selector = '#' + right_side_bar_id; - var width_start = $(right_sid_bar_selector).width(); - var width = e.pageX - $(right_sid_bar_selector).offset().left; - - t.settings.panels_options[right_side_bar_id]['width'] = width * t.settings.vw; - t.settings.panels_options['logo_wrap']['width'] = width * t.settings.vw; - - var right_side_bar_width = (width * t.settings.vw) + 'vw'; - var chat_width = t.settings.vw * ($('#chat').width() + (width_start - width)) + 'vw'; - var tool_bar_width = t.settings.vw * ($('#tool_bar').width() + (width_start - width)) + 'vw'; - var padding_chat_wrapper = '0vw ' + ((15 - ((t.settings.vw * width) / 2)) < 0 ? 0 : (15 - ((t.settings.vw * width) / 2))) + 'vw'; - - if ((e.pageX * t.settings.vw) > t.settings.panels_options[right_side_bar_id]['min'] && (e.pageX * t.settings.vw) < t.settings.panels_options[right_side_bar_id]['max']) { - $('#logo_wrap').css("width", right_side_bar_width); - $(right_sid_bar_selector).css("width", right_side_bar_width); - $('#chat').css("width", chat_width); - $('#tool_bar').css("width", tool_bar_width); - - $('.chat_wrapper').css("padding", padding_chat_wrapper); - } - }) - }).mouseup(function () { - //console.log('mouseup'); - //$(document).unbind('mousemove'); - }).mouseout(function () { - //console.log('mouseout'); - - //$(document).unbind('mousemove'); - }); - - $(document).on('mouseup', function () { - //console.log('mouseup'); - - $(document).unbind('mousemove'); - }); - - $('.drag_handle').mousedown(function (e) { - e.preventDefault(); - - var right_side_bar_id = ''; - right_side_bar_id = $('#photos_list').is(':hidden') ? right_side_bar_id : 'photos_list'; - right_side_bar_id = $('#videos_list').is(':hidden') ? right_side_bar_id : 'videos_list'; - right_side_bar_id = $('#links_list').is(':hidden') ? right_side_bar_id : 'links_list'; - right_side_bar_id = $('#files_list').is(':hidden') ? right_side_bar_id : 'files_list'; - - var right_sid_bar_selector = '#' + right_side_bar_id; - var vw = (100 / $(document).width()); - $(document).mousemove(function (e) { - e.preventDefault(); - var width_start = $(right_sid_bar_selector).width(); - var width = ($(right_sid_bar_selector).offset().left + $(right_sid_bar_selector).width()) - e.pageX; - - t.settings.panels_options[right_side_bar_id]['width'] = width * t.settings.vw; - - var right_side_bar_width = (width * vw) + 'vw'; - var chat_width = t.settings.vw * ($('#chat').width() + (width_start - width)) + 'vw'; - - if ((e.pageX * t.settings.vw) > t.settings.panels_options[right_side_bar_id]['min'] && (e.pageX * t.settings.vw) < t.settings.panels_options[right_side_bar_id]['max']) { - - $(right_sid_bar_selector).css("width", right_side_bar_width); - $('#chat').css("width", chat_width); - } - }) - }).mouseup(function () { - //$(this).unbind('mousemove'); - }).mouseout(function () { - //$(this).unbind('mousemove'); - }); - - $('#videos').click(function () { - var videos_is_hidden = $('#videos_list').is(':hidden'); - $('#chat').css("width", ''); - $('#tool_bar').css("width", ''); - $('.chat_wrapper').css("padding", ''); - if (videos_is_hidden) { - - $('#logo_wrap').hide(); - - $('#chats_list').hide(); - $('#contacts_list_view').hide(); - $('#new_contact_view').hide(); - $('#profile_view').hide(); - $('.drag_handle_left').hide(); - $('#files_list').hide(); - $('#photos_list').hide(); - $('#links_list').hide(); - - $('#recents').hide('slow'); - $('#favorite').hide('slow'); - $('#family').hide('slow'); - $('#new_chat').hide('slow'); - - $("#videos_list").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var vw = (100 / $(document).width()); - - var chat_width = ((t.settings.vw * $('#chat').width()) - t.settings.panels_options['videos_list']['width']) + 'vw'; - $('#chat').css("width", chat_width); - - var panel_width = t.settings.panels_options['videos_list']['width']; - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - $('.chat_wrapper').css("padding", padding_chat_wrapper); - - } else { - $('#videos_list').hide(); - } - }); - - $('#files').click(function () { - var files_is_hidden = $('#files_list').is(':hidden'); - $('#chat').css("width", ''); - $('#tool_bar').css("width", ''); - $('.chat_wrapper').css("padding", ''); - if (files_is_hidden) { - - $('#logo_wrap').hide(); - - $('#chats_list').hide(); - $('#contacts_list_view').hide(); - $('#new_contact_view').hide(); - $('#profile_view').hide(); - $('.drag_handle_left').hide(); - $('#videos_list').hide(); - $('#links_list').hide(); - $('#photos_list').hide(); - - $('#recents').hide('slow'); - $('#favorite').hide('slow'); - $('#family').hide('slow'); - $('#new_chat').hide('slow'); - - $("#files_list").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var vw = (100 / $(document).width()); - - var chat_width = ((t.settings.vw * $('#chat').width()) - t.settings.panels_options['files_list']['width']) + 'vw'; - $('#chat').css("width", chat_width); - - var panel_width = t.settings.panels_options['files_list']['width']; - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - $('.chat_wrapper').css("padding", padding_chat_wrapper); - - } else { - $('#files_list').hide(); - } - }); - - $('#links').click(function () { - $('#chat').css("width", ''); - $('#tool_bar').css("width", ''); - $('.chat_wrapper').css("padding", ''); - var links_is_hidden = $('#links_list').is(':hidden'); - if (links_is_hidden) { - - $('#logo_wrap').hide(); - - $('#chats_list').hide(); - $('#contacts_list_view').hide(); - $('#new_contact_view').hide(); - $('#profile_view').hide(); - $('.drag_handle_left').hide(); - $('#files_list').hide(); - $('#videos_list').hide(); - $('#photos_list').hide(); - - $('#recents').hide('slow'); - $('#favorite').hide('slow'); - $('#family').hide('slow'); - $('#new_chat').hide('slow'); - - $("#links_list").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var vw = (100 / $(document).width()); - - var chat_width = ((t.settings.vw * $('#chat').width()) - t.settings.panels_options['links_list']['width']) + 'vw'; - $('#chat').css("width", chat_width); - - var panel_width = t.settings.panels_options['links_list']['width']; - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - $('.chat_wrapper').css("padding", padding_chat_wrapper); - - } else { - $('#links_list').hide(); - } - }); - - $('#photos').click(function () { - var photos_is_hidden = $('#photos_list').is(':hidden'); - $('#chat').css("width", ''); - $('#tool_bar').css("width", ''); - $('.chat_wrapper').css("padding", ''); - if (photos_is_hidden) { - - $('#logo_wrap').hide(); - - $('#chats_list').hide(); - $('#contacts_list_view').hide(); - $('#new_contact_view').hide(); - $('#profile_view').hide(); - $('.drag_handle_left').hide(); - $('#videos_list').hide(); - $('#files_list').hide(); - $('#links_list').hide(); - - $('#recents').hide('slow'); - $('#favorite').hide('slow'); - $('#family').hide('slow'); - $('#new_chat').hide('slow'); - - $("#photos_list").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var vw = (100 / $(document).width()); - - var chat_width = ((t.settings.vw * $('#chat').width()) - t.settings.panels_options['photos_list']['width']) + 'vw'; - $('#chat').css("width", chat_width); - - var panel_width = t.settings.panels_options['photos_list']['width']; - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - $('.chat_wrapper').css("padding", padding_chat_wrapper); - - } else { - $('#photos_list').hide(); - - - } - }); + }, + initDashboard() { + // @TODO: need check user session + if (!GlobalWidget.getRosterId()) { + location.replace('/web/welcome.htm'); + } + + // 4a. reconnect because was redirect to dashboard (temporary) + mqttOptions.password = token(); + mqttOptions.cleanSession = false; + mqttOptions.onFailure = function (m) { + console.log('%cClient{%s, %s} - connection to backend failed: %s', 'color:red', client(), token(), m.errorMessage); + ProfileViewWidget.logout(); + }; + mqttOptions.onSuccess = function () { + console.log('%cClient{%s, %s} - connected to backend', 'color:green', client(), token()); + + const msg = enc(encProfile({ phone: GlobalWidget.getPhoneNumber(), status: 'get' })); + ws.send(msg); + }; + delete mqttOptions.mqttVersion; + delete mqttOptions.mqttVersionExplicit; + + mqtt_open(mqttOptions); + }, + calculateVWCoefficient() { + t.settings.vw = (100 / $(document).width()); + }, + bindUIActions() { + $('.drag_handle_left').on('mousedown', (e) => { + e.preventDefault(); + + let right_side_bar_id = ''; + right_side_bar_id = $('#chats_list').is(':hidden') ? right_side_bar_id : 'chats_list'; + right_side_bar_id = $('#contacts_list_view').is(':hidden') ? right_side_bar_id : 'contacts_list_view'; + right_side_bar_id = $('#new_contact_view').is(':hidden') ? right_side_bar_id : 'new_contact_view'; + right_side_bar_id = $('#profile_view').is(':hidden') ? right_side_bar_id : 'profile_view'; + + $(document).mousemove((e) => { + const right_sid_bar_selector = `#${right_side_bar_id}`; + const width_start = $(right_sid_bar_selector).width(); + const width = e.pageX - $(right_sid_bar_selector).offset().left; + + t.settings.panels_options[right_side_bar_id].width = width * t.settings.vw; + t.settings.panels_options.logo_wrap.width = width * t.settings.vw; + + const right_side_bar_width = `${width * t.settings.vw}vw`; + const chat_width = `${t.settings.vw * ($('#chat').width() + (width_start - width))}vw`; + const tool_bar_width = `${t.settings.vw * ($('#tool_bar').width() + (width_start - width))}vw`; + const padding_chat_wrapper = `0vw ${(15 - ((t.settings.vw * width) / 2)) < 0 ? 0 : (15 - ((t.settings.vw * width) / 2))}vw`; + + if ((e.pageX * t.settings.vw) > t.settings.panels_options[right_side_bar_id].min && (e.pageX * t.settings.vw) < t.settings.panels_options[right_side_bar_id].max) { + $('#logo_wrap').css('width', right_side_bar_width); + $(right_sid_bar_selector).css('width', right_side_bar_width); + $('#chat').css('width', chat_width); + $('#tool_bar').css('width', tool_bar_width); + + $('.chat_wrapper').css('padding', padding_chat_wrapper); + } + }); + }).mouseup(() => { + // console.log('mouseup'); + // $(document).unbind('mousemove'); + }).mouseout(() => { + // console.log('mouseout'); + + // $(document).unbind('mousemove'); + }); + + $(document).on('mouseup', () => { + // console.log('mouseup'); + + $(document).unbind('mousemove'); + }); + + $('.drag_handle').mousedown((e) => { + e.preventDefault(); + + let right_side_bar_id = ''; + right_side_bar_id = $('#photos_list').is(':hidden') ? right_side_bar_id : 'photos_list'; + right_side_bar_id = $('#videos_list').is(':hidden') ? right_side_bar_id : 'videos_list'; + right_side_bar_id = $('#links_list').is(':hidden') ? right_side_bar_id : 'links_list'; + right_side_bar_id = $('#files_list').is(':hidden') ? right_side_bar_id : 'files_list'; + + const right_sid_bar_selector = `#${right_side_bar_id}`; + const vw = (100 / $(document).width()); + $(document).mousemove((e) => { + e.preventDefault(); + const width_start = $(right_sid_bar_selector).width(); + const width = ($(right_sid_bar_selector).offset().left + $(right_sid_bar_selector).width()) - e.pageX; + + t.settings.panels_options[right_side_bar_id].width = width * t.settings.vw; + + const right_side_bar_width = `${width * vw}vw`; + const chat_width = `${t.settings.vw * ($('#chat').width() + (width_start - width))}vw`; + + if ((e.pageX * t.settings.vw) > t.settings.panels_options[right_side_bar_id].min && (e.pageX * t.settings.vw) < t.settings.panels_options[right_side_bar_id].max) { + $(right_sid_bar_selector).css('width', right_side_bar_width); + $('#chat').css('width', chat_width); + } + }); + }).mouseup(() => { + // $(this).unbind('mousemove'); + }).mouseout(() => { + // $(this).unbind('mousemove'); + }); + + $('#videos').click(() => { + const videos_is_hidden = $('#videos_list').is(':hidden'); + $('#chat').css('width', ''); + $('#tool_bar').css('width', ''); + $('.chat_wrapper').css('padding', ''); + if (videos_is_hidden) { + $('#logo_wrap').hide(); + + $('#chats_list').hide(); + $('#contacts_list_view').hide(); + $('#new_contact_view').hide(); + $('#profile_view').hide(); + $('.drag_handle_left').hide(); + $('#files_list').hide(); + $('#photos_list').hide(); + $('#links_list').hide(); + + $('#recents').hide('slow'); + $('#favorite').hide('slow'); + $('#family').hide('slow'); + $('#new_chat').hide('slow'); + + $('#videos_list').fadeIn(750, function () { + $(this).addClass('lookAtMe'); + }); + + const vw = (100 / $(document).width()); + + const chat_width = `${(t.settings.vw * $('#chat').width()) - t.settings.panels_options.videos_list.width}vw`; + $('#chat').css('width', chat_width); + + const panel_width = t.settings.panels_options.videos_list.width; + const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; + $('.chat_wrapper').css('padding', padding_chat_wrapper); + } else { + $('#videos_list').hide(); + } + }); + + $('#files').click(() => { + const files_is_hidden = $('#files_list').is(':hidden'); + $('#chat').css('width', ''); + $('#tool_bar').css('width', ''); + $('.chat_wrapper').css('padding', ''); + if (files_is_hidden) { + $('#logo_wrap').hide(); + + $('#chats_list').hide(); + $('#contacts_list_view').hide(); + $('#new_contact_view').hide(); + $('#profile_view').hide(); + $('.drag_handle_left').hide(); + $('#videos_list').hide(); + $('#links_list').hide(); + $('#photos_list').hide(); + + $('#recents').hide('slow'); + $('#favorite').hide('slow'); + $('#family').hide('slow'); + $('#new_chat').hide('slow'); + + $('#files_list').fadeIn(750, function () { + $(this).addClass('lookAtMe'); + }); + + const vw = (100 / $(document).width()); + + const chat_width = `${(t.settings.vw * $('#chat').width()) - t.settings.panels_options.files_list.width}vw`; + $('#chat').css('width', chat_width); + + const panel_width = t.settings.panels_options.files_list.width; + const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; + $('.chat_wrapper').css('padding', padding_chat_wrapper); + } else { + $('#files_list').hide(); + } + }); + + $('#links').click(() => { + $('#chat').css('width', ''); + $('#tool_bar').css('width', ''); + $('.chat_wrapper').css('padding', ''); + const links_is_hidden = $('#links_list').is(':hidden'); + if (links_is_hidden) { + $('#logo_wrap').hide(); + + $('#chats_list').hide(); + $('#contacts_list_view').hide(); + $('#new_contact_view').hide(); + $('#profile_view').hide(); + $('.drag_handle_left').hide(); + $('#files_list').hide(); + $('#videos_list').hide(); + $('#photos_list').hide(); + + $('#recents').hide('slow'); + $('#favorite').hide('slow'); + $('#family').hide('slow'); + $('#new_chat').hide('slow'); + + $('#links_list').fadeIn(750, function () { + $(this).addClass('lookAtMe'); + }); + + const vw = (100 / $(document).width()); + + const chat_width = `${(t.settings.vw * $('#chat').width()) - t.settings.panels_options.links_list.width}vw`; + $('#chat').css('width', chat_width); + + const panel_width = t.settings.panels_options.links_list.width; + const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; + $('.chat_wrapper').css('padding', padding_chat_wrapper); + } else { + $('#links_list').hide(); + } + }); + + $('#photos').click(() => { + const photos_is_hidden = $('#photos_list').is(':hidden'); + $('#chat').css('width', ''); + $('#tool_bar').css('width', ''); + $('.chat_wrapper').css('padding', ''); + if (photos_is_hidden) { + $('#logo_wrap').hide(); + + $('#chats_list').hide(); + $('#contacts_list_view').hide(); + $('#new_contact_view').hide(); + $('#profile_view').hide(); + $('.drag_handle_left').hide(); + $('#videos_list').hide(); + $('#files_list').hide(); + $('#links_list').hide(); + + $('#recents').hide('slow'); + $('#favorite').hide('slow'); + $('#family').hide('slow'); + $('#new_chat').hide('slow'); + + $('#photos_list').fadeIn(750, function () { + $(this).addClass('lookAtMe'); + }); + + const vw = (100 / $(document).width()); + + const chat_width = `${(t.settings.vw * $('#chat').width()) - t.settings.panels_options.photos_list.width}vw`; + $('#chat').css('width', chat_width); + + const panel_width = t.settings.panels_options.photos_list.width; + const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; + $('.chat_wrapper').css('padding', padding_chat_wrapper); + } else { + $('#photos_list').hide(); + } + }); - $('.chat_contact').click(function () { - var show_chat = $(this).data('id'); - t.settings.chats[t.settings.active_chat].status = 'hidden'; - t.settings.chats[show_chat].status = 'active'; - t.settings.active_chat = show_chat; + $('.chat_contact').click(function () { + const show_chat = $(this).data('id'); + t.settings.chats[t.settings.active_chat].status = 'hidden'; + t.settings.chats[show_chat].status = 'active'; + t.settings.active_chat = show_chat; - //$('#chat_view').html(t.renderChat(show_chat)); + // $('#chat_view').html(t.renderChat(show_chat)); - //$('.chat_wrapper .view_active').removeClass('view_active').addClass('hidden'); - //$('.chat_wrapper #' + $(this).attr('id') + '_view').removeClass('hidden').addClass('view_active'); - //t.checkChats(); - }); + // $('.chat_wrapper .view_active').removeClass('view_active').addClass('hidden'); + // $('.chat_wrapper #' + $(this).attr('id') + '_view').removeClass('hidden').addClass('view_active'); + // t.checkChats(); + }); - /* + /* $('#send_message').click(function () { t.sendTextInInput(); }); */ - $('#favorite').click(function () { - console.log("You clicked a favorite!"); - }); + $('#favorite').click(() => { + console.log('You clicked a favorite!'); + }); - $('#family').click(function () { - console.log("You clicked a family!"); - }); + $('#family').click(() => { + console.log('You clicked a family!'); + }); - $('#work').click(function () { - console.log("You clicked a work!"); - }); + $('#work').click(() => { + console.log('You clicked a work!'); + }); - $('#new_chat').click(function () { - console.log("You clicked a new_chat!"); - $('#contacts').click(); - }); + $('#new_chat').click(() => { + console.log('You clicked a new_chat!'); + $('#contacts').click(); + }); - $('#group').click(function () { - console.log("You clicked a group!"); - }); + $('#group').click(() => { + console.log('You clicked a group!'); + }); - $('#calls').click(function () { - console.log("You clicked a calls!"); - }); + $('#calls').click(() => { + console.log('You clicked a calls!'); + }); - $('#settings').click(function () { - console.log("You clicked a settings!"); - }); + $('#settings').click(() => { + console.log('You clicked a settings!'); + }); - /* + /* $('#storage').click(function () { console.log("You clicked a storage!"); @@ -492,16 +481,16 @@ var recorder, }); */ - $('#right_bar_arrow_up').click(function () { - console.log("You clicked a right_bar_arrow2!"); - }); + $('#right_bar_arrow_up').click(() => { + console.log('You clicked a right_bar_arrow2!'); + }); - $('#right_bar_arrow_down').click(function () { - console.log("You clicked a right_bar_arrow2!"); - }); + $('#right_bar_arrow_down').click(() => { + console.log('You clicked a right_bar_arrow2!'); + }); - $('.right_sidebar').scroll(function (e) { - /*var elem = $(e.currentTarget); + $('.right_sidebar').scroll((e) => { + /* var elem = $(e.currentTarget); console.log( elem.outerHeight() + "------1" ); console.log( elem[0].scrollHeight + "------2" ); console.log( elem.scrollTop() + "------3" ); @@ -518,1257 +507,1243 @@ var recorder, $('#overlay_top').hide(); $('#right_bar_arrow_down').show(); $('#overlay_bottom').show(); - }*/ - }); - - $(el.telInput).on("countrychange", function (e, countryData) { - $(el.addressDropdown).val(countryData.iso2); - $(el.codeInput).val('+' + countryData.dialCode); - $(el.telRealInput).focus(); - }); - $(el.addressDropdown).on('change', function () { - $(el.telInput).intlTelInput("setCountry", $(this).val()); - }); - $(el.telRealInput).on('keyup', function () { - if ($(this).val().length > t.settings.minNumberDigits) { - $(el.sendCodeBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendCodeBtn).addClass('disabled').prop('disabled', true); - } - }); - $(el.verify).on('keyup', function () { - if ($(this).val().length > t.settings.minCodeDigits) { - $(el.sendVerifyBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendVerifyBtn).addClass('disabled').prop('disabled', true); - } - }); - $(el.first_name + "," + el.last_name).on('keyup', function () { - if ($(el.first_name).val().length && $(el.last_name).val().length) { - $(el.doneBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.doneBtn).addClass('disabled').prop('disabled', true); - } - }); - }, - initChat: function () { - - t.settings.chat_types[0] = 'chat'; - t.settings.chat_types[1] = 'group_chat'; - t.settings.message_statuses[0] = 'sent'; - t.settings.message_statuses[1] = 'not sent'; - t.settings.message_statuses[2] = 'viewed'; - t.settings.message_statuses[3] = 'not viewed'; - - t.settings.contacts[0] = { - name: 'David Mickelson', - image: 'sender_image' - }; - t.settings.contacts[1] = { - name: 'David Mickelson', - image: 'sender_image' - }; - - var messages_0 = []; - var contacts_0 = []; - var messages_1 = []; - var contacts_1 = []; - var messages_2 = []; - var contacts_2 = []; - - - contacts_0[0] = { - id: 0 - }; - /*contacts_0[1] = { + } */ + }); + + $(el.telInput).on('countrychange', (e, countryData) => { + $(el.addressDropdown).val(countryData.iso2); + $(el.codeInput).val(`+${countryData.dialCode}`); + $(el.telRealInput).focus(); + }); + $(el.addressDropdown).on('change', function () { + $(el.telInput).intlTelInput('setCountry', $(this).val()); + }); + $(el.telRealInput).on('keyup', function () { + if ($(this).val().length > t.settings.minNumberDigits) { + $(el.sendCodeBtn).removeClass('disabled').prop('disabled', false); + } else { + $(el.sendCodeBtn).addClass('disabled').prop('disabled', true); + } + }); + $(el.verify).on('keyup', function () { + if ($(this).val().length > t.settings.minCodeDigits) { + $(el.sendVerifyBtn).removeClass('disabled').prop('disabled', false); + } else { + $(el.sendVerifyBtn).addClass('disabled').prop('disabled', true); + } + }); + $(`${el.first_name},${el.last_name}`).on('keyup', () => { + if ($(el.first_name).val().length && $(el.last_name).val().length) { + $(el.doneBtn).removeClass('disabled').prop('disabled', false); + } else { + $(el.doneBtn).addClass('disabled').prop('disabled', true); + } + }); + }, + initChat() { + t.settings.chat_types[0] = 'chat'; + t.settings.chat_types[1] = 'group_chat'; + t.settings.message_statuses[0] = 'sent'; + t.settings.message_statuses[1] = 'not sent'; + t.settings.message_statuses[2] = 'viewed'; + t.settings.message_statuses[3] = 'not viewed'; + + t.settings.contacts[0] = { + name: 'David Mickelson', + image: 'sender_image' + }; + t.settings.contacts[1] = { + name: 'David Mickelson', + image: 'sender_image' + }; + + const messages_0 = []; + const contacts_0 = []; + const messages_1 = []; + const contacts_1 = []; + const messages_2 = []; + const contacts_2 = []; + + + contacts_0[0] = { + id: 0 + }; + /* contacts_0[1] = { id: 1 - };*/ + }; */ - messages_1[0] = { - type: 'send', - text: "There are many variations of passages of Lorem Ipsum available, " + - "but the majority have suffered alteration in some form, by injected humour. " + + messages_1[0] = { + type: 'send', + text: 'There are many variations of passages of Lorem Ipsum available, ' + + 'but the majority have suffered alteration in some form, by injected humour. ' + "or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, " + "you need to be sure there isn't anything embarrassing hidden in the middle of text", - time: '10:00pm', - status: 0 - }; - - messages_1[1] = { - type: 'received', - image: 'sender_image_0', - from: 'David Mickelson', - from_id: 0, - text: "There are many variations of passages of Lorem Ipsum available, " + - "but the majority have suffered alteration in some form, by injected humour. " + + time: '10:00pm', + status: 0 + }; + + messages_1[1] = { + type: 'received', + image: 'sender_image_0', + from: 'David Mickelson', + from_id: 0, + text: 'There are many variations of passages of Lorem Ipsum available, ' + + 'but the majority have suffered alteration in some form, by injected humour. ' + "or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, " + "you need to be sure there isn't anything embarrassing hidden in the middle of text", - time: '10:01pm', - status: 3 - }; - - contacts_1[0] = { - id: 1 - }; - - messages_2[0] = { - type: 'send', - text: "There are many variations of passages of Lorem Ipsum available, " + - "but the majority have suffered alteration in some form, by injected humour. ", - time: '10:10pm', - status: 0 - }; - messages_2[1] = { - type: 'received', - image: 'sender_image_1', - from: 'Mary', - from_id: 1, - text: "There are many variations of passages of Lorem Ipsum available, " + - "but the majority have suffered alteration in some form, by injected humour. ", - time: '10:11pm', - status: 3 - }; - - contacts_2[0] = { - id: 2 - }; - - t.settings.chats[0] = + time: '10:01pm', + status: 3 + }; + + contacts_1[0] = { + id: 1 + }; + + messages_2[0] = { + type: 'send', + text: 'There are many variations of passages of Lorem Ipsum available, ' + + 'but the majority have suffered alteration in some form, by injected humour. ', + time: '10:10pm', + status: 0 + }; + messages_2[1] = { + type: 'received', + image: 'sender_image_1', + from: 'Mary', + from_id: 1, + text: 'There are many variations of passages of Lorem Ipsum available, ' + + 'but the majority have suffered alteration in some form, by injected humour. ', + time: '10:11pm', + status: 3 + }; + + contacts_2[0] = { + id: 2 + }; + + t.settings.chats[0] = { - type: 1, - status: 'hidden', - contacts: contacts_0, - messages: [] + type: 1, + status: 'hidden', + contacts: contacts_0, + messages: [] }; - t.settings.chats[1] = + t.settings.chats[1] = { - type: 0, - status: 'active', - contacts: contacts_1, - messages: messages_1 + type: 0, + status: 'active', + contacts: contacts_1, + messages: messages_1 }; - t.settings.chats[2] = + t.settings.chats[2] = { - type: 0, - status: 'hidden', - contacts: contacts_2, - messages: messages_2 + type: 0, + status: 'hidden', + contacts: contacts_2, + messages: messages_2 }; - $.each(t.settings.chats, function (index, value) { - if (value.status == 'active') { - var chat_html = t.renderChat(index); - //$('#chat_view').html(chat_html); - } - - }); - }, - checkChats: function () { - $.each(t.settings.chats, function (index, value) { - if (value.status == 'active') { - //var chat_html = t.renderChat(index); - //$('#chat_view').html(chat_html); - $.each(value.messages, function (i, msg) { - if (msg.type == 'received') { - msg.status = 2; - } - }); - //notifications_number - $('#chats_list #chat_' + index + ' .notifications_number').text('').hide(); - } else if (value.status == 'hidden') { - var not_viewed_msgs = 0; - $.each(value.messages, function (i, msg) { - if (msg.type == 'received' && msg.status == 3) { - not_viewed_msgs++; - } - - }); - if (not_viewed_msgs > 0) { - $('#chats_list #chat_' + index + ' .notifications_number').text(not_viewed_msgs).show(); - } - } - - }); - }, - renderChat: function (id) { - var chat_html = ''; - $.each(t.settings.chats[id].messages, function (index, value) { - if (value.type == 'send') { - var msg = { - text: value.text, - time: value.time - }; - //chat_html += ChatAreaWidget.renderSentMessage(msg); - } else if (value.type == 'received') { - var msg = { - text: value.text, - image: value.image, - from: value.from, - time: value.time - }; - //chat_html += ChatAreaWidget.renderReceivedMessage(msg); - } - - }); - return chat_html; - }, - getTime: function () { - var date = new Date(); - var hours = date.getHours(); - var minutes = date.getMinutes(); - var ampm = hours >= 12 ? 'pm' : 'am'; - hours = hours % 12; - hours = hours ? hours : 12; // the hour '0' should be '12' - minutes = minutes < 10 ? '0' + minutes : minutes; - var strTime = hours + ':' + minutes + ' ' + ampm; - return strTime; - }, - refresh: function (res) { - var el = ProfileViewWidget.elements; - if (Array.isArray(res)) { - var rosterId = GlobalWidget.getRosterId() || 0; - var userName = res.rosters[rosterId].names; - // DashboardWidget.settings.profile should be array? - DashboardWidget.settings.profile = res; - $(el.firstName).val(userName); - $(el.lastName).val(res.rosters[rosterId].surnames); - document.title = DashboardWidget.settings.titleTemplate + userName + $.each(t.settings.chats, (index, value) => { + if (value.status == 'active') { + const chat_html = t.renderChat(index); + // $('#chat_view').html(chat_html); + } + }); + }, + checkChats() { + $.each(t.settings.chats, (index, value) => { + if (value.status == 'active') { + // var chat_html = t.renderChat(index); + // $('#chat_view').html(chat_html); + $.each(value.messages, (i, msg) => { + if (msg.type == 'received') { + msg.status = 2; } - }, - incomingMessage: function (msg) { - $.each(t.settings.chats, function (index, value) { - var right_chat = false; - $.each(value.contacts, function (i, contact) { - console.log(contact); - if (contact.id == msg.from_id) { - console.log(index); - right_chat = true; - } - }); - if (right_chat) { - - if (value.status == 'active') { - msg.status = 2; - $('#chat_view').append(t.renderReceivedMessage(msg)); - } else if (value.status == 'hidden') { - msg.status = 3; - } - value.messages.push(msg); - - - } - }); - t.checkChats(); - }, - initCodePhone: function () { - $(el.telInput).intlTelInput({ - allowDropdown: false, - initialCountry: "auto", - geoIpLookup: function () { - $.get(t.settings.geoIpService, function () { - }, "jsonp").always(function (resp) { - var countryCode = (resp && resp.country_code) ? resp.country_code : ""; - $(el.telInput).intlTelInput("setCountry", countryCode.toLowerCase()); - }); - }, - utilsScript: "../../build/js/utils.js" - }); - }, - initCountry: function () { - el.countryData = $.fn.intlTelInput.getCountryData(); - $.each(el.countryData, function (i, country) { - $(el.addressDropdown).append($("").attr("value", country.iso2).text(country.name)); - }); - - $(el.addressDropdown).val($(el.telInput).intlTelInput("getSelectedCountryData").iso2); - }, - initElementMasks: function () { - $(el.codeInput).mask('+0000', {placeholder: "+----"}); - $(el.telRealInput).mask('00 0000 0000', {placeholder: "-- ---- ----"}); - $(el.verify).mask('000 000', {placeholder: "--- ---"}); - }, - initRecording: function () { - - document.getElementById('recording').onmousedown = function (e) { - recorder && recorder.record(); - t.__log('Recording...'); - }; - document.getElementById('recording').onmouseup = function (e) { - recorder && recorder.stop(); - t.__log('Stopped recording.'); - // create WAV download link using audio data blob - t.createDownloadLink(); - recorder.clear(); - }; - }, - __log: function (e, data) { - console.log("\n" + e + " " + (data || '')); - }, - startUserMedia: function (stream) { - var input = audio_context.createMediaStreamSource(stream); - t.__log('Media stream created.'); - - // Uncomment if you want the audio to feedback directly - //input.connect(audio_context.destination); - //__log('Input connected to audio context destination.'); - - recorder = new Recorder(input); - t.__log('Recorder initialised.'); - }, - createDownloadLink: function () { - recorder && recorder.exportWAV(function (blob) { - var url = URL.createObjectURL(blob); - var div_bubble = document.createElement('div'); - var div_text = document.createElement('div'); - var div_time = document.createElement('div'); - var time = t.getTime(); - div_bubble.setAttribute("class", "text_send"); - div_text.setAttribute("class", "text_bubble_send"); - div_time.setAttribute("class", "time_chat"); - div_time.innerHTML = time; - var au = document.createElement('audio'); - var hf = document.createElement('a'); - au.controls = true; - au.src = url; - hf.href = url; - hf.download = new Date().toISOString() + '.wav'; - hf.innerHTML = hf.download; - div_text.appendChild(div_bubble); - div_bubble.appendChild(au); - div_bubble.appendChild(div_time); - //li.appendChild(hf); - document.getElementById('chat_view').appendChild(div_text); - }); - }, - initRecordLog: function () { - window.onload = function init() { - try { - // webkit shim - window.AudioContext = window.AudioContext || window.webkitAudioContext; - navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia; - window.URL = window.URL || window.webkitURL; - - audio_context = new AudioContext; - t.__log('Audio context set up.'); - t.__log('navigator.getUserMedia ' + (navigator.getUserMedia ? 'available.' : 'not present!')); - } catch (e) { - alert('No web audio support in this browser!'); - } + }); + // notifications_number + $(`#chats_list #chat_${index} .notifications_number`).text('').hide(); + } else if (value.status == 'hidden') { + let not_viewed_msgs = 0; + $.each(value.messages, (i, msg) => { + if (msg.type == 'received' && msg.status == 3) { + not_viewed_msgs++; + } + }); + if (not_viewed_msgs > 0) { + $(`#chats_list #chat_${index} .notifications_number`).text(not_viewed_msgs).show(); + } + } + }); + }, + renderChat(id) { + const chat_html = ''; + $.each(t.settings.chats[id].messages, (index, value) => { + if (value.type == 'send') { + var msg = { + text: value.text, + time: value.time + }; + // chat_html += ChatAreaWidget.renderSentMessage(msg); + } else if (value.type == 'received') { + var msg = { + text: value.text, + image: value.image, + from: value.from, + time: value.time + }; + // chat_html += ChatAreaWidget.renderReceivedMessage(msg); + } + }); + return chat_html; + }, + getTime() { + const date = new Date(); + let hours = date.getHours(); + let minutes = date.getMinutes(); + const ampm = hours >= 12 ? 'pm' : 'am'; + hours %= 12; + hours = hours || 12; // the hour '0' should be '12' + minutes = minutes < 10 ? `0${minutes}` : minutes; + const strTime = `${hours}:${minutes} ${ampm}`; + return strTime; + }, + refresh(res) { + const el = ProfileViewWidget.elements; + if (Array.isArray(res)) { + const rosterId = GlobalWidget.getRosterId() || 0; + const userName = res.rosters[rosterId].names; + // DashboardWidget.settings.profile should be array? + DashboardWidget.settings.profile = res; + $(el.firstName).val(userName); + $(el.lastName).val(res.rosters[rosterId].surnames); + document.title = DashboardWidget.settings.titleTemplate + userName; + } + }, + incomingMessage(msg) { + $.each(t.settings.chats, (index, value) => { + let right_chat = false; + $.each(value.contacts, (i, contact) => { + console.log(contact); + if (contact.id == msg.from_id) { + console.log(index); + right_chat = true; + } + }); + if (right_chat) { + if (value.status == 'active') { + msg.status = 2; + $('#chat_view').append(t.renderReceivedMessage(msg)); + } else if (value.status == 'hidden') { + msg.status = 3; + } + value.messages.push(msg); + } + }); + t.checkChats(); + }, + initCodePhone() { + $(el.telInput).intlTelInput({ + allowDropdown: false, + initialCountry: 'auto', + geoIpLookup() { + $.get(t.settings.geoIpService, () => { + }, 'jsonp').always((resp) => { + const countryCode = (resp && resp.country_code) ? resp.country_code : ''; + $(el.telInput).intlTelInput('setCountry', countryCode.toLowerCase()); + }); + }, + utilsScript: '../../build/js/utils.js' + }); + }, + initCountry() { + el.countryData = $.fn.intlTelInput.getCountryData(); + $.each(el.countryData, (i, country) => { + $(el.addressDropdown).append($('').attr('value', country.iso2).text(country.name)); + }); + + $(el.addressDropdown).val($(el.telInput).intlTelInput('getSelectedCountryData').iso2); + }, + initElementMasks() { + $(el.codeInput).mask('+0000', { placeholder: '+----' }); + $(el.telRealInput).mask('00 0000 0000', { placeholder: '-- ---- ----' }); + $(el.verify).mask('000 000', { placeholder: '--- ---' }); + }, + initRecording() { + document.getElementById('recording').onmousedown = function (e) { + recorder && recorder.record(); + t.__log('Recording...'); + }; + document.getElementById('recording').onmouseup = function (e) { + recorder && recorder.stop(); + t.__log('Stopped recording.'); + // create WAV download link using audio data blob + t.createDownloadLink(); + recorder.clear(); + }; + }, + __log(e, data) { + console.log(`\n${e} ${data || ''}`); + }, + startUserMedia(stream) { + const input = audio_context.createMediaStreamSource(stream); + t.__log('Media stream created.'); + + // Uncomment if you want the audio to feedback directly + // input.connect(audio_context.destination); + // __log('Input connected to audio context destination.'); + + recorder = new Recorder(input); + t.__log('Recorder initialised.'); + }, + createDownloadLink() { + recorder && recorder.exportWAV((blob) => { + const url = URL.createObjectURL(blob); + const div_bubble = document.createElement('div'); + const div_text = document.createElement('div'); + const div_time = document.createElement('div'); + const time = t.getTime(); + div_bubble.setAttribute('class', 'text_send'); + div_text.setAttribute('class', 'text_bubble_send'); + div_time.setAttribute('class', 'time_chat'); + div_time.innerHTML = time; + const au = document.createElement('audio'); + const hf = document.createElement('a'); + au.controls = true; + au.src = url; + hf.href = url; + hf.download = `${new Date().toISOString()}.wav`; + hf.innerHTML = hf.download; + div_text.appendChild(div_bubble); + div_bubble.appendChild(au); + div_bubble.appendChild(div_time); + // li.appendChild(hf); + document.getElementById('chat_view').appendChild(div_text); + }); + }, + initRecordLog() { + window.onload = function init() { + try { + // webkit shim + window.AudioContext = window.AudioContext || window.webkitAudioContext; + navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia; + window.URL = window.URL || window.webkitURL; + + audio_context = new AudioContext(); + t.__log('Audio context set up.'); + t.__log(`navigator.getUserMedia ${navigator.getUserMedia ? 'available.' : 'not present!'}`); + } catch (e) { + alert('No web audio support in this browser!'); + } -// navigator.getUserMedia({audio: true}, t.startUserMedia, function (e) { -// t.__log('No live audio input: ' + e); -// }); - }; - }, + // navigator.getUserMedia({audio: true}, t.startUserMedia, function (e) { + // t.__log('No live audio input: ' + e); + // }); + }; } - DashboardWidget.init(); + }; + DashboardWidget.init(); - /** + /** * ChatArea Widget * @type {{elements: {chatView: string, chatPanel: string}, activePhoneId: null, init: init, subscribe: subscribe, bindUIActions: bindUIActions, showChat: showChat, hideChat: hideChat, setTopic: setTopic, getHistory: getHistory}} */ - ChatAreaWidget = { - elements: { - chatView: '#chat_view', - chatPanel: '#chatPanel', - textInput: '#text_input', - sendMessageBtn: '#send_message', - }, - settings: { - activeChat: { - name: null, - online: 0, - offline: 0, - from: { - names: null, - surnames: null, - phone: null, - phone_id: null, - }, - to: { - names: null, - surnames: null, - phone: null, - phone_id: null, - }, - chatType: null, + ChatAreaWidget = { + elements: { + chatView: '#chat_view', + chatPanel: '#chatPanel', + textInput: '#text_input', + sendMessageBtn: '#send_message' + }, + settings: { + activeChat: { + name: null, + online: 0, + offline: 0, + from: { + names: null, + surnames: null, + phone: null, + phone_id: null + }, + to: { + names: null, + surnames: null, + phone: null, + phone_id: null + }, + chatType: null + }, + historySize: -100 + }, + init() { + this.subscribe(); + this.bindUIActions(); + }, + subscribe() { + GlobalWidget.subscribe('history.get', ChatAreaWidget, this.historyRefresh); + GlobalWidget.subscribe('message.sent', ChatAreaWidget, this.messageSent); + }, + bindUIActions() { + const el = this.elements; + + $(el.textInput).keypress((e) => { + const keycode = (e.keyCode ? e.keyCode : e.which); + if (keycode == '13') { + ChatAreaWidget.sendMessage(); + } + }); + + $(el.sendMessageBtn).on('click', this.sendMessage); + + $(document).ready(() => { + /* Example of sending to middle backend */ + // ws.send(enc(tuple(atom('direct'), tuple(atom('page'), atom('dashboard'))))); + }); + }, + showChat() { + const el = this.elements; + + this.setTopic(); + this.getHistory(); + $(`${el.chatView}, ${el.chatPanel}`).removeClass('hidden'); + }, + hideChat() { + const el = this.elements; + }, + setTopic() { + let topicName = 'undefined', + topicId; + + switch (this.settings.activeChat.chatType) { + case 'p2p': + var from_p = this.settings.activeChat.from.phone_id, + from_f = this.settings.activeChat.from.names, + from_l = this.settings.activeChat.from.surnames, + to_p = this.settings.activeChat.to.phone_id, + to_f = this.settings.activeChat.to.names, + to_l = this.settings.activeChat.to.surnames; + + topicName = `${from_f} ${from_l}, ${to_f} ${to_l}`; + topicId = `${from_p}-${to_p}`; + + this.settings.activeChat.name = topicName; + + ChatListWidget.addToChatList({ topicId, topicName, time: GlobalWidget.convertUnixTime(Date.now()) }); + break; + } + + $('#tool_bar .topic .topic_name').html(topicName); + $('#tool_bar .topic').removeClass('hidden'); + }, + getHistory() { + const s = this.settings; + + switch (this.settings.activeChat.chatType) { + case 'p2p': + var msg = enc(encHistory({ + roster_id: s.activeChat.from.phone_id, + feed: { + tup: 'p2p', + from: s.activeChat.from.phone_id, + to: s.activeChat.to.phone_id }, - historySize: -100 - }, - init: function () { - this.subscribe(); - this.bindUIActions() - }, - subscribe: function () { - GlobalWidget.subscribe('history.get', ChatAreaWidget, this.historyRefresh); - GlobalWidget.subscribe('message.sent', ChatAreaWidget, this.messageSent); - }, - bindUIActions: function () { - var el = this.elements; - - $(el.textInput).keypress(function (e) { - var keycode = (e.keyCode ? e.keyCode : e.which); - if (keycode == '13') { - ChatAreaWidget.sendMessage(); - } - }); - - $(el.sendMessageBtn).on('click', this.sendMessage); - - $(document).ready(function () { - /* Example of sending to middle backend */ - //ws.send(enc(tuple(atom('direct'), tuple(atom('page'), atom('dashboard'))))); - }); - }, - showChat: function () { - var el = this.elements; - - this.setTopic(); - this.getHistory() - $(el.chatView + ', ' + el.chatPanel).removeClass('hidden'); - - }, - hideChat: function () { - var el = this.elements; - }, - setTopic: function () { - var topicName = 'undefined', - topicId; - - switch (this.settings.activeChat.chatType) { - case "p2p": - var from_p = this.settings.activeChat.from.phone_id, - from_f = this.settings.activeChat.from.names, - from_l = this.settings.activeChat.from.surnames, - to_p = this.settings.activeChat.to.phone_id, - to_f = this.settings.activeChat.to.names, - to_l = this.settings.activeChat.to.surnames; - - topicName = from_f + ' ' + from_l + ', ' + to_f + ' ' + to_l; - topicId = from_p + '-' + to_p; - - this.settings.activeChat.name = topicName; - - ChatListWidget.addToChatList({"topicId": topicId, "topicName": topicName, "time": GlobalWidget.convertUnixTime(Date.now())}); - break; - } - - $("#tool_bar .topic .topic_name").html(topicName); - $("#tool_bar .topic").removeClass('hidden'); - }, - getHistory: function () { - var s = this.settings; - - switch (this.settings.activeChat.chatType) { - case "p2p": - var msg = enc(encHistory({ - roster_id: s.activeChat.from.phone_id, - feed: { - tup: "p2p", - from: s.activeChat.from.phone_id, - to: s.activeChat.to.phone_id - }, - size: s.historySize, - entity_id: 0, - status: "get" - })); - ws.send(msg); - break; - } - }, - historyRefresh: function (res) { - var el = ChatAreaWidget.elements, - s = ChatAreaWidget.settings; - var msg_html = ''; - $(el.chatView).html(msg_html); - - if (Array.isArray(res.data)) { - res.data.forEach(function (message, i) { - if ( message.files[0]) { - var msg = { - id: message.id, - from: message.from, - to: message.to, - text: message.files[0].payload, - time: message.created, - mime: message.files[0].mime, - status: message.status - }; - - if (msg.from == s.activeChat.from.phone_id) { - msg_html += ChatAreaWidget.renderSentMessage(msg); - } else { - msg_html += ChatAreaWidget.renderReceivedMessage(msg); - } - } - }); - } - - $(el.chatView).append(msg_html); - $(el.chatView).scrollTop($(el.chatView)[0].scrollHeight); - }, - sendMessage: function () { - var el = this.elements, - s = this.settings; - - //text message - var text = $(el.textInput).val(); - - if (text) { - var msg = enc(encMessage({ - container: "chain", - feed_id: { - tup: "p2p", - from: s.activeChat.from.phone_id, - to: s.activeChat.to.phone_id - }, - from: s.activeChat.from.phone_id, - to: s.activeChat.to.phone_id, - files: [{ - tup: "Desc", - mime: "text", - payload: text, - size: text.length - }], - status: "client" - })); - ws.send(msg); - } - }, - messageSent: function (message) { - var el = ChatAreaWidget.elements, - s = ChatAreaWidget.settings, - msg_html = '', - msg = { - id: message.id, - from: message.from, - to: message.to, - text: message.files[0].payload, - time: message.created, - mime: message.files[0].mime, - status: message.status - }; + size: s.historySize, + entity_id: 0, + status: 'get' + })); + ws.send(msg); + break; + } + }, + historyRefresh(res) { + let el = ChatAreaWidget.elements, + s = ChatAreaWidget.settings; + let msg_html = ''; + $(el.chatView).html(msg_html); + + if (Array.isArray(res.data)) { + res.data.forEach((message, i) => { + if (message.files[0]) { + const msg = { + id: message.id, + from: message.from, + to: message.to, + text: message.files[0].payload, + time: message.created, + mime: message.files[0].mime, + status: message.status + }; - //@TODO: store in some local storage for cache - if (message.from == s.activeChat.from.phone_id) { - msg_html = ChatAreaWidget.renderSentMessage(msg); - $(el.textInput).val(''); + if (msg.from == s.activeChat.from.phone_id) { + msg_html += ChatAreaWidget.renderSentMessage(msg); } else { - var from = ContactsWidget.getNameByPhoneID(msg.from), - m = from + ": " + msg.text; - GlobalWidget.sucsessMsg(m); - msg_html = ChatAreaWidget.renderReceivedMessage(msg); + msg_html += ChatAreaWidget.renderReceivedMessage(msg); } - - $(el.chatView).append(msg_html).scrollTop($(el.chatView)[0].scrollHeight); - }, - renderSentMessage: function (msg) { - return '
' + - '
' + msg.text + - '
' + GlobalWidget.convertUnixTime(msg.time) + '
' + + } + }); + } + + $(el.chatView).append(msg_html); + $(el.chatView).scrollTop($(el.chatView)[0].scrollHeight); + }, + sendMessage() { + let el = this.elements, + s = this.settings; + + // text message + const text = $(el.textInput).val(); + + if (text) { + const msg = enc(encMessage({ + container: 'chain', + feed_id: { + tup: 'p2p', + from: s.activeChat.from.phone_id, + to: s.activeChat.to.phone_id + }, + from: s.activeChat.from.phone_id, + to: s.activeChat.to.phone_id, + files: [{ + tup: 'Desc', + mime: 'text', + payload: text, + size: text.length + }], + status: 'client' + })); + ws.send(msg); + } + }, + messageSent(message) { + let el = ChatAreaWidget.elements, + s = ChatAreaWidget.settings, + msg_html = '', + msg = { + id: message.id, + from: message.from, + to: message.to, + text: message.files[0].payload, + time: message.created, + mime: message.files[0].mime, + status: message.status + }; + + // @TODO: store in some local storage for cache + if (message.from == s.activeChat.from.phone_id) { + msg_html = ChatAreaWidget.renderSentMessage(msg); + $(el.textInput).val(''); + } else { + let from = ContactsWidget.getNameByPhoneID(msg.from), + m = `${from}: ${msg.text}`; + GlobalWidget.sucsessMsg(m); + msg_html = ChatAreaWidget.renderReceivedMessage(msg); + } + + $(el.chatView).append(msg_html).scrollTop($(el.chatView)[0].scrollHeight); + }, + renderSentMessage(msg) { + return `
` + + `
${msg.text + }
${GlobalWidget.convertUnixTime(msg.time)}
` + '
'; - }, - renderReceivedMessage: function (msg) { - return '
' + - '
' + ContactsWidget.getNameByPhoneID(msg.from) + '
' - + msg.text + - '
' + - '
' + GlobalWidget.convertUnixTime(msg.time) + '
' + + }, + renderReceivedMessage(msg) { + return `
` + + `
${ContactsWidget.getNameByPhoneID(msg.from)}
${ + msg.text + }
` + + `
${GlobalWidget.convertUnixTime(msg.time)}
` + '
'; - }, - }; - ChatAreaWidget.init(); + } + }; + ChatAreaWidget.init(); - /** + /** * ChatList Widget * @type {{init: init}} */ - ChatListWidget = { - elements: { - chats: "#chats", - contacts: "#recents", - listScrollWrapper: "#chats_list_scroll_wrapper", - listScroll: "#chats_list_scroll", - }, - init: function () { - this.subscribe(); - this.bindUIActions() - }, - subscribe: function () { - - }, - bindUIActions: function () { - var el = ChatListWidget.elements; - - $(el.chats).on("click", function () { - //@TODO: need to refactoring this sheet - var hidden = $('#recents').is(':hidden'); - - if (hidden) { - $('#chats').addClass('active selected'); - $('#recents').slideDown("slow"); - $('#favorite').slideDown("slow"); - $('#family').slideDown("slow"); - $('#work').slideDown("slow"); - $('#new_chat').slideDown("slow"); - - //$('#recents').show('slow'); - //$('#favorite').show('slow'); - //$('#family').show('slow'); - ///$('#work').show('slow'); - //$('#new_chat').show('slow'); - } else { - $('#chats').removeClass('active selected'); - $('#recents').slideUp('slow'); - $('#favorite').slideUp('slow'); - $('#family').slideUp('slow'); - $('#work').slideUp('slow'); - $('#new_chat').slideUp('slow'); - } - }); - - $(el.contacts).on("click", function () { - //@TODO: need to refactoring this sheet - var chats_is_hidden = $('#chats_list').is(':hidden'); - $('#tool_bar').css("width", ''); - $('#chat').css("width", ''); - $('.chat_wrapper').css("padding", ''); - if (chats_is_hidden) { - $("#logo_wrap").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var tool_bar_width = ((DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options['chats_list']['width']) + 'vw'; - $('#tool_bar').css("width", tool_bar_width); - - $('#contacts_list_view, #new_contact_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); + ChatListWidget = { + elements: { + chats: '#chats', + contacts: '#recents', + listScrollWrapper: '#chats_list_scroll_wrapper', + listScroll: '#chats_list_scroll' + }, + init() { + this.subscribe(); + this.bindUIActions(); + }, + subscribe() { + + }, + bindUIActions() { + const el = ChatListWidget.elements; + + $(el.chats).on('click', () => { + // @TODO: need to refactoring this sheet + const hidden = $('#recents').is(':hidden'); + + if (hidden) { + $('#chats').addClass('active selected'); + $('#recents').slideDown('slow'); + $('#favorite').slideDown('slow'); + $('#family').slideDown('slow'); + $('#work').slideDown('slow'); + $('#new_chat').slideDown('slow'); + + // $('#recents').show('slow'); + // $('#favorite').show('slow'); + // $('#family').show('slow'); + // /$('#work').show('slow'); + // $('#new_chat').show('slow'); + } else { + $('#chats').removeClass('active selected'); + $('#recents').slideUp('slow'); + $('#favorite').slideUp('slow'); + $('#family').slideUp('slow'); + $('#work').slideUp('slow'); + $('#new_chat').slideUp('slow'); + } + }); - $("#chats_list, .drag_handle_left").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); + $(el.contacts).on('click', () => { + // @TODO: need to refactoring this sheet + const chats_is_hidden = $('#chats_list').is(':hidden'); + $('#tool_bar').css('width', ''); + $('#chat').css('width', ''); + $('.chat_wrapper').css('padding', ''); + if (chats_is_hidden) { + $('#logo_wrap').fadeIn(750, function () { + $(this).addClass('lookAtMe'); + }); - var vw = (100 / $(document).width()); - var chat_width = ((DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options['chats_list']['width']) + 'vw'; - $('#chat').css("width", chat_width); + const tool_bar_width = `${(DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options.chats_list.width}vw`; + $('#tool_bar').css('width', tool_bar_width); - var panel_width = t.settings.panels_options['chats_list']['width']; - $('#logo_wrap').css("width", panel_width + 'vw'); + $('#contacts_list_view, #new_contact_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - $('.chat_wrapper').css("padding", padding_chat_wrapper); + $('#chats_list, .drag_handle_left').fadeIn(750, function () { + $(this).addClass('lookAtMe'); + }); - ChatListWidget.refreshList(); - } else { - $('#logo_wrap, #chats_list, .drag_handle_left').hide(); - } - }); - }, - getChatList: function () { - var current = localStorage.getItem("chatList") || []; + const vw = (100 / $(document).width()); + const chat_width = `${(DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options.chats_list.width}vw`; + $('#chat').css('width', chat_width); - return (current.length) ? JSON.parse(current) : []; - }, - addToChatList: function (chat) { - var current = ChatListWidget.getChatList(), - exists = false - - //@TODO: refactor this exp - if (Array.isArray(current)) { - current.forEach(function (value) { - if (value.topicId == chat.topicId) { - exists = true; - } - }); - - if (!exists) { - current.push(chat); - localStorage.setItem("chatList", JSON.stringify(current)); - } - } + const panel_width = t.settings.panels_options.chats_list.width; + $('#logo_wrap').css('width', `${panel_width}vw`); - }, - refreshList: function () { - var el = ChatListWidget.elements, - s = ChatListWidget.settings, - chatList = ChatListWidget.getChatList(); - - $(el.listScroll).html(''); - - if (Array.isArray(chatList)) { - $.each(chatList, function (ind, chat) { - $(el.listScroll).append(ChatListWidget.itemView(chat)); - - //@TODO: !!! remove handlers events in loop!!! - $(el.listScroll + ' ' + ' .chat_' + chat.topicId).on("click", function () { - $('.contact_chat_' + chat.topicId).click(); - }); - }); - } - }, - itemView : function(chat) { - var item = ''; + const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; + $('.chat_wrapper').css('padding', padding_chat_wrapper); - item += '
\n' + + ChatListWidget.refreshList(); + } else { + $('#logo_wrap, #chats_list, .drag_handle_left').hide(); + } + }); + }, + getChatList() { + const current = localStorage.getItem('chatList') || []; + + return (current.length) ? JSON.parse(current) : []; + }, + addToChatList(chat) { + let current = ChatListWidget.getChatList(), + exists = false; + + // @TODO: refactor this exp + if (Array.isArray(current)) { + current.forEach((value) => { + if (value.topicId == chat.topicId) { + exists = true; + } + }); + + if (!exists) { + current.push(chat); + localStorage.setItem('chatList', JSON.stringify(current)); + } + } + }, + refreshList() { + let el = ChatListWidget.elements, + s = ChatListWidget.settings, + chatList = ChatListWidget.getChatList(); + + $(el.listScroll).html(''); + + if (Array.isArray(chatList)) { + $.each(chatList, (ind, chat) => { + $(el.listScroll).append(ChatListWidget.itemView(chat)); + + // @TODO: !!! remove handlers events in loop!!! + $(`${el.listScroll} ` + ` .chat_${chat.topicId}`).on('click', () => { + $(`.contact_chat_${chat.topicId}`).click(); + }); + }); + } + }, + itemView(chat) { + let item = ''; + + item += `
\n` + '
\n' + '
\n' + '
\n' + '
\n' + '
\n' + - '
' + chat.topicName + '
\n' + + `
${chat.topicName}
\n` + ' \n' + '
\n' + '
\n' + '
\n' + '
\n' + ' \n' + - '
' + chat.time + '
\n' + + `
${chat.time}
\n` + '
\n' + '
\n' + ' \n' + '
'; - return item; - } - }; - ChatListWidget.init(); + return item; + } + }; + ChatListWidget.init(); - /** + /** * Profile Widget * @type {{settings: {profileView: string, logoutBtn: string}, init: init, update: update}} */ - ProfileViewWidget = { - elements: { - profileImg: '#profile_img', - firstName: "#first_name", - lastName: "#last_name", - userName: "#user_name", - phoneNumber: "#phone_number", - profileView: "#profile_view", - editBtn: "#editBtn", - logoutBtn: "#logoutBtn" - }, - settings: { - profile: {} - }, - init: function () { - this.subscribe(); - this.bindUIActions(); - }, - subscribe: function () { - GlobalWidget.subscribe('profile.get', GlobalWidget, this.refresh); - GlobalWidget.subscribe('io.error.nick_taken', GlobalWidget, this.errorNickTaken); - GlobalWidget.subscribe('roster.patch', this, this.profileUpdated); - GlobalWidget.subscribe('io.ok.logout', this, this.logout); - }, - bindUIActions: function () { - var t = ProfileViewWidget, - el = t.elements; - - $(el.profileImg).on("click", function () { - //@TODO: need to refactoring this sheet - var hidden = $('#profile_view').is(':hidden'); - $('#tool_bar').css("width", ''); - $('#chat').css("width", ''); - $('.chat_wrapper').css("padding", ''); - - if (hidden) { - $("#logo_wrap").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var tool_bar_width = ((DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options['profile_view']['width']) + 'vw'; - $('#tool_bar').css("width", tool_bar_width); - - $('#chats_list, #contacts_list_view, #new_contact_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); - - - $("#profile_view, .drag_handle_left").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var vw = (100 / $(document).width()); - - var chat_width = ((DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options['profile_view']['width']) + 'vw'; - $('#chat').css("width", chat_width); - - var panel_width = DashboardWidget.settings.panels_options['profile_view']['width']; - $('#logo_wrap').css("width", panel_width + 'vw'); - - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - console.log(padding_chat_wrapper); - $('.chat_wrapper').css("padding", padding_chat_wrapper); - - } else { - $('#logo_wrap, #profile_view, .drag_handle_left').hide(); - } - }); - $(el.logoutBtn).on('click', function () { - var msg = enc(encAuth({"type": "logout"})); - ws.send(msg); - }); - $(el.editBtn).on('click', function () { - var f = $(el.firstName).val(), - l = $(el.lastName).val(), - un = $(el.userName).val(); - - if (t.profileUpdateValidation(f, l, un)) { - var mes = { - "id": GlobalWidget.getRosterId(), - "names": f, - "surnames": l, - "status": "patch" - }; - - if (typeof un != "undefined" && un != t.settings.profile.rosters[GlobalWidget.getRosterIndex()].nick) { - mes.nick = un; - } - - var msg = enc(encRoster(mes)); - ws.send(msg); - } - }); - }, - profileGet: function () { - var msg = enc(encProfile({"phone": GlobalWidget.getPhoneNumber(), "status": "get"})); - ws.send(msg); - }, - profileUpdated: function () { - var msg = GlobalWidget.messages(1100); - GlobalWidget.sucsessMsg(msg); - }, - profileUpdateValidation: function (firstName, lastName, userName) { - try { - if (!firstName.length) { - throw new Error(GlobalWidget.messages(1101)); - } - if (userName.length > 0 && userName.length < 2) { - throw new Error(GlobalWidget.messages(1103)); - } - - var pattern = /^([a-zA-Z0-9_-]{2,})$/; - if (userName && !pattern.test(userName)) { - throw new Error(GlobalWidget.messages(1104)); - } - } catch (err) { - GlobalWidget.warningMsg(err.message) - return; - } - return true; - }, - errorNickTaken: function () { - GlobalWidget.warningMsg(GlobalWidget.messages(1102)); - }, - refresh: function (res) { - var el = ProfileViewWidget.elements, - s = ProfileViewWidget.settings, - rosInd = GlobalWidget.getRosterIndex(); - - s.profile = res; - - $(el.firstName).val(res.rosters[rosInd].names); - $(el.lastName).val(res.rosters[rosInd].surnames); - $(el.userName).val(res.rosters[rosInd].nick); - $(el.phoneNumber).val(res.phone); - }, - logout: function () { - //@TODO: need to clean needed data - var chatList = localStorage.getItem('chatList'); - - localStorage.clear(); - localStorage.setItem('chatList', chatList); + ProfileViewWidget = { + elements: { + profileImg: '#profile_img', + firstName: '#first_name', + lastName: '#last_name', + userName: '#user_name', + phoneNumber: '#phone_number', + profileView: '#profile_view', + editBtn: '#editBtn', + logoutBtn: '#logoutBtn' + }, + settings: { + profile: {} + }, + init() { + this.subscribe(); + this.bindUIActions(); + }, + subscribe() { + GlobalWidget.subscribe('profile.get', GlobalWidget, this.refresh); + GlobalWidget.subscribe('io.error.nick_taken', GlobalWidget, this.errorNickTaken); + GlobalWidget.subscribe('roster.patch', this, this.profileUpdated); + GlobalWidget.subscribe('io.ok.logout', this, this.logout); + }, + bindUIActions() { + let t = ProfileViewWidget, + el = t.elements; + + $(el.profileImg).on('click', () => { + // @TODO: need to refactoring this sheet + const hidden = $('#profile_view').is(':hidden'); + $('#tool_bar').css('width', ''); + $('#chat').css('width', ''); + $('.chat_wrapper').css('padding', ''); + + if (hidden) { + $('#logo_wrap').fadeIn(750, function () { + $(this).addClass('lookAtMe'); + }); + + const tool_bar_width = `${(DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options.profile_view.width}vw`; + $('#tool_bar').css('width', tool_bar_width); + + $('#chats_list, #contacts_list_view, #new_contact_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); + + + $('#profile_view, .drag_handle_left').fadeIn(750, function () { + $(this).addClass('lookAtMe'); + }); + + const vw = (100 / $(document).width()); + + const chat_width = `${(DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options.profile_view.width}vw`; + $('#chat').css('width', chat_width); + + const panel_width = DashboardWidget.settings.panels_options.profile_view.width; + $('#logo_wrap').css('width', `${panel_width}vw`); + + const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; + console.log(padding_chat_wrapper); + $('.chat_wrapper').css('padding', padding_chat_wrapper); + } else { + $('#logo_wrap, #profile_view, .drag_handle_left').hide(); + } + }); + $(el.logoutBtn).on('click', () => { + const msg = enc(encAuth({ type: 'logout' })); + ws.send(msg); + }); + $(el.editBtn).on('click', () => { + let f = $(el.firstName).val(), + l = $(el.lastName).val(), + un = $(el.userName).val(); + + if (t.profileUpdateValidation(f, l, un)) { + const mes = { + id: GlobalWidget.getRosterId(), + names: f, + surnames: l, + status: 'patch' + }; + + if (typeof un !== 'undefined' && un != t.settings.profile.rosters[GlobalWidget.getRosterIndex()].nick) { + mes.nick = un; + } + + const msg = enc(encRoster(mes)); + ws.send(msg); + } + }); + }, + profileGet() { + const msg = enc(encProfile({ phone: GlobalWidget.getPhoneNumber(), status: 'get' })); + ws.send(msg); + }, + profileUpdated() { + const msg = GlobalWidget.messages(1100); + GlobalWidget.sucsessMsg(msg); + }, + profileUpdateValidation(firstName, lastName, userName) { + try { + if (!firstName.length) { + throw new Error(GlobalWidget.messages(1101)); + } + if (userName.length > 0 && userName.length < 2) { + throw new Error(GlobalWidget.messages(1103)); + } - location.replace("/web/welcome.htm"); + const pattern = /^([a-zA-Z0-9_-]{2,})$/; + if (userName && !pattern.test(userName)) { + throw new Error(GlobalWidget.messages(1104)); } - }; - ProfileViewWidget.init(); + } catch (err) { + GlobalWidget.warningMsg(err.message); + return; + } + return true; + }, + errorNickTaken() { + GlobalWidget.warningMsg(GlobalWidget.messages(1102)); + }, + refresh(res) { + let el = ProfileViewWidget.elements, + s = ProfileViewWidget.settings, + rosInd = GlobalWidget.getRosterIndex(); + + s.profile = res; + + $(el.firstName).val(res.rosters[rosInd].names); + $(el.lastName).val(res.rosters[rosInd].surnames); + $(el.userName).val(res.rosters[rosInd].nick); + $(el.phoneNumber).val(res.phone); + }, + logout() { + // @TODO: need to clean needed data + const chatList = localStorage.getItem('chatList'); + + localStorage.clear(); + localStorage.setItem('chatList', chatList); + + location.replace('/web/welcome.htm'); + } + }; + ProfileViewWidget.init(); - /** + /** * Contacts * @type {{elements: {chats: string, contacts: string, newContact: string, contactsList: string, contactRequest: string}, init: init, subscribe: subscribe, bindUIActions: bindUIActions}} */ - ContactsWidget = { - elements: { - contacts: '#contacts', - newContact: '#new_contact', - contactsList: '#contacts_list', - contactRequest: '#contact_request', - contactsListScroll: '#contacts_list_scroll', - chatContactItem: '.chat_contact', - }, - settings: { - contacts: [] - }, - init: function () { - this.subscribe(); - this.bindUIActions() - }, - subscribe: function () { - GlobalWidget.subscribe('profile.get', GlobalWidget, this.refreshList); - GlobalWidget.subscribe('contact.internal', GlobalWidget, this.contactInternal); - }, - bindUIActions: function () { - var el = ContactsWidget.elements; - - $(el.contacts).on("click", function () { - if ($(el.newContact).is(':hidden')) { - $(el.contacts).addClass('active selected'); - $(el.contactRequest + ',' + el.newContact).removeClass('hidden').slideDown('slow'); - } else { - $(el.newContact).removeClass('active selected'); - $(el.contactRequest, el.newContact).addClass('hidden').slideUp('slow'); - } - - //@TODO: need to refactoring the code below - var hidden = $('#contacts_list_view').is(':hidden'); - $('#tool_bar').css("width", ''); - $('#chat').css("width", ''); - $('.chat_wrapper').css("padding", ''); - - if (hidden) { - $("#logo_wrap").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); + ContactsWidget = { + elements: { + contacts: '#contacts', + newContact: '#new_contact', + contactsList: '#contacts_list', + contactRequest: '#contact_request', + contactsListScroll: '#contacts_list_scroll', + chatContactItem: '.chat_contact' + }, + settings: { + contacts: [] + }, + init() { + this.subscribe(); + this.bindUIActions(); + }, + subscribe() { + GlobalWidget.subscribe('profile.get', GlobalWidget, this.refreshList); + GlobalWidget.subscribe('contact.internal', GlobalWidget, this.contactInternal); + }, + bindUIActions() { + const el = ContactsWidget.elements; + + $(el.contacts).on('click', () => { + if ($(el.newContact).is(':hidden')) { + $(el.contacts).addClass('active selected'); + $(`${el.contactRequest},${el.newContact}`).removeClass('hidden').slideDown('slow'); + } else { + $(el.newContact).removeClass('active selected'); + $(el.contactRequest, el.newContact).addClass('hidden').slideUp('slow'); + } - var tool_bar_width = ((DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options['contacts_list_view']['width']) + 'vw'; - $('#tool_bar').css("width", tool_bar_width); + // @TODO: need to refactoring the code below + const hidden = $('#contacts_list_view').is(':hidden'); + $('#tool_bar').css('width', ''); + $('#chat').css('width', ''); + $('.chat_wrapper').css('padding', ''); - $('#chats_list, #new_contact_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); + if (hidden) { + $('#logo_wrap').fadeIn(750, function () { + $(this).addClass('lookAtMe'); + }); - $("#contacts_list_view").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); + const tool_bar_width = `${(DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options.contacts_list_view.width}vw`; + $('#tool_bar').css('width', tool_bar_width); - $(".drag_handle_left").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); + $('#chats_list, #new_contact_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); - var vw = (100 / $(document).width()); + $('#contacts_list_view').fadeIn(750, function () { + $(this).addClass('lookAtMe'); + }); - var chat_width = ((DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options['contacts_list_view']['width']) + 'vw'; - $('#chat').css("width", chat_width); + $('.drag_handle_left').fadeIn(750, function () { + $(this).addClass('lookAtMe'); + }); - var panel_width = DashboardWidget.settings.panels_options['contacts_list_view']['width']; - $('#logo_wrap').css("width", panel_width + 'vw'); + const vw = (100 / $(document).width()); - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - $('.chat_wrapper').css("padding", padding_chat_wrapper); + const chat_width = `${(DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options.contacts_list_view.width}vw`; + $('#chat').css('width', chat_width); - } else { - $('#logo_wrap, #chats_list, #contacts_list_view, .drag_handle_left').hide(); - } - }); - }, - contactInternal: function (res) { - var el = ContactsWidget.elements; - if (typeof res.presence != "undefined") { - $(el.contactsListScroll + ' .contact_' + res.phone_id + ' div.presence').html(res.presence); - } - }, - refreshList: function (res) { - var el = ContactsWidget.elements, - s = ContactsWidget.settings, - rosInd = GlobalWidget.getRosterIndex(), - userlist = res.rosters[rosInd].userlist; - - $(el.contactsListScroll).html(''); - - $.each(userlist, function (ind, contact) { - if (contact.status == "friend") { - s.contacts[contact.phone_id] = contact; - - $(el.contactsListScroll).append(ContactsWidget.itemView(contact)); - - //@TODO: !!! remove handlers events in loop!!! - $(el.contactsListScroll + ' ' + ' .contact_' + contact.phone_id).on("click", function () { - //@TODO: move to separate function - //p2p chat - ChatAreaWidget.settings.activeChat = { - from: { - names: ProfileViewWidget.settings.profile.rosters[GlobalWidget.getRosterIndex()].names, - surnames: ProfileViewWidget.settings.profile.rosters[GlobalWidget.getRosterIndex()].surnames, - phone: GlobalWidget.getPhoneNumber(), - phone_id: GlobalWidget.getPhoneNumberId() - }, - to: { - names: $(this).data('names'), - surnames: $(this).data('surnames'), - phone: $(this).data('phone'), - phone_id: $(this).data('phone-id'), - reader: $(this).data('reader') - }, - chatType: "p2p" - }; - - ChatAreaWidget.showChat(); - }); - } - }) - }, - itemView: function (contact) { - var item = '', - presence = (typeof contact.presence != "undefined") ? contact.presence : '', - names = (typeof contact.names != "undefined") ? contact.names : '', - surnames = (typeof contact.surnames != "undefined") ? contact.surnames : ''; + const panel_width = DashboardWidget.settings.panels_options.contacts_list_view.width; + $('#logo_wrap').css('width', `${panel_width}vw`); - var op = '
' + presence + '
'; + const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; + $('.chat_wrapper').css('padding', padding_chat_wrapper); + } else { + $('#logo_wrap, #chats_list, #contacts_list_view, .drag_handle_left').hide(); + } + }); + }, + contactInternal(res) { + const el = ContactsWidget.elements; + if (typeof res.presence !== 'undefined') { + $(`${el.contactsListScroll} .contact_${res.phone_id} div.presence`).html(res.presence); + } + }, + refreshList(res) { + let el = ContactsWidget.elements, + s = ContactsWidget.settings, + rosInd = GlobalWidget.getRosterIndex(), + userlist = res.rosters[rosInd].userlist; + + $(el.contactsListScroll).html(''); + + $.each(userlist, (ind, contact) => { + if (contact.status == 'friend') { + s.contacts[contact.phone_id] = contact; + + $(el.contactsListScroll).append(ContactsWidget.itemView(contact)); + + // @TODO: !!! remove handlers events in loop!!! + $(`${el.contactsListScroll} ` + ` .contact_${contact.phone_id}`).on('click', function () { + // @TODO: move to separate function + // p2p chat + ChatAreaWidget.settings.activeChat = { + from: { + names: ProfileViewWidget.settings.profile.rosters[GlobalWidget.getRosterIndex()].names, + surnames: ProfileViewWidget.settings.profile.rosters[GlobalWidget.getRosterIndex()].surnames, + phone: GlobalWidget.getPhoneNumber(), + phone_id: GlobalWidget.getPhoneNumberId() + }, + to: { + names: $(this).data('names'), + surnames: $(this).data('surnames'), + phone: $(this).data('phone'), + phone_id: $(this).data('phone-id'), + reader: $(this).data('reader') + }, + chatType: 'p2p' + }; - item = '
\n' + + ChatAreaWidget.showChat(); + }); + } + }); + }, + itemView(contact) { + let item = '', + presence = (typeof contact.presence !== 'undefined') ? contact.presence : '', + names = (typeof contact.names !== 'undefined') ? contact.names : '', + surnames = (typeof contact.surnames !== 'undefined') ? contact.surnames : ''; + + const op = `
${presence}
`; + + item = `
\n` + '
\n' + '
\n' + '
\n' + '
\n' + '
\n' + - '
' + names + ' ' + surnames + '
\n' + - '
+' + GlobalWidget.cleanPhone(contact.phone_id) + '
\n' + + `
${names} ${surnames}
\n` + + `
+${GlobalWidget.cleanPhone(contact.phone_id)}
\n` + '
\n' + - '
' + op + '
\n' + + `
${op}
\n` + '
\n' + ' \n' + - '
' + '
'; - return item; - }, - getNameByPhoneID: function (phoneId) { - var s = ContactsWidget.settings; + return item; + }, + getNameByPhoneID(phoneId) { + const s = ContactsWidget.settings; - if (typeof s.contacts[phoneId] != "undefined") { - return s.contacts[phoneId].names + ' ' + s.contacts[phoneId].surnames; - } + if (typeof s.contacts[phoneId] !== 'undefined') { + return `${s.contacts[phoneId].names} ${s.contacts[phoneId].surnames}`; + } - return phoneId; - } - }; - ContactsWidget.init(); + return phoneId; + } + }; + ContactsWidget.init(); - /** + /** * Contact Request Widget * @type {{elements: {}, init: init, subscribe: subscribe, bindUIActions: bindUIActions, refreshList: refreshList, itemView: itemView}} */ - ContactRequestsWidget = { - elements: { - contactRequest: "#contact_request", - contactRequestsScroll: "#contact_requests_scroll", - outcomeFriendRequests: "#outcome_friend_requests", - incomeFriendRequests: "#income_friend_requests", - revokeBtn: "button.revoke", - confirmBtn: "button.confirm", - }, - init: function () { - this.subscribe(); - this.bindUIActions(); - }, - subscribe: function () { - GlobalWidget.subscribe('profile.get', ContactRequestsWidget, this.refreshList); - GlobalWidget.subscribe('contact.authorization', ContactRequestsWidget, this.requestNotification); - GlobalWidget.subscribe('contact.authorization', ContactRequestsWidget, this.addWatingApprovalContact); - GlobalWidget.subscribe('contact.request', ContactRequestsWidget, this.addWatingApprovalContact); - - //@TODO: add supporting a few handler functions - GlobalWidget.subscribe('contact.friend', ContactRequestsWidget, ProfileViewWidget.profileGet); - }, - bindUIActions: function () { - var el = ContactRequestsWidget.elements; - - $(el.contactRequest).on('click', function () { - //@TODO: need to refactor the code bellow - $('#chats_list, #new_contact_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contacts_list_view').hide(); - $("#contact_requests_view, .drag_handle_left").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - }); - - $(el.contactRequestsScroll + ' ' + el.confirmBtn).on("click", function () { - var phone_id = $(this).parent().data('phone-id'); - - //3a. send Friend/Confirm - var msg = enc(encFriend({ - "phone_id": GlobalWidget.getPhoneNumberId(), - "friend_id": phone_id, - "status": "confirm" - })); - - ws.send(msg); - }); - - $(el.contactRequestsScroll + ' ' + el.revokeBtn).on("click", function () { - var phone_id = $(this).parent().data('phone-id') - - //3b. send Friend/Revoke - var msg = enc(encFriend({ - "phone_id": GlobalWidget.getPhoneNumberId(), - "friend_id": phone_id, - "status": "revoke" - })); - - ws.send(msg); - }); - }, - requestNotification: function (res) { - GlobalWidget.sucsessMsg("Friend request from " + res.names + ' ' + res.surnames); - }, - refreshList: function (res) { - var el = ContactRequestsWidget.elements, - rosInd = GlobalWidget.getRosterIndex(), - userlist = res.rosters[rosInd].userlist, - request = '', - authorization = ''; - - $.each(userlist, function (ind, contact) { - if (contact.status == "request") { - request += ContactRequestsWidget.itemView(contact); - } else if (contact.status == "authorization") { - authorization += ContactRequestsWidget.itemView(contact) - } - }) - - if (request) { - $(el.outcomeFriendRequests).html(''); - $(el.outcomeFriendRequests).append(request); - } else { - $(el.outcomeFriendRequests).html("

" + GlobalWidget.t("No Requests") + "

"); - } - - if (authorization) { - $(el.incomeFriendRequests).html(''); - $(el.incomeFriendRequests).append(authorization); - } else { - $(el.incomeFriendRequests).html("

" + GlobalWidget.t("No Requests") + "

"); - } - - //@TODO: need to unbind handlers - ContactRequestsWidget.bindUIActions(); - }, - addWatingApprovalContact: function (res) { - var el = ContactRequestsWidget.elements - $(el.contactRequest).click(); - - //@TODO: need to optimize in order not to send Profile/get request - ProfileViewWidget.profileGet(); - }, - itemView: function (contact) { - var item = '', - names = (typeof contact.names != "undefined") ? contact.names : GlobalWidget.cleanPhone(contact.phone_id), - surnames = (typeof contact.surnames != "undefined") ? contact.surnames : ''; - - var op = (contact.status == "request") ? "waiting" : ' '; - - item = '
\n' + + ContactRequestsWidget = { + elements: { + contactRequest: '#contact_request', + contactRequestsScroll: '#contact_requests_scroll', + outcomeFriendRequests: '#outcome_friend_requests', + incomeFriendRequests: '#income_friend_requests', + revokeBtn: 'button.revoke', + confirmBtn: 'button.confirm' + }, + init() { + this.subscribe(); + this.bindUIActions(); + }, + subscribe() { + GlobalWidget.subscribe('profile.get', ContactRequestsWidget, this.refreshList); + GlobalWidget.subscribe('contact.authorization', ContactRequestsWidget, this.requestNotification); + GlobalWidget.subscribe('contact.authorization', ContactRequestsWidget, this.addWatingApprovalContact); + GlobalWidget.subscribe('contact.request', ContactRequestsWidget, this.addWatingApprovalContact); + + // @TODO: add supporting a few handler functions + GlobalWidget.subscribe('contact.friend', ContactRequestsWidget, ProfileViewWidget.profileGet); + }, + bindUIActions() { + const el = ContactRequestsWidget.elements; + + $(el.contactRequest).on('click', () => { + // @TODO: need to refactor the code bellow + $('#chats_list, #new_contact_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contacts_list_view').hide(); + $('#contact_requests_view, .drag_handle_left').fadeIn(750, function () { + $(this).addClass('lookAtMe'); + }); + }); + + $(`${el.contactRequestsScroll} ${el.confirmBtn}`).on('click', function () { + const phone_id = $(this).parent().data('phone-id'); + + // 3a. send Friend/Confirm + const msg = enc(encFriend({ + phone_id: GlobalWidget.getPhoneNumberId(), + friend_id: phone_id, + status: 'confirm' + })); + + ws.send(msg); + }); + + $(`${el.contactRequestsScroll} ${el.revokeBtn}`).on('click', function () { + const phone_id = $(this).parent().data('phone-id'); + + // 3b. send Friend/Revoke + const msg = enc(encFriend({ + phone_id: GlobalWidget.getPhoneNumberId(), + friend_id: phone_id, + status: 'revoke' + })); + + ws.send(msg); + }); + }, + requestNotification(res) { + GlobalWidget.sucsessMsg(`Friend request from ${res.names} ${res.surnames}`); + }, + refreshList(res) { + let el = ContactRequestsWidget.elements, + rosInd = GlobalWidget.getRosterIndex(), + userlist = res.rosters[rosInd].userlist, + request = '', + authorization = ''; + + $.each(userlist, (ind, contact) => { + if (contact.status == 'request') { + request += ContactRequestsWidget.itemView(contact); + } else if (contact.status == 'authorization') { + authorization += ContactRequestsWidget.itemView(contact); + } + }); + + if (request) { + $(el.outcomeFriendRequests).html(''); + $(el.outcomeFriendRequests).append(request); + } else { + $(el.outcomeFriendRequests).html(`

${GlobalWidget.t('No Requests')}

`); + } + + if (authorization) { + $(el.incomeFriendRequests).html(''); + $(el.incomeFriendRequests).append(authorization); + } else { + $(el.incomeFriendRequests).html(`

${GlobalWidget.t('No Requests')}

`); + } + + // @TODO: need to unbind handlers + ContactRequestsWidget.bindUIActions(); + }, + addWatingApprovalContact(res) { + const el = ContactRequestsWidget.elements; + $(el.contactRequest).click(); + + // @TODO: need to optimize in order not to send Profile/get request + ProfileViewWidget.profileGet(); + }, + itemView(contact) { + let item = '', + names = (typeof contact.names !== 'undefined') ? contact.names : GlobalWidget.cleanPhone(contact.phone_id), + surnames = (typeof contact.surnames !== 'undefined') ? contact.surnames : ''; + + const op = (contact.status == 'request') ? 'waiting' : ' '; + + item = `${'
\n' + '
\n' + '
\n' + '
\n' + '
\n' + '
\n' + - '
' + names + ' ' + surnames + '
\n' + - '
+' + GlobalWidget.cleanPhone(contact.phone_id) + '
\n' + + '
'}${names} ${surnames}
\n` + + `
+${GlobalWidget.cleanPhone(contact.phone_id)}
\n` + '
\n' + - '
' + op + '
\n' + + `
${op}
\n` + '
\n' + ' \n' + '
'; - return item; - } - }; - ContactRequestsWidget.init(); + return item; + } + }; + ContactRequestsWidget.init(); - /** + /** * Add Contact Widget * @type {{elements: {}, init: init, bindUIActions: bindUIActions}} */ - AddContactWidget = { - elements: { - newContact: "#new_contact", - newContactView: "#new_contact_view", - code: "#new_contact_view #code", - number: "#new_contact_view #number", - addContactBtn: "#new_contact_view #addContactBtn" - }, - init: function () { - this.subscribe(); - this.bindUIActions(); - }, - subscribe: function () { - GlobalWidget.subscribe('io.ok.roster.contact', this, this.friendRequest); - }, - bindUIActions: function () { - var el = this.elements; - - $(el.newContact).on("click", function () { - //@TODO: need to refactor the code below - var hidden = $('#new_contact_view').is(':hidden'); - - $('#tool_bar').css("width", ''); - $('#chat').css("width", ''); - $('.chat_wrapper').css("padding", ''); - if (hidden) { - $("#logo_wrap").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var tool_bar_width = ((DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options['new_contact_view']['width']) + 'vw'; - $('#tool_bar').css("width", tool_bar_width); - - $('#chats_list, #contacts_list_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); - - $("#new_contact_view, .drag_handle_left").fadeIn(750, function () { - $(this).addClass("lookAtMe"); - }); - - var vw = (100 / $(document).width()); - - var chat_width = ((DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options['new_contact_view']['width']) + 'vw'; - $('#chat').css("width", chat_width); - - var panel_width = t.settings.panels_options['new_contact_view']['width']; - $('#logo_wrap').css("width", panel_width + 'vw'); - - var padding_chat_wrapper = '0vw ' + ((15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))) + 'vw'; - console.log(padding_chat_wrapper); - $('.chat_wrapper').css("padding", padding_chat_wrapper); - - } else { - $('#logo_wrap, #new_contact_view, .drag_handle_left').hide(); - } - }); - - $(el.addContactBtn).on('click', function () { - var code = $(el.code).val().replace("+", ""), - phone = $(el.number).val().split(" ").join(""); - - //1. search contact for getting friend_id - var msg = enc(encSearch({ - id: GlobalWidget.getRosterId(), - field: "phone", - type: "==", - value: [code + phone], - status: "contact" - })); - - ws.send(msg); - }); - }, - friendRequest: function (res) { - var el = this.elements; - - if ('userlist' in res.data && typeof res.data.userlist[0] != "undefined") { - var phone_id = res.data.userlist[0].phone_id; - - //2. send Friend/Request - var msg = enc(encFriend({ - "phone_id": GlobalWidget.getPhoneNumber() + '_' + GlobalWidget.getRosterId(), - "friend_id": phone_id, - "status": "request" - })); - - ws.send(msg); - - $(ContactRequestsWidget.elements.contactRequest).click(); - } else { - GlobalWidget.errorMsg("Phone was not found.") - } + AddContactWidget = { + elements: { + newContact: '#new_contact', + newContactView: '#new_contact_view', + code: '#new_contact_view #code', + number: '#new_contact_view #number', + addContactBtn: '#new_contact_view #addContactBtn' + }, + init() { + this.subscribe(); + this.bindUIActions(); + }, + subscribe() { + GlobalWidget.subscribe('io.ok.roster.contact', this, this.friendRequest); + }, + bindUIActions() { + const el = this.elements; + + $(el.newContact).on('click', () => { + // @TODO: need to refactor the code below + const hidden = $('#new_contact_view').is(':hidden'); + + $('#tool_bar').css('width', ''); + $('#chat').css('width', ''); + $('.chat_wrapper').css('padding', ''); + if (hidden) { + $('#logo_wrap').fadeIn(750, function () { + $(this).addClass('lookAtMe'); + }); + + const tool_bar_width = `${(DashboardWidget.settings.vw * $('#tool_bar').width()) - DashboardWidget.settings.panels_options.new_contact_view.width}vw`; + $('#tool_bar').css('width', tool_bar_width); + + $('#chats_list, #contacts_list_view, #profile_view, #videos_list, #files_list, #photos_list, #links_list, #contact_requests_view').hide(); + + $('#new_contact_view, .drag_handle_left').fadeIn(750, function () { + $(this).addClass('lookAtMe'); + }); + + const vw = (100 / $(document).width()); + + const chat_width = `${(DashboardWidget.settings.vw * $('#chat').width()) - DashboardWidget.settings.panels_options.new_contact_view.width}vw`; + $('#chat').css('width', chat_width); + + const panel_width = t.settings.panels_options.new_contact_view.width; + $('#logo_wrap').css('width', `${panel_width}vw`); + + const padding_chat_wrapper = `0vw ${(15 - ((panel_width) / 2)) < 0 ? 0 : (15 - ((panel_width) / 2))}vw`; + console.log(padding_chat_wrapper); + $('.chat_wrapper').css('padding', padding_chat_wrapper); + } else { + $('#logo_wrap, #new_contact_view, .drag_handle_left').hide(); } + }); + + $(el.addContactBtn).on('click', () => { + let code = $(el.code).val().replace('+', ''), + phone = $(el.number).val().split(' ').join(''); + + // 1. search contact for getting friend_id + const msg = enc(encSearch({ + id: GlobalWidget.getRosterId(), + field: 'phone', + type: '==', + value: [code + phone], + status: 'contact' + })); + + ws.send(msg); + }); + }, + friendRequest(res) { + const el = this.elements; + + if ('userlist' in res.data && typeof res.data.userlist[0] !== 'undefined') { + const phone_id = res.data.userlist[0].phone_id; + + // 2. send Friend/Request + const msg = enc(encFriend({ + phone_id: `${GlobalWidget.getPhoneNumber()}_${GlobalWidget.getRosterId()}`, + friend_id: phone_id, + status: 'request' + })); + + ws.send(msg); + + $(ContactRequestsWidget.elements.contactRequest).click(); + } else { + GlobalWidget.errorMsg('Phone was not found.'); + } + } - }; - AddContactWidget.init(); -})(); + }; + AddContactWidget.init(); +}()); diff --git a/src/assets/vendor/utils/global.js b/src/assets/vendor/utils/global.js index c8826afbe1f77912ba0860f7f32f3bbb96bf1999..0ca7332883681298a2215c7117f4c5648d24b1de 100644 --- a/src/assets/vendor/utils/global.js +++ b/src/assets/vendor/utils/global.js @@ -1,132 +1,133 @@ -var GlobalWidget; +let GlobalWidget; (function () { - var el, t; - GlobalWidget = { - events: {}, - settings: {}, - init: function () { - t = this; - el = this.elements; + let el, + t; + GlobalWidget = { + events: {}, + settings: {}, + init() { + t = this; + el = this.elements; - //success - //GlobalWidget.subscribe('io.ok.added', this, this.sucsessMsg); + // success + // GlobalWidget.subscribe('io.ok.added', this, this.sucsessMsg); - //errors - GlobalWidget.subscribe('io.ok.error', this, this.errorMsg); - GlobalWidget.subscribe('io.ok2.error', this, this.errorMsg); - GlobalWidget.subscribe('io.error.invalid_sms_code', this, this.errorMsg); - GlobalWidget.subscribe('io.error.session_not_found', this, this.errorMsg); - GlobalWidget.subscribe('io.error.not_authorized', this, this.errorMsg); - GlobalWidget.subscribe('io.error.roster_not_found', this, this.errorMsg); - }, - subscribe: function (eventName, object, callback) { - this.events[eventName] = this.events[eventName] || []; - this.events[eventName].push({object: object, callback: callback}); - }, - unsubscribe: function (eventName, object, callback) { - if (this.events[eventName]) { - for (var i = 0; i < this.events[eventName].length; i++) { - if (this.events[eventName][i].object === object) { - this.events[eventName].splice(i, 1); - break; - } - } - } - }, - publish: function (eventName, data) { - if (this.events[eventName]) { - //@TODO: add support a few eventName by commas - this.events[eventName].forEach(function (instance) { - instance.callback(data); - }); - } - }, - getRosterId: function () { - return localStorage.getItem('rosterId'); - }, - setRosterId: function (res) { - if (typeof res.rosters[0].id != "undefined") { - localStorage.setItem('rosterId', res.rosters[0].id); - localStorage.setItem('roster', res.rosters[0]); - localStorage.setItem('rosterIndex', "0"); + // errors + GlobalWidget.subscribe('io.ok.error', this, this.errorMsg); + GlobalWidget.subscribe('io.ok2.error', this, this.errorMsg); + GlobalWidget.subscribe('io.error.invalid_sms_code', this, this.errorMsg); + GlobalWidget.subscribe('io.error.session_not_found', this, this.errorMsg); + GlobalWidget.subscribe('io.error.not_authorized', this, this.errorMsg); + GlobalWidget.subscribe('io.error.roster_not_found', this, this.errorMsg); + }, + subscribe(eventName, object, callback) { + this.events[eventName] = this.events[eventName] || []; + this.events[eventName].push({ object, callback }); + }, + unsubscribe(eventName, object, callback) { + if (this.events[eventName]) { + for (let i = 0; i < this.events[eventName].length; i++) { + if (this.events[eventName][i].object === object) { + this.events[eventName].splice(i, 1); + break; + } + } + } + }, + publish(eventName, data) { + if (this.events[eventName]) { + // @TODO: add support a few eventName by commas + this.events[eventName].forEach((instance) => { + instance.callback(data); + }); + } + }, + getRosterId() { + return localStorage.getItem('rosterId'); + }, + setRosterId(res) { + if (typeof res.rosters[0].id !== 'undefined') { + localStorage.setItem('rosterId', res.rosters[0].id); + localStorage.setItem('roster', res.rosters[0]); + localStorage.setItem('rosterIndex', '0'); - if (location.pathname != '/web/dashboard.htm' && res.rosters[0].status == 'patch') { - location.replace("/web/dashboard.htm"); - } - } - }, - getRosterIndex: function () { - return localStorage.getItem('rosterIndex'); - }, - setRosterIndex: function (ind) { - return localStorage.setItem('rosterIndex'); - }, - getPhoneNumber: function () { - return t.getPhoneCode().replace("+", "") + t.getPhone(); - }, - getPhoneNumberId: function () { - return t.getPhoneCode().replace("+", "") + t.getPhone() + '_' + t.getRosterId(); - }, - setPhoneCode: function (phoneCode) { - return localStorage.setItem('phoneCode', phoneCode); - }, - getPhoneCode: function () { - return localStorage.getItem('phoneCode'); - }, - getPhone: function () { - return localStorage.getItem('phone'); - }, - setPhone: function (phone) { - return localStorage.setItem('phone', phone); - }, - cleanPhone: function (phone) { - return phone.substr(0, phone.indexOf('_')); - }, - initNotify: function () { - Notify.Settings = {}; - }, - errorMsg: function (res) { - //@TODO: need to refactioring to msg - var msg = (typeof res.code != "undefined" && (typeof res.code.code != "undefined")) ? res.code.code : res; - Notify.Error(GlobalWidget.t(msg)); - }, - sucsessMsg: function (msg) { - Notify.Success(GlobalWidget.t(msg)); - }, - warningMsg: function (msg) { - Notify.Warning(GlobalWidget.t(msg)); - }, - convertUnixTime(unixtime) { - var u = new Date(unixtime); + if (location.pathname != '/web/dashboard.htm' && res.rosters[0].status == 'patch') { + location.replace('/web/dashboard.htm'); + } + } + }, + getRosterIndex() { + return localStorage.getItem('rosterIndex'); + }, + setRosterIndex(ind) { + return localStorage.setItem('rosterIndex'); + }, + getPhoneNumber() { + return t.getPhoneCode().replace('+', '') + t.getPhone(); + }, + getPhoneNumberId() { + return `${t.getPhoneCode().replace('+', '') + t.getPhone()}_${t.getRosterId()}`; + }, + setPhoneCode(phoneCode) { + return localStorage.setItem('phoneCode', phoneCode); + }, + getPhoneCode() { + return localStorage.getItem('phoneCode'); + }, + getPhone() { + return localStorage.getItem('phone'); + }, + setPhone(phone) { + return localStorage.setItem('phone', phone); + }, + cleanPhone(phone) { + return phone.substr(0, phone.indexOf('_')); + }, + initNotify() { + Notify.Settings = {}; + }, + errorMsg(res) { + // @TODO: need to refactioring to msg + const msg = (typeof res.code !== 'undefined' && (typeof res.code.code !== 'undefined')) ? res.code.code : res; + Notify.Error(GlobalWidget.t(msg)); + }, + sucsessMsg(msg) { + Notify.Success(GlobalWidget.t(msg)); + }, + warningMsg(msg) { + Notify.Warning(GlobalWidget.t(msg)); + }, + convertUnixTime(unixtime) { + const u = new Date(unixtime); - return u.getFullYear() + - '-' + ('0' + u.getMonth()).slice(-2) + - '-' + ('0' + u.getDate()).slice(-2) + - ' ' + ('0' + u.getHours()).slice(-2) + - ':' + ('0' + u.getMinutes()).slice(-2) + - ':' + ('0' + u.getSeconds()).slice(-2); - }, - t: function (msg, lang) { - var lang = lang | "en"; - //@TODO: add translation logic - return msg; - }, - messages: function (code, placeholders) { - var placeholders = placeholders || []; //@TODO: use in in the future + return `${u.getFullYear() + }-${(`0${u.getMonth()}`).slice(-2) + }-${(`0${u.getDate()}`).slice(-2) + } ${(`0${u.getHours()}`).slice(-2) + }:${(`0${u.getMinutes()}`).slice(-2) + }:${(`0${u.getSeconds()}`).slice(-2)}`; + }, + t(msg, lang) { + var lang = lang | 'en'; + // @TODO: add translation logic + return msg; + }, + messages(code, placeholders) { + var placeholders = placeholders || []; // @TODO: use in in the future - //@TODO: move to settings file e.g. JSON - var codes = { - 1100: "Profile was updated.", - 1101: "First name is needed so other people know with whom they are talking.", - 1102: "Sorry, this username is already taken.", - 1103: "Username should contain at least 2 symbols.", - 1104: "Sorry, this username is invalid." - }; + // @TODO: move to settings file e.g. JSON + const codes = { + 1100: 'Profile was updated.', + 1101: 'First name is needed so other people know with whom they are talking.', + 1102: 'Sorry, this username is already taken.', + 1103: 'Username should contain at least 2 symbols.', + 1104: 'Sorry, this username is invalid.' + }; - return (typeof codes[code] != "undefined") ? this.t(codes[code]) : this.t("Undefined error"); - }, - }; + return (typeof codes[code] !== 'undefined') ? this.t(codes[code]) : this.t('Undefined error'); + } + }; - GlobalWidget.init(); -}()); \ No newline at end of file + GlobalWidget.init(); +}()); diff --git a/src/assets/vendor/utils/handlers.js b/src/assets/vendor/utils/handlers.js index 1b8d4b620a12ae2dfa8e68d42a794b0c0a017482..e82a11976d5c563f16478b2ffaded4966d66995d 100644 --- a/src/assets/vendor/utils/handlers.js +++ b/src/assets/vendor/utils/handlers.js @@ -6,59 +6,59 @@ * IO: Exceptions and Effects Protocol * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/IO.md */ -var $io = {}; $io.on = function onio(r, cb) { - if (is(r, lenio(), 'io')) { - try { - var res = decio(r); - var e = 'io.' + res.code.tup; - - if (typeof res.code.code != 'undefined') { - e += '.' + res.code.code; - } else if (typeof res.data.tup != "undefined") { - //console.log(res.data); - if (res.data.tup == "Roster" && typeof res.data.status != "undefined") { - e += '.' + res.data.tup.toLowerCase() + '.' + res.data.status; - } - } - - console.log("Subscribe event: " + e); - //console.log(r); - //console.log(res); - - GlobalWidget.publish(e, res); - return { status: "ok" }; - } catch (e) { - console.log(e); - return { status: '' }; +const $io = {}; $io.on = function onio(r, cb) { + if (is(r, lenio(), 'io')) { + try { + const res = decio(r); + let e = `io.${res.code.tup}`; + + if (typeof res.code.code !== 'undefined') { + e += `.${res.code.code}`; + } else if (typeof res.data.tup !== 'undefined') { + // console.log(res.data); + if (res.data.tup == 'Roster' && typeof res.data.status !== 'undefined') { + e += `.${res.data.tup.toLowerCase()}.${res.data.status}`; } - } else return { status: '' }; + } + + console.log(`Subscribe event: ${e}`); + // console.log(r); + // console.log(res); + + GlobalWidget.publish(e, res); + return { status: 'ok' }; + } catch (e) { + console.log(e); + return { status: '' }; + } + } else return { status: '' }; }; /** * SERVER protocol for getting response from middleware * @type {{}} */ -var $server = {}; $server.on = function onserver(r, cb) { - if (is(r, 2, 'server')) { - console.log(r['v'][1]); - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; -} +const $server = {}; $server.on = function onserver(r, cb) { + if (is(r, 2, 'server')) { + console.log(r.v[1]); + if (typeof cb === 'function') cb(r); return { status: 'ok' }; + } return { status: '' }; +}; /** * ROSTER: Managing Contact and Chat Lists * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/ROSTER.md */ -var $roster = {}; $roster.on = function onroster(r, cb) { - if (is(r, lenRoster(), 'Roster')) { - var res = decRoster(r), - e = 'roster.' + res.status; +const $roster = {}; $roster.on = function onroster(r, cb) { + if (is(r, lenRoster(), 'Roster')) { + let res = decRoster(r), + e = `roster.${res.status}`; - console.log("Subscribe event: " + e); - GlobalWidget.publish(e, res); + console.log(`Subscribe event: ${e}`); + GlobalWidget.publish(e, res); - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; + if (typeof cb === 'function') cb(r); return { status: 'ok' }; + } return { status: '' }; }; /** @@ -78,104 +78,103 @@ var $roster = {}; $roster.on = function onroster(r, cb) { [],1507034024571,online,init} */ -var $profile = {}; $profile.on = function onprofile(r, cb) { - if (is(r, lenProfile(), 'Profile')) { - var res = decProfile(r), - e = 'profile.' + res.status; +const $profile = {}; $profile.on = function onprofile(r, cb) { + if (is(r, lenProfile(), 'Profile')) { + let res = decProfile(r), + e = `profile.${res.status}`; - console.log("Subscribe event: " + e); - //console.log(r); - //console.log(res); + console.log(`Subscribe event: ${e}`); + // console.log(r); + // console.log(res); - GlobalWidget.publish(e, res); + GlobalWidget.publish(e, res); - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; + if (typeof cb === 'function') cb(r); return { status: 'ok' }; + } return { status: '' }; }; /** * PERSON: External Settings * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/PERSON.md */ -var $person = {}; $person.on = function onperson(r, cb) { - if (is(r, lenPerson(), 'Person')) { - - var res = decPerson(r), - e = 'person.' + res.status; +const $person = {}; $person.on = function onperson(r, cb) { + if (is(r, lenPerson(), 'Person')) { + let res = decPerson(r), + e = `person.${res.status}`; - console.log("Subscribe event: " + e); - //console.log(r); - //console.log(res); + console.log(`Subscribe event: ${e}`); + // console.log(r); + // console.log(res); - GlobalWidget.publish(e, res); + GlobalWidget.publish(e, res); - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; + if (typeof cb === 'function') cb(r); return { status: 'ok' }; + } return { status: '' }; }; /** * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/ROSTER.md */ -var $contact = {}; $contact.on = function oncontact(r, cb) { - if (is(r, lenContact(), 'Contact')) { - var res = decContact(r), - e = 'contact.' + res.status; +const $contact = {}; $contact.on = function oncontact(r, cb) { + if (is(r, lenContact(), 'Contact')) { + let res = decContact(r), + e = `contact.${res.status}`; - console.log("Subscribe event: " + e); + console.log(`Subscribe event: ${e}`); - GlobalWidget.publish(e, res); + GlobalWidget.publish(e, res); - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; + if (typeof cb === 'function') cb(r); return { status: 'ok' }; + } return { status: '' }; }; /** * Friend * @type {{}} */ -var $friend = {}; $friend.on = function onfriend(r, cb) { - if (is(r, lenFriend(), 'Friend')) { - var res = decFriend(r), - e = 'friend.' + res.status; +const $friend = {}; $friend.on = function onfriend(r, cb) { + if (is(r, lenFriend(), 'Friend')) { + let res = decFriend(r), + e = `friend.${res.status}`; - console.log("Subscribe event: " + e); + console.log(`Subscribe event: ${e}`); - GlobalWidget.publish(e, res); + GlobalWidget.publish(e, res); - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; + if (typeof cb === 'function') cb(r); return { status: 'ok' }; + } return { status: '' }; }; /** * MESSAGE: Retrieve History * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/MESSAGE.md */ -var $history = {}; $history.on = function onhistory(r, cb) { - if (is(r, lenHistory(), 'History')) { - var res = decHistory(r), - e = 'history.' + res.status; +const $history = {}; $history.on = function onhistory(r, cb) { + if (is(r, lenHistory(), 'History')) { + let res = decHistory(r), + e = `history.${res.status}`; - console.log("Subscribe event: " + e); + console.log(`Subscribe event: ${e}`); - GlobalWidget.publish(e, res); + GlobalWidget.publish(e, res); - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; + if (typeof cb === 'function') cb(r); return { status: 'ok' }; + } return { status: '' }; }; /** * MESSAGE: Sending and Receiving Messages * @see https://github.com/NYNJA-MC/protocol/blob/master/v1/MESSAGE.md */ -var $message = {}; $message.on = function onmessage(r, cb) { - if (is(r, lenMessage(), 'Message')) { - var res = decMessage(r), - e = 'message.' + res.status; +const $message = {}; $message.on = function onmessage(r, cb) { + if (is(r, lenMessage(), 'Message')) { + let res = decMessage(r), + e = `message.${res.status}`; - console.log("Subscribe event: " + e); + console.log(`Subscribe event: ${e}`); - GlobalWidget.publish(e, res); + GlobalWidget.publish(e, res); - if (typeof cb == 'function') cb(r); return { status: "ok" }; - } else return { status: '' }; -}; \ No newline at end of file + if (typeof cb === 'function') cb(r); return { status: 'ok' }; + } return { status: '' }; +}; diff --git a/src/assets/vendor/utils/json-bert-old.js b/src/assets/vendor/utils/json-bert-old.js index 2a63b44c1ea9885af7867b240a6a2b73c1e87f73..eb0f12569c22595ed345bd965a410f1d617f2451 100644 --- a/src/assets/vendor/utils/json-bert-old.js +++ b/src/assets/vendor/utils/json-bert-old.js @@ -1,1019 +1,1169 @@ -function clean(r) { for(var k in r) if(!r[k]) delete r[k]; return r; } -function check_len(x) { try { return (eval('len'+utf8_dec(x.v[0].v))() == x.v.length) ? true : false } -catch (e) { return false; } } - -function scalar(data) { - var res = undefined; - switch (typeof data) { - case 'string': res = bin(data); break; case 'number': res = number(data); break; - default: console.log('Strange data: ' + data); } - return res; }; -function nil() { return {t: 106, v: undefined}; }; +function clean(r) { for (const k in r) if (!r[k]) delete r[k]; return r; } +function check_len(x) { + try { return (eval(`len${utf8_dec(x.v[0].v)}`)() == x.v.length); } catch (e) { return false; } +} + +function scalar(data) { + let res; + switch (typeof data) { + case 'string': res = bin(data); break; case 'number': res = number(data); break; + default: console.log(`Strange data: ${data}`); + } + return res; +} +function nil() { return { t: 106, v: undefined }; } function decode(x) { - if (typeof x == "undefined"){ //@TODO: need to add this condition to generator of models - return x; - } else if (x.t == 108) { - var r = []; x.v.forEach(function(y) { r.push(decode(y)) }); return r; - } else if (x.t == 109) { - return utf8_dec(x.v); - } else if (x.t == 104 && check_len(x)) { - return eval('dec'+x.v[0].v)(x); - } else if (x.t == 104) { - var r=[]; x.v.forEach(function(a){r.push(decode(a))}); - return Object.assign({tup:'$'}, r); - } else return x.v; + if (typeof x === 'undefined') { // @TODO: need to add this condition to generator of models + return x; + } else if (x.t == 108) { + var r = []; x.v.forEach((y) => { r.push(decode(y)); }); return r; + } else if (x.t == 109) { + return utf8_dec(x.v); + } else if (x.t == 104 && check_len(x)) { + return eval(`dec${x.v[0].v}`)(x); + } else if (x.t == 104) { + var r = []; x.v.forEach((a) => { r.push(decode(a)); }); + return Object.assign({ tup: '$' }, r); + } return x.v; } function encode(x) { - if (Array.isArray(x)) { - var r = []; x.forEach(function(y) { r.push(encode(y)) }); return {t:108,v:r}; - } else if (typeof x == 'object') { - switch (x.tup) { - case '$': delete x['tup']; var r=[]; - Object.keys(x).map(function(p){return x[p];}).forEach(function(a){r.push(encode(a))}); - return {t:104, v:r}; - default: return eval('enc'+x.tup)(x); } - } else return scalar(x); + if (Array.isArray(x)) { + var r = []; x.forEach((y) => { r.push(encode(y)); }); return { t: 108, v: r }; + } else if (typeof x === 'object') { + switch (x.tup) { + case '$': delete x.tup; var r = []; + Object.keys(x).map(p => x[p]).forEach((a) => { r.push(encode(a)); }); + return { t: 104, v: r }; + default: return eval(`enc${x.tup}`)(x); + } + } else return scalar(x); } function encwriter(d) { - var tup = atom('writer'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - var cache = 'cache' in d && d.cache ? encode(d.cache) : nil(); - var args = 'args' in d && d.args ? encode(d.args) : nil(); - var first = 'first' in d && d.first ? encode(d.first) : nil(); - return tuple(tup,id,count,cache,args,first); } + const tup = atom('writer'); + const id = 'id' in d && d.id ? encode(d.id) : nil(); + const count = 'count' in d && d.count ? number(d.count) : nil(); + const cache = 'cache' in d && d.cache ? encode(d.cache) : nil(); + const args = 'args' in d && d.args ? encode(d.args) : nil(); + const first = 'first' in d && d.first ? encode(d.first) : nil(); + return tuple(tup, id, count, cache, args, first); +} function lenwriter() { return 6; } function decwriter(d) { - var r={}; r.tup = 'writer'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.count = d && d.v[2] ? d.v[2].v : undefined; - r.cache = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; - r.first = d && d.v[5] ? decode(d.v[5].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'writer'; + r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; + r.count = d && d.v[2] ? d.v[2].v : undefined; + r.cache = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; + r.first = d && d.v[5] ? decode(d.v[5].v) : undefined; + return clean(r); +} function encreader(d) { - var tup = atom('reader'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var pos = 'pos' in d && d.pos ? number(d.pos) : nil(); - var cache = 'cache' in d && d.cache ? number(d.cache) : nil(); - var args = 'args' in d && d.args ? encode(d.args) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); - return tuple(tup,id,pos,cache,args,feed,dir); } + const tup = atom('reader'); + const id = 'id' in d && d.id ? encode(d.id) : nil(); + const pos = 'pos' in d && d.pos ? number(d.pos) : nil(); + const cache = 'cache' in d && d.cache ? number(d.cache) : nil(); + const args = 'args' in d && d.args ? encode(d.args) : nil(); + const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); + const dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); + return tuple(tup, id, pos, cache, args, feed, dir); +} function lenreader() { return 7; } function decreader(d) { - var r={}; r.tup = 'reader'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.pos = d && d.v[2] ? d.v[2].v : undefined; - r.cache = d && d.v[3] ? d.v[3].v : undefined; - r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; - r.feed = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.dir = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } + const r = {}; r.tup = 'reader'; + r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; + r.pos = d && d.v[2] ? d.v[2].v : undefined; + r.cache = d && d.v[3] ? d.v[3].v : undefined; + r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; + r.feed = d && d.v[5] ? decode(d.v[5].v) : undefined; + r.dir = d && d.v[6] ? decode(d.v[6]) : undefined; + return clean(r); +} function enccur(d) { - var tup = atom('cur'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var bot = 'bot' in d && d.bot ? number(d.bot) : nil(); - var dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); - var reader = 'reader' in d && d.reader ? encode(d.reader) : nil(); - var writer = 'writer' in d && d.writer ? encode(d.writer) : nil(); - var args = []; if ('args' in d && d.args) - { d.args.forEach(function(x){ - args.push(encode(x))}); - args={t:108,v:args}; } else { args = nil() }; - return tuple(tup,id,top,bot,dir,reader,writer,args); } + const tup = atom('cur'); + const id = 'id' in d && d.id ? encode(d.id) : nil(); + const top = 'top' in d && d.top ? number(d.top) : nil(); + const bot = 'bot' in d && d.bot ? number(d.bot) : nil(); + const dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); + const reader = 'reader' in d && d.reader ? encode(d.reader) : nil(); + const writer = 'writer' in d && d.writer ? encode(d.writer) : nil(); + let args = []; if ('args' in d && d.args) { + d.args.forEach((x) => { + args.push(encode(x)); + }); + args = { t: 108, v: args }; + } else { args = nil(); } + return tuple(tup, id, top, bot, dir, reader, writer, args); +} function lencur() { return 8; } function deccur(d) { - var r={}; r.tup = 'cur'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.bot = d && d.v[3] ? d.v[3].v : undefined; - r.dir = d && d.v[4] ? decode(d.v[4]) : undefined; - r.reader = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.writer = d && d.v[6] ? decode(d.v[6].v) : undefined; - r.args = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach(function(x){r.args.push(decode(x))}) : - r.args = undefined; - return clean(r); } + const r = {}; r.tup = 'cur'; + r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; + r.top = d && d.v[2] ? d.v[2].v : undefined; + r.bot = d && d.v[3] ? d.v[3].v : undefined; + r.dir = d && d.v[4] ? decode(d.v[4]) : undefined; + r.reader = d && d.v[5] ? decode(d.v[5].v) : undefined; + r.writer = d && d.v[6] ? decode(d.v[6].v) : undefined; + r.args = []; + (d && d.v[7] && d.v[7].v) ? + d.v[7].v.forEach((x) => { r.args.push(decode(x)); }) : + r.args = undefined; + return clean(r); +} function enciter(d) { - var tup = atom('iter'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - return tuple(tup,id,container,feed,next,prev); } + const tup = atom('iter'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + return tuple(tup, id, container, feed, next, prev); +} function leniter() { return 6; } function deciter(d) { - var r={}; r.tup = 'iter'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.next = d && d.v[4] ? d.v[4].v : undefined; - r.prev = d && d.v[5] ? d.v[5].v : undefined; - return clean(r); } + const r = {}; r.tup = 'iter'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.next = d && d.v[4] ? d.v[4].v : undefined; + r.prev = d && d.v[5] ? d.v[5].v : undefined; + return clean(r); +} function enccontainer(d) { - var tup = atom('container'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,id,top,rear,count); } + const tup = atom('container'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const top = 'top' in d && d.top ? number(d.top) : nil(); + const rear = 'rear' in d && d.rear ? number(d.rear) : nil(); + const count = 'count' in d && d.count ? number(d.count) : nil(); + return tuple(tup, id, top, rear, count); +} function lencontainer() { return 5; } function deccontainer(d) { - var r={}; r.tup = 'container'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); } + const r = {}; r.tup = 'container'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.top = d && d.v[2] ? d.v[2].v : undefined; + r.rear = d && d.v[3] ? d.v[3].v : undefined; + r.count = d && d.v[4] ? d.v[4].v : undefined; + return clean(r); +} function enciterator(d) { - var tup = atom('iterator'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - return tuple(tup,id,container,feed_id,prev,next,feeds); } + const tup = atom('iterator'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + let feeds = []; if ('feeds' in d && d.feeds) { + d.feeds.forEach((x) => { + feeds.push(encode(x)); + }); + feeds = { t: 108, v: feeds }; + } else { feeds = nil(); } + return tuple(tup, id, container, feed_id, prev, next, feeds); +} function leniterator() { return 7; } function deciterator(d) { - var r={}; r.tup = 'iterator'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - return clean(r); } + const r = {}; r.tup = 'iterator'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.feeds = []; + (d && d.v[6] && d.v[6].v) ? + d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : + r.feeds = undefined; + return clean(r); +} function enclog(d) { - var tup = atom('log'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,id,top,rear,count); } + const tup = atom('log'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const top = 'top' in d && d.top ? number(d.top) : nil(); + const rear = 'rear' in d && d.rear ? number(d.rear) : nil(); + const count = 'count' in d && d.count ? number(d.count) : nil(); + return tuple(tup, id, top, rear, count); +} function lenlog() { return 5; } function declog(d) { - var r={}; r.tup = 'log'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); } + const r = {}; r.tup = 'log'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.top = d && d.v[2] ? d.v[2].v : undefined; + r.rear = d && d.v[3] ? d.v[3].v : undefined; + r.count = d && d.v[4] ? d.v[4].v : undefined; + return clean(r); +} function encoperation(d) { - var tup = atom('operation'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - return tuple(tup,id,container,feed_id,prev,next,feeds); } + const tup = atom('operation'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + let feeds = []; if ('feeds' in d && d.feeds) { + d.feeds.forEach((x) => { + feeds.push(encode(x)); + }); + feeds = { t: 108, v: feeds }; + } else { feeds = nil(); } + return tuple(tup, id, container, feed_id, prev, next, feeds); +} function lenoperation() { return 7; } function decoperation(d) { - var r={}; r.tup = 'operation'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - return clean(r); } + const r = {}; r.tup = 'operation'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.feeds = []; + (d && d.v[6] && d.v[6].v) ? + d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : + r.feeds = undefined; + return clean(r); +} function encerror(d) { - var tup = atom('error'); - var code = 'code' in d && d.code ? encode(d.code) : nil(); - return tuple(tup,code); } + const tup = atom('error'); + const code = 'code' in d && d.code ? encode(d.code) : nil(); + return tuple(tup, code); +} function lenerror() { return 2; } function decerror(d) { - var r={}; r.tup = 'error'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - return clean(r); } + const r = {}; r.tup = 'error'; + r.code = d && d.v[1] ? decode(d.v[1]) : undefined; + return clean(r); +} function encok(d) { - var tup = atom('ok'); - var code = 'code' in d && d.code ? encode(d.code) : nil(); - return tuple(tup,code); } + const tup = atom('ok'); + const code = 'code' in d && d.code ? encode(d.code) : nil(); + return tuple(tup, code); +} function lenok() { return 2; } function decok(d) { - var r={}; r.tup = 'ok'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - return clean(r); } + const r = {}; r.tup = 'ok'; + r.code = d && d.v[1] ? decode(d.v[1]) : undefined; + return clean(r); +} function encerror2(d) { - var tup = atom('error2'); - var code = 'code' in d && d.code ? atom(d.code) : nil(); - var src = 'src' in d && d.src ? encode(d.src) : nil(); - return tuple(tup,code,src); } + const tup = atom('error2'); + const code = 'code' in d && d.code ? atom(d.code) : nil(); + const src = 'src' in d && d.src ? encode(d.src) : nil(); + return tuple(tup, code, src); +} function lenerror2() { return 3; } function decerror2(d) { - var r={}; r.tup = 'error2'; - r.code = d && d.v[1] ? d.v[1].v : undefined; - r.src = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } + const r = {}; r.tup = 'error2'; + r.code = d && d.v[1] ? d.v[1].v : undefined; + r.src = d && d.v[2] ? decode(d.v[2]) : undefined; + return clean(r); +} function encok2(d) { - var tup = atom('ok2'); - var code = 'code' in d && d.code ? atom(d.code) : nil(); - var src = 'src' in d && d.src ? encode(d.src) : nil(); - return tuple(tup,code,src); } + const tup = atom('ok2'); + const code = 'code' in d && d.code ? atom(d.code) : nil(); + const src = 'src' in d && d.src ? encode(d.src) : nil(); + return tuple(tup, code, src); +} function lenok2() { return 3; } function decok2(d) { - var r={}; r.tup = 'ok2'; - r.code = d && d.v[1] ? d.v[1].v : undefined; - r.src = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } + const r = {}; r.tup = 'ok2'; + r.code = d && d.v[1] ? d.v[1].v : undefined; + r.src = d && d.v[2] ? decode(d.v[2]) : undefined; + return clean(r); +} function encio(d) { - var tup = atom('io'); - var code = 'code' in d && d.code ? encode(d.code) : nil(); - var data = 'data' in d && d.data ? encode(d.data) : nil(); - return tuple(tup,code,data); } + const tup = atom('io'); + const code = 'code' in d && d.code ? encode(d.code) : nil(); + const data = 'data' in d && d.data ? encode(d.data) : nil(); + return tuple(tup, code, data); +} function lenio() { return 3; } function decio(d) { - var r={}; r.tup = 'io'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - r.data = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } + const r = {}; r.tup = 'io'; + r.code = d && d.v[1] ? decode(d.v[1]) : undefined; + r.data = d && d.v[2] ? decode(d.v[2]) : undefined; + return clean(r); +} function encchain(d) { - var tup = atom('chain'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,id,top,rear,count); } + const tup = atom('chain'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const top = 'top' in d && d.top ? number(d.top) : nil(); + const rear = 'rear' in d && d.rear ? number(d.rear) : nil(); + const count = 'count' in d && d.count ? number(d.count) : nil(); + return tuple(tup, id, top, rear, count); +} function lenchain() { return 5; } function decchain(d) { - var r={}; r.tup = 'chain'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); } + const r = {}; r.tup = 'chain'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.top = d && d.v[2] ? d.v[2].v : undefined; + r.rear = d && d.v[3] ? d.v[3].v : undefined; + r.count = d && d.v[4] ? d.v[4].v : undefined; + return clean(r); +} function encpush(d) { - var tup = atom('push'); - var model = 'model' in d && d.model ? bin(d.model) : nil(); - var type = 'type' in d && d.type ? bin(d.type) : nil(); - var title = 'title' in d && d.title ? bin(d.title) : nil(); - var alert = 'alert' in d && d.alert ? bin(d.alert) : nil(); - var badge = 'badge' in d && d.badge ? number(d.badge) : nil(); - var sound = 'sound' in d && d.sound ? bin(d.sound) : nil(); - return tuple(tup,model,type,title,alert,badge,sound); } + const tup = atom('push'); + const model = 'model' in d && d.model ? bin(d.model) : nil(); + const type = 'type' in d && d.type ? bin(d.type) : nil(); + const title = 'title' in d && d.title ? bin(d.title) : nil(); + const alert = 'alert' in d && d.alert ? bin(d.alert) : nil(); + const badge = 'badge' in d && d.badge ? number(d.badge) : nil(); + const sound = 'sound' in d && d.sound ? bin(d.sound) : nil(); + return tuple(tup, model, type, title, alert, badge, sound); +} function lenpush() { return 7; } function decpush(d) { - var r={}; r.tup = 'push'; - r.model = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.type = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.title = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.alert = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.badge = d && d.v[5] ? d.v[5].v : undefined; - r.sound = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'push'; + r.model = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.type = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.title = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.alert = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.badge = d && d.v[5] ? d.v[5].v : undefined; + r.sound = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + return clean(r); +} function encSearch(d) { - var tup = atom('Search'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var ref = 'ref' in d && d.ref ? bin(d.ref) : nil(); - var field = 'field' in d && d.field ? bin(d.field) : nil(); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var value = 'value' in d && d.value ? encode(d.value) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,ref,field,type,value,status); } + const tup = atom('Search'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const ref = 'ref' in d && d.ref ? bin(d.ref) : nil(); + const field = 'field' in d && d.field ? bin(d.field) : nil(); + const type = 'type' in d && d.type ? atom(d.type) : nil(); + const value = 'value' in d && d.value ? encode(d.value) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, id, ref, field, type, value, status); +} function lenSearch() { return 7; } function decSearch(d) { - var r={}; r.tup = 'Search'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.ref = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.field = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.type = d && d.v[4] ? decode(d.v[4]) : undefined; - r.value = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Search'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.ref = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.field = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.type = d && d.v[4] ? decode(d.v[4]) : undefined; + r.value = d && d.v[5] ? decode(d.v[5].v) : undefined; + r.status = d && d.v[6] ? decode(d.v[6]) : undefined; + return clean(r); +} function encp2p(d) { - var tup = atom('p2p'); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var to = 'to' in d && d.to ? bin(d.to) : nil(); - return tuple(tup,from,to); } + const tup = atom('p2p'); + const from = 'from' in d && d.from ? bin(d.from) : nil(); + const to = 'to' in d && d.to ? bin(d.to) : nil(); + return tuple(tup, from, to); +} function lenp2p() { return 3; } function decp2p(d) { - var r={}; r.tup = 'p2p'; - r.from = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.to = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'p2p'; + r.from = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.to = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + return clean(r); +} function encmuc(d) { - var tup = atom('muc'); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - return tuple(tup,name); } + const tup = atom('muc'); + const name = 'name' in d && d.name ? bin(d.name) : nil(); + return tuple(tup, name); +} function lenmuc() { return 2; } function decmuc(d) { - var r={}; r.tup = 'muc'; - r.name = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'muc'; + r.name = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + return clean(r); +} function encCDR(d) { - var tup = atom('CDR'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var to = 'to' in d && d.to ? bin(d.to) : nil(); - var start = 'start' in d && d.start ? number(d.start) : nil(); - var stop = 'stop' in d && d.stop ? number(d.stop) : nil(); - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); - var bill = 'bill' in d && d.bill ? number(d.bill) : nil(); - var tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); - return tuple(tup,id,container,feed,next,prev,from,to,start,stop,type, - desc,bill,tariff); } + const tup = atom('CDR'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const from = 'from' in d && d.from ? bin(d.from) : nil(); + const to = 'to' in d && d.to ? bin(d.to) : nil(); + const start = 'start' in d && d.start ? number(d.start) : nil(); + const stop = 'stop' in d && d.stop ? number(d.stop) : nil(); + const type = 'type' in d && d.type ? encode(d.type) : nil(); + const desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); + const bill = 'bill' in d && d.bill ? number(d.bill) : nil(); + const tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); + return tuple( + tup, id, container, feed, next, prev, from, to, start, stop, type, + desc, bill, tariff + ); +} function lenCDR() { return 14; } function decCDR(d) { - var r={}; r.tup = 'CDR'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.next = d && d.v[4] ? d.v[4].v : undefined; - r.prev = d && d.v[5] ? d.v[5].v : undefined; - r.from = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.to = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.start = d && d.v[8] ? d.v[8].v : undefined; - r.stop = d && d.v[9] ? d.v[9].v : undefined; - r.type = d && d.v[10] ? decode(d.v[10]) : undefined; - r.desc = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.bill = d && d.v[12] ? d.v[12].v : undefined; - r.tariff = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'CDR'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.next = d && d.v[4] ? d.v[4].v : undefined; + r.prev = d && d.v[5] ? d.v[5].v : undefined; + r.from = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.to = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.start = d && d.v[8] ? d.v[8].v : undefined; + r.stop = d && d.v[9] ? d.v[9].v : undefined; + r.type = d && d.v[10] ? decode(d.v[10]) : undefined; + r.desc = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; + r.bill = d && d.v[12] ? d.v[12].v : undefined; + r.tariff = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; + return clean(r); +} function encMember(d) { - var tup = atom('Member'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? encode(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - var names = 'names' in d && d.names ? bin(d.names) : nil(); - var surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - var alias = 'alias' in d && d.alias ? bin(d.alias) : nil(); - var email = 'email' in d && d.email ? bin(d.email) : nil(); - var vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); - var reader = 'reader' in d && d.reader ? number(d.reader) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,container,feed_id,prev,next,feeds,phone_id,avatar,names,surnames, - alias,email,vox_id,reader,update,presence,status); } + const tup = atom('Member'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? encode(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + let feeds = []; if ('feeds' in d && d.feeds) { + d.feeds.forEach((x) => { + feeds.push(encode(x)); + }); + feeds = { t: 108, v: feeds }; + } else { feeds = nil(); } + const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); + const avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); + const names = 'names' in d && d.names ? bin(d.names) : nil(); + const surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); + const alias = 'alias' in d && d.alias ? bin(d.alias) : nil(); + const email = 'email' in d && d.email ? bin(d.email) : nil(); + const vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); + const reader = 'reader' in d && d.reader ? number(d.reader) : nil(); + const update = 'update' in d && d.update ? number(d.update) : nil(); + const presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, id, container, feed_id, prev, next, feeds, phone_id, avatar, names, surnames, + alias, email, vox_id, reader, update, presence, status + ); +} function lenMember() { return 18; } function decMember(d) { - var r={}; r.tup = 'Member'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - r.phone_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.avatar = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; - r.names = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; - r.surnames = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.alias = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.email = d && d.v[12] ? utf8_dec(d.v[12].v) : undefined; - r.vox_id = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; - r.reader = d && d.v[14] ? d.v[14].v : undefined; - r.update = d && d.v[15] ? d.v[15].v : undefined; - r.presence = d && d.v[16] ? decode(d.v[16]) : undefined; - r.status = d && d.v[17] ? decode(d.v[17]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Member'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? decode(d.v[2]) : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.feeds = []; + (d && d.v[6] && d.v[6].v) ? + d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : + r.feeds = undefined; + r.phone_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.avatar = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; + r.names = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; + r.surnames = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; + r.alias = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; + r.email = d && d.v[12] ? utf8_dec(d.v[12].v) : undefined; + r.vox_id = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; + r.reader = d && d.v[14] ? d.v[14].v : undefined; + r.update = d && d.v[15] ? d.v[15].v : undefined; + r.presence = d && d.v[16] ? decode(d.v[16]) : undefined; + r.status = d && d.v[17] ? decode(d.v[17]) : undefined; + return clean(r); +} function encCursor(d) { - var tup = atom('Cursor'); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var position = 'position' in d && d.position ? number(d.position) : nil(); - return tuple(tup,feed,roster_id,position); } + const tup = atom('Cursor'); + const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); + const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); + const position = 'position' in d && d.position ? number(d.position) : nil(); + return tuple(tup, feed, roster_id, position); +} function lenCursor() { return 4; } function decCursor(d) { - var r={}; r.tup = 'Cursor'; - r.feed = d && d.v[1] ? decode(d.v[1]) : undefined; - r.roster_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.position = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); } + const r = {}; r.tup = 'Cursor'; + r.feed = d && d.v[1] ? decode(d.v[1]) : undefined; + r.roster_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.position = d && d.v[3] ? d.v[3].v : undefined; + return clean(r); +} function encPerson(d) { - var tup = atom('Person'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var phonelist = []; if ('phonelist' in d && d.phonelist) - { d.phonelist.forEach(function(x){ - phonelist.push(encode(x))}); - phonelist={t:108,v:phonelist}; } else { phonelist = nil() }; - var alias = []; if ('alias' in d && d.alias) - { d.alias.forEach(function(x){ - alias.push(encode(x))}); - alias={t:108,v:alias}; } else { alias = nil() }; - var localize = []; if ('localize' in d && d.localize) - { d.localize.forEach(function(x){ - localize.push(encode(x))}); - localize={t:108,v:localize}; } else { localize = nil() }; - var NotificationSettings = []; if ('NotificationSettings' in d && d.NotificationSettings) - { d.NotificationSettings.forEach(function(x){ - NotificationSettings.push(encode(x))}); - NotificationSettings={t:108,v:NotificationSettings}; } else { NotificationSettings = nil() }; - var SoundSettings = []; if ('SoundSettings' in d && d.SoundSettings) - { d.SoundSettings.forEach(function(x){ - SoundSettings.push(encode(x))}); - SoundSettings={t:108,v:SoundSettings}; } else { SoundSettings = nil() }; - var ThemeID = 'ThemeID' in d && d.ThemeID ? bin(d.ThemeID) : nil(); - var BlockUsers = []; if ('BlockUsers' in d && d.BlockUsers) - { d.BlockUsers.forEach(function(x){ - BlockUsers.push(encode(x))}); - BlockUsers={t:108,v:BlockUsers}; } else { BlockUsers = nil() }; - var balance = 'balance' in d && d.balance ? number(d.balance) : nil(); - var isParticipants = []; if ('isParticipants' in d && d.isParticipants) - { d.isParticipants.forEach(function(x){ - isParticipants.push(encode(x))}); - isParticipants={t:108,v:isParticipants}; } else { isParticipants = nil() }; - var status = 'status' in d && d.status ? encode(d.status) : nil(); - return tuple(tup,id,phonelist,alias,localize,NotificationSettings,SoundSettings,ThemeID,BlockUsers,balance,isParticipants,status); } + const tup = atom('Person'); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + let phonelist = []; if ('phonelist' in d && d.phonelist) { + d.phonelist.forEach((x) => { + phonelist.push(encode(x)); + }); + phonelist = { t: 108, v: phonelist }; + } else { phonelist = nil(); } + let alias = []; if ('alias' in d && d.alias) { + d.alias.forEach((x) => { + alias.push(encode(x)); + }); + alias = { t: 108, v: alias }; + } else { alias = nil(); } + let localize = []; if ('localize' in d && d.localize) { + d.localize.forEach((x) => { + localize.push(encode(x)); + }); + localize = { t: 108, v: localize }; + } else { localize = nil(); } + let NotificationSettings = []; if ('NotificationSettings' in d && d.NotificationSettings) { + d.NotificationSettings.forEach((x) => { + NotificationSettings.push(encode(x)); + }); + NotificationSettings = { t: 108, v: NotificationSettings }; + } else { NotificationSettings = nil(); } + let SoundSettings = []; if ('SoundSettings' in d && d.SoundSettings) { + d.SoundSettings.forEach((x) => { + SoundSettings.push(encode(x)); + }); + SoundSettings = { t: 108, v: SoundSettings }; + } else { SoundSettings = nil(); } + const ThemeID = 'ThemeID' in d && d.ThemeID ? bin(d.ThemeID) : nil(); + let BlockUsers = []; if ('BlockUsers' in d && d.BlockUsers) { + d.BlockUsers.forEach((x) => { + BlockUsers.push(encode(x)); + }); + BlockUsers = { t: 108, v: BlockUsers }; + } else { BlockUsers = nil(); } + const balance = 'balance' in d && d.balance ? number(d.balance) : nil(); + let isParticipants = []; if ('isParticipants' in d && d.isParticipants) { + d.isParticipants.forEach((x) => { + isParticipants.push(encode(x)); + }); + isParticipants = { t: 108, v: isParticipants }; + } else { isParticipants = nil(); } + const status = 'status' in d && d.status ? encode(d.status) : nil(); + return tuple(tup, id, phonelist, alias, localize, NotificationSettings, SoundSettings, ThemeID, BlockUsers, balance, isParticipants, status); +} function lenPerson() { return 12; } function decPerson(d) { - var r={}; r.tup = 'Person'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.phonelist = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.phonelist.push(decode(x))}) : - r.phonelist = undefined; - r.alias = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.alias.push(decode(x))}) : - r.alias = undefined; - r.localize = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach(function(x){r.localize.push(decode(x))}) : - r.localize = undefined; - r.NotificationSettings = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.NotificationSettings.push(decode(x))}) : - r.NotificationSettings = undefined; - r.SoundSettings = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.SoundSettings.push(decode(x))}) : - r.SoundSettings = undefined; - r.ThemeID = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.BlockUsers = []; - (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach(function(x){r.BlockUsers.push(decode(x))}) : - r.BlockUsers = undefined; - r.balance = d && d.v[9] ? d.v[9].v : undefined; - r.isParticipants = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach(function(x){r.isParticipants.push(decode(x))}) : - r.isParticipants = undefined; - r.status = d && d.v[11] ? decode(d.v[11]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Person'; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.phonelist = []; + (d && d.v[2] && d.v[2].v) ? + d.v[2].v.forEach((x) => { r.phonelist.push(decode(x)); }) : + r.phonelist = undefined; + r.alias = []; + (d && d.v[3] && d.v[3].v) ? + d.v[3].v.forEach((x) => { r.alias.push(decode(x)); }) : + r.alias = undefined; + r.localize = []; + (d && d.v[4] && d.v[4].v) ? + d.v[4].v.forEach((x) => { r.localize.push(decode(x)); }) : + r.localize = undefined; + r.NotificationSettings = []; + (d && d.v[5] && d.v[5].v) ? + d.v[5].v.forEach((x) => { r.NotificationSettings.push(decode(x)); }) : + r.NotificationSettings = undefined; + r.SoundSettings = []; + (d && d.v[6] && d.v[6].v) ? + d.v[6].v.forEach((x) => { r.SoundSettings.push(decode(x)); }) : + r.SoundSettings = undefined; + r.ThemeID = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.BlockUsers = []; + (d && d.v[8] && d.v[8].v) ? + d.v[8].v.forEach((x) => { r.BlockUsers.push(decode(x)); }) : + r.BlockUsers = undefined; + r.balance = d && d.v[9] ? d.v[9].v : undefined; + r.isParticipants = []; + (d && d.v[10] && d.v[10].v) ? + d.v[10].v.forEach((x) => { r.isParticipants.push(decode(x)); }) : + r.isParticipants = undefined; + r.status = d && d.v[11] ? decode(d.v[11]) : undefined; + return clean(r); +} function encDesc(d) { - var tup = atom('Desc'); - var mime = 'mime' in d && d.mime ? bin(d.mime) : nil(); - var payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - var size = 'size' in d && d.size ? number(d.size) : nil(); - var filename = 'filename' in d && d.filename ? bin(d.filename) : nil(); - var info = 'info' in d && d.info ? bin(d.info) : nil(); - return tuple(tup,mime,payload,size,filename,info); } + const tup = atom('Desc'); + const mime = 'mime' in d && d.mime ? bin(d.mime) : nil(); + const payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); + const size = 'size' in d && d.size ? number(d.size) : nil(); + const filename = 'filename' in d && d.filename ? bin(d.filename) : nil(); + const info = 'info' in d && d.info ? bin(d.info) : nil(); + return tuple(tup, mime, payload, size, filename, info); +} function lenDesc() { return 6; } function decDesc(d) { - var r={}; r.tup = 'Desc'; - r.mime = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.size = d && d.v[3] ? d.v[3].v : undefined; - r.filename = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.info = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'Desc'; + r.mime = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.size = d && d.v[3] ? d.v[3].v : undefined; + r.filename = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.info = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + return clean(r); +} function encMessage(d) { - var tup = atom('Message'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - //var container = 'container' in d && d.container ? encode(d.container) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var msg_id = 'msg_id' in d && d.msg_id ? bin(d.msg_id) : nil(); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var to = 'to' in d && d.to ? bin(d.to) : nil(); - var created = 'created' in d && d.created ? encode(d.created) : nil(); - var files = []; if ('files' in d && d.files) - { d.files.forEach(function(x){ - files.push(encode(x))}); - files={t:108,v:files}; } else { files = nil() }; - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var edit_msg = 'edit_msg' in d && d.edit_msg ? number(d.edit_msg) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,container,feed_id,prev,next,msg_id,from,to,created,files, - type,edit_msg,status); } + const tup = atom('Message'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + // var container = 'container' in d && d.container ? encode(d.container) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + const msg_id = 'msg_id' in d && d.msg_id ? bin(d.msg_id) : nil(); + const from = 'from' in d && d.from ? bin(d.from) : nil(); + const to = 'to' in d && d.to ? bin(d.to) : nil(); + const created = 'created' in d && d.created ? encode(d.created) : nil(); + let files = []; if ('files' in d && d.files) { + d.files.forEach((x) => { + files.push(encode(x)); + }); + files = { t: 108, v: files }; + } else { files = nil(); } + const type = 'type' in d && d.type ? encode(d.type) : nil(); + const edit_msg = 'edit_msg' in d && d.edit_msg ? number(d.edit_msg) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, id, container, feed_id, prev, next, msg_id, from, to, created, files, + type, edit_msg, status + ); +} function lenMessage() { return 14; } function decMessage(d) { - var r={}; r.tup = 'Message'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.msg_id = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.from = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.to = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; - r.created = d && d.v[9] ? decode(d.v[9]) : undefined; - r.files = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach(function(x){r.files.push(decode(x))}) : - r.files = undefined; - r.type = d && d.v[11] ? decode(d.v[11]) : undefined; - r.edit_msg = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Message'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? decode(d.v[2]) : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.msg_id = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.from = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.to = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; + r.created = d && d.v[9] ? decode(d.v[9]) : undefined; + r.files = []; + (d && d.v[10] && d.v[10].v) ? + d.v[10].v.forEach((x) => { r.files.push(decode(x)); }) : + r.files = undefined; + r.type = d && d.v[11] ? decode(d.v[11]) : undefined; + r.edit_msg = d && d.v[12] ? d.v[12].v : undefined; + r.status = d && d.v[13] ? decode(d.v[13]) : undefined; + return clean(r); +} function encRoom(d) { - var tup = atom('Room'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var description = 'description' in d && d.description ? bin(d.description) : nil(); - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var members = []; if ('members' in d && d.members) - { d.members.forEach(function(x){ - members.push(encode(x))}); - members={t:108,v:members}; } else { members = nil() }; - var admins = []; if ('admins' in d && d.admins) - { d.admins.forEach(function(x){ - admins.push(encode(x))}); - admins={t:108,v:admins}; } else { admins = nil() }; - var data = []; if ('data' in d && d.data) - { d.data.forEach(function(x){ - data.push(encode(x))}); - data={t:108,v:data}; } else { data = nil() }; - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var tos = 'tos' in d && d.tos ? bin(d.tos) : nil(); - var unread = 'unread' in d && d.unread ? number(d.unread) : nil(); - var last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var created = 'created' in d && d.created ? number(d.created) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,name,description,settings,members,admins,data,type,tos,unread, - last_msg,update,created,status); } + const tup = atom('Room'); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + const name = 'name' in d && d.name ? bin(d.name) : nil(); + const description = 'description' in d && d.description ? bin(d.description) : nil(); + let settings = []; if ('settings' in d && d.settings) { + d.settings.forEach((x) => { + settings.push(encode(x)); + }); + settings = { t: 108, v: settings }; + } else { settings = nil(); } + let members = []; if ('members' in d && d.members) { + d.members.forEach((x) => { + members.push(encode(x)); + }); + members = { t: 108, v: members }; + } else { members = nil(); } + let admins = []; if ('admins' in d && d.admins) { + d.admins.forEach((x) => { + admins.push(encode(x)); + }); + admins = { t: 108, v: admins }; + } else { admins = nil(); } + let data = []; if ('data' in d && d.data) { + d.data.forEach((x) => { + data.push(encode(x)); + }); + data = { t: 108, v: data }; + } else { data = nil(); } + const type = 'type' in d && d.type ? encode(d.type) : nil(); + const tos = 'tos' in d && d.tos ? bin(d.tos) : nil(); + const unread = 'unread' in d && d.unread ? number(d.unread) : nil(); + const last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); + const update = 'update' in d && d.update ? number(d.update) : nil(); + const created = 'created' in d && d.created ? number(d.created) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, id, name, description, settings, members, admins, data, type, tos, unread, + last_msg, update, created, status + ); +} function lenRoom() { return 15; } function decRoom(d) { - var r={}; r.tup = 'Room'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.description = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.settings = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach(function(x){r.settings.push(decode(x))}) : - r.settings = undefined; - r.members = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.members.push(decode(x))}) : - r.members = undefined; - r.admins = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.admins.push(decode(x))}) : - r.admins = undefined; - r.data = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach(function(x){r.data.push(decode(x))}) : - r.data = undefined; - r.type = d && d.v[8] ? decode(d.v[8]) : undefined; - r.tos = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; - r.unread = d && d.v[10] ? d.v[10].v : undefined; - r.last_msg = d && d.v[11] ? decode(d.v[11]) : undefined; - r.update = d && d.v[12] ? d.v[12].v : undefined; - r.created = d && d.v[13] ? d.v[13].v : undefined; - r.status = d && d.v[14] ? decode(d.v[14]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Room'; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.description = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.settings = []; + (d && d.v[4] && d.v[4].v) ? + d.v[4].v.forEach((x) => { r.settings.push(decode(x)); }) : + r.settings = undefined; + r.members = []; + (d && d.v[5] && d.v[5].v) ? + d.v[5].v.forEach((x) => { r.members.push(decode(x)); }) : + r.members = undefined; + r.admins = []; + (d && d.v[6] && d.v[6].v) ? + d.v[6].v.forEach((x) => { r.admins.push(decode(x)); }) : + r.admins = undefined; + r.data = []; + (d && d.v[7] && d.v[7].v) ? + d.v[7].v.forEach((x) => { r.data.push(decode(x)); }) : + r.data = undefined; + r.type = d && d.v[8] ? decode(d.v[8]) : undefined; + r.tos = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; + r.unread = d && d.v[10] ? d.v[10].v : undefined; + r.last_msg = d && d.v[11] ? decode(d.v[11]) : undefined; + r.update = d && d.v[12] ? d.v[12].v : undefined; + r.created = d && d.v[13] ? d.v[13].v : undefined; + r.status = d && d.v[14] ? decode(d.v[14]) : undefined; + return clean(r); +} function encTag(d) { - var tup = atom('Tag'); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var color = 'color' in d && d.color ? bin(d.color) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,roster_id,name,color,status); } + const tup = atom('Tag'); + const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); + const name = 'name' in d && d.name ? bin(d.name) : nil(); + const color = 'color' in d && d.color ? bin(d.color) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, roster_id, name, color, status); +} function lenTag() { return 5; } function decTag(d) { - var r={}; r.tup = 'Tag'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.color = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.status = d && d.v[4] ? decode(d.v[4]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Tag'; + r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.color = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.status = d && d.v[4] ? decode(d.v[4]) : undefined; + return clean(r); +} function encStar(d) { - var tup = atom('Star'); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var message = 'message' in d && d.message ? encode(d.message) : nil(); - var tags = []; if ('tags' in d && d.tags) - { d.tags.forEach(function(x){ - tags.push(encode(x))}); - tags={t:108,v:tags}; } else { tags = nil() }; - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,roster_id,message,tags,status); } + const tup = atom('Star'); + const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); + const message = 'message' in d && d.message ? encode(d.message) : nil(); + let tags = []; if ('tags' in d && d.tags) { + d.tags.forEach((x) => { + tags.push(encode(x)); + }); + tags = { t: 108, v: tags }; + } else { tags = nil(); } + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, roster_id, message, tags, status); +} function lenStar() { return 5; } function decStar(d) { - var r={}; r.tup = 'Star'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.message = d && d.v[2] ? decode(d.v[2]) : undefined; - r.tags = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.tags.push(decode(x))}) : - r.tags = undefined; - r.status = d && d.v[4] ? decode(d.v[4]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Star'; + r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.message = d && d.v[2] ? decode(d.v[2]) : undefined; + r.tags = []; + (d && d.v[3] && d.v[3].v) ? + d.v[3].v.forEach((x) => { r.tags.push(decode(x)); }) : + r.tags = undefined; + r.status = d && d.v[4] ? decode(d.v[4]) : undefined; + return clean(r); +} function encHistory(d) { - var tup = atom('History'); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var contact_id = 'contact_id' in d && d.contact_id ? bin(d.contact_id) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var size = 'size' in d && d.size ? number(d.size) : nil(); - var data = []; if ('data' in d && d.data) - { d.data.forEach(function(x){ - data.push(encode(x))}); - data={t:108,v:data}; } else { data = nil() }; - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,roster_id,contact_id,feed,size,data,status); } + const tup = atom('History'); + const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); + const contact_id = 'contact_id' in d && d.contact_id ? bin(d.contact_id) : nil(); + const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); + const size = 'size' in d && d.size ? number(d.size) : nil(); + let data = []; if ('data' in d && d.data) { + d.data.forEach((x) => { + data.push(encode(x)); + }); + data = { t: 108, v: data }; + } else { data = nil(); } + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, roster_id, contact_id, feed, size, data, status); +} function lenHistory() { return 7; } function decHistory(d) { - var r={}; r.tup = 'History'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.contact_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.feed = d && d.v[3] ? decode(d.v[3]) : undefined; - r.size = d && d.v[4] ? d.v[4].v : undefined; - r.data = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.data.push(decode(x))}) : - r.data = undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } + const r = {}; r.tup = 'History'; + r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.contact_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.feed = d && d.v[3] ? decode(d.v[3]) : undefined; + r.size = d && d.v[4] ? d.v[4].v : undefined; + r.data = []; + (d && d.v[5] && d.v[5].v) ? + d.v[5].v.forEach((x) => { r.data.push(decode(x)); }) : + r.data = undefined; + r.status = d && d.v[6] ? decode(d.v[6]) : undefined; + return clean(r); +} function encTyping(d) { - var tup = atom('Typing'); - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var comments = 'comments' in d && d.comments ? encode(d.comments) : nil(); - return tuple(tup,phone_id,comments); } + const tup = atom('Typing'); + const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); + const comments = 'comments' in d && d.comments ? encode(d.comments) : nil(); + return tuple(tup, phone_id, comments); +} function lenTyping() { return 3; } function decTyping(d) { - var r={}; r.tup = 'Typing'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.comments = d && d.v[2] ? decode(d.v[2].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'Typing'; + r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.comments = d && d.v[2] ? decode(d.v[2].v) : undefined; + return clean(r); +} function encContact(d) { - var tup = atom('Contact'); - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - var names = 'names' in d && d.names ? bin(d.names) : nil(); - var surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - var nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); - var email = 'email' in d && d.email ? bin(d.email) : nil(); - var vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); - var reader = 'reader' in d && d.reader ? number(d.reader) : nil(); - var unread = 'unread' in d && d.unread ? number(d.unread) : nil(); - var last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,phone_id,avatar,names,surnames,nick,email,vox_id,reader,unread,last_msg, - update,presence,status); } + const tup = atom('Contact'); + const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); + const avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); + const names = 'names' in d && d.names ? bin(d.names) : nil(); + const surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); + const nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); + const email = 'email' in d && d.email ? bin(d.email) : nil(); + const vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); + const reader = 'reader' in d && d.reader ? number(d.reader) : nil(); + const unread = 'unread' in d && d.unread ? number(d.unread) : nil(); + const last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); + const update = 'update' in d && d.update ? number(d.update) : nil(); + const presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, phone_id, avatar, names, surnames, nick, email, vox_id, reader, unread, last_msg, + update, presence, status + ); +} function lenContact() { return 14; } function decContact(d) { - var r={}; r.tup = 'Contact'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.avatar = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.names = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.surnames = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.email = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.vox_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.reader = d && d.v[8] ? d.v[8].v : undefined; - r.unread = d && d.v[9] ? d.v[9].v : undefined; - r.last_msg = d && d.v[10] ? decode(d.v[10]) : undefined; - r.update = d && d.v[11] ? d.v[11].v : undefined; - r.presence = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Contact'; + r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.avatar = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.names = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.surnames = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.email = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.vox_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.reader = d && d.v[8] ? d.v[8].v : undefined; + r.unread = d && d.v[9] ? d.v[9].v : undefined; + r.last_msg = d && d.v[10] ? decode(d.v[10]) : undefined; + r.update = d && d.v[11] ? d.v[11].v : undefined; + r.presence = d && d.v[12] ? d.v[12].v : undefined; + r.status = d && d.v[13] ? decode(d.v[13]) : undefined; + return clean(r); +} function encAuth(d) { - var tup = atom('Auth'); - var client_id = 'client_id' in d && d.client_id ? bin(d.client_id) : nil(); - var dev_key = 'dev_key' in d && d.dev_key ? bin(d.dev_key) : nil(); - var user_id = 'user_id' in d && d.user_id ? bin(d.user_id) : nil(); - var phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - var token = 'token' in d && d.token ? bin(d.token) : nil(); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var sms_code = 'sms_code' in d && d.sms_code ? bin(d.sms_code) : nil(); - var attempts = 'attempts' in d && d.attempts ? number(d.attempts) : nil(); - var services = []; if ('services' in d && d.services) - { d.services.forEach(function(x){ - services.push(encode(x))}); - services={t:108,v:services}; } else { services = nil() }; - var push = 'push' in d && d.push ? bin(d.push) : nil(); - var os = 'os' in d && d.os ? encode(d.os) : nil(); - var created = 'created' in d && d.created ? encode(d.created) : nil(); - var last_online = 'last_online' in d && d.last_online ? number(d.last_online) : nil(); - return tuple(tup,client_id,dev_key,user_id,phone,token,type,sms_code,attempts,services,push, - os,created,last_online); } + const tup = atom('Auth'); + const client_id = 'client_id' in d && d.client_id ? bin(d.client_id) : nil(); + const dev_key = 'dev_key' in d && d.dev_key ? bin(d.dev_key) : nil(); + const user_id = 'user_id' in d && d.user_id ? bin(d.user_id) : nil(); + const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); + const token = 'token' in d && d.token ? bin(d.token) : nil(); + const type = 'type' in d && d.type ? atom(d.type) : nil(); + const sms_code = 'sms_code' in d && d.sms_code ? bin(d.sms_code) : nil(); + const attempts = 'attempts' in d && d.attempts ? number(d.attempts) : nil(); + let services = []; if ('services' in d && d.services) { + d.services.forEach((x) => { + services.push(encode(x)); + }); + services = { t: 108, v: services }; + } else { services = nil(); } + const push = 'push' in d && d.push ? bin(d.push) : nil(); + const os = 'os' in d && d.os ? encode(d.os) : nil(); + const created = 'created' in d && d.created ? encode(d.created) : nil(); + const last_online = 'last_online' in d && d.last_online ? number(d.last_online) : nil(); + return tuple( + tup, client_id, dev_key, user_id, phone, token, type, sms_code, attempts, services, push, + os, created, last_online + ); +} function lenAuth() { return 14; } function decAuth(d) { - var r={}; r.tup = 'Auth'; - r.client_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.dev_key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.user_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.phone = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.token = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.type = d && d.v[6] ? d.v[6].v : undefined; - r.sms_code = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.attempts = d && d.v[8] ? d.v[8].v : undefined; - r.services = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach(function(x){r.services.push(decode(x))}) : - r.services = undefined; - r.push = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.os = d && d.v[11] ? decode(d.v[11]) : undefined; - r.created = d && d.v[12] ? decode(d.v[12]) : undefined; - r.last_online = d && d.v[13] ? d.v[13].v : undefined; - return clean(r); } + const r = {}; r.tup = 'Auth'; + r.client_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.dev_key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.user_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.phone = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.token = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.type = d && d.v[6] ? d.v[6].v : undefined; + r.sms_code = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.attempts = d && d.v[8] ? d.v[8].v : undefined; + r.services = []; + (d && d.v[9] && d.v[9].v) ? + d.v[9].v.forEach((x) => { r.services.push(decode(x)); }) : + r.services = undefined; + r.push = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; + r.os = d && d.v[11] ? decode(d.v[11]) : undefined; + r.created = d && d.v[12] ? decode(d.v[12]) : undefined; + r.last_online = d && d.v[13] ? d.v[13].v : undefined; + return clean(r); +} function encService(d) { - var tup = atom('Service'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var data = 'data' in d && d.data ? encode(d.data) : nil(); - var login = 'login' in d && d.login ? bin(d.login) : nil(); - var password = 'password' in d && d.password ? bin(d.password) : nil(); - var expiration = 'expiration' in d && d.expiration ? number(d.expiration) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,type,data,login,password,expiration,status); } + const tup = atom('Service'); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + const type = 'type' in d && d.type ? atom(d.type) : nil(); + const data = 'data' in d && d.data ? encode(d.data) : nil(); + const login = 'login' in d && d.login ? bin(d.login) : nil(); + const password = 'password' in d && d.password ? bin(d.password) : nil(); + const expiration = 'expiration' in d && d.expiration ? number(d.expiration) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, id, type, data, login, password, expiration, status); +} function lenService() { return 8; } function decService(d) { - var r={}; r.tup = 'Service'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.type = d && d.v[2] ? decode(d.v[2]) : undefined; - r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.login = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.password = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.expiration = d && d.v[6] ? d.v[6].v : undefined; - r.status = d && d.v[7] ? decode(d.v[7]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Service'; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.type = d && d.v[2] ? decode(d.v[2]) : undefined; + r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.login = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.password = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.expiration = d && d.v[6] ? d.v[6].v : undefined; + r.status = d && d.v[7] ? decode(d.v[7]) : undefined; + return clean(r); +} function encRoster(d) { - var tup = atom('Roster'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var names = 'names' in d && d.names ? bin(d.names) : nil(); - var surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - var email = 'email' in d && d.email ? bin(d.email) : nil(); - var nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); - var userlist = []; if ('userlist' in d && d.userlist) - { d.userlist.forEach(function(x){ - userlist.push(encode(x))}); - userlist={t:108,v:userlist}; } else { userlist = nil() }; - var roomlist = []; if ('roomlist' in d && d.roomlist) - { d.roomlist.forEach(function(x){ - roomlist.push(encode(x))}); - roomlist={t:108,v:roomlist}; } else { roomlist = nil() }; - var favorite = []; if ('favorite' in d && d.favorite) - { d.favorite.forEach(function(x){ - favorite.push(encode(x))}); - favorite={t:108,v:favorite}; } else { favorite = nil() }; - var tags = []; if ('tags' in d && d.tags) - { d.tags.forEach(function(x){ - tags.push(encode(x))}); - tags={t:108,v:tags}; } else { tags = nil() }; - var phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - var avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,names,surnames,email,nick,userlist,roomlist,favorite,tags,phone, - avatar,update,status); } + const tup = atom('Roster'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const names = 'names' in d && d.names ? bin(d.names) : nil(); + const surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); + const email = 'email' in d && d.email ? bin(d.email) : nil(); + const nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); + let userlist = []; if ('userlist' in d && d.userlist) { + d.userlist.forEach((x) => { + userlist.push(encode(x)); + }); + userlist = { t: 108, v: userlist }; + } else { userlist = nil(); } + let roomlist = []; if ('roomlist' in d && d.roomlist) { + d.roomlist.forEach((x) => { + roomlist.push(encode(x)); + }); + roomlist = { t: 108, v: roomlist }; + } else { roomlist = nil(); } + let favorite = []; if ('favorite' in d && d.favorite) { + d.favorite.forEach((x) => { + favorite.push(encode(x)); + }); + favorite = { t: 108, v: favorite }; + } else { favorite = nil(); } + let tags = []; if ('tags' in d && d.tags) { + d.tags.forEach((x) => { + tags.push(encode(x)); + }); + tags = { t: 108, v: tags }; + } else { tags = nil(); } + const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); + const avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); + const update = 'update' in d && d.update ? number(d.update) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, id, names, surnames, email, nick, userlist, roomlist, favorite, tags, phone, + avatar, update, status + ); +} function lenRoster() { return 14; } function decRoster(d) { - var r={}; r.tup = 'Roster'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.names = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.surnames = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.email = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.userlist = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.userlist.push(decode(x))}) : - r.userlist = undefined; - r.roomlist = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach(function(x){r.roomlist.push(decode(x))}) : - r.roomlist = undefined; - r.favorite = []; - (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach(function(x){r.favorite.push(decode(x))}) : - r.favorite = undefined; - r.tags = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach(function(x){r.tags.push(decode(x))}) : - r.tags = undefined; - r.phone = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.avatar = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.update = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Roster'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.names = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.surnames = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.email = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.userlist = []; + (d && d.v[6] && d.v[6].v) ? + d.v[6].v.forEach((x) => { r.userlist.push(decode(x)); }) : + r.userlist = undefined; + r.roomlist = []; + (d && d.v[7] && d.v[7].v) ? + d.v[7].v.forEach((x) => { r.roomlist.push(decode(x)); }) : + r.roomlist = undefined; + r.favorite = []; + (d && d.v[8] && d.v[8].v) ? + d.v[8].v.forEach((x) => { r.favorite.push(decode(x)); }) : + r.favorite = undefined; + r.tags = []; + (d && d.v[9] && d.v[9].v) ? + d.v[9].v.forEach((x) => { r.tags.push(decode(x)); }) : + r.tags = undefined; + r.phone = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; + r.avatar = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; + r.update = d && d.v[12] ? d.v[12].v : undefined; + r.status = d && d.v[13] ? decode(d.v[13]) : undefined; + return clean(r); +} function encFeature(d) { - var tup = atom('Feature'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var key = 'key' in d && d.key ? bin(d.key) : nil(); - var value = 'value' in d && d.value ? bin(d.value) : nil(); - var group = 'group' in d && d.group ? bin(d.group) : nil(); - return tuple(tup,id,key,value,group); } + const tup = atom('Feature'); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + const key = 'key' in d && d.key ? bin(d.key) : nil(); + const value = 'value' in d && d.value ? bin(d.value) : nil(); + const group = 'group' in d && d.group ? bin(d.group) : nil(); + return tuple(tup, id, key, value, group); +} function lenFeature() { return 5; } function decFeature(d) { - var r={}; r.tup = 'Feature'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.value = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.group = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'Feature'; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.value = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.group = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + return clean(r); +} function encProfile(d) { - var tup = atom('Profile'); - var phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - var services = []; if ('services' in d && d.services) - { d.services.forEach(function(x){ - services.push(encode(x))}); - services={t:108,v:services}; } else { services = nil() }; - var rosters = []; if ('rosters' in d && d.rosters) - { d.rosters.forEach(function(x){ - rosters.push(encode(x))}); - rosters={t:108,v:rosters}; } else { rosters = nil() }; - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var update = 'update' in d && d.update ? number(d.update) : nil(); - var balance = 'balance' in d && d.balance ? number(d.balance) : nil(); - var presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,phone,services,rosters,settings,update,balance,presence,status); } + const tup = atom('Profile'); + const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); + let services = []; if ('services' in d && d.services) { + d.services.forEach((x) => { + services.push(encode(x)); + }); + services = { t: 108, v: services }; + } else { services = nil(); } + let rosters = []; if ('rosters' in d && d.rosters) { + d.rosters.forEach((x) => { + rosters.push(encode(x)); + }); + rosters = { t: 108, v: rosters }; + } else { rosters = nil(); } + let settings = []; if ('settings' in d && d.settings) { + d.settings.forEach((x) => { + settings.push(encode(x)); + }); + settings = { t: 108, v: settings }; + } else { settings = nil(); } + const update = 'update' in d && d.update ? number(d.update) : nil(); + const balance = 'balance' in d && d.balance ? number(d.balance) : nil(); + const presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, phone, services, rosters, settings, update, balance, presence, status); +} function lenProfile() { return 9; } function decProfile(d) { - var r={}; r.tup = 'Profile'; - r.phone = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.services = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.services.push(decode(x))}) : - r.services = undefined; - r.rosters = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.rosters.push(decode(x))}) : - r.rosters = undefined; - r.settings = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach(function(x){r.settings.push(decode(x))}) : - r.settings = undefined; - r.update = d && d.v[5] ? d.v[5].v : undefined; - r.balance = d && d.v[6] ? d.v[6].v : undefined; - r.presence = d && d.v[7] ? d.v[7].v : undefined; - r.status = d && d.v[8] ? d.v[8].v : undefined; - return clean(r); } + const r = {}; r.tup = 'Profile'; + r.phone = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.services = []; + (d && d.v[2] && d.v[2].v) ? + d.v[2].v.forEach((x) => { r.services.push(decode(x)); }) : + r.services = undefined; + r.rosters = []; + (d && d.v[3] && d.v[3].v) ? + d.v[3].v.forEach((x) => { r.rosters.push(decode(x)); }) : + r.rosters = undefined; + r.settings = []; + (d && d.v[4] && d.v[4].v) ? + d.v[4].v.forEach((x) => { r.settings.push(decode(x)); }) : + r.settings = undefined; + r.update = d && d.v[5] ? d.v[5].v : undefined; + r.balance = d && d.v[6] ? d.v[6].v : undefined; + r.presence = d && d.v[7] ? d.v[7].v : undefined; + r.status = d && d.v[8] ? d.v[8].v : undefined; + return clean(r); +} function encLoc(d) { - var tup = atom('Loc'); - var x = 'x' in d && d.x ? bin(d.x) : nil(); - var y = 'y' in d && d.y ? bin(d.y) : nil(); - var z = 'z' in d && d.z ? bin(d.z) : nil(); - return tuple(tup,x,y,z); } + const tup = atom('Loc'); + const x = 'x' in d && d.x ? bin(d.x) : nil(); + const y = 'y' in d && d.y ? bin(d.y) : nil(); + const z = 'z' in d && d.z ? bin(d.z) : nil(); + return tuple(tup, x, y, z); +} function lenLoc() { return 4; } function decLoc(d) { - var r={}; r.tup = 'Loc'; - r.x = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.y = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.z = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'Loc'; + r.x = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.y = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.z = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + return clean(r); +} function encFriend(d) { - var tup = atom('Friend'); - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var friend_id = 'friend_id' in d && d.friend_id ? bin(d.friend_id) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,phone_id,friend_id,status); } + const tup = atom('Friend'); + const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); + const friend_id = 'friend_id' in d && d.friend_id ? bin(d.friend_id) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, phone_id, friend_id, status); +} function lenFriend() { return 4; } function decFriend(d) { - var r={}; r.tup = 'Friend'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.friend_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.status = d && d.v[3] ? decode(d.v[3]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Friend'; + r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.friend_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.status = d && d.v[3] ? decode(d.v[3]) : undefined; + return clean(r); +} function encIndex(d) { - var tup = atom('Index'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var roster = []; if ('roster' in d && d.roster) - { d.roster.forEach(function(x){ - roster.push(encode(x))}); - roster={t:108,v:roster}; } else { roster = nil() }; - return tuple(tup,id,roster); } + const tup = atom('Index'); + const id = 'id' in d && d.id ? encode(d.id) : nil(); + let roster = []; if ('roster' in d && d.roster) { + d.roster.forEach((x) => { + roster.push(encode(x)); + }); + roster = { t: 108, v: roster }; + } else { roster = nil(); } + return tuple(tup, id, roster); +} function lenIndex() { return 3; } function decIndex(d) { - var r={}; r.tup = 'Index'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.roster = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.roster.push(decode(x))}) : - r.roster = undefined; - return clean(r); } + const r = {}; r.tup = 'Index'; + r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; + r.roster = []; + (d && d.v[2] && d.v[2].v) ? + d.v[2].v.forEach((x) => { r.roster.push(decode(x)); }) : + r.roster = undefined; + return clean(r); +} function encTest(d) { - var tup = atom('Test'); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,type,count); } + const tup = atom('Test'); + const type = 'type' in d && d.type ? atom(d.type) : nil(); + const count = 'count' in d && d.count ? number(d.count) : nil(); + return tuple(tup, type, count); +} function lenTest() { return 3; } function decTest(d) { - var r={}; r.tup = 'Test'; - r.type = d && d.v[1] ? decode(d.v[1]) : undefined; - r.count = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } + const r = {}; r.tup = 'Test'; + r.type = d && d.v[1] ? decode(d.v[1]) : undefined; + r.count = d && d.v[2] ? d.v[2].v : undefined; + return clean(r); +} diff --git a/src/assets/vendor/utils/json-bert-test.js b/src/assets/vendor/utils/json-bert-test.js index cd30810dcbe0c648f5f0e8ec6e9aaf9ea93c5f26..64389f6e4ec77757acbe3b0cca017a47547d6597 100644 --- a/src/assets/vendor/utils/json-bert-test.js +++ b/src/assets/vendor/utils/json-bert-test.js @@ -1,28 +1,28 @@ function check() { - var res = true; - //@TODO: MORE TEST DATA - testData = [ - 1, - [1, 2, 3], - "string", - {tup: 'io', code: 'login', data: {tup: '$', 0: 'Auth', 1: 12}}, - {tup: 'io', code: 'login', data: {tup: 'Auth'}}, - {tup: 'io', code: 'login', data: {tup: '$', 0: 'пизда', 1: 12}}, - {tup: 'Roster', userlist: [{tup: 'Contact'}], status: 'get'}, - {tup: 'p2p', from: 'хуй', to: 'пизда'}, - {tup: 'Profile', accounts: [1], status: 'maxim'} - ]; - testData.forEach(function (o) { - var o = JSON.stringify(o); - var d = JSON.stringify(decode(dec(enc(encode(o)).buffer))).replace(/\\/g, ''); + let res = true; + // @TODO: MORE TEST DATA + testData = [ + 1, + [1, 2, 3], + 'string', + { tup: 'io', code: 'login', data: { tup: '$', 0: 'Auth', 1: 12 } }, + { tup: 'io', code: 'login', data: { tup: 'Auth' } }, + { tup: 'io', code: 'login', data: { tup: '$', 0: 'пизда', 1: 12 } }, + { tup: 'Roster', userlist: [{ tup: 'Contact' }], status: 'get' }, + { tup: 'p2p', from: 'хуй', to: 'пизда' }, + { tup: 'Profile', accounts: [1], status: 'maxim' } + ]; + testData.forEach((o) => { + var o = JSON.stringify(o); + const d = JSON.stringify(decode(dec(enc(encode(o)).buffer))).replace(/\\/g, ''); - if (JSON.stringify(o) != JSON.stringify(decode(dec(enc(encode(o)).buffer)))) { - console.log("Original: " + o + " <=> Decode: " + d + " %c [Error]", "color: red"); - res = false; - } else { - console.log("Data: " + o + " %c [OK]", "color: green"); - } - }); + if (JSON.stringify(o) != JSON.stringify(decode(dec(enc(encode(o)).buffer)))) { + console.log(`Original: ${o} <=> Decode: ${d} %c [Error]`, 'color: red'); + res = false; + } else { + console.log(`Data: ${o} %c [OK]`, 'color: green'); + } + }); - return res; + return res; } diff --git a/src/assets/vendor/utils/json-bert.js b/src/assets/vendor/utils/json-bert.js index 14edf5e13f1b37438c1875362777a8cd1ac75163..158a1325fa141718c9609fc5bbfb09fc8a88f837 100644 --- a/src/assets/vendor/utils/json-bert.js +++ b/src/assets/vendor/utils/json-bert.js @@ -1,1521 +1,1749 @@ -function clean(r) { for(var k in r) if(!r[k]) delete r[k]; return r; } -function check_len(x) { try { return (eval('len'+utf8_dec(x.v[0].v))() == x.v.length) ? true : false } - catch (e) { return false; } } - -function scalar(data) { - var res = undefined; - switch (typeof data) { - case 'string': res = bin(data); break; case 'number': res = number(data); break; - default: console.log('Strange data: ' + data); } - return res; }; -function nil() { return {t: 106, v: undefined}; }; +function clean(r) { for (const k in r) if (!r[k]) delete r[k]; return r; } +function check_len(x) { + try { return (eval(`len${utf8_dec(x.v[0].v)}`)() == x.v.length); } catch (e) { return false; } +} + +function scalar(data) { + let res; + switch (typeof data) { + case 'string': res = bin(data); break; case 'number': res = number(data); break; + default: console.log(`Strange data: ${data}`); + } + return res; +} +function nil() { return { t: 106, v: undefined }; } function decode(x) { - if (x == undefined) { - return []; - } else if (x.t == 108) { - var r = []; x.v.forEach(function(y) { r.push(decode(y)) }); return r; - } else if (x.t == 109) { - return utf8_dec(x.v); - } else if (x.t == 104 && check_len(x)) { - return eval('dec'+x.v[0].v)(x); - } else if (x.t == 104) { - var r=[]; x.v.forEach(function(a){r.push(decode(a))}); - return Object.assign({tup:'$'}, r); - } else return x.v; + if (x == undefined) { + return []; + } else if (x.t == 108) { + var r = []; x.v.forEach((y) => { r.push(decode(y)); }); return r; + } else if (x.t == 109) { + return utf8_dec(x.v); + } else if (x.t == 104 && check_len(x)) { + return eval(`dec${x.v[0].v}`)(x); + } else if (x.t == 104) { + var r = []; x.v.forEach((a) => { r.push(decode(a)); }); + return Object.assign({ tup: '$' }, r); + } return x.v; } function encode(x) { - if (Array.isArray(x)) { - var r = []; x.forEach(function(y) { r.push(encode(y)) }); return {t:108,v:r}; - } else if (typeof x == 'object') { - switch (x.tup) { - case '$': delete x['tup']; var r=[]; - Object.keys(x).map(function(p){return x[p];}).forEach(function(a){r.push(encode(a))}); - return {t:104, v:r}; - default: return eval('enc'+x.tup)(x); } - } else return scalar(x); + if (Array.isArray(x)) { + var r = []; x.forEach((y) => { r.push(encode(y)); }); return { t: 108, v: r }; + } else if (typeof x === 'object') { + switch (x.tup) { + case '$': delete x.tup; var r = []; + Object.keys(x).map(p => x[p]).forEach((a) => { r.push(encode(a)); }); + return { t: 104, v: r }; + default: return eval(`enc${x.tup}`)(x); + } + } else return scalar(x); } function encwriter(d) { - var tup = atom('writer'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - var cache = 'cache' in d && d.cache ? encode(d.cache) : nil(); - var args = 'args' in d && d.args ? encode(d.args) : nil(); - var first = 'first' in d && d.first ? encode(d.first) : nil(); - return tuple(tup,id,count,cache,args,first); } + const tup = atom('writer'); + const id = 'id' in d && d.id ? encode(d.id) : nil(); + const count = 'count' in d && d.count ? number(d.count) : nil(); + const cache = 'cache' in d && d.cache ? encode(d.cache) : nil(); + const args = 'args' in d && d.args ? encode(d.args) : nil(); + const first = 'first' in d && d.first ? encode(d.first) : nil(); + return tuple(tup, id, count, cache, args, first); +} function lenwriter() { return 6; } function decwriter(d) { - var r={}; r.tup = 'writer'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.count = d && d.v[2] ? d.v[2].v : undefined; - r.cache = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; - r.first = d && d.v[5] ? decode(d.v[5].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'writer'; + r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; + r.count = d && d.v[2] ? d.v[2].v : undefined; + r.cache = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; + r.first = d && d.v[5] ? decode(d.v[5].v) : undefined; + return clean(r); +} function encreader(d) { - var tup = atom('reader'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var pos = 'pos' in d && d.pos ? number(d.pos) : nil(); - var cache = 'cache' in d && d.cache ? number(d.cache) : nil(); - var args = 'args' in d && d.args ? encode(d.args) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); - return tuple(tup,id,pos,cache,args,feed,dir); } + const tup = atom('reader'); + const id = 'id' in d && d.id ? encode(d.id) : nil(); + const pos = 'pos' in d && d.pos ? number(d.pos) : nil(); + const cache = 'cache' in d && d.cache ? number(d.cache) : nil(); + const args = 'args' in d && d.args ? encode(d.args) : nil(); + const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); + const dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); + return tuple(tup, id, pos, cache, args, feed, dir); +} function lenreader() { return 7; } function decreader(d) { - var r={}; r.tup = 'reader'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.pos = d && d.v[2] ? d.v[2].v : undefined; - r.cache = d && d.v[3] ? d.v[3].v : undefined; - r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; - r.feed = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.dir = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } + const r = {}; r.tup = 'reader'; + r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; + r.pos = d && d.v[2] ? d.v[2].v : undefined; + r.cache = d && d.v[3] ? d.v[3].v : undefined; + r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; + r.feed = d && d.v[5] ? decode(d.v[5].v) : undefined; + r.dir = d && d.v[6] ? decode(d.v[6]) : undefined; + return clean(r); +} function enccur(d) { - var tup = atom('cur'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var bot = 'bot' in d && d.bot ? number(d.bot) : nil(); - var dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); - var reader = 'reader' in d && d.reader ? encode(d.reader) : nil(); - var writer = 'writer' in d && d.writer ? encode(d.writer) : nil(); - var args = []; if ('args' in d && d.args) - { d.args.forEach(function(x){ - args.push(encode(x))}); - args={t:108,v:args}; } else { args = nil() }; - return tuple(tup,id,top,bot,dir,reader,writer,args); } + const tup = atom('cur'); + const id = 'id' in d && d.id ? encode(d.id) : nil(); + const top = 'top' in d && d.top ? number(d.top) : nil(); + const bot = 'bot' in d && d.bot ? number(d.bot) : nil(); + const dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); + const reader = 'reader' in d && d.reader ? encode(d.reader) : nil(); + const writer = 'writer' in d && d.writer ? encode(d.writer) : nil(); + let args = []; if ('args' in d && d.args) { + d.args.forEach((x) => { + args.push(encode(x)); + }); + args = { t: 108, v: args }; + } else { args = nil(); } + return tuple(tup, id, top, bot, dir, reader, writer, args); +} function lencur() { return 8; } function deccur(d) { - var r={}; r.tup = 'cur'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.bot = d && d.v[3] ? d.v[3].v : undefined; - r.dir = d && d.v[4] ? decode(d.v[4]) : undefined; - r.reader = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.writer = d && d.v[6] ? decode(d.v[6].v) : undefined; - r.args = []; + const r = {}; r.tup = 'cur'; + r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; + r.top = d && d.v[2] ? d.v[2].v : undefined; + r.bot = d && d.v[3] ? d.v[3].v : undefined; + r.dir = d && d.v[4] ? decode(d.v[4]) : undefined; + r.reader = d && d.v[5] ? decode(d.v[5].v) : undefined; + r.writer = d && d.v[6] ? decode(d.v[6].v) : undefined; + r.args = []; (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach(function(x){r.args.push(decode(x))}) : + d.v[7].v.forEach((x) => { r.args.push(decode(x)); }) : r.args = undefined; - return clean(r); } + return clean(r); +} function enciter(d) { - var tup = atom('iter'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - return tuple(tup,id,container,feed,next,prev); } + const tup = atom('iter'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + return tuple(tup, id, container, feed, next, prev); +} function leniter() { return 6; } function deciter(d) { - var r={}; r.tup = 'iter'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.next = d && d.v[4] ? d.v[4].v : undefined; - r.prev = d && d.v[5] ? d.v[5].v : undefined; - return clean(r); } + const r = {}; r.tup = 'iter'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.next = d && d.v[4] ? d.v[4].v : undefined; + r.prev = d && d.v[5] ? d.v[5].v : undefined; + return clean(r); +} function enccontainer(d) { - var tup = atom('container'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,id,top,rear,count); } + const tup = atom('container'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const top = 'top' in d && d.top ? number(d.top) : nil(); + const rear = 'rear' in d && d.rear ? number(d.rear) : nil(); + const count = 'count' in d && d.count ? number(d.count) : nil(); + return tuple(tup, id, top, rear, count); +} function lencontainer() { return 5; } function deccontainer(d) { - var r={}; r.tup = 'container'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); } + const r = {}; r.tup = 'container'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.top = d && d.v[2] ? d.v[2].v : undefined; + r.rear = d && d.v[3] ? d.v[3].v : undefined; + r.count = d && d.v[4] ? d.v[4].v : undefined; + return clean(r); +} function enciterator(d) { - var tup = atom('iterator'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - return tuple(tup,id,container,feed_id,prev,next,feeds); } + const tup = atom('iterator'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + let feeds = []; if ('feeds' in d && d.feeds) { + d.feeds.forEach((x) => { + feeds.push(encode(x)); + }); + feeds = { t: 108, v: feeds }; + } else { feeds = nil(); } + return tuple(tup, id, container, feed_id, prev, next, feeds); +} function leniterator() { return 7; } function deciterator(d) { - var r={}; r.tup = 'iterator'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; + const r = {}; r.tup = 'iterator'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.feeds = []; (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : + d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : r.feeds = undefined; - return clean(r); } + return clean(r); +} function enclog(d) { - var tup = atom('log'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,id,top,rear,count); } + const tup = atom('log'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const top = 'top' in d && d.top ? number(d.top) : nil(); + const rear = 'rear' in d && d.rear ? number(d.rear) : nil(); + const count = 'count' in d && d.count ? number(d.count) : nil(); + return tuple(tup, id, top, rear, count); +} function lenlog() { return 5; } function declog(d) { - var r={}; r.tup = 'log'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); } + const r = {}; r.tup = 'log'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.top = d && d.v[2] ? d.v[2].v : undefined; + r.rear = d && d.v[3] ? d.v[3].v : undefined; + r.count = d && d.v[4] ? d.v[4].v : undefined; + return clean(r); +} function encoperation(d) { - var tup = atom('operation'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - return tuple(tup,id,container,feed_id,prev,next,feeds); } + const tup = atom('operation'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + let feeds = []; if ('feeds' in d && d.feeds) { + d.feeds.forEach((x) => { + feeds.push(encode(x)); + }); + feeds = { t: 108, v: feeds }; + } else { feeds = nil(); } + return tuple(tup, id, container, feed_id, prev, next, feeds); +} function lenoperation() { return 7; } function decoperation(d) { - var r={}; r.tup = 'operation'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; + const r = {}; r.tup = 'operation'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.feeds = []; (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : + d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : r.feeds = undefined; - return clean(r); } + return clean(r); +} function encchain(d) { - var tup = atom('chain'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,id,top,rear,count); } + const tup = atom('chain'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const top = 'top' in d && d.top ? number(d.top) : nil(); + const rear = 'rear' in d && d.rear ? number(d.rear) : nil(); + const count = 'count' in d && d.count ? number(d.count) : nil(); + return tuple(tup, id, top, rear, count); +} function lenchain() { return 5; } function decchain(d) { - var r={}; r.tup = 'chain'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); } + const r = {}; r.tup = 'chain'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.top = d && d.v[2] ? d.v[2].v : undefined; + r.rear = d && d.v[3] ? d.v[3].v : undefined; + r.count = d && d.v[4] ? d.v[4].v : undefined; + return clean(r); +} function encpush(d) { - var tup = atom('push'); - var model = 'model' in d && d.model ? bin(d.model) : nil(); - var type = 'type' in d && d.type ? bin(d.type) : nil(); - var title = 'title' in d && d.title ? bin(d.title) : nil(); - var alert = 'alert' in d && d.alert ? bin(d.alert) : nil(); - var badge = 'badge' in d && d.badge ? number(d.badge) : nil(); - var sound = 'sound' in d && d.sound ? bin(d.sound) : nil(); - return tuple(tup,model,type,title,alert,badge,sound); } + const tup = atom('push'); + const model = 'model' in d && d.model ? bin(d.model) : nil(); + const type = 'type' in d && d.type ? bin(d.type) : nil(); + const title = 'title' in d && d.title ? bin(d.title) : nil(); + const alert = 'alert' in d && d.alert ? bin(d.alert) : nil(); + const badge = 'badge' in d && d.badge ? number(d.badge) : nil(); + const sound = 'sound' in d && d.sound ? bin(d.sound) : nil(); + return tuple(tup, model, type, title, alert, badge, sound); +} function lenpush() { return 7; } function decpush(d) { - var r={}; r.tup = 'push'; - r.model = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.type = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.title = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.alert = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.badge = d && d.v[5] ? d.v[5].v : undefined; - r.sound = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'push'; + r.model = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.type = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.title = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.alert = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.badge = d && d.v[5] ? d.v[5].v : undefined; + r.sound = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + return clean(r); +} function encSearch(d) { - var tup = atom('Search'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var ref = 'ref' in d && d.ref ? bin(d.ref) : nil(); - var field = 'field' in d && d.field ? bin(d.field) : nil(); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var value = 'value' in d && d.value ? encode(d.value) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,ref,field,type,value,status); } + const tup = atom('Search'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const ref = 'ref' in d && d.ref ? bin(d.ref) : nil(); + const field = 'field' in d && d.field ? bin(d.field) : nil(); + const type = 'type' in d && d.type ? atom(d.type) : nil(); + const value = 'value' in d && d.value ? encode(d.value) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, id, ref, field, type, value, status); +} function lenSearch() { return 7; } function decSearch(d) { - var r={}; r.tup = 'Search'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.ref = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.field = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.type = d && d.v[4] ? decode(d.v[4]) : undefined; - r.value = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Search'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.ref = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.field = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.type = d && d.v[4] ? decode(d.v[4]) : undefined; + r.value = d && d.v[5] ? decode(d.v[5].v) : undefined; + r.status = d && d.v[6] ? decode(d.v[6]) : undefined; + return clean(r); +} function encp2p(d) { - var tup = atom('p2p'); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var to = 'to' in d && d.to ? bin(d.to) : nil(); - return tuple(tup,from,to); } + const tup = atom('p2p'); + const from = 'from' in d && d.from ? bin(d.from) : nil(); + const to = 'to' in d && d.to ? bin(d.to) : nil(); + return tuple(tup, from, to); +} function lenp2p() { return 3; } function decp2p(d) { - var r={}; r.tup = 'p2p'; - r.from = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.to = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'p2p'; + r.from = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.to = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + return clean(r); +} function encmuc(d) { - var tup = atom('muc'); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - return tuple(tup,name); } + const tup = atom('muc'); + const name = 'name' in d && d.name ? bin(d.name) : nil(); + return tuple(tup, name); +} function lenmuc() { return 2; } function decmuc(d) { - var r={}; r.tup = 'muc'; - r.name = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'muc'; + r.name = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + return clean(r); +} function encCDR(d) { - var tup = atom('CDR'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var to = 'to' in d && d.to ? bin(d.to) : nil(); - var start = 'start' in d && d.start ? number(d.start) : nil(); - var stop = 'stop' in d && d.stop ? number(d.stop) : nil(); - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); - var bill = 'bill' in d && d.bill ? number(d.bill) : nil(); - var tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); - return tuple(tup,id,container,feed,next,prev,from,to,start,stop,type, - desc,bill,tariff); } + const tup = atom('CDR'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const from = 'from' in d && d.from ? bin(d.from) : nil(); + const to = 'to' in d && d.to ? bin(d.to) : nil(); + const start = 'start' in d && d.start ? number(d.start) : nil(); + const stop = 'stop' in d && d.stop ? number(d.stop) : nil(); + const type = 'type' in d && d.type ? encode(d.type) : nil(); + const desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); + const bill = 'bill' in d && d.bill ? number(d.bill) : nil(); + const tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); + return tuple( + tup, id, container, feed, next, prev, from, to, start, stop, type, + desc, bill, tariff + ); +} function lenCDR() { return 14; } function decCDR(d) { - var r={}; r.tup = 'CDR'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.next = d && d.v[4] ? d.v[4].v : undefined; - r.prev = d && d.v[5] ? d.v[5].v : undefined; - r.from = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.to = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.start = d && d.v[8] ? d.v[8].v : undefined; - r.stop = d && d.v[9] ? d.v[9].v : undefined; - r.type = d && d.v[10] ? decode(d.v[10]) : undefined; - r.desc = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.bill = d && d.v[12] ? d.v[12].v : undefined; - r.tariff = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'CDR'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.next = d && d.v[4] ? d.v[4].v : undefined; + r.prev = d && d.v[5] ? d.v[5].v : undefined; + r.from = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.to = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.start = d && d.v[8] ? d.v[8].v : undefined; + r.stop = d && d.v[9] ? d.v[9].v : undefined; + r.type = d && d.v[10] ? decode(d.v[10]) : undefined; + r.desc = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; + r.bill = d && d.v[12] ? d.v[12].v : undefined; + r.tariff = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; + return clean(r); +} function encFeature(d) { - var tup = atom('Feature'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var key = 'key' in d && d.key ? bin(d.key) : nil(); - var value = 'value' in d && d.value ? bin(d.value) : nil(); - var group = 'group' in d && d.group ? bin(d.group) : nil(); - return tuple(tup,id,key,value,group); } + const tup = atom('Feature'); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + const key = 'key' in d && d.key ? bin(d.key) : nil(); + const value = 'value' in d && d.value ? bin(d.value) : nil(); + const group = 'group' in d && d.group ? bin(d.group) : nil(); + return tuple(tup, id, key, value, group); +} function lenFeature() { return 5; } function decFeature(d) { - var r={}; r.tup = 'Feature'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.value = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.group = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'Feature'; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.value = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.group = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + return clean(r); +} function encMember(d) { - var tup = atom('Member'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? encode(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - var names = 'names' in d && d.names ? bin(d.names) : nil(); - var surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - var alias = 'alias' in d && d.alias ? bin(d.alias) : nil(); - var email = 'email' in d && d.email ? bin(d.email) : nil(); - var vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); - var reader = 'reader' in d && d.reader ? number(d.reader) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,container,feed_id,prev,next,feeds,phone_id,avatar,names,surnames, - alias,email,vox_id,reader,update,settings,presence,status); } + const tup = atom('Member'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? encode(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + let feeds = []; if ('feeds' in d && d.feeds) { + d.feeds.forEach((x) => { + feeds.push(encode(x)); + }); + feeds = { t: 108, v: feeds }; + } else { feeds = nil(); } + const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); + const avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); + const names = 'names' in d && d.names ? bin(d.names) : nil(); + const surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); + const alias = 'alias' in d && d.alias ? bin(d.alias) : nil(); + const email = 'email' in d && d.email ? bin(d.email) : nil(); + const vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); + const reader = 'reader' in d && d.reader ? number(d.reader) : nil(); + const update = 'update' in d && d.update ? number(d.update) : nil(); + let settings = []; if ('settings' in d && d.settings) { + d.settings.forEach((x) => { + settings.push(encode(x)); + }); + settings = { t: 108, v: settings }; + } else { settings = nil(); } + const presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, id, container, feed_id, prev, next, feeds, phone_id, avatar, names, surnames, + alias, email, vox_id, reader, update, settings, presence, status + ); +} function lenMember() { return 19; } function decMember(d) { - var r={}; r.tup = 'Member'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; + const r = {}; r.tup = 'Member'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? decode(d.v[2]) : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.feeds = []; (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : + d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : r.feeds = undefined; - r.phone_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.avatar = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; - r.names = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; - r.surnames = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.alias = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.email = d && d.v[12] ? utf8_dec(d.v[12].v) : undefined; - r.vox_id = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; - r.reader = d && d.v[14] ? d.v[14].v : undefined; - r.update = d && d.v[15] ? d.v[15].v : undefined; - r.settings = []; + r.phone_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.avatar = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; + r.names = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; + r.surnames = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; + r.alias = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; + r.email = d && d.v[12] ? utf8_dec(d.v[12].v) : undefined; + r.vox_id = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; + r.reader = d && d.v[14] ? d.v[14].v : undefined; + r.update = d && d.v[15] ? d.v[15].v : undefined; + r.settings = []; (d && d.v[16] && d.v[16].v) ? - d.v[16].v.forEach(function(x){r.settings.push(decode(x))}) : + d.v[16].v.forEach((x) => { r.settings.push(decode(x)); }) : r.settings = undefined; - r.presence = d && d.v[17] ? decode(d.v[17]) : undefined; - r.status = d && d.v[18] ? decode(d.v[18]) : undefined; - return clean(r); } + r.presence = d && d.v[17] ? decode(d.v[17]) : undefined; + r.status = d && d.v[18] ? decode(d.v[18]) : undefined; + return clean(r); +} function encPerson(d) { - var tup = atom('Person'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var phonelist = []; if ('phonelist' in d && d.phonelist) - { d.phonelist.forEach(function(x){ - phonelist.push(encode(x))}); - phonelist={t:108,v:phonelist}; } else { phonelist = nil() }; - var alias = []; if ('alias' in d && d.alias) - { d.alias.forEach(function(x){ - alias.push(encode(x))}); - alias={t:108,v:alias}; } else { alias = nil() }; - var localize = []; if ('localize' in d && d.localize) - { d.localize.forEach(function(x){ - localize.push(encode(x))}); - localize={t:108,v:localize}; } else { localize = nil() }; - var NotificationSettings = []; if ('NotificationSettings' in d && d.NotificationSettings) - { d.NotificationSettings.forEach(function(x){ - NotificationSettings.push(encode(x))}); - NotificationSettings={t:108,v:NotificationSettings}; } else { NotificationSettings = nil() }; - var SoundSettings = []; if ('SoundSettings' in d && d.SoundSettings) - { d.SoundSettings.forEach(function(x){ - SoundSettings.push(encode(x))}); - SoundSettings={t:108,v:SoundSettings}; } else { SoundSettings = nil() }; - var ThemeID = 'ThemeID' in d && d.ThemeID ? bin(d.ThemeID) : nil(); - var BlockUsers = []; if ('BlockUsers' in d && d.BlockUsers) - { d.BlockUsers.forEach(function(x){ - BlockUsers.push(encode(x))}); - BlockUsers={t:108,v:BlockUsers}; } else { BlockUsers = nil() }; - var balance = 'balance' in d && d.balance ? number(d.balance) : nil(); - var isParticipants = []; if ('isParticipants' in d && d.isParticipants) - { d.isParticipants.forEach(function(x){ - isParticipants.push(encode(x))}); - isParticipants={t:108,v:isParticipants}; } else { isParticipants = nil() }; - var status = 'status' in d && d.status ? encode(d.status) : nil(); - return tuple(tup,id,phonelist,alias,localize,NotificationSettings,SoundSettings,ThemeID,BlockUsers,balance,isParticipants,status); } + const tup = atom('Person'); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + let phonelist = []; if ('phonelist' in d && d.phonelist) { + d.phonelist.forEach((x) => { + phonelist.push(encode(x)); + }); + phonelist = { t: 108, v: phonelist }; + } else { phonelist = nil(); } + let alias = []; if ('alias' in d && d.alias) { + d.alias.forEach((x) => { + alias.push(encode(x)); + }); + alias = { t: 108, v: alias }; + } else { alias = nil(); } + let localize = []; if ('localize' in d && d.localize) { + d.localize.forEach((x) => { + localize.push(encode(x)); + }); + localize = { t: 108, v: localize }; + } else { localize = nil(); } + let NotificationSettings = []; if ('NotificationSettings' in d && d.NotificationSettings) { + d.NotificationSettings.forEach((x) => { + NotificationSettings.push(encode(x)); + }); + NotificationSettings = { t: 108, v: NotificationSettings }; + } else { NotificationSettings = nil(); } + let SoundSettings = []; if ('SoundSettings' in d && d.SoundSettings) { + d.SoundSettings.forEach((x) => { + SoundSettings.push(encode(x)); + }); + SoundSettings = { t: 108, v: SoundSettings }; + } else { SoundSettings = nil(); } + const ThemeID = 'ThemeID' in d && d.ThemeID ? bin(d.ThemeID) : nil(); + let BlockUsers = []; if ('BlockUsers' in d && d.BlockUsers) { + d.BlockUsers.forEach((x) => { + BlockUsers.push(encode(x)); + }); + BlockUsers = { t: 108, v: BlockUsers }; + } else { BlockUsers = nil(); } + const balance = 'balance' in d && d.balance ? number(d.balance) : nil(); + let isParticipants = []; if ('isParticipants' in d && d.isParticipants) { + d.isParticipants.forEach((x) => { + isParticipants.push(encode(x)); + }); + isParticipants = { t: 108, v: isParticipants }; + } else { isParticipants = nil(); } + const status = 'status' in d && d.status ? encode(d.status) : nil(); + return tuple(tup, id, phonelist, alias, localize, NotificationSettings, SoundSettings, ThemeID, BlockUsers, balance, isParticipants, status); +} function lenPerson() { return 12; } function decPerson(d) { - var r={}; r.tup = 'Person'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.phonelist = []; + const r = {}; r.tup = 'Person'; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.phonelist = []; (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.phonelist.push(decode(x))}) : + d.v[2].v.forEach((x) => { r.phonelist.push(decode(x)); }) : r.phonelist = undefined; - r.alias = []; + r.alias = []; (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.alias.push(decode(x))}) : + d.v[3].v.forEach((x) => { r.alias.push(decode(x)); }) : r.alias = undefined; - r.localize = []; + r.localize = []; (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach(function(x){r.localize.push(decode(x))}) : + d.v[4].v.forEach((x) => { r.localize.push(decode(x)); }) : r.localize = undefined; - r.NotificationSettings = []; + r.NotificationSettings = []; (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.NotificationSettings.push(decode(x))}) : + d.v[5].v.forEach((x) => { r.NotificationSettings.push(decode(x)); }) : r.NotificationSettings = undefined; - r.SoundSettings = []; + r.SoundSettings = []; (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.SoundSettings.push(decode(x))}) : + d.v[6].v.forEach((x) => { r.SoundSettings.push(decode(x)); }) : r.SoundSettings = undefined; - r.ThemeID = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.BlockUsers = []; + r.ThemeID = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.BlockUsers = []; (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach(function(x){r.BlockUsers.push(decode(x))}) : + d.v[8].v.forEach((x) => { r.BlockUsers.push(decode(x)); }) : r.BlockUsers = undefined; - r.balance = d && d.v[9] ? d.v[9].v : undefined; - r.isParticipants = []; + r.balance = d && d.v[9] ? d.v[9].v : undefined; + r.isParticipants = []; (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach(function(x){r.isParticipants.push(decode(x))}) : + d.v[10].v.forEach((x) => { r.isParticipants.push(decode(x)); }) : r.isParticipants = undefined; - r.status = d && d.v[11] ? decode(d.v[11]) : undefined; - return clean(r); } + r.status = d && d.v[11] ? decode(d.v[11]) : undefined; + return clean(r); +} function encDesc(d) { - var tup = atom('Desc'); - var mime = 'mime' in d && d.mime ? bin(d.mime) : nil(); - var payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - var size = 'size' in d && d.size ? number(d.size) : nil(); - var filename = 'filename' in d && d.filename ? bin(d.filename) : nil(); - var info = 'info' in d && d.info ? bin(d.info) : nil(); - return tuple(tup,mime,payload,size,filename,info); } + const tup = atom('Desc'); + const mime = 'mime' in d && d.mime ? bin(d.mime) : nil(); + const payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); + const size = 'size' in d && d.size ? number(d.size) : nil(); + const filename = 'filename' in d && d.filename ? bin(d.filename) : nil(); + const info = 'info' in d && d.info ? bin(d.info) : nil(); + return tuple(tup, mime, payload, size, filename, info); +} function lenDesc() { return 6; } function decDesc(d) { - var r={}; r.tup = 'Desc'; - r.mime = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.size = d && d.v[3] ? d.v[3].v : undefined; - r.filename = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.info = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'Desc'; + r.mime = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.size = d && d.v[3] ? d.v[3].v : undefined; + r.filename = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.info = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + return clean(r); +} function encMessage(d) { - var tup = atom('Message'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? encode(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var msg_id = 'msg_id' in d && d.msg_id ? bin(d.msg_id) : nil(); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var to = 'to' in d && d.to ? bin(d.to) : nil(); - var created = 'created' in d && d.created ? encode(d.created) : nil(); - var files = []; if ('files' in d && d.files) - { d.files.forEach(function(x){ - files.push(encode(x))}); - files={t:108,v:files}; } else { files = nil() }; - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var edit_msg = 'edit_msg' in d && d.edit_msg ? number(d.edit_msg) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,container,feed_id,prev,next,msg_id,from,to,created,files, - type,edit_msg,status); } + const tup = atom('Message'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? encode(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + const msg_id = 'msg_id' in d && d.msg_id ? bin(d.msg_id) : nil(); + const from = 'from' in d && d.from ? bin(d.from) : nil(); + const to = 'to' in d && d.to ? bin(d.to) : nil(); + const created = 'created' in d && d.created ? encode(d.created) : nil(); + let files = []; if ('files' in d && d.files) { + d.files.forEach((x) => { + files.push(encode(x)); + }); + files = { t: 108, v: files }; + } else { files = nil(); } + const type = 'type' in d && d.type ? encode(d.type) : nil(); + const edit_msg = 'edit_msg' in d && d.edit_msg ? number(d.edit_msg) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, id, container, feed_id, prev, next, msg_id, from, to, created, files, + type, edit_msg, status + ); +} function lenMessage() { return 14; } function decMessage(d) { - var r={}; r.tup = 'Message'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.msg_id = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.from = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.to = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; - r.created = d && d.v[9] ? decode(d.v[9]) : undefined; - r.files = []; + const r = {}; r.tup = 'Message'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? decode(d.v[2]) : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.msg_id = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.from = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.to = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; + r.created = d && d.v[9] ? decode(d.v[9]) : undefined; + r.files = []; (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach(function(x){r.files.push(decode(x))}) : + d.v[10].v.forEach((x) => { r.files.push(decode(x)); }) : r.files = undefined; - r.type = d && d.v[11] ? decode(d.v[11]) : undefined; - r.edit_msg = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); } + r.type = d && d.v[11] ? decode(d.v[11]) : undefined; + r.edit_msg = d && d.v[12] ? d.v[12].v : undefined; + r.status = d && d.v[13] ? decode(d.v[13]) : undefined; + return clean(r); +} function encRoom(d) { - var tup = atom('Room'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var description = 'description' in d && d.description ? bin(d.description) : nil(); - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var members = []; if ('members' in d && d.members) - { d.members.forEach(function(x){ - members.push(encode(x))}); - members={t:108,v:members}; } else { members = nil() }; - var admins = []; if ('admins' in d && d.admins) - { d.admins.forEach(function(x){ - admins.push(encode(x))}); - admins={t:108,v:admins}; } else { admins = nil() }; - var data = []; if ('data' in d && d.data) - { d.data.forEach(function(x){ - data.push(encode(x))}); - data={t:108,v:data}; } else { data = nil() }; - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var tos = 'tos' in d && d.tos ? bin(d.tos) : nil(); - var tos_update = 'tos_update' in d && d.tos_update ? number(d.tos_update) : nil(); - var unread = 'unread' in d && d.unread ? number(d.unread) : nil(); - var last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var created = 'created' in d && d.created ? number(d.created) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,name,description,settings,members,admins,data,type,tos,tos_update, - unread,last_msg,update,created,status); } + const tup = atom('Room'); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + const name = 'name' in d && d.name ? bin(d.name) : nil(); + const description = 'description' in d && d.description ? bin(d.description) : nil(); + let settings = []; if ('settings' in d && d.settings) { + d.settings.forEach((x) => { + settings.push(encode(x)); + }); + settings = { t: 108, v: settings }; + } else { settings = nil(); } + let members = []; if ('members' in d && d.members) { + d.members.forEach((x) => { + members.push(encode(x)); + }); + members = { t: 108, v: members }; + } else { members = nil(); } + let admins = []; if ('admins' in d && d.admins) { + d.admins.forEach((x) => { + admins.push(encode(x)); + }); + admins = { t: 108, v: admins }; + } else { admins = nil(); } + let data = []; if ('data' in d && d.data) { + d.data.forEach((x) => { + data.push(encode(x)); + }); + data = { t: 108, v: data }; + } else { data = nil(); } + const type = 'type' in d && d.type ? encode(d.type) : nil(); + const tos = 'tos' in d && d.tos ? bin(d.tos) : nil(); + const tos_update = 'tos_update' in d && d.tos_update ? number(d.tos_update) : nil(); + const unread = 'unread' in d && d.unread ? number(d.unread) : nil(); + const last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); + const update = 'update' in d && d.update ? number(d.update) : nil(); + const created = 'created' in d && d.created ? number(d.created) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, id, name, description, settings, members, admins, data, type, tos, tos_update, + unread, last_msg, update, created, status + ); +} function lenRoom() { return 16; } function decRoom(d) { - var r={}; r.tup = 'Room'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.description = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.settings = []; + const r = {}; r.tup = 'Room'; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.description = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.settings = []; (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach(function(x){r.settings.push(decode(x))}) : + d.v[4].v.forEach((x) => { r.settings.push(decode(x)); }) : r.settings = undefined; - r.members = []; + r.members = []; (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.members.push(decode(x))}) : + d.v[5].v.forEach((x) => { r.members.push(decode(x)); }) : r.members = undefined; - r.admins = []; + r.admins = []; (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.admins.push(decode(x))}) : + d.v[6].v.forEach((x) => { r.admins.push(decode(x)); }) : r.admins = undefined; - r.data = []; + r.data = []; (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach(function(x){r.data.push(decode(x))}) : + d.v[7].v.forEach((x) => { r.data.push(decode(x)); }) : r.data = undefined; - r.type = d && d.v[8] ? decode(d.v[8]) : undefined; - r.tos = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; - r.tos_update = d && d.v[10] ? d.v[10].v : undefined; - r.unread = d && d.v[11] ? d.v[11].v : undefined; - r.last_msg = d && d.v[12] ? decode(d.v[12]) : undefined; - r.update = d && d.v[13] ? d.v[13].v : undefined; - r.created = d && d.v[14] ? d.v[14].v : undefined; - r.status = d && d.v[15] ? decode(d.v[15]) : undefined; - return clean(r); } + r.type = d && d.v[8] ? decode(d.v[8]) : undefined; + r.tos = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; + r.tos_update = d && d.v[10] ? d.v[10].v : undefined; + r.unread = d && d.v[11] ? d.v[11].v : undefined; + r.last_msg = d && d.v[12] ? decode(d.v[12]) : undefined; + r.update = d && d.v[13] ? d.v[13].v : undefined; + r.created = d && d.v[14] ? d.v[14].v : undefined; + r.status = d && d.v[15] ? decode(d.v[15]) : undefined; + return clean(r); +} function encTag(d) { - var tup = atom('Tag'); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var color = 'color' in d && d.color ? bin(d.color) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,roster_id,name,color,status); } + const tup = atom('Tag'); + const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); + const name = 'name' in d && d.name ? bin(d.name) : nil(); + const color = 'color' in d && d.color ? bin(d.color) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, roster_id, name, color, status); +} function lenTag() { return 5; } function decTag(d) { - var r={}; r.tup = 'Tag'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.color = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.status = d && d.v[4] ? decode(d.v[4]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Tag'; + r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.color = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.status = d && d.v[4] ? decode(d.v[4]) : undefined; + return clean(r); +} function encStar(d) { - var tup = atom('Star'); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var message = 'message' in d && d.message ? encode(d.message) : nil(); - var tags = []; if ('tags' in d && d.tags) - { d.tags.forEach(function(x){ - tags.push(encode(x))}); - tags={t:108,v:tags}; } else { tags = nil() }; - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,roster_id,message,tags,status); } + const tup = atom('Star'); + const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); + const message = 'message' in d && d.message ? encode(d.message) : nil(); + let tags = []; if ('tags' in d && d.tags) { + d.tags.forEach((x) => { + tags.push(encode(x)); + }); + tags = { t: 108, v: tags }; + } else { tags = nil(); } + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, roster_id, message, tags, status); +} function lenStar() { return 5; } function decStar(d) { - var r={}; r.tup = 'Star'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.message = d && d.v[2] ? decode(d.v[2]) : undefined; - r.tags = []; + const r = {}; r.tup = 'Star'; + r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.message = d && d.v[2] ? decode(d.v[2]) : undefined; + r.tags = []; (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.tags.push(decode(x))}) : + d.v[3].v.forEach((x) => { r.tags.push(decode(x)); }) : r.tags = undefined; - r.status = d && d.v[4] ? decode(d.v[4]) : undefined; - return clean(r); } + r.status = d && d.v[4] ? decode(d.v[4]) : undefined; + return clean(r); +} function encHistory(d) { - var tup = atom('History'); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var size = 'size' in d && d.size ? number(d.size) : nil(); - var entity_id = 'entity_id' in d && d.entity_id ? number(d.entity_id) : nil(); - var data = []; if ('data' in d && d.data) - { d.data.forEach(function(x){ - data.push(encode(x))}); - data={t:108,v:data}; } else { data = nil() }; - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,roster_id,feed,size,entity_id,data,status); } + const tup = atom('History'); + const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); + const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); + const size = 'size' in d && d.size ? number(d.size) : nil(); + const entity_id = 'entity_id' in d && d.entity_id ? number(d.entity_id) : nil(); + let data = []; if ('data' in d && d.data) { + d.data.forEach((x) => { + data.push(encode(x)); + }); + data = { t: 108, v: data }; + } else { data = nil(); } + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, roster_id, feed, size, entity_id, data, status); +} function lenHistory() { return 7; } function decHistory(d) { - var r={}; r.tup = 'History'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.feed = d && d.v[2] ? decode(d.v[2]) : undefined; - r.size = d && d.v[3] ? d.v[3].v : undefined; - r.entity_id = d && d.v[4] ? d.v[4].v : undefined; - r.data = []; + const r = {}; r.tup = 'History'; + r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.feed = d && d.v[2] ? decode(d.v[2]) : undefined; + r.size = d && d.v[3] ? d.v[3].v : undefined; + r.entity_id = d && d.v[4] ? d.v[4].v : undefined; + r.data = []; (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.data.push(decode(x))}) : + d.v[5].v.forEach((x) => { r.data.push(decode(x)); }) : r.data = undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } + r.status = d && d.v[6] ? decode(d.v[6]) : undefined; + return clean(r); +} function encTyping(d) { - var tup = atom('Typing'); - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var comments = 'comments' in d && d.comments ? encode(d.comments) : nil(); - return tuple(tup,phone_id,comments); } + const tup = atom('Typing'); + const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); + const comments = 'comments' in d && d.comments ? encode(d.comments) : nil(); + return tuple(tup, phone_id, comments); +} function lenTyping() { return 3; } function decTyping(d) { - var r={}; r.tup = 'Typing'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.comments = d && d.v[2] ? decode(d.v[2].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'Typing'; + r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.comments = d && d.v[2] ? decode(d.v[2].v) : undefined; + return clean(r); +} function encContact(d) { - var tup = atom('Contact'); - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - var names = 'names' in d && d.names ? bin(d.names) : nil(); - var surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - var nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); - var email = 'email' in d && d.email ? bin(d.email) : nil(); - var vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); - var reader = 'reader' in d && d.reader ? number(d.reader) : nil(); - var unread = 'unread' in d && d.unread ? number(d.unread) : nil(); - var last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,phone_id,avatar,names,surnames,nick,email,vox_id,reader,unread,last_msg, - update,settings,presence,status); } + const tup = atom('Contact'); + const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); + const avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); + const names = 'names' in d && d.names ? bin(d.names) : nil(); + const surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); + const nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); + const email = 'email' in d && d.email ? bin(d.email) : nil(); + const vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); + const reader = 'reader' in d && d.reader ? number(d.reader) : nil(); + const unread = 'unread' in d && d.unread ? number(d.unread) : nil(); + const last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); + const update = 'update' in d && d.update ? number(d.update) : nil(); + let settings = []; if ('settings' in d && d.settings) { + d.settings.forEach((x) => { + settings.push(encode(x)); + }); + settings = { t: 108, v: settings }; + } else { settings = nil(); } + const presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, phone_id, avatar, names, surnames, nick, email, vox_id, reader, unread, last_msg, + update, settings, presence, status + ); +} function lenContact() { return 15; } function decContact(d) { - var r={}; r.tup = 'Contact'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.avatar = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.names = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.surnames = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.email = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.vox_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.reader = d && d.v[8] ? d.v[8].v : undefined; - r.unread = d && d.v[9] ? d.v[9].v : undefined; - r.last_msg = d && d.v[10] ? decode(d.v[10]) : undefined; - r.update = d && d.v[11] ? d.v[11].v : undefined; - r.settings = []; + const r = {}; r.tup = 'Contact'; + r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.avatar = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.names = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.surnames = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.email = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.vox_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.reader = d && d.v[8] ? d.v[8].v : undefined; + r.unread = d && d.v[9] ? d.v[9].v : undefined; + r.last_msg = d && d.v[10] ? decode(d.v[10]) : undefined; + r.update = d && d.v[11] ? d.v[11].v : undefined; + r.settings = []; (d && d.v[12] && d.v[12].v) ? - d.v[12].v.forEach(function(x){r.settings.push(decode(x))}) : + d.v[12].v.forEach((x) => { r.settings.push(decode(x)); }) : r.settings = undefined; - r.presence = d && d.v[13] ? d.v[13].v : undefined; - r.status = d && d.v[14] ? decode(d.v[14]) : undefined; - return clean(r); } + r.presence = d && d.v[13] ? d.v[13].v : undefined; + r.status = d && d.v[14] ? decode(d.v[14]) : undefined; + return clean(r); +} function encAuth(d) { - var tup = atom('Auth'); - var client_id = 'client_id' in d && d.client_id ? bin(d.client_id) : nil(); - var dev_key = 'dev_key' in d && d.dev_key ? bin(d.dev_key) : nil(); - var user_id = 'user_id' in d && d.user_id ? bin(d.user_id) : nil(); - var phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - var token = 'token' in d && d.token ? bin(d.token) : nil(); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var sms_code = 'sms_code' in d && d.sms_code ? bin(d.sms_code) : nil(); - var attempts = 'attempts' in d && d.attempts ? number(d.attempts) : nil(); - var services = []; if ('services' in d && d.services) - { d.services.forEach(function(x){ - services.push(encode(x))}); - services={t:108,v:services}; } else { services = nil() }; - var push = 'push' in d && d.push ? bin(d.push) : nil(); - var os = 'os' in d && d.os ? encode(d.os) : nil(); - var created = 'created' in d && d.created ? encode(d.created) : nil(); - var last_online = 'last_online' in d && d.last_online ? number(d.last_online) : nil(); - return tuple(tup,client_id,dev_key,user_id,phone,token,type,sms_code,attempts,services,push, - os,created,last_online); } + const tup = atom('Auth'); + const client_id = 'client_id' in d && d.client_id ? bin(d.client_id) : nil(); + const dev_key = 'dev_key' in d && d.dev_key ? bin(d.dev_key) : nil(); + const user_id = 'user_id' in d && d.user_id ? bin(d.user_id) : nil(); + const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); + const token = 'token' in d && d.token ? bin(d.token) : nil(); + const type = 'type' in d && d.type ? atom(d.type) : nil(); + const sms_code = 'sms_code' in d && d.sms_code ? bin(d.sms_code) : nil(); + const attempts = 'attempts' in d && d.attempts ? number(d.attempts) : nil(); + let services = []; if ('services' in d && d.services) { + d.services.forEach((x) => { + services.push(encode(x)); + }); + services = { t: 108, v: services }; + } else { services = nil(); } + const push = 'push' in d && d.push ? bin(d.push) : nil(); + const os = 'os' in d && d.os ? encode(d.os) : nil(); + const created = 'created' in d && d.created ? encode(d.created) : nil(); + const last_online = 'last_online' in d && d.last_online ? number(d.last_online) : nil(); + return tuple( + tup, client_id, dev_key, user_id, phone, token, type, sms_code, attempts, services, push, + os, created, last_online + ); +} function lenAuth() { return 14; } function decAuth(d) { - var r={}; r.tup = 'Auth'; - r.client_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.dev_key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.user_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.phone = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.token = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.type = d && d.v[6] ? d.v[6].v : undefined; - r.sms_code = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.attempts = d && d.v[8] ? d.v[8].v : undefined; - r.services = []; + const r = {}; r.tup = 'Auth'; + r.client_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.dev_key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.user_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.phone = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.token = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.type = d && d.v[6] ? d.v[6].v : undefined; + r.sms_code = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.attempts = d && d.v[8] ? d.v[8].v : undefined; + r.services = []; (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach(function(x){r.services.push(decode(x))}) : + d.v[9].v.forEach((x) => { r.services.push(decode(x)); }) : r.services = undefined; - r.push = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.os = d && d.v[11] ? decode(d.v[11]) : undefined; - r.created = d && d.v[12] ? decode(d.v[12]) : undefined; - r.last_online = d && d.v[13] ? d.v[13].v : undefined; - return clean(r); } + r.push = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; + r.os = d && d.v[11] ? decode(d.v[11]) : undefined; + r.created = d && d.v[12] ? decode(d.v[12]) : undefined; + r.last_online = d && d.v[13] ? d.v[13].v : undefined; + return clean(r); +} function encService(d) { - var tup = atom('Service'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var data = 'data' in d && d.data ? encode(d.data) : nil(); - var login = 'login' in d && d.login ? bin(d.login) : nil(); - var password = 'password' in d && d.password ? bin(d.password) : nil(); - var expiration = 'expiration' in d && d.expiration ? number(d.expiration) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,type,data,login,password,expiration,status); } + const tup = atom('Service'); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + const type = 'type' in d && d.type ? atom(d.type) : nil(); + const data = 'data' in d && d.data ? encode(d.data) : nil(); + const login = 'login' in d && d.login ? bin(d.login) : nil(); + const password = 'password' in d && d.password ? bin(d.password) : nil(); + const expiration = 'expiration' in d && d.expiration ? number(d.expiration) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, id, type, data, login, password, expiration, status); +} function lenService() { return 8; } function decService(d) { - var r={}; r.tup = 'Service'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.type = d && d.v[2] ? decode(d.v[2]) : undefined; - r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.login = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.password = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.expiration = d && d.v[6] ? d.v[6].v : undefined; - r.status = d && d.v[7] ? decode(d.v[7]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Service'; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.type = d && d.v[2] ? decode(d.v[2]) : undefined; + r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.login = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.password = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.expiration = d && d.v[6] ? d.v[6].v : undefined; + r.status = d && d.v[7] ? decode(d.v[7]) : undefined; + return clean(r); +} function encRoster(d) { - var tup = atom('Roster'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var names = 'names' in d && d.names ? bin(d.names) : nil(); - var surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - var email = 'email' in d && d.email ? bin(d.email) : nil(); - var nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); - var userlist = []; if ('userlist' in d && d.userlist) - { d.userlist.forEach(function(x){ - userlist.push(encode(x))}); - userlist={t:108,v:userlist}; } else { userlist = nil() }; - var roomlist = []; if ('roomlist' in d && d.roomlist) - { d.roomlist.forEach(function(x){ - roomlist.push(encode(x))}); - roomlist={t:108,v:roomlist}; } else { roomlist = nil() }; - var favorite = []; if ('favorite' in d && d.favorite) - { d.favorite.forEach(function(x){ - favorite.push(encode(x))}); - favorite={t:108,v:favorite}; } else { favorite = nil() }; - var tags = []; if ('tags' in d && d.tags) - { d.tags.forEach(function(x){ - tags.push(encode(x))}); - tags={t:108,v:tags}; } else { tags = nil() }; - var phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - var avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,names,surnames,email,nick,userlist,roomlist,favorite,tags,phone, - avatar,update,status); } + const tup = atom('Roster'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const names = 'names' in d && d.names ? bin(d.names) : nil(); + const surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); + const email = 'email' in d && d.email ? bin(d.email) : nil(); + const nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); + let userlist = []; if ('userlist' in d && d.userlist) { + d.userlist.forEach((x) => { + userlist.push(encode(x)); + }); + userlist = { t: 108, v: userlist }; + } else { userlist = nil(); } + let roomlist = []; if ('roomlist' in d && d.roomlist) { + d.roomlist.forEach((x) => { + roomlist.push(encode(x)); + }); + roomlist = { t: 108, v: roomlist }; + } else { roomlist = nil(); } + let favorite = []; if ('favorite' in d && d.favorite) { + d.favorite.forEach((x) => { + favorite.push(encode(x)); + }); + favorite = { t: 108, v: favorite }; + } else { favorite = nil(); } + let tags = []; if ('tags' in d && d.tags) { + d.tags.forEach((x) => { + tags.push(encode(x)); + }); + tags = { t: 108, v: tags }; + } else { tags = nil(); } + const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); + const avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); + const update = 'update' in d && d.update ? number(d.update) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, id, names, surnames, email, nick, userlist, roomlist, favorite, tags, phone, + avatar, update, status + ); +} function lenRoster() { return 14; } function decRoster(d) { - var r={}; r.tup = 'Roster'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.names = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.surnames = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.email = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.userlist = []; + const r = {}; r.tup = 'Roster'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.names = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.surnames = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.email = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.userlist = []; (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.userlist.push(decode(x))}) : + d.v[6].v.forEach((x) => { r.userlist.push(decode(x)); }) : r.userlist = undefined; - r.roomlist = []; + r.roomlist = []; (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach(function(x){r.roomlist.push(decode(x))}) : + d.v[7].v.forEach((x) => { r.roomlist.push(decode(x)); }) : r.roomlist = undefined; - r.favorite = []; + r.favorite = []; (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach(function(x){r.favorite.push(decode(x))}) : + d.v[8].v.forEach((x) => { r.favorite.push(decode(x)); }) : r.favorite = undefined; - r.tags = []; + r.tags = []; (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach(function(x){r.tags.push(decode(x))}) : + d.v[9].v.forEach((x) => { r.tags.push(decode(x)); }) : r.tags = undefined; - r.phone = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.avatar = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.update = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); } + r.phone = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; + r.avatar = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; + r.update = d && d.v[12] ? d.v[12].v : undefined; + r.status = d && d.v[13] ? decode(d.v[13]) : undefined; + return clean(r); +} function encProfile(d) { - var tup = atom('Profile'); - var phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - var services = []; if ('services' in d && d.services) - { d.services.forEach(function(x){ - services.push(encode(x))}); - services={t:108,v:services}; } else { services = nil() }; - var rosters = []; if ('rosters' in d && d.rosters) - { d.rosters.forEach(function(x){ - rosters.push(encode(x))}); - rosters={t:108,v:rosters}; } else { rosters = nil() }; - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var update = 'update' in d && d.update ? number(d.update) : nil(); - var balance = 'balance' in d && d.balance ? number(d.balance) : nil(); - var presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,phone,services,rosters,settings,update,balance,presence,status); } + const tup = atom('Profile'); + const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); + let services = []; if ('services' in d && d.services) { + d.services.forEach((x) => { + services.push(encode(x)); + }); + services = { t: 108, v: services }; + } else { services = nil(); } + let rosters = []; if ('rosters' in d && d.rosters) { + d.rosters.forEach((x) => { + rosters.push(encode(x)); + }); + rosters = { t: 108, v: rosters }; + } else { rosters = nil(); } + let settings = []; if ('settings' in d && d.settings) { + d.settings.forEach((x) => { + settings.push(encode(x)); + }); + settings = { t: 108, v: settings }; + } else { settings = nil(); } + const update = 'update' in d && d.update ? number(d.update) : nil(); + const balance = 'balance' in d && d.balance ? number(d.balance) : nil(); + const presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, phone, services, rosters, settings, update, balance, presence, status); +} function lenProfile() { return 9; } function decProfile(d) { - var r={}; r.tup = 'Profile'; - r.phone = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.services = []; + const r = {}; r.tup = 'Profile'; + r.phone = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.services = []; (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.services.push(decode(x))}) : + d.v[2].v.forEach((x) => { r.services.push(decode(x)); }) : r.services = undefined; - r.rosters = []; + r.rosters = []; (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.rosters.push(decode(x))}) : + d.v[3].v.forEach((x) => { r.rosters.push(decode(x)); }) : r.rosters = undefined; - r.settings = []; + r.settings = []; (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach(function(x){r.settings.push(decode(x))}) : + d.v[4].v.forEach((x) => { r.settings.push(decode(x)); }) : r.settings = undefined; - r.update = d && d.v[5] ? d.v[5].v : undefined; - r.balance = d && d.v[6] ? d.v[6].v : undefined; - r.presence = d && d.v[7] ? d.v[7].v : undefined; - r.status = d && d.v[8] ? d.v[8].v : undefined; - return clean(r); } + r.update = d && d.v[5] ? d.v[5].v : undefined; + r.balance = d && d.v[6] ? d.v[6].v : undefined; + r.presence = d && d.v[7] ? d.v[7].v : undefined; + r.status = d && d.v[8] ? d.v[8].v : undefined; + return clean(r); +} function encLoc(d) { - var tup = atom('Loc'); - var x = 'x' in d && d.x ? bin(d.x) : nil(); - var y = 'y' in d && d.y ? bin(d.y) : nil(); - var z = 'z' in d && d.z ? bin(d.z) : nil(); - return tuple(tup,x,y,z); } + const tup = atom('Loc'); + const x = 'x' in d && d.x ? bin(d.x) : nil(); + const y = 'y' in d && d.y ? bin(d.y) : nil(); + const z = 'z' in d && d.z ? bin(d.z) : nil(); + return tuple(tup, x, y, z); +} function lenLoc() { return 4; } function decLoc(d) { - var r={}; r.tup = 'Loc'; - r.x = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.y = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.z = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'Loc'; + r.x = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.y = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.z = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + return clean(r); +} function encFriend(d) { - var tup = atom('Friend'); - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var friend_id = 'friend_id' in d && d.friend_id ? bin(d.friend_id) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,phone_id,friend_id,status); } + const tup = atom('Friend'); + const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); + const friend_id = 'friend_id' in d && d.friend_id ? bin(d.friend_id) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, phone_id, friend_id, status); +} function lenFriend() { return 4; } function decFriend(d) { - var r={}; r.tup = 'Friend'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.friend_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.status = d && d.v[3] ? decode(d.v[3]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Friend'; + r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.friend_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.status = d && d.v[3] ? decode(d.v[3]) : undefined; + return clean(r); +} function encCallMember(d) { - var tup = atom('CallMember'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? encode(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? bin(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var contact = 'contact' in d && d.contact ? encode(d.contact) : nil(); - var start = 'start' in d && d.start ? number(d.start) : nil(); - var stop = 'stop' in d && d.stop ? number(d.stop) : nil(); - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); - var tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); - var bill = 'bill' in d && d.bill ? number(d.bill) : nil(); - var duration = 'duration' in d && d.duration ? number(d.duration) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,container,feed_id,prev,next,contact,start,stop,type,desc, - tariff,bill,duration,status); } + const tup = atom('CallMember'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? encode(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? bin(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + const contact = 'contact' in d && d.contact ? encode(d.contact) : nil(); + const start = 'start' in d && d.start ? number(d.start) : nil(); + const stop = 'stop' in d && d.stop ? number(d.stop) : nil(); + const type = 'type' in d && d.type ? encode(d.type) : nil(); + const desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); + const tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); + const bill = 'bill' in d && d.bill ? number(d.bill) : nil(); + const duration = 'duration' in d && d.duration ? number(d.duration) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, id, container, feed_id, prev, next, contact, start, stop, type, desc, + tariff, bill, duration, status + ); +} function lenCallMember() { return 15; } function decCallMember(d) { - var r={}; r.tup = 'CallMember'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.contact = d && d.v[6] ? decode(d.v[6]) : undefined; - r.start = d && d.v[7] ? d.v[7].v : undefined; - r.stop = d && d.v[8] ? d.v[8].v : undefined; - r.type = d && d.v[9] ? decode(d.v[9]) : undefined; - r.desc = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.tariff = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.bill = d && d.v[12] ? d.v[12].v : undefined; - r.duration = d && d.v[13] ? d.v[13].v : undefined; - r.status = d && d.v[14] ? decode(d.v[14]) : undefined; - return clean(r); } + const r = {}; r.tup = 'CallMember'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? decode(d.v[2]) : undefined; + r.feed_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.contact = d && d.v[6] ? decode(d.v[6]) : undefined; + r.start = d && d.v[7] ? d.v[7].v : undefined; + r.stop = d && d.v[8] ? d.v[8].v : undefined; + r.type = d && d.v[9] ? decode(d.v[9]) : undefined; + r.desc = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; + r.tariff = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; + r.bill = d && d.v[12] ? d.v[12].v : undefined; + r.duration = d && d.v[13] ? d.v[13].v : undefined; + r.status = d && d.v[14] ? decode(d.v[14]) : undefined; + return clean(r); +} function encCall(d) { - var tup = atom('Call'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var members = []; if ('members' in d && d.members) - { d.members.forEach(function(x){ - members.push(encode(x))}); - members={t:108,v:members}; } else { members = nil() }; - var start = 'start' in d && d.start ? number(d.start) : nil(); - var stop = 'stop' in d && d.stop ? number(d.stop) : nil(); - var vox_url = 'vox_url' in d && d.vox_url ? bin(d.vox_url) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,from,members,start,stop,vox_url,status); } + const tup = atom('Call'); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + const from = 'from' in d && d.from ? bin(d.from) : nil(); + let members = []; if ('members' in d && d.members) { + d.members.forEach((x) => { + members.push(encode(x)); + }); + members = { t: 108, v: members }; + } else { members = nil(); } + const start = 'start' in d && d.start ? number(d.start) : nil(); + const stop = 'stop' in d && d.stop ? number(d.stop) : nil(); + const vox_url = 'vox_url' in d && d.vox_url ? bin(d.vox_url) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, id, from, members, start, stop, vox_url, status); +} function lenCall() { return 8; } function decCall(d) { - var r={}; r.tup = 'Call'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.from = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.members = []; + const r = {}; r.tup = 'Call'; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.from = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.members = []; (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.members.push(decode(x))}) : + d.v[3].v.forEach((x) => { r.members.push(decode(x)); }) : r.members = undefined; - r.start = d && d.v[4] ? d.v[4].v : undefined; - r.stop = d && d.v[5] ? d.v[5].v : undefined; - r.vox_url = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.status = d && d.v[7] ? decode(d.v[7]) : undefined; - return clean(r); } + r.start = d && d.v[4] ? d.v[4].v : undefined; + r.stop = d && d.v[5] ? d.v[5].v : undefined; + r.vox_url = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.status = d && d.v[7] ? decode(d.v[7]) : undefined; + return clean(r); +} function encIndex(d) { - var tup = atom('Index'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var roster = []; if ('roster' in d && d.roster) - { d.roster.forEach(function(x){ - roster.push(encode(x))}); - roster={t:108,v:roster}; } else { roster = nil() }; - return tuple(tup,id,roster); } + const tup = atom('Index'); + const id = 'id' in d && d.id ? encode(d.id) : nil(); + let roster = []; if ('roster' in d && d.roster) { + d.roster.forEach((x) => { + roster.push(encode(x)); + }); + roster = { t: 108, v: roster }; + } else { roster = nil(); } + return tuple(tup, id, roster); +} function lenIndex() { return 3; } function decIndex(d) { - var r={}; r.tup = 'Index'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.roster = []; + const r = {}; r.tup = 'Index'; + r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; + r.roster = []; (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.roster.push(decode(x))}) : + d.v[2].v.forEach((x) => { r.roster.push(decode(x)); }) : r.roster = undefined; - return clean(r); } + return clean(r); +} function encerror(d) { - var tup = atom('error'); - var code = 'code' in d && d.code ? encode(d.code) : nil(); - return tuple(tup,code); } + const tup = atom('error'); + const code = 'code' in d && d.code ? encode(d.code) : nil(); + return tuple(tup, code); +} function lenerror() { return 2; } function decerror(d) { - var r={}; r.tup = 'error'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - return clean(r); } + const r = {}; r.tup = 'error'; + r.code = d && d.v[1] ? decode(d.v[1]) : undefined; + return clean(r); +} function encok(d) { - var tup = atom('ok'); - var code = 'code' in d && d.code ? encode(d.code) : nil(); - return tuple(tup,code); } + const tup = atom('ok'); + const code = 'code' in d && d.code ? encode(d.code) : nil(); + return tuple(tup, code); +} function lenok() { return 2; } function decok(d) { - var r={}; r.tup = 'ok'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - return clean(r); } + const r = {}; r.tup = 'ok'; + r.code = d && d.v[1] ? decode(d.v[1]) : undefined; + return clean(r); +} function encerror2(d) { - var tup = atom('error2'); - var code = 'code' in d && d.code ? atom(d.code) : nil(); - var src = 'src' in d && d.src ? encode(d.src) : nil(); - return tuple(tup,code,src); } + const tup = atom('error2'); + const code = 'code' in d && d.code ? atom(d.code) : nil(); + const src = 'src' in d && d.src ? encode(d.src) : nil(); + return tuple(tup, code, src); +} function lenerror2() { return 3; } function decerror2(d) { - var r={}; r.tup = 'error2'; - r.code = d && d.v[1] ? d.v[1].v : undefined; - r.src = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } + const r = {}; r.tup = 'error2'; + r.code = d && d.v[1] ? d.v[1].v : undefined; + r.src = d && d.v[2] ? decode(d.v[2]) : undefined; + return clean(r); +} function encok2(d) { - var tup = atom('ok2'); - var code = 'code' in d && d.code ? atom(d.code) : nil(); - var src = 'src' in d && d.src ? encode(d.src) : nil(); - return tuple(tup,code,src); } + const tup = atom('ok2'); + const code = 'code' in d && d.code ? atom(d.code) : nil(); + const src = 'src' in d && d.src ? encode(d.src) : nil(); + return tuple(tup, code, src); +} function lenok2() { return 3; } function decok2(d) { - var r={}; r.tup = 'ok2'; - r.code = d && d.v[1] ? d.v[1].v : undefined; - r.src = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } + const r = {}; r.tup = 'ok2'; + r.code = d && d.v[1] ? d.v[1].v : undefined; + r.src = d && d.v[2] ? decode(d.v[2]) : undefined; + return clean(r); +} function encio(d) { - var tup = atom('io'); - var code = 'code' in d && d.code ? encode(d.code) : nil(); - var data = 'data' in d && d.data ? encode(d.data) : nil(); - return tuple(tup,code,data); } + const tup = atom('io'); + const code = 'code' in d && d.code ? encode(d.code) : nil(); + const data = 'data' in d && d.data ? encode(d.data) : nil(); + return tuple(tup, code, data); +} function lenio() { return 3; } function decio(d) { - var r={}; r.tup = 'io'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - r.data = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } + const r = {}; r.tup = 'io'; + r.code = d && d.v[1] ? decode(d.v[1]) : undefined; + r.data = d && d.v[2] ? decode(d.v[2]) : undefined; + return clean(r); +} function encmax_tour(d) { - var tup = atom('max_tour'); - var count = 'count' in d && d.count ? number(d.count) : nil(); - var joined = 'joined' in d && d.joined ? number(d.joined) : nil(); - return tuple(tup,count,joined); } + const tup = atom('max_tour'); + const count = 'count' in d && d.count ? number(d.count) : nil(); + const joined = 'joined' in d && d.joined ? number(d.joined) : nil(); + return tuple(tup, count, joined); +} function lenmax_tour() { return 3; } function decmax_tour(d) { - var r={}; r.tup = 'max_tour'; - r.count = d && d.v[1] ? d.v[1].v : undefined; - r.joined = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } + const r = {}; r.tup = 'max_tour'; + r.count = d && d.v[1] ? d.v[1].v : undefined; + r.joined = d && d.v[2] ? d.v[2].v : undefined; + return clean(r); +} function encjoin_application(d) { - var tup = atom('join_application'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var data = 'data' in d && d.data ? encode(d.data) : nil(); - return tuple(tup,id,name,data); } + const tup = atom('join_application'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const name = 'name' in d && d.name ? bin(d.name) : nil(); + const data = 'data' in d && d.data ? encode(d.data) : nil(); + return tuple(tup, id, name, data); +} function lenjoin_application() { return 4; } function decjoin_application(d) { - var r={}; r.tup = 'join_application'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'join_application'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; + return clean(r); +} function enctour_list(d) { - var tup = atom('tour_list'); - var users = []; if ('users' in d && d.users) - { d.users.forEach(function(x){ - users.push(encode(x))}); - users={t:108,v:users}; } else { users = nil() }; - return tuple(tup,users); } + const tup = atom('tour_list'); + let users = []; if ('users' in d && d.users) { + d.users.forEach((x) => { + users.push(encode(x)); + }); + users = { t: 108, v: users }; + } else { users = nil(); } + return tuple(tup, users); +} function lentour_list() { return 2; } function dectour_list(d) { - var r={}; r.tup = 'tour_list'; - r.users = []; + const r = {}; r.tup = 'tour_list'; + r.users = []; (d && d.v[1] && d.v[1].v) ? - d.v[1].v.forEach(function(x){r.users.push(decode(x))}) : + d.v[1].v.forEach((x) => { r.users.push(decode(x)); }) : r.users = undefined; - return clean(r); } + return clean(r); +} function enctask(d) { - var tup = atom('task'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,roles,module); } + const tup = atom('task'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, roles, module); +} function lentask() { return 4; } function dectask(d) { - var r={}; r.tup = 'task'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); } + const r = {}; r.tup = 'task'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.module = d && d.v[3] ? d.v[3].v : undefined; + return clean(r); +} function encuserTask(d) { - var tup = atom('userTask'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,roles,module); } + const tup = atom('userTask'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, roles, module); +} function lenuserTask() { return 4; } function decuserTask(d) { - var r={}; r.tup = 'userTask'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); } + const r = {}; r.tup = 'userTask'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.module = d && d.v[3] ? d.v[3].v : undefined; + return clean(r); +} function encserviceTask(d) { - var tup = atom('serviceTask'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,roles,module); } + const tup = atom('serviceTask'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, roles, module); +} function lenserviceTask() { return 4; } function decserviceTask(d) { - var r={}; r.tup = 'serviceTask'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); } + const r = {}; r.tup = 'serviceTask'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.module = d && d.v[3] ? d.v[3].v : undefined; + return clean(r); +} function encreceiveTask(d) { - var tup = atom('receiveTask'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,roles,module); } + const tup = atom('receiveTask'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, roles, module); +} function lenreceiveTask() { return 4; } function decreceiveTask(d) { - var r={}; r.tup = 'receiveTask'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); } + const r = {}; r.tup = 'receiveTask'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.module = d && d.v[3] ? d.v[3].v : undefined; + return clean(r); +} function encmessageEvent(d) { - var tup = atom('messageEvent'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - var timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); - return tuple(tup,name,payload,timeout); } + const tup = atom('messageEvent'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); + const timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); + return tuple(tup, name, payload, timeout); +} function lenmessageEvent() { return 4; } function decmessageEvent(d) { - var r={}; r.tup = 'messageEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'messageEvent'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; + return clean(r); +} function encboundaryEvent(d) { - var tup = atom('boundaryEvent'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - var timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); - var timeDate = 'timeDate' in d && d.timeDate ? bin(d.timeDate) : nil(); - var timeDuration = 'timeDuration' in d && d.timeDuration ? bin(d.timeDuration) : nil(); - var timeCycle = 'timeCycle' in d && d.timeCycle ? bin(d.timeCycle) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,payload,timeout,timeDate,timeDuration,timeCycle,module); } + const tup = atom('boundaryEvent'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); + const timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); + const timeDate = 'timeDate' in d && d.timeDate ? bin(d.timeDate) : nil(); + const timeDuration = 'timeDuration' in d && d.timeDuration ? bin(d.timeDuration) : nil(); + const timeCycle = 'timeCycle' in d && d.timeCycle ? bin(d.timeCycle) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, payload, timeout, timeDate, timeDuration, timeCycle, module); +} function lenboundaryEvent() { return 8; } function decboundaryEvent(d) { - var r={}; r.tup = 'boundaryEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.timeDate = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.timeDuration = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.timeCycle = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.module = d && d.v[7] ? d.v[7].v : undefined; - return clean(r); } + const r = {}; r.tup = 'boundaryEvent'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.timeDate = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.timeDuration = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.timeCycle = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.module = d && d.v[7] ? d.v[7].v : undefined; + return clean(r); +} function enctimeoutEvent(d) { - var tup = atom('timeoutEvent'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - var timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); - var timeDate = 'timeDate' in d && d.timeDate ? bin(d.timeDate) : nil(); - var timeDuration = 'timeDuration' in d && d.timeDuration ? bin(d.timeDuration) : nil(); - var timeCycle = 'timeCycle' in d && d.timeCycle ? bin(d.timeCycle) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,payload,timeout,timeDate,timeDuration,timeCycle,module); } + const tup = atom('timeoutEvent'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); + const timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); + const timeDate = 'timeDate' in d && d.timeDate ? bin(d.timeDate) : nil(); + const timeDuration = 'timeDuration' in d && d.timeDuration ? bin(d.timeDuration) : nil(); + const timeCycle = 'timeCycle' in d && d.timeCycle ? bin(d.timeCycle) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, payload, timeout, timeDate, timeDuration, timeCycle, module); +} function lentimeoutEvent() { return 8; } function dectimeoutEvent(d) { - var r={}; r.tup = 'timeoutEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.timeDate = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.timeDuration = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.timeCycle = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.module = d && d.v[7] ? d.v[7].v : undefined; - return clean(r); } + const r = {}; r.tup = 'timeoutEvent'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.timeDate = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.timeDuration = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.timeCycle = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.module = d && d.v[7] ? d.v[7].v : undefined; + return clean(r); +} function encbeginEvent(d) { - var tup = atom('beginEvent'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,module); } + const tup = atom('beginEvent'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, module); +} function lenbeginEvent() { return 3; } function decbeginEvent(d) { - var r={}; r.tup = 'beginEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.module = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } + const r = {}; r.tup = 'beginEvent'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.module = d && d.v[2] ? d.v[2].v : undefined; + return clean(r); +} function encendEvent(d) { - var tup = atom('endEvent'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,module); } + const tup = atom('endEvent'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, module); +} function lenendEvent() { return 3; } function decendEvent(d) { - var r={}; r.tup = 'endEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.module = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } + const r = {}; r.tup = 'endEvent'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.module = d && d.v[2] ? d.v[2].v : undefined; + return clean(r); +} function encsequenceFlow(d) { - var tup = atom('sequenceFlow'); - var source = 'source' in d && d.source ? atom(d.source) : nil(); - var target = 'target' in d && d.target ? atom(d.target) : nil(); - return tuple(tup,source,target); } + const tup = atom('sequenceFlow'); + const source = 'source' in d && d.source ? atom(d.source) : nil(); + const target = 'target' in d && d.target ? atom(d.target) : nil(); + return tuple(tup, source, target); +} function lensequenceFlow() { return 3; } function decsequenceFlow(d) { - var r={}; r.tup = 'sequenceFlow'; - r.source = d && d.v[1] ? d.v[1].v : undefined; - r.target = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } + const r = {}; r.tup = 'sequenceFlow'; + r.source = d && d.v[1] ? d.v[1].v : undefined; + r.target = d && d.v[2] ? d.v[2].v : undefined; + return clean(r); +} function enchist(d) { - var tup = atom('hist'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var task = 'task' in d && d.task ? atom(d.task) : nil(); - var time = 'time' in d && d.time ? encode(d.time) : nil(); - return tuple(tup,id,container,feed_id,prev,next,feeds,name,task,time); } + const tup = atom('hist'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + let feeds = []; if ('feeds' in d && d.feeds) { + d.feeds.forEach((x) => { + feeds.push(encode(x)); + }); + feeds = { t: 108, v: feeds }; + } else { feeds = nil(); } + const name = 'name' in d && d.name ? bin(d.name) : nil(); + const task = 'task' in d && d.task ? atom(d.task) : nil(); + const time = 'time' in d && d.time ? encode(d.time) : nil(); + return tuple(tup, id, container, feed_id, prev, next, feeds, name, task, time); +} function lenhist() { return 10; } function dechist(d) { - var r={}; r.tup = 'hist'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; + const r = {}; r.tup = 'hist'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.feeds = []; (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : + d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : r.feeds = undefined; - r.name = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.task = d && d.v[8] ? d.v[8].v : undefined; - r.time = d && d.v[9] ? decode(d.v[9].v) : undefined; - return clean(r); } + r.name = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.task = d && d.v[8] ? d.v[8].v : undefined; + r.time = d && d.v[9] ? decode(d.v[9].v) : undefined; + return clean(r); +} function encprocess(d) { - var tup = atom('process'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var roles = []; if ('roles' in d && d.roles) - { d.roles.forEach(function(x){ - roles.push(encode(x))}); - roles={t:108,v:roles}; } else { roles = nil() }; - var tasks = []; if ('tasks' in d && d.tasks) - { d.tasks.forEach(function(x){ - tasks.push(encode(x))}); - tasks={t:108,v:tasks}; } else { tasks = nil() }; - var events = []; if ('events' in d && d.events) - { d.events.forEach(function(x){ - events.push(encode(x))}); - events={t:108,v:events}; } else { events = nil() }; - var hist = 'hist' in d && d.hist ? encode(d.hist) : nil(); - var flows = []; if ('flows' in d && d.flows) - { d.flows.forEach(function(x){ - flows.push(encode(x))}); - flows={t:108,v:flows}; } else { flows = nil() }; - var rules = 'rules' in d && d.rules ? encode(d.rules) : nil(); - var docs = []; if ('docs' in d && d.docs) - { d.docs.forEach(function(x){ - docs.push(encode(x))}); - docs={t:108,v:docs}; } else { docs = nil() }; - var options = 'options' in d && d.options ? encode(d.options) : nil(); - var task = 'task' in d && d.task ? atom(d.task) : nil(); - var timer = 'timer' in d && d.timer ? bin(d.timer) : nil(); - var notifications = 'notifications' in d && d.notifications ? encode(d.notifications) : nil(); - var result = 'result' in d && d.result ? bin(d.result) : nil(); - var started = 'started' in d && d.started ? bin(d.started) : nil(); - var beginEvent = 'beginEvent' in d && d.beginEvent ? atom(d.beginEvent) : nil(); - var endEvent = 'endEvent' in d && d.endEvent ? atom(d.endEvent) : nil(); - return tuple(tup,id,container,feed_id,prev,next,feeds,name,roles,tasks,events, - hist,flows,rules,docs,options,task,timer,notifications,result,started,beginEvent,endEvent); } + const tup = atom('process'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + let feeds = []; if ('feeds' in d && d.feeds) { + d.feeds.forEach((x) => { + feeds.push(encode(x)); + }); + feeds = { t: 108, v: feeds }; + } else { feeds = nil(); } + const name = 'name' in d && d.name ? bin(d.name) : nil(); + let roles = []; if ('roles' in d && d.roles) { + d.roles.forEach((x) => { + roles.push(encode(x)); + }); + roles = { t: 108, v: roles }; + } else { roles = nil(); } + let tasks = []; if ('tasks' in d && d.tasks) { + d.tasks.forEach((x) => { + tasks.push(encode(x)); + }); + tasks = { t: 108, v: tasks }; + } else { tasks = nil(); } + let events = []; if ('events' in d && d.events) { + d.events.forEach((x) => { + events.push(encode(x)); + }); + events = { t: 108, v: events }; + } else { events = nil(); } + const hist = 'hist' in d && d.hist ? encode(d.hist) : nil(); + let flows = []; if ('flows' in d && d.flows) { + d.flows.forEach((x) => { + flows.push(encode(x)); + }); + flows = { t: 108, v: flows }; + } else { flows = nil(); } + const rules = 'rules' in d && d.rules ? encode(d.rules) : nil(); + let docs = []; if ('docs' in d && d.docs) { + d.docs.forEach((x) => { + docs.push(encode(x)); + }); + docs = { t: 108, v: docs }; + } else { docs = nil(); } + const options = 'options' in d && d.options ? encode(d.options) : nil(); + const task = 'task' in d && d.task ? atom(d.task) : nil(); + const timer = 'timer' in d && d.timer ? bin(d.timer) : nil(); + const notifications = 'notifications' in d && d.notifications ? encode(d.notifications) : nil(); + const result = 'result' in d && d.result ? bin(d.result) : nil(); + const started = 'started' in d && d.started ? bin(d.started) : nil(); + const beginEvent = 'beginEvent' in d && d.beginEvent ? atom(d.beginEvent) : nil(); + const endEvent = 'endEvent' in d && d.endEvent ? atom(d.endEvent) : nil(); + return tuple( + tup, id, container, feed_id, prev, next, feeds, name, roles, tasks, events, + hist, flows, rules, docs, options, task, timer, notifications, result, started, beginEvent, endEvent + ); +} function lenprocess() { return 23; } function decprocess(d) { - var r={}; r.tup = 'process'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; + const r = {}; r.tup = 'process'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.feeds = []; (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : + d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : r.feeds = undefined; - r.name = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.roles = []; + r.name = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.roles = []; (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach(function(x){r.roles.push(decode(x))}) : + d.v[8].v.forEach((x) => { r.roles.push(decode(x)); }) : r.roles = undefined; - r.tasks = []; + r.tasks = []; (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach(function(x){r.tasks.push(decode(x))}) : + d.v[9].v.forEach((x) => { r.tasks.push(decode(x)); }) : r.tasks = undefined; - r.events = []; + r.events = []; (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach(function(x){r.events.push(decode(x))}) : + d.v[10].v.forEach((x) => { r.events.push(decode(x)); }) : r.events = undefined; - r.hist = d && d.v[11] ? decode(d.v[11]) : undefined; - r.flows = []; + r.hist = d && d.v[11] ? decode(d.v[11]) : undefined; + r.flows = []; (d && d.v[12] && d.v[12].v) ? - d.v[12].v.forEach(function(x){r.flows.push(decode(x))}) : + d.v[12].v.forEach((x) => { r.flows.push(decode(x)); }) : r.flows = undefined; - r.rules = d && d.v[13] ? decode(d.v[13]) : undefined; - r.docs = []; + r.rules = d && d.v[13] ? decode(d.v[13]) : undefined; + r.docs = []; (d && d.v[14] && d.v[14].v) ? - d.v[14].v.forEach(function(x){r.docs.push(decode(x))}) : + d.v[14].v.forEach((x) => { r.docs.push(decode(x)); }) : r.docs = undefined; - r.options = d && d.v[15] ? decode(d.v[15].v) : undefined; - r.task = d && d.v[16] ? d.v[16].v : undefined; - r.timer = d && d.v[17] ? utf8_dec(d.v[17].v) : undefined; - r.notifications = d && d.v[18] ? decode(d.v[18].v) : undefined; - r.result = d && d.v[19] ? utf8_dec(d.v[19].v) : undefined; - r.started = d && d.v[20] ? utf8_dec(d.v[20].v) : undefined; - r.beginEvent = d && d.v[21] ? d.v[21].v : undefined; - r.endEvent = d && d.v[22] ? d.v[22].v : undefined; - return clean(r); } + r.options = d && d.v[15] ? decode(d.v[15].v) : undefined; + r.task = d && d.v[16] ? d.v[16].v : undefined; + r.timer = d && d.v[17] ? utf8_dec(d.v[17].v) : undefined; + r.notifications = d && d.v[18] ? decode(d.v[18].v) : undefined; + r.result = d && d.v[19] ? utf8_dec(d.v[19].v) : undefined; + r.started = d && d.v[20] ? utf8_dec(d.v[20].v) : undefined; + r.beginEvent = d && d.v[21] ? d.v[21].v : undefined; + r.endEvent = d && d.v[22] ? d.v[22].v : undefined; + return clean(r); +} function enccomplete(d) { - var tup = atom('complete'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - return tuple(tup,id); } + const tup = atom('complete'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + return tuple(tup, id); +} function lencomplete() { return 2; } function deccomplete(d) { - var r={}; r.tup = 'complete'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - return clean(r); } + const r = {}; r.tup = 'complete'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + return clean(r); +} function encproc(d) { - var tup = atom('proc'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - return tuple(tup,id); } + const tup = atom('proc'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + return tuple(tup, id); +} function lenproc() { return 2; } function decproc(d) { - var r={}; r.tup = 'proc'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - return clean(r); } + const r = {}; r.tup = 'proc'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + return clean(r); +} function enchisto(d) { - var tup = atom('histo'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - return tuple(tup,id); } + const tup = atom('histo'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + return tuple(tup, id); +} function lenhisto() { return 2; } function dechisto(d) { - var r={}; r.tup = 'histo'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - return clean(r); } + const r = {}; r.tup = 'histo'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + return clean(r); +} function enccreate(d) { - var tup = atom('create'); - var proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); - var docs = []; if ('docs' in d && d.docs) - { d.docs.forEach(function(x){ - docs.push(encode(x))}); - docs={t:108,v:docs}; } else { docs = nil() }; - return tuple(tup,proc,docs); } + const tup = atom('create'); + const proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); + let docs = []; if ('docs' in d && d.docs) { + d.docs.forEach((x) => { + docs.push(encode(x)); + }); + docs = { t: 108, v: docs }; + } else { docs = nil(); } + return tuple(tup, proc, docs); +} function lencreate() { return 3; } function deccreate(d) { - var r={}; r.tup = 'create'; - r.proc = d && d.v[1] ? decode(d.v[1]) : undefined; - r.docs = []; + const r = {}; r.tup = 'create'; + r.proc = d && d.v[1] ? decode(d.v[1]) : undefined; + r.docs = []; (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.docs.push(decode(x))}) : + d.v[2].v.forEach((x) => { r.docs.push(decode(x)); }) : r.docs = undefined; - return clean(r); } + return clean(r); +} function encamend(d) { - var tup = atom('amend'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var docs = []; if ('docs' in d && d.docs) - { d.docs.forEach(function(x){ - docs.push(encode(x))}); - docs={t:108,v:docs}; } else { docs = nil() }; - return tuple(tup,id,docs); } + const tup = atom('amend'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + let docs = []; if ('docs' in d && d.docs) { + d.docs.forEach((x) => { + docs.push(encode(x)); + }); + docs = { t: 108, v: docs }; + } else { docs = nil(); } + return tuple(tup, id, docs); +} function lenamend() { return 3; } function decamend(d) { - var r={}; r.tup = 'amend'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.docs = []; + const r = {}; r.tup = 'amend'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.docs = []; (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.docs.push(decode(x))}) : + d.v[2].v.forEach((x) => { r.docs.push(decode(x)); }) : r.docs = undefined; - return clean(r); } + return clean(r); +} function encJob(d) { - var tup = atom('Job'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); - var docs = []; if ('docs' in d && d.docs) - { d.docs.forEach(function(x){ - docs.push(encode(x))}); - docs={t:108,v:docs}; } else { docs = nil() }; - var time = 'time' in d && d.time ? number(d.time) : nil(); - var events = []; if ('events' in d && d.events) - { d.events.forEach(function(x){ - events.push(encode(x))}); - events={t:108,v:events}; } else { events = nil() }; - var status = 'status' in d && d.status ? encode(d.status) : nil(); - return tuple(tup,id,proc,docs,time,events,status); } + const tup = atom('Job'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); + let docs = []; if ('docs' in d && d.docs) { + d.docs.forEach((x) => { + docs.push(encode(x)); + }); + docs = { t: 108, v: docs }; + } else { docs = nil(); } + const time = 'time' in d && d.time ? number(d.time) : nil(); + let events = []; if ('events' in d && d.events) { + d.events.forEach((x) => { + events.push(encode(x)); + }); + events = { t: 108, v: events }; + } else { events = nil(); } + const status = 'status' in d && d.status ? encode(d.status) : nil(); + return tuple(tup, id, proc, docs, time, events, status); +} function lenJob() { return 7; } function decJob(d) { - var r={}; r.tup = 'Job'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.proc = d && d.v[2] ? decode(d.v[2]) : undefined; - r.docs = []; + const r = {}; r.tup = 'Job'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.proc = d && d.v[2] ? decode(d.v[2]) : undefined; + r.docs = []; (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.docs.push(decode(x))}) : + d.v[3].v.forEach((x) => { r.docs.push(decode(x)); }) : r.docs = undefined; - r.time = d && d.v[4] ? d.v[4].v : undefined; - r.events = []; + r.time = d && d.v[4] ? d.v[4].v : undefined; + r.events = []; (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.events.push(decode(x))}) : + d.v[5].v.forEach((x) => { r.events.push(decode(x)); }) : r.events = undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } + r.status = d && d.v[6] ? decode(d.v[6]) : undefined; + return clean(r); +} function encTest(d) { - var tup = atom('Test'); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,type,count); } + const tup = atom('Test'); + const type = 'type' in d && d.type ? atom(d.type) : nil(); + const count = 'count' in d && d.count ? number(d.count) : nil(); + return tuple(tup, type, count); +} function lenTest() { return 3; } function decTest(d) { - var r={}; r.tup = 'Test'; - r.type = d && d.v[1] ? decode(d.v[1]) : undefined; - r.count = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } + const r = {}; r.tup = 'Test'; + r.type = d && d.v[1] ? decode(d.v[1]) : undefined; + r.count = d && d.v[2] ? d.v[2].v : undefined; + return clean(r); +} diff --git a/src/assets/vendor/utils/recorder.js b/src/assets/vendor/utils/recorder.js index 0fcb6b3cab6fec39a990eeab05a522bbb0bbd1eb..89caafa71bb2001dd37ceb81071e37ace2a169d1 100644 --- a/src/assets/vendor/utils/recorder.js +++ b/src/assets/vendor/utils/recorder.js @@ -1,273 +1,273 @@ -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Recorder = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o { + let define, + module, + exports; return (function e(t, n, r) { function s(o, u) { if (!n[o]) { if (!t[o]) { const a = typeof require === 'function' && require; if (!u && a) return a(o, !0); if (i) return i(o, !0); const f = new Error(`Cannot find module '${o}'`); throw f.code = 'MODULE_NOT_FOUND', f; } const l = n[o] = { exports: {} }; t[o][0].call(l.exports, (e) => { const n = t[o][1][e]; return s(n || e); }, l, l.exports, e, t, n, r); } return n[o].exports; } var i = typeof require === 'function' && require; for (let o = 0; o < r.length; o++)s(r[o]); return s; }({ + 1: [function (require, module, exports) { + module.exports = require('./recorder').Recorder; + }, { './recorder': 2 }], + 2: [function (require, module, exports) { + const _createClass = (function () { + function defineProperties(target, props) { + for (let i = 0; i < props.length; i++) { + const descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); + } + } return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; + }; + }()); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Recorder = undefined; + Object.defineProperty(exports, '__esModule', { + value: true + }); + exports.Recorder = undefined; -var _inlineWorker = require('inline-worker'); + const _inlineWorker = require('inline-worker'); -var _inlineWorker2 = _interopRequireDefault(_inlineWorker); + const _inlineWorker2 = _interopRequireDefault(_inlineWorker); -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError('Cannot call a class as a function'); + } + } -var Recorder = exports.Recorder = (function () { - function Recorder(source, cfg) { - var _this = this; + const Recorder = exports.Recorder = (function () { + function Recorder(source, cfg) { + const _this = this; - _classCallCheck(this, Recorder); + _classCallCheck(this, Recorder); - this.config = { + this.config = { bufferLen: 4096, numChannels: 2, mimeType: 'audio/wav' - }; - this.recording = false; - this.callbacks = { + }; + this.recording = false; + this.callbacks = { getBuffer: [], exportWAV: [] - }; + }; - Object.assign(this.config, cfg); - this.context = source.context; - this.node = (this.context.createScriptProcessor || this.context.createJavaScriptNode).call(this.context, this.config.bufferLen, this.config.numChannels, this.config.numChannels); + Object.assign(this.config, cfg); + this.context = source.context; + this.node = (this.context.createScriptProcessor || this.context.createJavaScriptNode).call(this.context, this.config.bufferLen, this.config.numChannels, this.config.numChannels); - this.node.onaudioprocess = function (e) { + this.node.onaudioprocess = function (e) { if (!_this.recording) return; - var buffer = []; - for (var channel = 0; channel < _this.config.numChannels; channel++) { - buffer.push(e.inputBuffer.getChannelData(channel)); + const buffer = []; + for (let channel = 0; channel < _this.config.numChannels; channel++) { + buffer.push(e.inputBuffer.getChannelData(channel)); } _this.worker.postMessage({ - command: 'record', - buffer: buffer + command: 'record', + buffer }); - }; + }; - source.connect(this.node); - this.node.connect(this.context.destination); //this should not be necessary + source.connect(this.node); + this.node.connect(this.context.destination); // this should not be necessary - var self = {}; - this.worker = new _inlineWorker2.default(function () { - var recLength = 0, - recBuffers = [], - sampleRate = undefined, - numChannels = undefined; + const self = {}; + this.worker = new _inlineWorker2.default((() => { + let recLength = 0, + recBuffers = [], + sampleRate, + numChannels; self.onmessage = function (e) { - switch (e.data.command) { - case 'init': - init(e.data.config); - break; - case 'record': - record(e.data.buffer); - break; - case 'exportWAV': - exportWAV(e.data.type); - break; - case 'getBuffer': - getBuffer(); - break; - case 'clear': - clear(); - break; - } + switch (e.data.command) { + case 'init': + init(e.data.config); + break; + case 'record': + record(e.data.buffer); + break; + case 'exportWAV': + exportWAV(e.data.type); + break; + case 'getBuffer': + getBuffer(); + break; + case 'clear': + clear(); + break; + } }; function init(config) { - sampleRate = config.sampleRate; - numChannels = config.numChannels; - initBuffers(); + sampleRate = config.sampleRate; + numChannels = config.numChannels; + initBuffers(); } function record(inputBuffer) { - for (var channel = 0; channel < numChannels; channel++) { - recBuffers[channel].push(inputBuffer[channel]); - } - recLength += inputBuffer[0].length; + for (let channel = 0; channel < numChannels; channel++) { + recBuffers[channel].push(inputBuffer[channel]); + } + recLength += inputBuffer[0].length; } function exportWAV(type) { - var buffers = []; - for (var channel = 0; channel < numChannels; channel++) { - buffers.push(mergeBuffers(recBuffers[channel], recLength)); - } - var interleaved = undefined; - if (numChannels === 2) { - interleaved = interleave(buffers[0], buffers[1]); - } else { - interleaved = buffers[0]; - } - var dataview = encodeWAV(interleaved); - var audioBlob = new Blob([dataview], { type: type }); - - self.postMessage({ command: 'exportWAV', data: audioBlob }); + const buffers = []; + for (let channel = 0; channel < numChannels; channel++) { + buffers.push(mergeBuffers(recBuffers[channel], recLength)); + } + let interleaved; + if (numChannels === 2) { + interleaved = interleave(buffers[0], buffers[1]); + } else { + interleaved = buffers[0]; + } + const dataview = encodeWAV(interleaved); + const audioBlob = new Blob([dataview], { type }); + + self.postMessage({ command: 'exportWAV', data: audioBlob }); } function getBuffer() { - var buffers = []; - for (var channel = 0; channel < numChannels; channel++) { - buffers.push(mergeBuffers(recBuffers[channel], recLength)); - } - self.postMessage({ command: 'getBuffer', data: buffers }); + const buffers = []; + for (let channel = 0; channel < numChannels; channel++) { + buffers.push(mergeBuffers(recBuffers[channel], recLength)); + } + self.postMessage({ command: 'getBuffer', data: buffers }); } function clear() { - recLength = 0; - recBuffers = []; - initBuffers(); + recLength = 0; + recBuffers = []; + initBuffers(); } function initBuffers() { - for (var channel = 0; channel < numChannels; channel++) { - recBuffers[channel] = []; - } + for (let channel = 0; channel < numChannels; channel++) { + recBuffers[channel] = []; + } } function mergeBuffers(recBuffers, recLength) { - var result = new Float32Array(recLength); - var offset = 0; - for (var i = 0; i < recBuffers.length; i++) { - result.set(recBuffers[i], offset); - offset += recBuffers[i].length; - } - return result; + const result = new Float32Array(recLength); + let offset = 0; + for (let i = 0; i < recBuffers.length; i++) { + result.set(recBuffers[i], offset); + offset += recBuffers[i].length; + } + return result; } function interleave(inputL, inputR) { - var length = inputL.length + inputR.length; - var result = new Float32Array(length); - - var index = 0, - inputIndex = 0; - - while (index < length) { - result[index++] = inputL[inputIndex]; - result[index++] = inputR[inputIndex]; - inputIndex++; - } - return result; + const length = inputL.length + inputR.length; + const result = new Float32Array(length); + + let index = 0, + inputIndex = 0; + + while (index < length) { + result[index++] = inputL[inputIndex]; + result[index++] = inputR[inputIndex]; + inputIndex++; + } + return result; } function floatTo16BitPCM(output, offset, input) { - for (var i = 0; i < input.length; i++, offset += 2) { - var s = Math.max(-1, Math.min(1, input[i])); - output.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true); - } + for (let i = 0; i < input.length; i++, offset += 2) { + const s = Math.max(-1, Math.min(1, input[i])); + output.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true); + } } function writeString(view, offset, string) { - for (var i = 0; i < string.length; i++) { - view.setUint8(offset + i, string.charCodeAt(i)); - } + for (let i = 0; i < string.length; i++) { + view.setUint8(offset + i, string.charCodeAt(i)); + } } function encodeWAV(samples) { - var buffer = new ArrayBuffer(44 + samples.length * 2); - var view = new DataView(buffer); - - /* RIFF identifier */ - writeString(view, 0, 'RIFF'); - /* RIFF chunk length */ - view.setUint32(4, 36 + samples.length * 2, true); - /* RIFF type */ - writeString(view, 8, 'WAVE'); - /* format chunk identifier */ - writeString(view, 12, 'fmt '); - /* format chunk length */ - view.setUint32(16, 16, true); - /* sample format (raw) */ - view.setUint16(20, 1, true); - /* channel count */ - view.setUint16(22, numChannels, true); - /* sample rate */ - view.setUint32(24, sampleRate, true); - /* byte rate (sample rate * block align) */ - view.setUint32(28, sampleRate * 4, true); - /* block align (channel count * bytes per sample) */ - view.setUint16(32, numChannels * 2, true); - /* bits per sample */ - view.setUint16(34, 16, true); - /* data chunk identifier */ - writeString(view, 36, 'data'); - /* data chunk length */ - view.setUint32(40, samples.length * 2, true); - - floatTo16BitPCM(view, 44, samples); - - return view; + const buffer = new ArrayBuffer(44 + samples.length * 2); + const view = new DataView(buffer); + + /* RIFF identifier */ + writeString(view, 0, 'RIFF'); + /* RIFF chunk length */ + view.setUint32(4, 36 + samples.length * 2, true); + /* RIFF type */ + writeString(view, 8, 'WAVE'); + /* format chunk identifier */ + writeString(view, 12, 'fmt '); + /* format chunk length */ + view.setUint32(16, 16, true); + /* sample format (raw) */ + view.setUint16(20, 1, true); + /* channel count */ + view.setUint16(22, numChannels, true); + /* sample rate */ + view.setUint32(24, sampleRate, true); + /* byte rate (sample rate * block align) */ + view.setUint32(28, sampleRate * 4, true); + /* block align (channel count * bytes per sample) */ + view.setUint16(32, numChannels * 2, true); + /* bits per sample */ + view.setUint16(34, 16, true); + /* data chunk identifier */ + writeString(view, 36, 'data'); + /* data chunk length */ + view.setUint32(40, samples.length * 2, true); + + floatTo16BitPCM(view, 44, samples); + + return view; } - }, self); + }), self); - this.worker.postMessage({ + this.worker.postMessage({ command: 'init', config: { - sampleRate: this.context.sampleRate, - numChannels: this.config.numChannels + sampleRate: this.context.sampleRate, + numChannels: this.config.numChannels } - }); + }); - this.worker.onmessage = function (e) { - var cb = _this.callbacks[e.data.command].pop(); - if (typeof cb == 'function') { - cb(e.data.data); + this.worker.onmessage = function (e) { + const cb = _this.callbacks[e.data.command].pop(); + if (typeof cb === 'function') { + cb(e.data.data); } - }; - } + }; + } - _createClass(Recorder, [{ - key: 'record', - value: function record() { + _createClass(Recorder, [{ + key: 'record', + value: function record() { this.recording = true; - } - }, { - key: 'stop', - value: function stop() { + } + }, { + key: 'stop', + value: function stop() { this.recording = false; - } - }, { - key: 'clear', - value: function clear() { + } + }, { + key: 'clear', + value: function clear() { this.worker.postMessage({ command: 'clear' }); - } - }, { - key: 'getBuffer', - value: function getBuffer(cb) { + } + }, { + key: 'getBuffer', + value: function getBuffer(cb) { cb = cb || this.config.callback; if (!cb) throw new Error('Callback not set'); this.callbacks.getBuffer.push(cb); this.worker.postMessage({ command: 'getBuffer' }); - } - }, { - key: 'exportWAV', - value: function exportWAV(cb, mimeType) { + } + }, { + key: 'exportWAV', + value: function exportWAV(cb, mimeType) { mimeType = mimeType || this.config.mimeType; cb = cb || this.config.callback; if (!cb) throw new Error('Callback not set'); @@ -275,83 +275,81 @@ var Recorder = exports.Recorder = (function () { this.callbacks.exportWAV.push(cb); this.worker.postMessage({ - command: 'exportWAV', - type: mimeType + command: 'exportWAV', + type: mimeType }); - } - }], [{ - key: 'forceDownload', - value: function forceDownload(blob, filename) { - var url = (window.URL || window.webkitURL).createObjectURL(blob); - var link = window.document.createElement('a'); + } + }], [{ + key: 'forceDownload', + value: function forceDownload(blob, filename) { + const url = (window.URL || window.webkitURL).createObjectURL(blob); + const link = window.document.createElement('a'); link.href = url; link.download = filename || 'output.wav'; - var click = document.createEvent("Event"); - click.initEvent("click", true, true); + const click = document.createEvent('Event'); + click.initEvent('click', true, true); link.dispatchEvent(click); - } - }]); - - return Recorder; -})(); + } + }]); -exports.default = Recorder; + return Recorder; + }()); -},{"inline-worker":3}],3:[function(require,module,exports){ -"use strict"; + exports.default = Recorder; + }, { 'inline-worker': 3 }], + 3: [function (require, module, exports) { + module.exports = require('./inline-worker'); + }, { './inline-worker': 4 }], + 4: [function (require, module, exports) { + (function (global) { + const _createClass = (function () { function defineProperties(target, props) { for (const key in props) { const prop = props[key]; prop.configurable = true; if (prop.value) prop.writable = true; } Object.defineProperties(target, props); } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }()); -module.exports = require("./inline-worker"); -},{"./inline-worker":4}],4:[function(require,module,exports){ -(function (global){ -"use strict"; + const _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }; -var _createClass = (function () { function defineProperties(target, props) { for (var key in props) { var prop = props[key]; prop.configurable = true; if (prop.value) prop.writable = true; } Object.defineProperties(target, props); } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + const WORKER_ENABLED = !!(global === global.window && global.URL && global.Blob && global.Worker); -var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }; + const InlineWorker = (function () { + function InlineWorker(func, self) { + const _this = this; -var WORKER_ENABLED = !!(global === global.window && global.URL && global.Blob && global.Worker); + _classCallCheck(this, InlineWorker); -var InlineWorker = (function () { - function InlineWorker(func, self) { - var _this = this; + if (WORKER_ENABLED) { + const functionBody = func.toString().trim().match(/^function\s*\w*\s*\([\w\s,]*\)\s*{([\w\W]*?)}$/)[1]; + const url = global.URL.createObjectURL(new global.Blob([functionBody], { type: 'text/javascript' })); - _classCallCheck(this, InlineWorker); - - if (WORKER_ENABLED) { - var functionBody = func.toString().trim().match(/^function\s*\w*\s*\([\w\s,]*\)\s*{([\w\W]*?)}$/)[1]; - var url = global.URL.createObjectURL(new global.Blob([functionBody], { type: "text/javascript" })); - - return new global.Worker(url); - } + return new global.Worker(url); + } - this.self = self; - this.self.postMessage = function (data) { - setTimeout(function () { - _this.onmessage({ data: data }); - }, 0); - }; + this.self = self; + this.self.postMessage = function (data) { + setTimeout(() => { + _this.onmessage({ data }); + }, 0); + }; - setTimeout(function () { - func.call(self); - }, 0); - } + setTimeout(() => { + func.call(self); + }, 0); + } - _createClass(InlineWorker, { - postMessage: { - value: function postMessage(data) { - var _this = this; + _createClass(InlineWorker, { + postMessage: { + value: function postMessage(data) { + const _this = this; - setTimeout(function () { - _this.self.onmessage({ data: data }); - }, 0); - } - } - }); + setTimeout(() => { + _this.self.onmessage({ data }); + }, 0); + } + } + }); - return InlineWorker; -})(); + return InlineWorker; + }()); -module.exports = InlineWorker; -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}]},{},[1])(1) -}); \ No newline at end of file + module.exports = InlineWorker; + }).call(this, typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : {}); + }, {}] + }, {}, [1]))(1); +})); diff --git a/src/assets/vendor/utils/signin.js b/src/assets/vendor/utils/signin.js index 44f6ad0df92c4023207e02c08bb408a6a15a22ec..64d65a17c33d7dad7a9c76b94b5c2324105f92af 100644 --- a/src/assets/vendor/utils/signin.js +++ b/src/assets/vendor/utils/signin.js @@ -1,216 +1,230 @@ -var SignInWidget; +let SignInWidget; (function () { - var el, t, verifyAttempt = 0; - SignInWidget = { - settings: { - geoIpService: "//freegeoip.net/json/", - minNumberDigits: 10, - minCodeDigits: 6, - voiceLinkAfter: 3 + let el, + t, + verifyAttempt = 0; + SignInWidget = { + settings: { + geoIpService: '//freegeoip.net/json/', + minNumberDigits: 10, + minCodeDigits: 6, + voiceLinkAfter: 3 + }, + elements: { + countryData: [], + addressDropdown: '#country', + codeInput: '#code', + codeInput2: '#code2', + telRealInput: '#number', + telRealInput2: '#number2', + telInput: '#full-number', + verify: '#verify', + timerBlock: '#timer', + resendSms: '#resendSms', + voiceCall: '#voiceCall', + sendCodeBtn: '#sendCode', + sendVerifyBtn: '#verifyCode', + step: '#step', + stepClass: '.step' + }, + init() { + t = this; + el = this.elements; + + this.subscribe(); + this.initCountry(); + this.initCodePhone(); + this.bindUIActions(); + this.initElementMasks(); + }, + subscribe() { + GlobalWidget.subscribe('io.ok.sms_sent', this, this.smsSent); + GlobalWidget.subscribe('profile.init', GlobalWidget, GlobalWidget.setRosterId); + GlobalWidget.subscribe('roster.patch', this, this.toDashboard); + GlobalWidget.subscribe('io.ok2.login', this, this.login); + }, + initCodePhone() { + $(el.telInput).intlTelInput({ + allowDropdown: false, + initialCountry: 'auto', + geoIpLookup() { + $.get(t.settings.geoIpService, () => { + }, 'jsonp').always((resp) => { + const countryCode = (resp && resp.country_code) ? resp.country_code : ''; + $(el.telInput).intlTelInput('setCountry', countryCode.toLowerCase()); + }); }, - elements: { - countryData: [], - addressDropdown: '#country', - codeInput: '#code', - codeInput2: '#code2', - telRealInput: '#number', - telRealInput2: '#number2', - telInput: '#full-number', - verify: '#verify', - timerBlock: '#timer', - resendSms: '#resendSms', - voiceCall: '#voiceCall', - sendCodeBtn: '#sendCode', - sendVerifyBtn: '#verifyCode', - step: '#step', - stepClass: ".step" - }, - init: function () { - t = this; - el = this.elements; - - this.subscribe(); - this.initCountry(); - this.initCodePhone(); - this.bindUIActions(); - this.initElementMasks(); - }, - subscribe: function () { - GlobalWidget.subscribe('io.ok.sms_sent', this, this.smsSent); - GlobalWidget.subscribe('profile.init', GlobalWidget, GlobalWidget.setRosterId); - GlobalWidget.subscribe('roster.patch', this, this.toDashboard); - GlobalWidget.subscribe('io.ok2.login', this, this.login); - }, - initCodePhone: function () { - $(el.telInput).intlTelInput({ - allowDropdown: false, - initialCountry: "auto", - geoIpLookup: function () { - $.get(t.settings.geoIpService, function () { - }, "jsonp").always(function (resp) { - var countryCode = (resp && resp.country_code) ? resp.country_code : ""; - $(el.telInput).intlTelInput("setCountry", countryCode.toLowerCase()); - }); - }, - utilsScript: "../../build/js/utils.js" - }); - }, - initCountry: function () { - el.countryData = $.fn.intlTelInput.getCountryData(); - $.each(el.countryData, function (i, country) { - $(el.addressDropdown).append($("").attr("value", country.iso2).text(country.name)); - }); - - $(el.addressDropdown).val($(el.telInput).intlTelInput("getSelectedCountryData").iso2); - }, - initElementMasks: function () { - $(el.codeInput).mask('+0000', {placeholder: "+----"}); - $(el.telRealInput).mask('00 0000 0000', {placeholder: "-- ---- ----"}); - $(el.verify).mask('000 000', {placeholder: "--- ---"}); - }, - bindUIActions: function () { - $(el.telInput).on("countrychange", function (e, countryData) { - $(el.addressDropdown).val(countryData.iso2); - $(el.codeInput).val('+' + countryData.dialCode); - $(el.telRealInput).focus(); - }); - $(el.addressDropdown).on('change', function () { - $(el.telInput).intlTelInput("setCountry", $(this).val()); - }); - $(el.telRealInput).on('keyup', function () { - if ($(this).val().length > t.settings.minNumberDigits) { - $(el.sendCodeBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendCodeBtn).addClass('disabled').prop('disabled', true); - } - }).on('keypress', function (e) { - if (e.which == 13) { - $(el.sendCodeBtn).click(); - } - }); - $(el.verify).on('keyup', function () { - if ($(this).val().length > t.settings.minCodeDigits) { - $(el.sendVerifyBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendVerifyBtn).addClass('disabled').prop('disabled', true); - } - }).on('keypress', function (e) { - if (e.which == 13) { - $(el.sendVerifyBtn).click(); - } - }).on('focus', function () { - if (!$(el.timerBlock).hasClass('started')) { - if (verifyAttempt <= t.settings.voiceLinkAfter) { - $(el.timerBlock).addClass('started').timer([el.resendSms]); - verifyAttempt++; - } else { - $(el.timerBlock).addClass('started').timer([el.voiceCall]); - } - } - }); - - $(el.sendCodeBtn).on('click', function () { - var code = $(el.codeInput).val().replace("+", ""), - phone = $(el.telRealInput).val().split(" ").join(""); - - if (!$(this).hasClass('disabled') && code && phone) { - GlobalWidget.setPhoneCode("+" + code); - GlobalWidget.setPhone(phone); - $(el.codeInput2).val(GlobalWidget.getPhoneCode()); - $(el.telRealInput2).val(GlobalWidget.getPhone()); - - //1 - send sms - var msg = enc(encAuth({ - "type": "reg", "token": token(), "phone": GlobalWidget.getPhoneNumber(), - "client_id": client("reg_"), "dev_key": devKey() - })); - ws.send(msg); - } - }); - $(el.sendVerifyBtn).on('click', function () { - //2a - verify - var phone = GlobalWidget.getPhoneNumber(), - verifyCode = $(el.verify).val().split(" ").join(""), - msg = enc(encAuth({ - "type": "verify", "phone": phone, "token": token(), - "dev_key": devKey(), "sms_code": verifyCode - })); - ws.send(msg); - }); - $(el.resendSms).on('click', function (e) { - e.preventDefault(); - - $(el.timerMsg).removeClass('hidden'); - $(el.resendSms).addClass('hidden'); - $(el.timerBlock).removeClass('started'); - $(el.verify).val('').focus(); - - //2b - resend code - var msg = enc(encAuth({ - "type": "resend", "token": token(), "phone": GlobalWidget.getPhoneNumber(), - "client_id": client("reg_"), "dev_key": devKey() - })); - ws.send(msg); - }); - $(el.voiceCall).on('click', function (e) { - e.preventDefault(); - - $(el.timerMsg).removeClass('hidden'); - $(el.resendSms).addClass('hidden'); - $(el.timerBlock).removeClass('started'); - $(el.verify).val('').focus(); - - //2c - get code via voice call - var msg = enc(encAuth({ - "type": "voice", "token": token(), "phone": GlobalWidget.getPhoneNumber(), - "client_id": client("reg_"), "dev_key": devKey(), "services": ["ua"] - })); - ws.send(msg); - }); - - }, - nextStep: function (nextStep) { - var curStep = Number(nextStep) - 1; - localStorage.setItem('currentStep', nextStep); - - $(el.step + curStep).addClass("disabled completed").removeClass("active"); - $(el.step + nextStep).addClass("active").removeClass("disabled"); - - if (nextStep == 2) { - $(el.verify).focus(); - } - }, - smsSent: function () { - $(el.codeInput2).val(GlobalWidget.getPhoneCode()); - $(el.telRealInput2).val(GlobalWidget.getPhone()); - t.nextStep(2); - }, - login: function (res) { - if (res.code.src) { - console.log(res.code.src); - localStorage.setItem("client", res.code.src[0]); - localStorage.setItem("token", res.code.src[1]); - localStorage.removeItem('currentStep'); - - //3a. close "reg" connection - mqtt_close(); - - setTimeout(function () { - //3b. connect with gotten token - mqttOptions.password = token(); - mqttOptions.cleanSession = false; - delete mqttOptions.mqttVersion; - delete mqttOptions.mqttVersionExplicit; - - mqtt_open(mqttOptions); - }, 200); - } - }, - toDashboard: function (res) { - localStorage.removeItem('currentStep'); - location.replace("/web/dashboard.htm"); + utilsScript: '../../build/js/utils.js' + }); + }, + initCountry() { + el.countryData = $.fn.intlTelInput.getCountryData(); + $.each(el.countryData, (i, country) => { + $(el.addressDropdown).append($('').attr('value', country.iso2).text(country.name)); + }); + + $(el.addressDropdown).val($(el.telInput).intlTelInput('getSelectedCountryData').iso2); + }, + initElementMasks() { + $(el.codeInput).mask('+0000', { placeholder: '+----' }); + $(el.telRealInput).mask('00 0000 0000', { placeholder: '-- ---- ----' }); + $(el.verify).mask('000 000', { placeholder: '--- ---' }); + }, + bindUIActions() { + $(el.telInput).on('countrychange', (e, countryData) => { + $(el.addressDropdown).val(countryData.iso2); + $(el.codeInput).val(`+${countryData.dialCode}`); + $(el.telRealInput).focus(); + }); + $(el.addressDropdown).on('change', function () { + $(el.telInput).intlTelInput('setCountry', $(this).val()); + }); + $(el.telRealInput).on('keyup', function () { + if ($(this).val().length > t.settings.minNumberDigits) { + $(el.sendCodeBtn).removeClass('disabled').prop('disabled', false); + } else { + $(el.sendCodeBtn).addClass('disabled').prop('disabled', true); + } + }).on('keypress', (e) => { + if (e.which == 13) { + $(el.sendCodeBtn).click(); + } + }); + $(el.verify).on('keyup', function () { + if ($(this).val().length > t.settings.minCodeDigits) { + $(el.sendVerifyBtn).removeClass('disabled').prop('disabled', false); + } else { + $(el.sendVerifyBtn).addClass('disabled').prop('disabled', true); + } + }).on('keypress', (e) => { + if (e.which == 13) { + $(el.sendVerifyBtn).click(); + } + }).on('focus', () => { + if (!$(el.timerBlock).hasClass('started')) { + if (verifyAttempt <= t.settings.voiceLinkAfter) { + $(el.timerBlock).addClass('started').timer([el.resendSms]); + verifyAttempt++; + } else { + $(el.timerBlock).addClass('started').timer([el.voiceCall]); + } + } + }); + + $(el.sendCodeBtn).on('click', function () { + let code = $(el.codeInput).val().replace('+', ''), + phone = $(el.telRealInput).val().split(' ').join(''); + + if (!$(this).hasClass('disabled') && code && phone) { + GlobalWidget.setPhoneCode(`+${code}`); + GlobalWidget.setPhone(phone); + $(el.codeInput2).val(GlobalWidget.getPhoneCode()); + $(el.telRealInput2).val(GlobalWidget.getPhone()); + + // 1 - send sms + const msg = enc(encAuth({ + type: 'reg', + token: token(), + phone: GlobalWidget.getPhoneNumber(), + client_id: client('reg_'), + dev_key: devKey() + })); + ws.send(msg); } - }; - SignInWidget.init(); -})(); + }); + $(el.sendVerifyBtn).on('click', () => { + // 2a - verify + let phone = GlobalWidget.getPhoneNumber(), + verifyCode = $(el.verify).val().split(' ').join(''), + msg = enc(encAuth({ + type: 'verify', + phone, + token: token(), + dev_key: devKey(), + sms_code: verifyCode + })); + ws.send(msg); + }); + $(el.resendSms).on('click', (e) => { + e.preventDefault(); + + $(el.timerMsg).removeClass('hidden'); + $(el.resendSms).addClass('hidden'); + $(el.timerBlock).removeClass('started'); + $(el.verify).val('').focus(); + + // 2b - resend code + const msg = enc(encAuth({ + type: 'resend', + token: token(), + phone: GlobalWidget.getPhoneNumber(), + client_id: client('reg_'), + dev_key: devKey() + })); + ws.send(msg); + }); + $(el.voiceCall).on('click', (e) => { + e.preventDefault(); + + $(el.timerMsg).removeClass('hidden'); + $(el.resendSms).addClass('hidden'); + $(el.timerBlock).removeClass('started'); + $(el.verify).val('').focus(); + + // 2c - get code via voice call + const msg = enc(encAuth({ + type: 'voice', + token: token(), + phone: GlobalWidget.getPhoneNumber(), + client_id: client('reg_'), + dev_key: devKey(), + services: ['ua'] + })); + ws.send(msg); + }); + }, + nextStep(nextStep) { + const curStep = Number(nextStep) - 1; + localStorage.setItem('currentStep', nextStep); + + $(el.step + curStep).addClass('disabled completed').removeClass('active'); + $(el.step + nextStep).addClass('active').removeClass('disabled'); + + if (nextStep == 2) { + $(el.verify).focus(); + } + }, + smsSent() { + $(el.codeInput2).val(GlobalWidget.getPhoneCode()); + $(el.telRealInput2).val(GlobalWidget.getPhone()); + t.nextStep(2); + }, + login(res) { + if (res.code.src) { + console.log(res.code.src); + localStorage.setItem('client', res.code.src[0]); + localStorage.setItem('token', res.code.src[1]); + localStorage.removeItem('currentStep'); + + // 3a. close "reg" connection + mqtt_close(); + + setTimeout(() => { + // 3b. connect with gotten token + mqttOptions.password = token(); + mqttOptions.cleanSession = false; + delete mqttOptions.mqttVersion; + delete mqttOptions.mqttVersionExplicit; + + mqtt_open(mqttOptions); + }, 200); + } + }, + toDashboard(res) { + localStorage.removeItem('currentStep'); + location.replace('/web/dashboard.htm'); + } + }; + SignInWidget.init(); +}()); diff --git a/src/assets/vendor/utils/signup.js b/src/assets/vendor/utils/signup.js index f7dcde50210d5f8abbc54ada5308f7c3522944fd..60b1fa9f243a67218481c861504f30a62c16d920 100644 --- a/src/assets/vendor/utils/signup.js +++ b/src/assets/vendor/utils/signup.js @@ -1,353 +1,367 @@ -var SignUpWidget; +let SignUpWidget; (function () { - var el, t, com, verifyAttempt = 0; - SignUpWidget = { - settings: { - geoIpService: "//freegeoip.net/json/", - minNumberDigits: 10, - minCodeDigits: 6, - voiceLinkAfter: 3 - }, - elements: { - countryData: [], - addressDropdown: '#country', - codeInput: '#code', - codeInput2: '#code2', - telRealInput: '#number', - telRealInput2: '#number2', - telInput: '#full-number', - verify: '#verify', - timerBlock: '#timer', - timerMsg: '#timerMsg', - resendSms: '#resendSms', - voiceCall: '#voiceCall', - first_name: "#first_name", - last_name: "#last_name", - sendCodeBtn: '#sendCode', - sendVerifyBtn: '#verifyCode', - doneBtn: '#doneBtn', - step: '#step', - stepClass: ".step", - termsLink: '.terms', - popup: '.n-popup', - popupText: '.n-text', - overlay: '.overlay', - close: '.close', - logo: '#logo' - }, - init: function () { - t = this; - el = this.elements; - com = this.components; - this.subscribe(); - this.initCurrentStep(); - this.initCountry(); - this.initCodePhone(); - this.bindUIActions(); - this.initElementMasks(); - }, - subscribe: function () { - GlobalWidget.subscribe('profile.init', GlobalWidget, GlobalWidget.setRosterId); - GlobalWidget.subscribe('roster.patch', this, this.toDashboard); - GlobalWidget.subscribe('io.ok.sms_sent', this, this.smsSent); - GlobalWidget.subscribe('io.ok2.login', this, this.login); - }, - initCurrentStep: function () { - if (t.getRosterId()) { - location.replace('/web/dashboard.htm'); + let el, + t, + com, + verifyAttempt = 0; + SignUpWidget = { + settings: { + geoIpService: '//freegeoip.net/json/', + minNumberDigits: 10, + minCodeDigits: 6, + voiceLinkAfter: 3 + }, + elements: { + countryData: [], + addressDropdown: '#country', + codeInput: '#code', + codeInput2: '#code2', + telRealInput: '#number', + telRealInput2: '#number2', + telInput: '#full-number', + verify: '#verify', + timerBlock: '#timer', + timerMsg: '#timerMsg', + resendSms: '#resendSms', + voiceCall: '#voiceCall', + first_name: '#first_name', + last_name: '#last_name', + sendCodeBtn: '#sendCode', + sendVerifyBtn: '#verifyCode', + doneBtn: '#doneBtn', + step: '#step', + stepClass: '.step', + termsLink: '.terms', + popup: '.n-popup', + popupText: '.n-text', + overlay: '.overlay', + close: '.close', + logo: '#logo' + }, + init() { + t = this; + el = this.elements; + com = this.components; + this.subscribe(); + this.initCurrentStep(); + this.initCountry(); + this.initCodePhone(); + this.bindUIActions(); + this.initElementMasks(); + }, + subscribe() { + GlobalWidget.subscribe('profile.init', GlobalWidget, GlobalWidget.setRosterId); + GlobalWidget.subscribe('roster.patch', this, this.toDashboard); + GlobalWidget.subscribe('io.ok.sms_sent', this, this.smsSent); + GlobalWidget.subscribe('io.ok2.login', this, this.login); + }, + initCurrentStep() { + if (t.getRosterId()) { + location.replace('/web/dashboard.htm'); + } + }, + initCodePhone() { + const countries = []; + $(el.telInput).intlTelInput({ + allowDropdown: false, + initialCountry: 'auto', + geoIpLookup() { + $.get(t.settings.geoIpService, () => { + }, 'jsonp').always((resp) => { + const countryCode = (resp && resp.country_code) ? resp.country_code.toLowerCase() : ''; + if (countryCode) { + SignUpWidget.setCountryMask(countryCode); } - }, - initCodePhone: function () { - var countries = []; - $(el.telInput).intlTelInput({ - allowDropdown: false, - initialCountry: "auto", - geoIpLookup: function () { - $.get(t.settings.geoIpService, function () { - }, "jsonp").always(function (resp) { - var countryCode = (resp && resp.country_code) ? resp.country_code.toLowerCase() : ""; - if (countryCode) { - SignUpWidget.setCountryMask(countryCode); - } - var countries = []; - $.each($.fn.intlTelInput.getCountryData(), function(key, item) { - typeof item === "object" ? countries.push(item) : null; + const countries = []; + $.each($.fn.intlTelInput.getCountryData(), (key, item) => { + typeof item === 'object' ? countries.push(item) : null; - if(item.iso2 === countryCode) { - Provider.registerInstance("current_country", item); - populateUI(item); - } - }); - Provider.registerInstance("countries", countries); - }); - - function populateUI(data) { - var searchCountry = com.country_search; - $(searchCountry.type + searchCountry.alias).val(searchCountry.data.escape(data.name)); - $(el.codeInput).val("+" + data.dialCode); - $(el.telInput).val(data.name); - } - }, + if (item.iso2 === countryCode) { + Provider.registerInstance('current_country', item); + populateUI(item); + } }); - }, - initCountry: function () { - el.countryData = $.fn.intlTelInput.getCountryData(); - var countries = el.countryData; - render(el.countryData); - $('#country-search').on('keyup', function(evt) { - var keyCodes = Provider.getInstance('key_codes'); - $('.countries-dropdown-wrapper').addClass('active'); + Provider.registerInstance('countries', countries); + }); - evt.keyCode !== keyCodes.up.code && evt.keyCode !== keyCodes.down.code - ? rerender($(this).val()) - : null; - }); + function populateUI(data) { + const searchCountry = com.country_search; + $(searchCountry.type + searchCountry.alias).val(searchCountry.data.escape(data.name)); + $(el.codeInput).val(`+${data.dialCode}`); + $(el.telInput).val(data.name); + } + } + }); + }, + initCountry() { + el.countryData = $.fn.intlTelInput.getCountryData(); + let countries = el.countryData; + render(el.countryData); + $('#country-search').on('keyup', function (evt) { + const keyCodes = Provider.getInstance('key_codes'); + $('.countries-dropdown-wrapper').addClass('active'); - function filterCountries(input) { - var reg = new RegExp(input.split('').join('\\w*').replace(/\W/, ""), 'i'); - !input ? countries = el.countryData : null; - return countries.filter(function(country) { - if (typeof country === 'object' - && "name" in country - && country.name.match(reg)) { - return country; - } - }); - } + evt.keyCode !== keyCodes.up.code && evt.keyCode !== keyCodes.down.code + ? rerender($(this).val()) + : null; + }); - function rerender(val) { - countries = filterCountries(val); - render(countries); - } + function filterCountries(input) { + const reg = new RegExp(input.split('').join('\\w*').replace(/\W/, ''), 'i'); + !input ? countries = el.countryData : null; + return countries.filter((country) => { + if (typeof country === 'object' + && 'name' in country + && country.name.match(reg)) { + return country; + } + }); + } - function render() { - $(el.addressDropdown).html(""); - $.each(countries, function (i, country) { - var listItem = "
  • "; - if(country.iso2 === Provider.getMutable("selected_id")) { - listItem = "
  • "; - } - $(el.addressDropdown) - .append($(listItem) - .attr("id", country.iso2) - .attr("data-code", country.dialCode) - .text(country.name.toUpperCase())); - countries.push(country.name); - }); - } + function rerender(val) { + countries = filterCountries(val); + render(countries); + } - }, - initElementMasks: function () { - $(el.codeInput).mask('+0000', {placeholder: "+————"}); - $(el.verify).mask('000000', {placeholder: "——————"}); - }, - setCountryMask: function(iso) { - /** + function render() { + $(el.addressDropdown).html(''); + $.each(countries, (i, country) => { + let listItem = '
  • '; + if (country.iso2 === Provider.getMutable('selected_id')) { + listItem = "
  • "; + } + $(el.addressDropdown) + .append($(listItem) + .attr('id', country.iso2) + .attr('data-code', country.dialCode) + .text(country.name.toUpperCase())); + countries.push(country.name); + }); + } + }, + initElementMasks() { + $(el.codeInput).mask('+0000', { placeholder: '+————' }); + $(el.verify).mask('000000', { placeholder: '——————' }); + }, + setCountryMask(iso) { + /** * number format: E164: 0, INTERNATIONAL: 1, NATIONAL: 2, RFC3966: 3 * number type: FIXED_LINE: 0, MOBILE: 1, FIXED_LINE_OR_MOBILE: 2, TOLL_FREE: 3, PREMIUM_RATE: 4 ... */ - var maskExample = intlTelInputUtils.getExampleNumber(iso, 1, 1); - var maskPattern = maskExample.replace( /\d/g, "0" ); - var maskPlaceholder = maskPattern.replace( /0/g, "—" ); - t.settings.minNumberDigits = (maskPlaceholder.replace(/[ , (, )]/g, "").length - 1); - $(el.telRealInput).mask(maskPattern, {placeholder: maskPlaceholder}); - }, - bindUIActions: function () { - $(el.logo).on('click', function () { - location.replace('/web/welcome.htm'); - }); - $(el.termsLink).on('click', function (e) { - e.preventDefault(); - $(el.popupText).load('/web/terms.htm'); - $(el.popup).removeClass('hidden'); - $(el.overlay).removeClass('hidden'); - }); - $(el.overlay + ', ' + el.close).on('click', function () { - $(el.popupText).html(''); - $(el.popup).addClass('hidden'); - $(el.overlay).addClass('hidden'); - }); - $(el.telInput).on("countrychange", function (e, countryData) { - $(el.addressDropdown).val(countryData.iso2); - $(el.codeInput).val('+' + countryData.dialCode); - $(el.telRealInput).focus(); - SignUpWidget.setCountryMask(countryData.iso2); - }); - $(el.addressDropdown).on('change', function () { - $(el.telInput).intlTelInput("setCountry", $(this).val()); - }); - $(el.telRealInput).on('keyup', function () { - if ($(this).val().length > t.settings.minNumberDigits) { - $(el.sendCodeBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendCodeBtn).addClass('disabled').prop('disabled', true); - } - }).on('keypress', function (e) { - if (e.which == 13) { - $(el.sendCodeBtn).click(); - } - }); - $(el.verify).on('keyup', function () { - if ($(this).val().length >= t.settings.minCodeDigits) { - $(el.sendVerifyBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.sendVerifyBtn).addClass('disabled').prop('disabled', true); - } - }).on('keypress', function (e) { - if (e.which == 13) { - $(el.sendVerifyBtn).click(); - } - }).on('focus', function () { - t.startTimer(); - }); - $(el.sendCodeBtn).on('click', function () { - var code = $(el.codeInput).val().replace("+", ""), - phone = $(el.telRealInput).val().split(" ").join(""); - - if (!$(this).hasClass('disabled') && code && phone) { - GlobalWidget.setPhoneCode("+" + code); - GlobalWidget.setPhone(phone); - $(el.codeInput2).val(GlobalWidget.getPhoneCode()); - $(el.telRealInput2).val(GlobalWidget.getPhone()); + const maskExample = intlTelInputUtils.getExampleNumber(iso, 1, 1); + const maskPattern = maskExample.replace(/\d/g, '0'); + const maskPlaceholder = maskPattern.replace(/0/g, '—'); + t.settings.minNumberDigits = (maskPlaceholder.replace(/[ , (, )]/g, '').length - 1); + $(el.telRealInput).mask(maskPattern, { placeholder: maskPlaceholder }); + }, + bindUIActions() { + $(el.logo).on('click', () => { + location.replace('/web/welcome.htm'); + }); + $(el.termsLink).on('click', (e) => { + e.preventDefault(); + $(el.popupText).load('/web/terms.htm'); + $(el.popup).removeClass('hidden'); + $(el.overlay).removeClass('hidden'); + }); + $(`${el.overlay}, ${el.close}`).on('click', () => { + $(el.popupText).html(''); + $(el.popup).addClass('hidden'); + $(el.overlay).addClass('hidden'); + }); + $(el.telInput).on('countrychange', (e, countryData) => { + $(el.addressDropdown).val(countryData.iso2); + $(el.codeInput).val(`+${countryData.dialCode}`); + $(el.telRealInput).focus(); + SignUpWidget.setCountryMask(countryData.iso2); + }); + $(el.addressDropdown).on('change', function () { + $(el.telInput).intlTelInput('setCountry', $(this).val()); + }); + $(el.telRealInput).on('keyup', function () { + if ($(this).val().length > t.settings.minNumberDigits) { + $(el.sendCodeBtn).removeClass('disabled').prop('disabled', false); + } else { + $(el.sendCodeBtn).addClass('disabled').prop('disabled', true); + } + }).on('keypress', (e) => { + if (e.which == 13) { + $(el.sendCodeBtn).click(); + } + }); + $(el.verify).on('keyup', function () { + if ($(this).val().length >= t.settings.minCodeDigits) { + $(el.sendVerifyBtn).removeClass('disabled').prop('disabled', false); + } else { + $(el.sendVerifyBtn).addClass('disabled').prop('disabled', true); + } + }).on('keypress', (e) => { + if (e.which == 13) { + $(el.sendVerifyBtn).click(); + } + }).on('focus', () => { + t.startTimer(); + }); + $(el.sendCodeBtn).on('click', function () { + let code = $(el.codeInput).val().replace('+', ''), + phone = $(el.telRealInput).val().split(' ').join(''); - //1 - send sms - var msg = enc(encAuth({ - "type": "reg", "token": "", "phone": GlobalWidget.getPhoneNumber(), - "client_id": client("reg_"), "dev_key": devKey() - })); - ws.send(msg); - } - }); - $(el.sendVerifyBtn).on('click', function () { - //2a - verify - var phone = GlobalWidget.getPhoneNumber(), - verifyCode = $(el.verify).val().split(" ").join(""), - msg = enc(encAuth({ - "type": "verify", "phone": phone, "token": token(), - "dev_key": devKey(), "sms_code": verifyCode - })); - ws.send(msg); - }); - $(el.resendSms).on('click', function (e) { - e.preventDefault(); + if (!$(this).hasClass('disabled') && code && phone) { + GlobalWidget.setPhoneCode(`+${code}`); + GlobalWidget.setPhone(phone); + $(el.codeInput2).val(GlobalWidget.getPhoneCode()); + $(el.telRealInput2).val(GlobalWidget.getPhone()); - $(el.timerMsg).removeClass('hidden'); - $(el.resendSms).addClass('hidden'); - $(el.timerBlock).removeClass('started'); - $(el.verify).val('').focus(); + // 1 - send sms + const msg = enc(encAuth({ + type: 'reg', + token: '', + phone: GlobalWidget.getPhoneNumber(), + client_id: client('reg_'), + dev_key: devKey() + })); + ws.send(msg); + } + }); + $(el.sendVerifyBtn).on('click', () => { + // 2a - verify + let phone = GlobalWidget.getPhoneNumber(), + verifyCode = $(el.verify).val().split(' ').join(''), + msg = enc(encAuth({ + type: 'verify', + phone, + token: token(), + dev_key: devKey(), + sms_code: verifyCode + })); + ws.send(msg); + }); + $(el.resendSms).on('click', (e) => { + e.preventDefault(); - //2b - resend code - var msg = enc(encAuth({ - "type": "resend", "token": token(), "phone": GlobalWidget.getPhoneNumber(), - "client_id": client("reg_"), "dev_key": devKey() - })); - ws.send(msg); - }); - $(el.voiceCall).on('click', function (e) { - e.preventDefault(); + $(el.timerMsg).removeClass('hidden'); + $(el.resendSms).addClass('hidden'); + $(el.timerBlock).removeClass('started'); + $(el.verify).val('').focus(); - $(el.timerMsg).removeClass('hidden'); - $(el.resendSms).addClass('hidden'); - $(el.timerBlock).removeClass('started'); - $(el.verify).val('').focus(); + // 2b - resend code + const msg = enc(encAuth({ + type: 'resend', + token: token(), + phone: GlobalWidget.getPhoneNumber(), + client_id: client('reg_'), + dev_key: devKey() + })); + ws.send(msg); + }); + $(el.voiceCall).on('click', (e) => { + e.preventDefault(); - //2c - get code via voice call - var msg = enc(encAuth({ - "type": "voice", "token": token(), "phone": GlobalWidget.getPhoneNumber(), - "client_id": client("reg_"), "dev_key": devKey(), "services": ["ua"] - })); - ws.send(msg); - }); - $(el.first_name + "," + el.last_name).on('keyup', function () { - if ($(el.first_name).val().length) { - $(el.doneBtn).removeClass('disabled').prop('disabled', false); - } else { - $(el.doneBtn).addClass('disabled').prop('disabled', true); - } - }).on('keypress', function (e) { - if (e.which == 13) { - $(el.doneBtn).click(); - } - }); - $(el.doneBtn).click(function () { - var f = $(el.first_name).val(), - l = $(el.last_name).val(); + $(el.timerMsg).removeClass('hidden'); + $(el.resendSms).addClass('hidden'); + $(el.timerBlock).removeClass('started'); + $(el.verify).val('').focus(); - if (f) { - //4. update roster - var msg = enc(encRoster({ - "id": t.getRosterId(), - "names": f, - "surnames": l, - "phone": GlobalWidget.getPhoneNumber(), - "status": "patch" - })); - ws.send(msg); - } - }); - }, - startTimer: function () { - if (!$(el.timerBlock).hasClass('started')) { - if (verifyAttempt <= t.settings.voiceLinkAfter) { - $(el.timerBlock).addClass('started').timer([el.resendSms]); - verifyAttempt++; - } else { - $(el.timerBlock).addClass('started').timer([el.voiceCall]); - } - } - }, - currentStep: function () { - return localStorage.getItem('currentStep'); - }, - nextStep: function (nextStep) { - var curStep = Number(nextStep) - 1; - localStorage.setItem('currentStep', nextStep); + // 2c - get code via voice call + const msg = enc(encAuth({ + type: 'voice', + token: token(), + phone: GlobalWidget.getPhoneNumber(), + client_id: client('reg_'), + dev_key: devKey(), + services: ['ua'] + })); + ws.send(msg); + }); + $(`${el.first_name},${el.last_name}`).on('keyup', () => { + if ($(el.first_name).val().length) { + $(el.doneBtn).removeClass('disabled').prop('disabled', false); + } else { + $(el.doneBtn).addClass('disabled').prop('disabled', true); + } + }).on('keypress', (e) => { + if (e.which == 13) { + $(el.doneBtn).click(); + } + }); + $(el.doneBtn).click(() => { + let f = $(el.first_name).val(), + l = $(el.last_name).val(); - $(el.step + curStep).addClass("disabled completed hidden"); - $(el.step + nextStep).addClass("active").removeClass("disabled hidden"); + if (f) { + // 4. update roster + const msg = enc(encRoster({ + id: t.getRosterId(), + names: f, + surnames: l, + phone: GlobalWidget.getPhoneNumber(), + status: 'patch' + })); + ws.send(msg); + } + }); + }, + startTimer() { + if (!$(el.timerBlock).hasClass('started')) { + if (verifyAttempt <= t.settings.voiceLinkAfter) { + $(el.timerBlock).addClass('started').timer([el.resendSms]); + verifyAttempt++; + } else { + $(el.timerBlock).addClass('started').timer([el.voiceCall]); + } + } + }, + currentStep() { + return localStorage.getItem('currentStep'); + }, + nextStep(nextStep) { + const curStep = Number(nextStep) - 1; + localStorage.setItem('currentStep', nextStep); - if (nextStep == 2) { - $(el.verify).focus(); - } - }, - getRosterId: function () { - //@TODO: need to remove this function - return localStorage.getItem('rosterId'); - }, - smsSent: function () { - t.nextStep(2); - }, - login: function (res) { - if (typeof res.code.src != "undefined") { - localStorage.setItem("client", res.code.src[0]); - localStorage.setItem("token", res.code.src[1]); - localStorage.removeItem('currentStep'); + $(el.step + curStep).addClass('disabled completed hidden'); + $(el.step + nextStep).addClass('active').removeClass('disabled hidden'); - //3a. close "reg" connection - mqtt_close(); + if (nextStep == 2) { + $(el.verify).focus(); + } + }, + getRosterId() { + // @TODO: need to remove this function + return localStorage.getItem('rosterId'); + }, + smsSent() { + t.nextStep(2); + }, + login(res) { + if (typeof res.code.src !== 'undefined') { + localStorage.setItem('client', res.code.src[0]); + localStorage.setItem('token', res.code.src[1]); + localStorage.removeItem('currentStep'); - setTimeout(function () { - //3b. connect with gotten token - mqttOptions.password = token(); - mqttOptions.cleanSession = false; - delete mqttOptions.mqttVersion; - delete mqttOptions.mqttVersionExplicit; - mqtt_open(mqttOptions); + // 3a. close "reg" connection + mqtt_close(); - SignUpWidget.nextStep(3); - }, 200); - } - }, - toDashboard: function (res) { - location.replace("/web/dashboard.htm"); - } - }; + setTimeout(() => { + // 3b. connect with gotten token + mqttOptions.password = token(); + mqttOptions.cleanSession = false; + delete mqttOptions.mqttVersion; + delete mqttOptions.mqttVersionExplicit; + mqtt_open(mqttOptions); - $(document).ready(function () { - SignUpWidget.components = Provider.getInstance("components") - SignUpWidget.init(); - }); + SignUpWidget.nextStep(3); + }, 200); + } + }, + toDashboard(res) { + location.replace('/web/dashboard.htm'); + } + }; -})(); + $(document).ready(() => { + SignUpWidget.components = Provider.getInstance('components'); + SignUpWidget.init(); + }); +}()); diff --git a/src/assets/vendor/utils/spa_mq.js b/src/assets/vendor/utils/spa_mq.js index df171ba459d45ed9a1bddfe83e3801f48369ff1d..47a76ad231b141bc113b667ec0b1652066a2cc9e 100644 --- a/src/assets/vendor/utils/spa_mq.js +++ b/src/assets/vendor/utils/spa_mq.js @@ -1,122 +1,123 @@ - var mqtt = '', - nodes = 4, - mqttOptions = { - timeout: 2, - userName: "api", - password: token(), - cleanSession: true, - onFailure: function (m) { - console.log("%cClient{%s, %s} - connection to backend failed: %s", "color:red", client(), token(), m.errorMessage); - }, - onSuccess: function () { - console.log("%cClient{%s, %s} - connected to backend", "color:green", client(), token()); - } +let mqtt = '', + nodes = 4, + mqttOptions = { + timeout: 2, + userName: 'api', + password: token(), + cleanSession: true, + onFailure(m) { + console.log('%cClient{%s, %s} - connection to backend failed: %s', 'color:red', client(), token(), m.errorMessage); }, - ws = { - send: function (payload, qos) { - var message = new Paho.MQTT.Message(payload); - message.destinationName = topic("events"); - message.qos = qos || 2; - binPayload(payload); - - if (!mqtt.isConnected()) { - //@TODO: check this reconnect - //console.log('MQTT Reconnect') - //mqtt_open(mqttOptions); - } - mqtt.send(message); - } - }; + onSuccess() { + console.log('%cClient{%s, %s} - connected to backend', 'color:green', client(), token()); + } + }, + ws = { + send(payload, qos) { + const message = new Paho.MQTT.Message(payload); + message.destinationName = topic('events'); + message.qos = qos || 2; + binPayload(payload); + + if (!mqtt.isConnected()) { + // @TODO: check this reconnect + // console.log('MQTT Reconnect') + // mqtt_open(mqttOptions); + } + mqtt.send(message); + } + }; function gen_client() { - return Math.random().toString(36).substring(2) + (new Date()).getTime().toString(36); + return Math.random().toString(36).substring(2) + (new Date()).getTime().toString(36); } function client(prefix) { - var prefix = prefix || "emqttd_"; - var c = localStorage.getItem("client"); - var d = devKey() || gen_client(); - if (null == c) { - c = prefix + d; - } - localStorage.setItem("client", c); - localStorage.setItem("devKey", d); - return c; + var prefix = prefix || 'emqttd_'; + let c = localStorage.getItem('client'); + const d = devKey() || gen_client(); + if (c == null) { + c = prefix + d; + } + localStorage.setItem('client', c); + localStorage.setItem('devKey', d); + return c; } function token() { - return localStorage.getItem("token") || ''; + return localStorage.getItem('token') || ''; } function devKey() { - return localStorage.getItem("devKey") || ''; + return localStorage.getItem('devKey') || ''; } function vsn() { - return 1; + return 1; } function topic(prefix) { - return prefix + "/" + vsn() + "/" + rnd() + "/api/anon/" + client("reg_") + "/" + token(); + return `${prefix}/${vsn()}/${rnd()}/api/anon/${client('reg_')}/${token()}`; } function rnd() { - return Math.floor((Math.random() * nodes) + 1); + return Math.floor((Math.random() * nodes) + 1); } function binMsg(BERT) { - var mas = new Uint8Array(BERT); - var s = "<< rp(binary_to_term(<<"; - for (var i =0; i 0) { - timerId = setTimeout(counter, 1000); - } else { - el.parent().addClass('hidden'), - $.each(show_elements, function(k,v){ - $(v).removeClass('hidden'); - }); - el.text(start_value), - clearTimeout(timerId); - } - }, 1000); - }; -})(jQuery); \ No newline at end of file + el.text(new_value); + if (new_value > 0) { + timerId = setTimeout(counter, 1000); + } else { + el.parent().addClass('hidden'), + $.each(show_elements, (k, v) => { + $(v).removeClass('hidden'); + }); + el.text(start_value), + clearTimeout(timerId); + } + }, 1000); + }; +}(jQuery)); diff --git a/src/assets/vendor/utils/voximplant.js b/src/assets/vendor/utils/voximplant.js index df9764fcc83acfd33957d94b24f8914222d591b5..bd5083a173e29c012403fccf8b560beb12743d9a 100644 --- a/src/assets/vendor/utils/voximplant.js +++ b/src/assets/vendor/utils/voximplant.js @@ -1,7 +1,7 @@ -var initialized = false, - loggedIn = false, - connected = false, - voxImplant = VoxImplant.getInstance(); +let initialized = false, + loggedIn = false, + connected = false, + voxImplant = VoxImplant.getInstance(); // Add event listeners voxImplant.addEventListener(VoxImplant.Events.SDKReady, handleSDKReady); @@ -9,76 +9,75 @@ voxImplant.addEventListener(VoxImplant.Events.ConnectionEstablished, handleConne voxImplant.addEventListener(VoxImplant.Events.AuthResult, handleAuthResult); function handleSDKReady() { - initialized = true; - logMessage("VoxImplant SDK ready"); - // Connection with VoxImplant Cloud can be established now - voxImplant.connect(); + initialized = true; + logMessage('VoxImplant SDK ready'); + // Connection with VoxImplant Cloud can be established now + voxImplant.connect(); } function handleConnectionEstablished() { - connected = true; - logMessage("Connection established"); - login(); + connected = true; + logMessage('Connection established'); + login(); } function handleAuthResult(e) { - logMessage("AuthResult: "+e.result); - if (e.result) { - // Logged in successfully - loggedIn = true; - makeCall(); - } else { - logMessage("Authorization failed. Please specify correct username and password"); - } + logMessage(`AuthResult: ${e.result}`); + if (e.result) { + // Logged in successfully + loggedIn = true; + makeCall(); + } else { + logMessage('Authorization failed. Please specify correct username and password'); + } } -function login(){ - // Authorization required before we can use other functions - var host = '@test.nynja.voximplant.com', - email = 'befaster', //localStorage.getItem('username'), - password = 'd423327D'; //localStorage.getItem('password'); - +function login() { + // Authorization required before we can use other functions + let host = '@test.nynja.voximplant.com', + email = 'befaster', // localStorage.getItem('username'), + password = 'd423327D'; // localStorage.getItem('password'); - voxImplant.login(email + host, password); + voxImplant.login(email + host, password); } function logMessage(msg) { - document.getElementById("log").innerHTML += msg + "\n"; + document.getElementById('log').innerHTML += `${msg}\n`; } -function makeCall(username){ - // Number isn't important - our simple VoxEngine script will just playback the audio file - var call = voxImplant.call(username); +function makeCall(username) { + // Number isn't important - our simple VoxEngine script will just playback the audio file + const call = voxImplant.call(username); - // Add event listeners for call events - call.addEventListener(VoxImplant.CallEvents.Connected, handleCallConnected); - call.addEventListener(VoxImplant.CallEvents.Failed, handleCallFailed); - call.addEventListener(VoxImplant.CallEvents.Disconnected, handleCallDisconnected); + // Add event listeners for call events + call.addEventListener(VoxImplant.CallEvents.Connected, handleCallConnected); + call.addEventListener(VoxImplant.CallEvents.Failed, handleCallFailed); + call.addEventListener(VoxImplant.CallEvents.Disconnected, handleCallDisconnected); } function handleCallConnected() { - logMessage("Call Connected"); + logMessage('Call Connected'); } function handleCallFailed(e) { - logMessage("Call Failed. Code: "+e.code+" Reason: "+e.reason); + logMessage(`Call Failed. Code: ${e.code} Reason: ${e.reason}`); } function handleCallDisconnected() { - logMessage("Call Disconnected"); + logMessage('Call Disconnected'); } function testCall() { - // Initialize SDK if not it's not initialized yet - if (!initialized) voxImplant.init(); + // Initialize SDK if not it's not initialized yet + if (!initialized) voxImplant.init(); + else { + // Establish connection with VoxImplant Cloud if it's not established yet + if (!voxImplant.connected()) voxImplant.connect(); else { - // Establish connection with VoxImplant Cloud if it's not established yet - if (!voxImplant.connected()) voxImplant.connect(); - else { - // Login if not logged in yet, otherwise - make a call - if (!loggedIn) login(); - else makeCall(); - } + // Login if not logged in yet, otherwise - make a call + if (!loggedIn) login(); + else makeCall(); } -} \ No newline at end of file + } +} diff --git a/src/assets/vendor/utils/welcome.js b/src/assets/vendor/utils/welcome.js index b55a3c6808fea827e598659d83e6026b63733a42..7b5c3ea6bd8a607555fbcd3b67ccdba1df45b5ea 100644 --- a/src/assets/vendor/utils/welcome.js +++ b/src/assets/vendor/utils/welcome.js @@ -1,36 +1,36 @@ -var WelcomeWidget; +let WelcomeWidget; (function (document) { - WelcomeWidget = { - settings: {}, - elements: { - termsLink: '.terms', - popup: '.n-popup', - popupText: '.n-text', - overlay: '.overlay', - close: '.close' - }, - init: function () { - t = this; - el = this.elements; - this.bindUIActions(); - }, - bindUIActions: function () { - $(el.termsLink).on('click', function (e) { - e.preventDefault(); - $(el.popupText).load('/web/terms.htm'); - $(el.popup).removeClass('hidden'); - $(el.overlay).removeClass('hidden'); - }); - $(el.overlay + ', ' + el.close).on('click', function () { - $(el.popupText).html(''); - $(el.popup).addClass('hidden'); - $(el.overlay).addClass('hidden'); - }); - } - }; + WelcomeWidget = { + settings: {}, + elements: { + termsLink: '.terms', + popup: '.n-popup', + popupText: '.n-text', + overlay: '.overlay', + close: '.close' + }, + init() { + t = this; + el = this.elements; + this.bindUIActions(); + }, + bindUIActions() { + $(el.termsLink).on('click', (e) => { + e.preventDefault(); + $(el.popupText).load('/web/terms.htm'); + $(el.popup).removeClass('hidden'); + $(el.overlay).removeClass('hidden'); + }); + $(`${el.overlay}, ${el.close}`).on('click', () => { + $(el.popupText).html(''); + $(el.popup).addClass('hidden'); + $(el.overlay).addClass('hidden'); + }); + } + }; - $(document).ready(function () { - WelcomeWidget.init(); - }); -})(document); \ No newline at end of file + $(document).ready(() => { + WelcomeWidget.init(); + }); +}(document)); diff --git a/src/componets/ChatListItem/ChatListItem.js b/src/componets/ChatListItem/ChatListItem.js index b0425b62cb09edee3b45cfe13a6e493197bd93b7..a4a2e3836ea9f2f68dd4b239d490003723177d5b 100644 --- a/src/componets/ChatListItem/ChatListItem.js +++ b/src/componets/ChatListItem/ChatListItem.js @@ -1,4 +1,4 @@ -import React,{ Component} from 'react'; +import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { withStyles } from 'material-ui/styles'; import List, { ListItem, ListItemText } from 'material-ui/List'; @@ -6,77 +6,76 @@ import Avatar from 'material-ui/Avatar'; import ImageIcon from 'material-ui-icons/Image'; import WorkIcon from 'material-ui-icons/Work'; import BeachAccessIcon from 'material-ui-icons/BeachAccess'; -import {ExpansionPanel, ExpansionPanelDetails, ExpansionPanelSummary, Typography} from "material-ui"; -import ListItemSecondaryAction from "material-ui/es/List/ListItemSecondaryAction"; -import Button from "material-ui/es/Button/Button"; +import { ExpansionPanel, ExpansionPanelDetails, ExpansionPanelSummary, Typography } from 'material-ui'; +import ListItemSecondaryAction from 'material-ui/es/List/ListItemSecondaryAction'; +import Button from 'material-ui/es/Button/Button'; const styles = theme => ({ - root: { - width: '100%', - backgroundColor: theme.palette.background.paper, - }, - panelContent:{ - margin: 0, - display: 'flow-root' - }, - panelRoot:{ - padding: 0 - }, - panelDetails:{ - background: '#1b1c20', + root: { + width: '100%', + backgroundColor: theme.palette.background.paper + }, + panelContent: { + margin: 0, + display: 'flow-root' + }, + panelRoot: { + padding: 0 + }, + panelDetails: { + background: '#1b1c20' - }, - button: { - padding: 0, - marginRight:5, - minHeight: 25, - borderRadius: '4px', - fontSize: 10, - background: '#d8d8d8' - }, + }, + button: { + padding: 0, + marginRight: 5, + minHeight: 25, + borderRadius: '4px', + fontSize: 10, + background: '#d8d8d8' + } }); -//TODO: Move Button as component +// TODO: Move Button as component class ChatListItem extends Component { - constructor(props) { - super(props); - } + constructor(props) { + super(props); + } state = { - open: false, + open: false }; - render(){ - const { classes, data } = this.props; - const { open, handleOpenChat } = this.props; - return ( + render() { + const { classes, data } = this.props; + const { open, handleOpenChat } = this.props; + return (
    - {this.setState({open: !this.state.open})}}> - - - - - - - + { this.setState({ open: !this.state.open }); }}> + + + + + + + /* remove variant caused error*/ - - - - - - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa, earum! - - + + + + + + Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa, earum! + +
    - ); + ); } - } ChatListItem.propTypes = { - classes: PropTypes.object.isRequired, - data: PropTypes.object.isRequired, - handleOpenChat: PropTypes.func + classes: PropTypes.object.isRequired, + data: PropTypes.object.isRequired, + handleOpenChat: PropTypes.func }; -export default withStyles(styles)(ChatListItem); \ No newline at end of file +export default withStyles(styles)(ChatListItem); diff --git a/src/componets/PaperWithDrop/PaperWithDrop.js b/src/componets/PaperWithDrop/PaperWithDrop.js index bbaae3179ee2e27c445f0780fed3d2744dd60250..a28efaa5f9eb029533a19326aa88aad85669969f 100644 --- a/src/componets/PaperWithDrop/PaperWithDrop.js +++ b/src/componets/PaperWithDrop/PaperWithDrop.js @@ -6,49 +6,49 @@ import Button from 'material-ui/Button'; import ExpandMore from 'material-ui-icons/ExpandMore'; const styles = { - item: { - borderRadius: '8px', - }, - button: { - padding: 0, - minHeight: 25, - borderRadius: '0 0 8px 8px', - background: '#34373c' - }, - itemLabel: { - margin: '0 0 5px', - fontSize: 14, - lineHeight: 1.2, - color: '#777777' - } + item: { + borderRadius: '8px' + }, + button: { + padding: 0, + minHeight: 25, + borderRadius: '0 0 8px 8px', + background: '#34373c' + }, + itemLabel: { + margin: '0 0 5px', + fontSize: 14, + lineHeight: 1.2, + color: '#777777' + } }; class PaperWithDrop extends React.Component { state = {}; render() { - const { classes, data } = this.props; + const { classes, data } = this.props; - return ( -
    -

    Lorem ipsum...

    - - { + return ( +
    +

    Lorem ipsum...

    + + { data } /* remove variant caused error*/ - - -
    - ); + +
    +
    + ); } } PaperWithDrop.propTypes = { - classes: PropTypes.object.isRequired, - data: PropTypes.array.isRequired + classes: PropTypes.object.isRequired, + data: PropTypes.array.isRequired }; -export default withStyles(styles)(PaperWithDrop); \ No newline at end of file +export default withStyles(styles)(PaperWithDrop); diff --git a/src/componets/SvgIcons/CallsIcon/CallsIcon.js b/src/componets/SvgIcons/CallsIcon/CallsIcon.js index 5c43f390b88325e1279bf4928bf5bc4cda189c8f..c261bfb98ff740b67e8d2b21b748f4b6714ec338 100644 --- a/src/componets/SvgIcons/CallsIcon/CallsIcon.js +++ b/src/componets/SvgIcons/CallsIcon/CallsIcon.js @@ -5,37 +5,38 @@ import green from 'material-ui/colors/green'; import SvgIcon from 'material-ui/SvgIcon'; const styles = { - iconHover: { - '&:hover': { - fill: green[200], - } - }, + iconHover: { + '&:hover': { + fill: green[200] + } + } }; const CallsIcon = props => ( - - - + + + ); function SvgCallsIcon(props) { - const { classes } = props; - return ( -
    - + -
    - ); + color="action" + viewBox="0 0 30 24" + className={classes.iconHover} + /> +
    + ); } SvgCallsIcon.propTypes = { - classes: PropTypes.object.isRequired, + classes: PropTypes.object.isRequired }; -export default withStyles(styles)(SvgCallsIcon); \ No newline at end of file +export default withStyles(styles)(SvgCallsIcon); diff --git a/src/componets/SvgIcons/ChatIcon/ChatIcon.js b/src/componets/SvgIcons/ChatIcon/ChatIcon.js index 47d8856734e627574cf2a21cf252fcc30c3936f3..f0eeda457221a17c653bd1ad66161c755f24e956 100644 --- a/src/componets/SvgIcons/ChatIcon/ChatIcon.js +++ b/src/componets/SvgIcons/ChatIcon/ChatIcon.js @@ -5,37 +5,38 @@ import green from 'material-ui/colors/green'; import SvgIcon from 'material-ui/SvgIcon'; const styles = { - iconHover: { - '&:hover': { - fill: green[200], - } - }, + iconHover: { + '&:hover': { + fill: green[200] + } + } }; const ChatIcon = props => ( - - - + + + ); function SvgChatIcon(props) { - const { classes } = props; - return ( -
    - + -
    - ); + color="action" + viewBox="0 0 30 24" + className={classes.iconHover} + /> +
    + ); } SvgChatIcon.propTypes = { - classes: PropTypes.object.isRequired, + classes: PropTypes.object.isRequired }; -export default withStyles(styles)(SvgChatIcon); \ No newline at end of file +export default withStyles(styles)(SvgChatIcon); diff --git a/src/componets/SvgIcons/ContactsIcon/ContactsIcon.js b/src/componets/SvgIcons/ContactsIcon/ContactsIcon.js index ea60264694214d15921a4490a729de5b0ea6898c..323c4af34c5d5b3195600880149cdbf057c95850 100644 --- a/src/componets/SvgIcons/ContactsIcon/ContactsIcon.js +++ b/src/componets/SvgIcons/ContactsIcon/ContactsIcon.js @@ -5,42 +5,42 @@ import green from 'material-ui/colors/green'; import SvgIcon from 'material-ui/SvgIcon'; const styles = { - iconHover: { - '&:hover': { - fill: green[200], - }, - }, + iconHover: { + '&:hover': { + fill: green[200] + } + } }; const ContactsIcon = props => ( - - - - - - - - + + + + + + + + ); function SvgContactsIcon(props) { - const { classes } = props; - return ( -
    - + -
    - ); + viewBox="0 0 30 24" + className={classes.iconHover} + /> +
    + ); } SvgContactsIcon.propTypes = { - classes: PropTypes.object.isRequired, + classes: PropTypes.object.isRequired }; -export default withStyles(styles)(SvgContactsIcon); \ No newline at end of file +export default withStyles(styles)(SvgContactsIcon); diff --git a/src/componets/SvgIcons/GropsIcon/GroupsIcon.js b/src/componets/SvgIcons/GropsIcon/GroupsIcon.js index e870a25702c735c256d5deaa00980654438cf9b0..938b4330669efb36ab4e44cdf42f6fb8abf1a9ab 100644 --- a/src/componets/SvgIcons/GropsIcon/GroupsIcon.js +++ b/src/componets/SvgIcons/GropsIcon/GroupsIcon.js @@ -5,37 +5,38 @@ import green from 'material-ui/colors/green'; import SvgIcon from 'material-ui/SvgIcon'; const styles = { - iconHover: { - '&:hover': { - fill: green[200], - } - }, + iconHover: { + '&:hover': { + fill: green[200] + } + } }; const GroupsIcon = props => ( - - - + + + ); function SvgGroupsIcon(props) { - const { classes } = props; - return ( -
    - + -
    - ); + color="action" + viewBox="0 0 30 24" + className={classes.iconHover} + /> +
    + ); } SvgGroupsIcon.propTypes = { - classes: PropTypes.object.isRequired, + classes: PropTypes.object.isRequired }; -export default withStyles(styles)(SvgGroupsIcon); \ No newline at end of file +export default withStyles(styles)(SvgGroupsIcon); diff --git a/src/componets/SvgIcons/LogoIcon/LogoIcon.js b/src/componets/SvgIcons/LogoIcon/LogoIcon.js index a2e6acb64215d98a85d1769f6948f98cd3a00f1a..453f5c81c815a84926f588efec25c62bf4395225 100644 --- a/src/componets/SvgIcons/LogoIcon/LogoIcon.js +++ b/src/componets/SvgIcons/LogoIcon/LogoIcon.js @@ -5,36 +5,37 @@ import green from 'material-ui/colors/green'; import SvgIcon from 'material-ui/SvgIcon'; const styles = { - iconHover: { - '&:hover': { - fill: green[200], - }, - }, + iconHover: { + '&:hover': { + fill: green[200] + } + } }; const LogoIcon = props => ( - - //TODO: Add path for svg icon - + + //TODO: Add path for svg icon + ); function SvgLogo(props) { - const { classes } = props; - return ( -
    - + -
    - ); + viewBox="0 0 80 65" + nativeColor="#ba000d" + /> +
    + ); } SvgLogo.propTypes = { - classes: PropTypes.object.isRequired, + classes: PropTypes.object.isRequired }; -export default withStyles(styles)(SvgLogo); \ No newline at end of file +export default withStyles(styles)(SvgLogo); diff --git a/src/componets/SvgIcons/OptionsIcon/OptionsIcon.js b/src/componets/SvgIcons/OptionsIcon/OptionsIcon.js index dd58daaf85c0540da6e1331c5bed91e05374129c..bad8acbfc9bc0664eef1f760d9e4fdc6adc03bba 100644 --- a/src/componets/SvgIcons/OptionsIcon/OptionsIcon.js +++ b/src/componets/SvgIcons/OptionsIcon/OptionsIcon.js @@ -5,36 +5,37 @@ import green from 'material-ui/colors/green'; import SvgIcon from 'material-ui/SvgIcon'; const styles = { - iconHover: { - '&:hover': { - fill: green[200], - }, - }, + iconHover: { + '&:hover': { + fill: green[200] + } + } }; const OptionsIcon = props => ( - - - + + + ); function SvgOptionsIcon(props) { - const { classes } = props; - return ( -
    - + -
    - ); + viewBox="0 0 30 24" + className={classes.iconHover} + /> +
    + ); } SvgOptionsIcon.propTypes = { - classes: PropTypes.object.isRequired, + classes: PropTypes.object.isRequired }; -export default withStyles(styles)(SvgOptionsIcon); \ No newline at end of file +export default withStyles(styles)(SvgOptionsIcon); diff --git a/src/componets/SvgIcons/index.js b/src/componets/SvgIcons/index.js index 7c12f639e330d4efb0d7053715e115258698ff07..8de4e52f9d7902eabc01cb0c29a222d4eb1b7930 100644 --- a/src/componets/SvgIcons/index.js +++ b/src/componets/SvgIcons/index.js @@ -3,12 +3,13 @@ import ChatIcon from './ChatIcon/ChatIcon'; import CallsIcon from './CallsIcon/CallsIcon'; import GroupsIcon from './GropsIcon/GroupsIcon'; import ContactsIcon from './ContactsIcon/ContactsIcon'; -import OptionsIcon from './OptionsIcon/OptionsIcon' +import OptionsIcon from './OptionsIcon/OptionsIcon'; + export { - LogoIcon, - CallsIcon, - ChatIcon, - GroupsIcon, - ContactsIcon, - OptionsIcon -} \ No newline at end of file + LogoIcon, + CallsIcon, + ChatIcon, + GroupsIcon, + ContactsIcon, + OptionsIcon +}; diff --git a/src/componets/index.js b/src/componets/index.js index 61066a0212572d75fd6e93269c7a206e388dbd02..f4dbab6bc9c9835daef02167bd83794b4e7cf648 100644 --- a/src/componets/index.js +++ b/src/componets/index.js @@ -3,7 +3,7 @@ import ChatListItem from './ChatListItem/ChatListItem'; import PaperWithDrop from './PaperWithDrop/PaperWithDrop'; export { - LogoIcon, - ChatListItem, - PaperWithDrop -}; \ No newline at end of file + LogoIcon, + ChatListItem, + PaperWithDrop +}; diff --git a/src/containers/ActionMenu/ActionMenu.js b/src/containers/ActionMenu/ActionMenu.js index e357762d1e98adb4b03d1ebe53981c9b329702c6..bed2d60d4fe54cebc0863c9234df47b3d3e7e37a 100644 --- a/src/containers/ActionMenu/ActionMenu.js +++ b/src/containers/ActionMenu/ActionMenu.js @@ -2,126 +2,126 @@ import React from 'react'; import PropTypes from 'prop-types'; import { withStyles } from 'material-ui/styles'; import List, { - ListItem, - ListItemText, - ListItemIcon, + ListItem, + ListItemText, + ListItemIcon } from 'material-ui/List'; import FolderIcon from 'material-ui-icons/Folder'; import Divider from 'material-ui/Divider'; -import {Link} from 'react-router'; +import { Link } from 'react-router'; import Grid from 'material-ui/Grid'; -import {CallsIcon, ChatIcon, GroupsIcon, ContactsIcon, OptionsIcon} from '../../componets/SvgIcons/index'; +import { CallsIcon, ChatIcon, GroupsIcon, ContactsIcon, OptionsIcon } from '../../componets/SvgIcons/index'; import { LogoIcon } from '../../componets/index'; const styles = theme => ({ - root: { - position: 'fixed', - top: 0, - left: 0, - zIndex: 11, - width: 80, - margin: 0, - height: '100vh', - background: '#27292e', - boxShadow: '0 0 16px 0 #000' - }, - logo: { - height: 64, - background: 'linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%)' - }, - logoDevider: { - backgroundColor: '#be0211' - }, - demo: { - // backgroundColor: theme.palette.background.paper - }, - menu: { - height: '100%', - }, - title: { - margin: `${theme.spacing.unit * 4}px 0 ${theme.spacing.unit * 2}px`, - }, - item: { - flexWrap: 'wrap' - }, - itemLink: { - display: 'block', - marginRight: 0, - width: '100%', - height: 'auto', - textAlign: 'center' - }, - name: { - padding: 0, - fontSize: 12, - textAlign: 'center' - } + root: { + position: 'fixed', + top: 0, + left: 0, + zIndex: 11, + width: 80, + margin: 0, + height: '100vh', + background: '#27292e', + boxShadow: '0 0 16px 0 #000' + }, + logo: { + height: 64, + background: 'linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%)' + }, + logoDevider: { + backgroundColor: '#be0211' + }, + demo: { + // backgroundColor: theme.palette.background.paper + }, + menu: { + height: '100%' + }, + title: { + margin: `${theme.spacing.unit * 4}px 0 ${theme.spacing.unit * 2}px` + }, + item: { + flexWrap: 'wrap' + }, + itemLink: { + display: 'block', + marginRight: 0, + width: '100%', + height: 'auto', + textAlign: 'center' + }, + name: { + padding: 0, + fontSize: 12, + textAlign: 'center' + } }); class LeftMenu extends React.Component { state = { - dense: false, - secondary: false, + dense: false, + secondary: false }; render() { - const { classes } = this.props; - const { dense, secondary } = this.state; + const { classes } = this.props; + const { dense, secondary } = this.state; - return ( -
    -
    - - - -
    - -
    - - - - - - - + return ( +
    +
    + + + +
    + +
    + + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - - -
    -
    - ); + + + + + + +
    +
    +
    + ); } } LeftMenu.propTypes = { - classes: PropTypes.object.isRequired, + classes: PropTypes.object.isRequired }; -export default withStyles(styles)(LeftMenu); \ No newline at end of file +export default withStyles(styles)(LeftMenu); diff --git a/src/containers/ActivityList/ActivityList.js b/src/containers/ActivityList/ActivityList.js index 3cee1cee790ce117f8e6375d6177ee8a5e9890a2..16792c9caed07c22746f118b5d2b93a2d2acf012 100644 --- a/src/containers/ActivityList/ActivityList.js +++ b/src/containers/ActivityList/ActivityList.js @@ -4,78 +4,78 @@ import { withStyles } from 'material-ui/styles'; import Drawer from 'material-ui/Drawer'; import Button from 'material-ui/Button'; import List from 'material-ui/List'; -import { ChatListItem } from '../../componets'; +import { ChatListItem } from '../../componets'; const styles = { - list: { - width: '100%', - }, - listFull: { - width: 'auto', - }, - paper:{ - top:'auto', - position:'unset' - } + list: { + width: '100%' + }, + listFull: { + width: 'auto' + }, + paper: { + top: 'auto', + position: 'unset' + } }; class ActivityList extends React.Component { state = { - top: false, - left: true, - bottom: false, - right: false, + top: false, + left: true, + bottom: false, + right: false }; toggleDrawer = (side, open) => () => { - this.setState({ - [side]: open, - }); + this.setState({ + [side]: open + }); }; render() { - const { classes } = this.props; + const { classes } = this.props; - const mockUsers = [{name:'John Smith'},{name:'John Smith2'},{name:'John Smith3'},{name:'John Smith4'},{name:'John Smith5'}]; + const mockUsers = [{ name: 'John Smith' }, { name: 'John Smith2' }, { name: 'John Smith3' }, { name: 'John Smith4' }, { name: 'John Smith5' }]; - const sideList = ( -
    - - {mockUsers.map((item,index)=>( - + const sideList = ( +
    + + {mockUsers.map((item, index) => ( + ))} - -
    - ); +
    +
    + ); - return ( -
    - + -
    { + > +
    { console.log('Clicked'); }} - onKeyDown={this.toggleDrawer('left', false)} - > - {sideList} -
    - + onKeyDown={this.toggleDrawer('left', false)} + > + {sideList}
    - ); +
    +
    + ); } } ActivityList.propTypes = { - classes: PropTypes.object.isRequired, + classes: PropTypes.object.isRequired }; -export default withStyles(styles)(ActivityList); \ No newline at end of file +export default withStyles(styles)(ActivityList); diff --git a/src/containers/Auth/AuthForm/AuthForn.container.js b/src/containers/Auth/AuthForm/AuthForn.container.js index 759844477c095f3afbc609ecbc407758f76c1773..5bf194b3d156fecde167389b7bb6d0ef39c839a1 100644 --- a/src/containers/Auth/AuthForm/AuthForn.container.js +++ b/src/containers/Auth/AuthForm/AuthForn.container.js @@ -4,119 +4,120 @@ import { connect } from 'react-redux'; class AuthForm extends Component { - render() { - return ( -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -

    Phone Number

    -
    -

    Please choose your country and enter your phone number.

    -
    -
    -
    - - - -
    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Security Code

    -
    -

    We've sent a security code to your phone.

    -

    You should receive it within 60 seconds.

    -

    - Haven't received the code? - Haven't received the code? -

    -
    -
    -
    - - -
    -
    - -
    -
    - - -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Your Name

    -
    -

    How would you like to be called?

    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - By signing in, you acknowledge that you have read and accept our Terms of - Service. -
    -
    -
    -
    -
    + render() { + return ( +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +

    Phone Number

    +
    +

    Please choose your country and enter your phone number.

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    Security Code

    +
    +

    We've sent a security code to your phone.

    +

    You should receive it within 60 seconds.

    +

    + Haven't received the code? + Haven't received the code? +

    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    Your Name

    +
    +

    How would you like to be called?

    +
    +
    +
    + + +
    +
    + + +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + By signing in, you acknowledge that you have read and accept our Terms of + Service. +
    +
    +
    +
    +
    +
    +
    - ) - } -} \ No newline at end of file + ); + } +} diff --git a/src/containers/Auth/CompletionForm/CompletionAuthForm.container.js b/src/containers/Auth/CompletionForm/CompletionAuthForm.container.js index 518bd44956c8ffc75c48502bb037379113100195..3b53cc55adb0312e4f08e672276d44a8507ef081 100644 --- a/src/containers/Auth/CompletionForm/CompletionAuthForm.container.js +++ b/src/containers/Auth/CompletionForm/CompletionAuthForm.container.js @@ -4,4 +4,4 @@ import { connect } from 'react-redux'; class CompletionAuthForm extends Component { -} \ No newline at end of file +} diff --git a/src/containers/ChatModal/ChatModal.js b/src/containers/ChatModal/ChatModal.js index 8fa651e4686ba1bfd0d5916d15eea9687ec90b6d..81dfa9a139ce439f72056ea8f883bc41ff8da702 100644 --- a/src/containers/ChatModal/ChatModal.js +++ b/src/containers/ChatModal/ChatModal.js @@ -1,22 +1,22 @@ import React from 'react'; import Modal from 'react-responsive-modal'; -import { withStyles } from 'material-ui/styles' +import { withStyles } from 'material-ui/styles'; -export class ChatModal extends React.Component { +export class ChatModal extends React.Component { state = { - open: false, + open: false }; render() { - const { open, onCloseChat } = this.props; - return ( -
    - {onCloseChat()}} little> -

    Simple centered modal

    -
    -
    - ); + const { open, onCloseChat } = this.props; + return ( +
    + { onCloseChat(); }} little> +

    Simple centered modal

    +
    +
    + ); } -} \ No newline at end of file +} diff --git a/src/containers/MenuAppBar/MenuAppBar.js b/src/containers/MenuAppBar/MenuAppBar.js index aff4b5b6a7dadc37e0aaf727551908e538b8c948..7b96f3757adcde96d268dd1ff5f25b77ce8a2db7 100644 --- a/src/containers/MenuAppBar/MenuAppBar.js +++ b/src/containers/MenuAppBar/MenuAppBar.js @@ -4,61 +4,61 @@ import AppBar from 'material-ui/AppBar'; import Toolbar from 'material-ui/Toolbar'; import IconButton from 'material-ui/IconButton'; import MenuIcon from 'material-ui-icons/Menu'; -import { Grid,Avatar, Input,InputAdornment } from 'material-ui'; +import { Grid, Avatar, Input, InputAdornment } from 'material-ui'; import { withStyles } from 'material-ui/styles'; import avatar from '../../../assets/img/Richard_Smith.png'; import Icon from 'material-ui/Icon'; import { Link } from 'react-router'; const styles = { - root: { - position: 'fixed', - top: 0, - left: 0, - zIndex: 10, - paddingLeft: 80, - width: '100%' - }, - appBar: { - background: '#24262b', - boxShadow: 'box-shadow: 0 2px 13px 0 #000' - }, - title:{ - textAlign:'center' - }, - toolBar: { - justifyContent: 'space-between' - }, - settings: { - display: 'flex' - } + root: { + position: 'fixed', + top: 0, + left: 0, + zIndex: 10, + paddingLeft: 80, + width: '100%' + }, + appBar: { + background: '#24262b', + boxShadow: 'box-shadow: 0 2px 13px 0 #000' + }, + title: { + textAlign: 'center' + }, + toolBar: { + justifyContent: 'space-between' + }, + settings: { + display: 'flex' + } }; class MenuAppBar extends React.Component { state = { - auth: true, - anchorEl: null, + auth: true, + anchorEl: null }; render() { - const { classes } = this.props; - console.log('console',this.props.classes); - return ( -
    - - -
    DashBoard
    -
    - - -
    -
    -
    -
    - ); + const { classes } = this.props; + console.log('console', this.props.classes); + return ( +
    + + +
    DashBoard
    +
    + + +
    +
    +
    +
    + ); } } -export default withStyles(styles)(MenuAppBar); \ No newline at end of file +export default withStyles(styles)(MenuAppBar); diff --git a/src/containers/index.js b/src/containers/index.js index 35e1577720230591decadd2a5a078d8b941904d4..a4b72d3b54ae4f2181cf03a9ea3b98b15b51d2a8 100644 --- a/src/containers/index.js +++ b/src/containers/index.js @@ -1,10 +1,11 @@ import ActionMenu from './ActionMenu/ActionMenu'; import MenuAppBar from './MenuAppBar/MenuAppBar'; import ActivityList from './ActivityList/ActivityList'; -import ChatModal from './ChatModal/ChatModal' +import ChatModal from './ChatModal/ChatModal'; + export { - ActionMenu, - MenuAppBar, - ActivityList, - ChatModal -} \ No newline at end of file + ActionMenu, + MenuAppBar, + ActivityList, + ChatModal +}; diff --git a/src/core/bert/Converter.bert.js b/src/core/bert/Converter.bert.js index a1026ab1cccebeb169c6ac336fed5e31bb8a57b6..f71b1e5b7b94b9dbfe28906db13d58d14235fab4 100644 --- a/src/core/bert/Converter.bert.js +++ b/src/core/bert/Converter.bert.js @@ -4,33 +4,32 @@ let sx; let ix; function uc(u1, u2) { - if (u1.byteLength == 0) return u2; if (u2.byteLength == 0) return u1; - var a = new Uint8Array(u1.byteLength + u2.byteLength); - a.set(u1, 0); a.set(u2, u1.byteLength); return a; -}; + if (u1.byteLength == 0) return u2; if (u2.byteLength == 0) return u1; + const a = new Uint8Array(u1.byteLength + u2.byteLength); + a.set(u1, 0); a.set(u2, u1.byteLength); return a; +} function ar(o) { - return o.v instanceof ArrayBuffer ? new Uint8Array(o.v) : o.v instanceof Uint8Array ? o.v : - Array.isArray(o.v) ? new Uint8Array(o.v) : new Uint8Array(utf8_toByteArray(o.v).v); + return o.v instanceof ArrayBuffer ? new Uint8Array(o.v) : o.v instanceof Uint8Array ? o.v : + Array.isArray(o.v) ? new Uint8Array(o.v) : new Uint8Array(utf8_toByteArray(o.v).v); } function fl(a) { - return a.reduce(function (f, t) { - return uc(f, t instanceof Uint8Array ? t : - Array.isArray(t) ? fl(t) : new Uint8Array([t])); - }, new Uint8Array()); + return a.reduce((f, t) => uc(f, t instanceof Uint8Array ? t : + Array.isArray(t) ? fl(t) : new Uint8Array([t])), new Uint8Array()); } function atom(o) { return { t: 100, v: utf8_toByteArray(o).v }; } function bin(o) { - return { - t: 109, v: o instanceof ArrayBuffer ? - new Uint8Array(o) : o instanceof Uint8Array ? o : utf8_toByteArray(o).v - }; + return { + t: 109, + v: o instanceof ArrayBuffer ? + new Uint8Array(o) : o instanceof Uint8Array ? o : utf8_toByteArray(o).v + }; } -function tuple() { return { t: 104, v: Array.apply(null, arguments) }; } -function list() { return { t: 108, v: Array.apply(null, arguments) }; } +function tuple() { return { t: 104, v: Array(...arguments) }; } +function list() { return { t: 108, v: Array(...arguments) }; } function number(o) { return { t: 98, v: o }; } function enc(o) { return fl([131, ein(o)]); } -function ein(o) { return Array.isArray(o) ? en_108({ t: 108, v: o }) : eval('en_' + o.t)(o); } +function ein(o) { return Array.isArray(o) ? en_108({ t: 108, v: o }) : eval(`en_${o.t}`)(o); } function en_undefined(o) { return [106]; } function en_98(o) { return [98, o.v >>> 24, (o.v >>> 16) & 255, (o.v >>> 8) & 255, o.v & 255]; } function en_97(o) { return [97, o.v]; } @@ -38,75 +37,83 @@ function en_106(o) { return [106]; } function en_100(o) { return [100, o.v.length >>> 8, o.v.length & 255, ar(o)]; } function en_107(o) { return [107, o.v.length >>> 8, o.v.length & 255, ar(o)]; } function en_104(o) { - var l = o.v.length, r = []; - for (var i = 0; i < l; i++)r[i] = ein(o.v[i]); return [104, l, r]; + let l = o.v.length, + r = []; + for (let i = 0; i < l; i++)r[i] = ein(o.v[i]); return [104, l, r]; } function en_109(o) { - var l = o.v instanceof ArrayBuffer ? o.v.byteLength : o.v.length; - return [109, l >>> 24, (l >>> 16) & 255, (l >>> 8) & 255, l & 255, ar(o)]; + const l = o.v instanceof ArrayBuffer ? o.v.byteLength : o.v.length; + return [109, l >>> 24, (l >>> 16) & 255, (l >>> 8) & 255, l & 255, ar(o)]; } function en_108(o) { - var l = o.v.length, r = []; for (var i = 0; i < l; i++)r.push(ein(o.v[i])); - return o.v.length == 0 ? [106] : [108, l >>> 24, (l >>> 16) & 255, (l >>> 8) & 255, l & 255, r, 106]; + let l = o.v.length, + r = []; for (let i = 0; i < l; i++)r.push(ein(o.v[i])); + return o.v.length == 0 ? [106] : [108, l >>> 24, (l >>> 16) & 255, (l >>> 8) & 255, l & 255, r, 106]; } // BERT Decoder -function nop(b) { return []; }; +function nop(b) { return []; } function big(b) { - var sk = b == 1 ? sx.getUint8(ix++) : sx.getInt32((a = ix, ix += 4, a)); - var ret = 0, sig = sx.getUint8(ix++), count = sk; - while (count-- > 0) { - ret = 256 * ret + sx.getUint8(ix + count) - } - ix += sk; - return ret * (sig == 0 ? 1 : -1); + const sk = b == 1 ? sx.getUint8(ix++) : sx.getInt32((a = ix, ix += 4, a)); + let ret = 0, + sig = sx.getUint8(ix++), + count = sk; + while (count-- > 0) { + ret = 256 * ret + sx.getUint8(ix + count); + } + ix += sk; + return ret * (sig == 0 ? 1 : -1); } -function int(b) { return b == 1 ? sx.getUint8(ix++) : sx.getInt32((a = ix, ix += 4, a)); }; +function int(b) { return b == 1 ? sx.getUint8(ix++) : sx.getInt32((a = ix, ix += 4, a)); } function dec(d) { - sx = new DataView(d); ix = 0; if (sx.getUint8(ix++) !== 131) - throw ("BERT?"); return din(); -}; + sx = new DataView(d); ix = 0; if (sx.getUint8(ix++) !== 131) { throw ('BERT?'); } return din(); +} function str(b) { - var dv, sz = (b == 2 ? sx.getUint16(ix) : sx.getInt32(ix)); ix += b; - var r = sx.buffer.slice(ix, ix += sz); return b == 2 ? utf8_dec(r) : r; -}; + let dv, + sz = (b == 2 ? sx.getUint16(ix) : sx.getInt32(ix)); ix += b; + const r = sx.buffer.slice(ix, ix += sz); return b == 2 ? utf8_dec(r) : r; +} function run(b) { - var sz = (b == 1 ? sx.getUint8(ix) : sx.getUint32(ix)), r = []; ix += b; - for (var i = 0; i < sz; i++) r.push(din()); if (b == 4) ix++; return r; -}; + let sz = (b == 1 ? sx.getUint8(ix) : sx.getUint32(ix)), + r = []; ix += b; + for (let i = 0; i < sz; i++) r.push(din()); if (b == 4) ix++; return r; +} function din() { - var c = sx.getUint8(ix++), x; switch (c) { - case 97: x = [int, 1]; break; - case 98: x = [int, 4]; break; case 100: x = [str, 2]; break; - case 110: x = [big, 1]; break; case 111: x = [big, 4]; break; - case 104: x = [run, 1]; break; case 107: x = [str, 2]; break; - case 108: x = [run, 4]; break; case 109: x = [str, 4]; break; - default: x = [nop, 0]; - } return { t: c, v: x[0](x[1]) }; -}; + let c = sx.getUint8(ix++), + x; switch (c) { + case 97: x = [int, 1]; break; + case 98: x = [int, 4]; break; case 100: x = [str, 2]; break; + case 110: x = [big, 1]; break; case 111: x = [big, 4]; break; + case 104: x = [run, 1]; break; case 107: x = [str, 2]; break; + case 108: x = [run, 4]; break; case 109: x = [str, 4]; break; + default: x = [nop, 0]; + } return { t: c, v: x[0](x[1]) }; +} -const convertToBert = (payload) => ( - payload.buffer.slice(payload.byteOffset, - payload.byteOffset + payload.length) +const convertToBert = payload => ( + payload.buffer.slice( + payload.byteOffset, + payload.byteOffset + payload.length + ) ); export { - enc as encode, - dec as decode, - convertToBert, + enc as encode, + dec as decode, + convertToBert, - uc, - ar, - fl, - bin, - nop, - number, - tuple, - atom, - din, - run, - big -}; \ No newline at end of file + uc, + ar, + fl, + bin, + nop, + number, + tuple, + atom, + din, + run, + big +}; diff --git a/src/core/bert/SignatureGenerator.bert.js b/src/core/bert/SignatureGenerator.bert.js index 434a3ec292fb797fa85534e69e12e48410d07a25..92efdcc286ce72f74ee599f90506781b774373d6 100644 --- a/src/core/bert/SignatureGenerator.bert.js +++ b/src/core/bert/SignatureGenerator.bert.js @@ -1,1681 +1,1921 @@ import { utf8_dec, utf8_toByteArray } from '../utils/Utf8.util'; import { - uc, - ar, - fl, - bin, - nop, - number, - tuple, - atom, - din, - run, - big + uc, + ar, + fl, + bin, + nop, + number, + tuple, + atom, + din, + run, + big } from './Converter.bert'; -function clean(r) { for(var k in r) if(!r[k]) delete r[k]; return r; } -function check_len(x) { try { return (eval('len'+utf8_dec(x.v[0].v))() == x.v.length) ? true : false } -catch (e) { return false; } } +function clean(r) { for (const k in r) if (!r[k]) delete r[k]; return r; } +function check_len(x) { + try { return (eval(`len${utf8_dec(x.v[0].v)}`)() == x.v.length); } catch (e) { return false; } +} -function scalar(data) { - var res = undefined; - switch (typeof data) { - case 'string': res = bin(data); break; case 'number': res = number(data); break; - default: console.log('Strange data: ' + data); } - return res; }; -function nil() { return {t: 106, v: undefined}; }; +function scalar(data) { + let res; + switch (typeof data) { + case 'string': res = bin(data); break; case 'number': res = number(data); break; + default: console.log(`Strange data: ${data}`); + } + return res; +} +function nil() { return { t: 106, v: undefined }; } function decode(x) { - if (x == undefined) { - return []; - } else if (x.t == 108) { - var r = []; x.v.forEach(function(y) { r.push(decode(y)) }); return r; - } else if (x.t == 109) { - return utf8_dec(x.v); - } else if (x.t == 104 && check_len(x)) { - return eval('dec'+x.v[0].v)(x); - } else if (x.t == 104) { - var r=[]; x.v.forEach(function(a){r.push(decode(a))}); - return Object.assign({tup:'$'}, r); - } else return x.v; + if (x == undefined) { + return []; + } else if (x.t == 108) { + var r = []; x.v.forEach((y) => { r.push(decode(y)); }); return r; + } else if (x.t == 109) { + return utf8_dec(x.v); + } else if (x.t == 104 && check_len(x)) { + return eval(`dec${x.v[0].v}`)(x); + } else if (x.t == 104) { + var r = []; x.v.forEach((a) => { r.push(decode(a)); }); + return Object.assign({ tup: '$' }, r); + } return x.v; } function encode(x) { - if (Array.isArray(x)) { - var r = []; x.forEach(function(y) { r.push(encode(y)) }); return {t:108,v:r}; - } else if (typeof x == 'object') { - switch (x.tup) { - case '$': delete x['tup']; var r=[]; - Object.keys(x).map(function(p){return x[p];}).forEach(function(a){r.push(encode(a))}); - return {t:104, v:r}; - default: return eval('enc'+x.tup)(x); } - } else return scalar(x); + if (Array.isArray(x)) { + var r = []; x.forEach((y) => { r.push(encode(y)); }); return { t: 108, v: r }; + } else if (typeof x === 'object') { + switch (x.tup) { + case '$': delete x.tup; var r = []; + Object.keys(x).map(p => x[p]).forEach((a) => { r.push(encode(a)); }); + return { t: 104, v: r }; + default: return eval(`enc${x.tup}`)(x); + } + } else return scalar(x); } function encwriter(d) { - var tup = atom('writer'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - var cache = 'cache' in d && d.cache ? encode(d.cache) : nil(); - var args = 'args' in d && d.args ? encode(d.args) : nil(); - var first = 'first' in d && d.first ? encode(d.first) : nil(); - return tuple(tup,id,count,cache,args,first); } + const tup = atom('writer'); + const id = 'id' in d && d.id ? encode(d.id) : nil(); + const count = 'count' in d && d.count ? number(d.count) : nil(); + const cache = 'cache' in d && d.cache ? encode(d.cache) : nil(); + const args = 'args' in d && d.args ? encode(d.args) : nil(); + const first = 'first' in d && d.first ? encode(d.first) : nil(); + return tuple(tup, id, count, cache, args, first); +} function lenwriter() { return 6; } function decwriter(d) { - var r={}; r.tup = 'writer'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.count = d && d.v[2] ? d.v[2].v : undefined; - r.cache = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; - r.first = d && d.v[5] ? decode(d.v[5].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'writer'; + r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; + r.count = d && d.v[2] ? d.v[2].v : undefined; + r.cache = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; + r.first = d && d.v[5] ? decode(d.v[5].v) : undefined; + return clean(r); +} function encreader(d) { - var tup = atom('reader'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var pos = 'pos' in d && d.pos ? number(d.pos) : nil(); - var cache = 'cache' in d && d.cache ? number(d.cache) : nil(); - var args = 'args' in d && d.args ? encode(d.args) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); - return tuple(tup,id,pos,cache,args,feed,dir); } + const tup = atom('reader'); + const id = 'id' in d && d.id ? encode(d.id) : nil(); + const pos = 'pos' in d && d.pos ? number(d.pos) : nil(); + const cache = 'cache' in d && d.cache ? number(d.cache) : nil(); + const args = 'args' in d && d.args ? encode(d.args) : nil(); + const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); + const dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); + return tuple(tup, id, pos, cache, args, feed, dir); +} function lenreader() { return 7; } function decreader(d) { - var r={}; r.tup = 'reader'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.pos = d && d.v[2] ? d.v[2].v : undefined; - r.cache = d && d.v[3] ? d.v[3].v : undefined; - r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; - r.feed = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.dir = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } + const r = {}; r.tup = 'reader'; + r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; + r.pos = d && d.v[2] ? d.v[2].v : undefined; + r.cache = d && d.v[3] ? d.v[3].v : undefined; + r.args = d && d.v[4] ? decode(d.v[4].v) : undefined; + r.feed = d && d.v[5] ? decode(d.v[5].v) : undefined; + r.dir = d && d.v[6] ? decode(d.v[6]) : undefined; + return clean(r); +} function enccur(d) { - var tup = atom('cur'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var bot = 'bot' in d && d.bot ? number(d.bot) : nil(); - var dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); - var reader = 'reader' in d && d.reader ? encode(d.reader) : nil(); - var writer = 'writer' in d && d.writer ? encode(d.writer) : nil(); - var args = []; if ('args' in d && d.args) - { d.args.forEach(function(x){ - args.push(encode(x))}); - args={t:108,v:args}; } else { args = nil() }; - return tuple(tup,id,top,bot,dir,reader,writer,args); } + const tup = atom('cur'); + const id = 'id' in d && d.id ? encode(d.id) : nil(); + const top = 'top' in d && d.top ? number(d.top) : nil(); + const bot = 'bot' in d && d.bot ? number(d.bot) : nil(); + const dir = 'dir' in d && d.dir ? encode(d.dir) : nil(); + const reader = 'reader' in d && d.reader ? encode(d.reader) : nil(); + const writer = 'writer' in d && d.writer ? encode(d.writer) : nil(); + let args = []; if ('args' in d && d.args) { + d.args.forEach((x) => { + args.push(encode(x)); + }); + args = { t: 108, v: args }; + } else { args = nil(); } + return tuple(tup, id, top, bot, dir, reader, writer, args); +} function lencur() { return 8; } function deccur(d) { - var r={}; r.tup = 'cur'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.bot = d && d.v[3] ? d.v[3].v : undefined; - r.dir = d && d.v[4] ? decode(d.v[4]) : undefined; - r.reader = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.writer = d && d.v[6] ? decode(d.v[6].v) : undefined; - r.args = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach(function(x){r.args.push(decode(x))}) : - r.args = undefined; - return clean(r); } + const r = {}; r.tup = 'cur'; + r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; + r.top = d && d.v[2] ? d.v[2].v : undefined; + r.bot = d && d.v[3] ? d.v[3].v : undefined; + r.dir = d && d.v[4] ? decode(d.v[4]) : undefined; + r.reader = d && d.v[5] ? decode(d.v[5].v) : undefined; + r.writer = d && d.v[6] ? decode(d.v[6].v) : undefined; + r.args = []; + (d && d.v[7] && d.v[7].v) ? + d.v[7].v.forEach((x) => { r.args.push(decode(x)); }) : + r.args = undefined; + return clean(r); +} function enciter(d) { - var tup = atom('iter'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - return tuple(tup,id,container,feed,next,prev); } + const tup = atom('iter'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + return tuple(tup, id, container, feed, next, prev); +} function leniter() { return 6; } function deciter(d) { - var r={}; r.tup = 'iter'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.next = d && d.v[4] ? d.v[4].v : undefined; - r.prev = d && d.v[5] ? d.v[5].v : undefined; - return clean(r); } + const r = {}; r.tup = 'iter'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.next = d && d.v[4] ? d.v[4].v : undefined; + r.prev = d && d.v[5] ? d.v[5].v : undefined; + return clean(r); +} function enccontainer(d) { - var tup = atom('container'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,id,top,rear,count); } + const tup = atom('container'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const top = 'top' in d && d.top ? number(d.top) : nil(); + const rear = 'rear' in d && d.rear ? number(d.rear) : nil(); + const count = 'count' in d && d.count ? number(d.count) : nil(); + return tuple(tup, id, top, rear, count); +} function lencontainer() { return 5; } function deccontainer(d) { - var r={}; r.tup = 'container'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); } + const r = {}; r.tup = 'container'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.top = d && d.v[2] ? d.v[2].v : undefined; + r.rear = d && d.v[3] ? d.v[3].v : undefined; + r.count = d && d.v[4] ? d.v[4].v : undefined; + return clean(r); +} function enciterator(d) { - var tup = atom('iterator'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - return tuple(tup,id,container,feed_id,prev,next,feeds); } + const tup = atom('iterator'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + let feeds = []; if ('feeds' in d && d.feeds) { + d.feeds.forEach((x) => { + feeds.push(encode(x)); + }); + feeds = { t: 108, v: feeds }; + } else { feeds = nil(); } + return tuple(tup, id, container, feed_id, prev, next, feeds); +} function leniterator() { return 7; } function deciterator(d) { - var r={}; r.tup = 'iterator'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - return clean(r); } + const r = {}; r.tup = 'iterator'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.feeds = []; + (d && d.v[6] && d.v[6].v) ? + d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : + r.feeds = undefined; + return clean(r); +} function enclog(d) { - var tup = atom('log'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,id,top,rear,count); } + const tup = atom('log'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const top = 'top' in d && d.top ? number(d.top) : nil(); + const rear = 'rear' in d && d.rear ? number(d.rear) : nil(); + const count = 'count' in d && d.count ? number(d.count) : nil(); + return tuple(tup, id, top, rear, count); +} function lenlog() { return 5; } function declog(d) { - var r={}; r.tup = 'log'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); } + const r = {}; r.tup = 'log'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.top = d && d.v[2] ? d.v[2].v : undefined; + r.rear = d && d.v[3] ? d.v[3].v : undefined; + r.count = d && d.v[4] ? d.v[4].v : undefined; + return clean(r); +} function encoperation(d) { - var tup = atom('operation'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - return tuple(tup,id,container,feed_id,prev,next,feeds); } + const tup = atom('operation'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + let feeds = []; if ('feeds' in d && d.feeds) { + d.feeds.forEach((x) => { + feeds.push(encode(x)); + }); + feeds = { t: 108, v: feeds }; + } else { feeds = nil(); } + return tuple(tup, id, container, feed_id, prev, next, feeds); +} function lenoperation() { return 7; } function decoperation(d) { - var r={}; r.tup = 'operation'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - return clean(r); } + const r = {}; r.tup = 'operation'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.feeds = []; + (d && d.v[6] && d.v[6].v) ? + d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : + r.feeds = undefined; + return clean(r); +} function encchain(d) { - var tup = atom('chain'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var top = 'top' in d && d.top ? number(d.top) : nil(); - var rear = 'rear' in d && d.rear ? number(d.rear) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,id,top,rear,count); } + const tup = atom('chain'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const top = 'top' in d && d.top ? number(d.top) : nil(); + const rear = 'rear' in d && d.rear ? number(d.rear) : nil(); + const count = 'count' in d && d.count ? number(d.count) : nil(); + return tuple(tup, id, top, rear, count); +} function lenchain() { return 5; } function decchain(d) { - var r={}; r.tup = 'chain'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.top = d && d.v[2] ? d.v[2].v : undefined; - r.rear = d && d.v[3] ? d.v[3].v : undefined; - r.count = d && d.v[4] ? d.v[4].v : undefined; - return clean(r); } + const r = {}; r.tup = 'chain'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.top = d && d.v[2] ? d.v[2].v : undefined; + r.rear = d && d.v[3] ? d.v[3].v : undefined; + r.count = d && d.v[4] ? d.v[4].v : undefined; + return clean(r); +} function encpush(d) { - var tup = atom('push'); - var model = 'model' in d && d.model ? bin(d.model) : nil(); - var type = 'type' in d && d.type ? bin(d.type) : nil(); - var title = 'title' in d && d.title ? bin(d.title) : nil(); - var alert = 'alert' in d && d.alert ? bin(d.alert) : nil(); - var badge = 'badge' in d && d.badge ? number(d.badge) : nil(); - var sound = 'sound' in d && d.sound ? bin(d.sound) : nil(); - return tuple(tup,model,type,title,alert,badge,sound); } + const tup = atom('push'); + const model = 'model' in d && d.model ? bin(d.model) : nil(); + const type = 'type' in d && d.type ? bin(d.type) : nil(); + const title = 'title' in d && d.title ? bin(d.title) : nil(); + const alert = 'alert' in d && d.alert ? bin(d.alert) : nil(); + const badge = 'badge' in d && d.badge ? number(d.badge) : nil(); + const sound = 'sound' in d && d.sound ? bin(d.sound) : nil(); + return tuple(tup, model, type, title, alert, badge, sound); +} function lenpush() { return 7; } function decpush(d) { - var r={}; r.tup = 'push'; - r.model = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.type = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.title = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.alert = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.badge = d && d.v[5] ? d.v[5].v : undefined; - r.sound = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'push'; + r.model = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.type = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.title = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.alert = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.badge = d && d.v[5] ? d.v[5].v : undefined; + r.sound = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + return clean(r); +} function encSearch(d) { - var tup = atom('Search'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var ref = 'ref' in d && d.ref ? bin(d.ref) : nil(); - var field = 'field' in d && d.field ? bin(d.field) : nil(); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var value = 'value' in d && d.value ? encode(d.value) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,ref,field,type,value,status); } + const tup = atom('Search'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const ref = 'ref' in d && d.ref ? bin(d.ref) : nil(); + const field = 'field' in d && d.field ? bin(d.field) : nil(); + const type = 'type' in d && d.type ? atom(d.type) : nil(); + const value = 'value' in d && d.value ? encode(d.value) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, id, ref, field, type, value, status); +} function lenSearch() { return 7; } function decSearch(d) { - var r={}; r.tup = 'Search'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.ref = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.field = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.type = d && d.v[4] ? decode(d.v[4]) : undefined; - r.value = d && d.v[5] ? decode(d.v[5].v) : undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Search'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.ref = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.field = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.type = d && d.v[4] ? decode(d.v[4]) : undefined; + r.value = d && d.v[5] ? decode(d.v[5].v) : undefined; + r.status = d && d.v[6] ? decode(d.v[6]) : undefined; + return clean(r); +} function encp2p(d) { - var tup = atom('p2p'); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var to = 'to' in d && d.to ? bin(d.to) : nil(); - return tuple(tup,from,to); } + const tup = atom('p2p'); + const from = 'from' in d && d.from ? bin(d.from) : nil(); + const to = 'to' in d && d.to ? bin(d.to) : nil(); + return tuple(tup, from, to); +} function lenp2p() { return 3; } function decp2p(d) { - var r={}; r.tup = 'p2p'; - r.from = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.to = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'p2p'; + r.from = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.to = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + return clean(r); +} function encmuc(d) { - var tup = atom('muc'); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - return tuple(tup,name); } + const tup = atom('muc'); + const name = 'name' in d && d.name ? bin(d.name) : nil(); + return tuple(tup, name); +} function lenmuc() { return 2; } function decmuc(d) { - var r={}; r.tup = 'muc'; - r.name = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'muc'; + r.name = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + return clean(r); +} function encCDR(d) { - var tup = atom('CDR'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var to = 'to' in d && d.to ? bin(d.to) : nil(); - var start = 'start' in d && d.start ? number(d.start) : nil(); - var stop = 'stop' in d && d.stop ? number(d.stop) : nil(); - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); - var bill = 'bill' in d && d.bill ? number(d.bill) : nil(); - var tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); - return tuple(tup,id,container,feed,next,prev,from,to,start,stop,type, - desc,bill,tariff); } + const tup = atom('CDR'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const from = 'from' in d && d.from ? bin(d.from) : nil(); + const to = 'to' in d && d.to ? bin(d.to) : nil(); + const start = 'start' in d && d.start ? number(d.start) : nil(); + const stop = 'stop' in d && d.stop ? number(d.stop) : nil(); + const type = 'type' in d && d.type ? encode(d.type) : nil(); + const desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); + const bill = 'bill' in d && d.bill ? number(d.bill) : nil(); + const tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); + return tuple( + tup, id, container, feed, next, prev, from, to, start, stop, type, + desc, bill, tariff + ); +} function lenCDR() { return 14; } function decCDR(d) { - var r={}; r.tup = 'CDR'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.next = d && d.v[4] ? d.v[4].v : undefined; - r.prev = d && d.v[5] ? d.v[5].v : undefined; - r.from = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.to = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.start = d && d.v[8] ? d.v[8].v : undefined; - r.stop = d && d.v[9] ? d.v[9].v : undefined; - r.type = d && d.v[10] ? decode(d.v[10]) : undefined; - r.desc = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.bill = d && d.v[12] ? d.v[12].v : undefined; - r.tariff = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'CDR'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.next = d && d.v[4] ? d.v[4].v : undefined; + r.prev = d && d.v[5] ? d.v[5].v : undefined; + r.from = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.to = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.start = d && d.v[8] ? d.v[8].v : undefined; + r.stop = d && d.v[9] ? d.v[9].v : undefined; + r.type = d && d.v[10] ? decode(d.v[10]) : undefined; + r.desc = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; + r.bill = d && d.v[12] ? d.v[12].v : undefined; + r.tariff = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; + return clean(r); +} function encFeature(d) { - var tup = atom('Feature'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var key = 'key' in d && d.key ? bin(d.key) : nil(); - var value = 'value' in d && d.value ? bin(d.value) : nil(); - var group = 'group' in d && d.group ? bin(d.group) : nil(); - return tuple(tup,id,key,value,group); } + const tup = atom('Feature'); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + const key = 'key' in d && d.key ? bin(d.key) : nil(); + const value = 'value' in d && d.value ? bin(d.value) : nil(); + const group = 'group' in d && d.group ? bin(d.group) : nil(); + return tuple(tup, id, key, value, group); +} function lenFeature() { return 5; } function decFeature(d) { - var r={}; r.tup = 'Feature'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.value = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.group = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'Feature'; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.value = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.group = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + return clean(r); +} function encMember(d) { - var tup = atom('Member'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? encode(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - var names = 'names' in d && d.names ? bin(d.names) : nil(); - var surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - var alias = 'alias' in d && d.alias ? bin(d.alias) : nil(); - var email = 'email' in d && d.email ? bin(d.email) : nil(); - var vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); - var reader = 'reader' in d && d.reader ? number(d.reader) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,container,feed_id,prev,next,feeds,phone_id,avatar,names,surnames, - alias,email,vox_id,reader,update,settings,presence,status); } + const tup = atom('Member'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? encode(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + let feeds = []; if ('feeds' in d && d.feeds) { + d.feeds.forEach((x) => { + feeds.push(encode(x)); + }); + feeds = { t: 108, v: feeds }; + } else { feeds = nil(); } + const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); + const avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); + const names = 'names' in d && d.names ? bin(d.names) : nil(); + const surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); + const alias = 'alias' in d && d.alias ? bin(d.alias) : nil(); + const email = 'email' in d && d.email ? bin(d.email) : nil(); + const vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); + const reader = 'reader' in d && d.reader ? number(d.reader) : nil(); + const update = 'update' in d && d.update ? number(d.update) : nil(); + let settings = []; if ('settings' in d && d.settings) { + d.settings.forEach((x) => { + settings.push(encode(x)); + }); + settings = { t: 108, v: settings }; + } else { settings = nil(); } + const presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, id, container, feed_id, prev, next, feeds, phone_id, avatar, names, surnames, + alias, email, vox_id, reader, update, settings, presence, status + ); +} function lenMember() { return 19; } function decMember(d) { - var r={}; r.tup = 'Member'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - r.phone_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.avatar = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; - r.names = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; - r.surnames = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.alias = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.email = d && d.v[12] ? utf8_dec(d.v[12].v) : undefined; - r.vox_id = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; - r.reader = d && d.v[14] ? d.v[14].v : undefined; - r.update = d && d.v[15] ? d.v[15].v : undefined; - r.settings = []; - (d && d.v[16] && d.v[16].v) ? - d.v[16].v.forEach(function(x){r.settings.push(decode(x))}) : - r.settings = undefined; - r.presence = d && d.v[17] ? decode(d.v[17]) : undefined; - r.status = d && d.v[18] ? decode(d.v[18]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Member'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? decode(d.v[2]) : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.feeds = []; + (d && d.v[6] && d.v[6].v) ? + d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : + r.feeds = undefined; + r.phone_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.avatar = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; + r.names = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; + r.surnames = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; + r.alias = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; + r.email = d && d.v[12] ? utf8_dec(d.v[12].v) : undefined; + r.vox_id = d && d.v[13] ? utf8_dec(d.v[13].v) : undefined; + r.reader = d && d.v[14] ? d.v[14].v : undefined; + r.update = d && d.v[15] ? d.v[15].v : undefined; + r.settings = []; + (d && d.v[16] && d.v[16].v) ? + d.v[16].v.forEach((x) => { r.settings.push(decode(x)); }) : + r.settings = undefined; + r.presence = d && d.v[17] ? decode(d.v[17]) : undefined; + r.status = d && d.v[18] ? decode(d.v[18]) : undefined; + return clean(r); +} function encPerson(d) { - var tup = atom('Person'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var phonelist = []; if ('phonelist' in d && d.phonelist) - { d.phonelist.forEach(function(x){ - phonelist.push(encode(x))}); - phonelist={t:108,v:phonelist}; } else { phonelist = nil() }; - var alias = []; if ('alias' in d && d.alias) - { d.alias.forEach(function(x){ - alias.push(encode(x))}); - alias={t:108,v:alias}; } else { alias = nil() }; - var localize = []; if ('localize' in d && d.localize) - { d.localize.forEach(function(x){ - localize.push(encode(x))}); - localize={t:108,v:localize}; } else { localize = nil() }; - var NotificationSettings = []; if ('NotificationSettings' in d && d.NotificationSettings) - { d.NotificationSettings.forEach(function(x){ - NotificationSettings.push(encode(x))}); - NotificationSettings={t:108,v:NotificationSettings}; } else { NotificationSettings = nil() }; - var SoundSettings = []; if ('SoundSettings' in d && d.SoundSettings) - { d.SoundSettings.forEach(function(x){ - SoundSettings.push(encode(x))}); - SoundSettings={t:108,v:SoundSettings}; } else { SoundSettings = nil() }; - var ThemeID = 'ThemeID' in d && d.ThemeID ? bin(d.ThemeID) : nil(); - var BlockUsers = []; if ('BlockUsers' in d && d.BlockUsers) - { d.BlockUsers.forEach(function(x){ - BlockUsers.push(encode(x))}); - BlockUsers={t:108,v:BlockUsers}; } else { BlockUsers = nil() }; - var balance = 'balance' in d && d.balance ? number(d.balance) : nil(); - var isParticipants = []; if ('isParticipants' in d && d.isParticipants) - { d.isParticipants.forEach(function(x){ - isParticipants.push(encode(x))}); - isParticipants={t:108,v:isParticipants}; } else { isParticipants = nil() }; - var status = 'status' in d && d.status ? encode(d.status) : nil(); - return tuple(tup,id,phonelist,alias,localize,NotificationSettings,SoundSettings,ThemeID,BlockUsers,balance,isParticipants,status); } + const tup = atom('Person'); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + let phonelist = []; if ('phonelist' in d && d.phonelist) { + d.phonelist.forEach((x) => { + phonelist.push(encode(x)); + }); + phonelist = { t: 108, v: phonelist }; + } else { phonelist = nil(); } + let alias = []; if ('alias' in d && d.alias) { + d.alias.forEach((x) => { + alias.push(encode(x)); + }); + alias = { t: 108, v: alias }; + } else { alias = nil(); } + let localize = []; if ('localize' in d && d.localize) { + d.localize.forEach((x) => { + localize.push(encode(x)); + }); + localize = { t: 108, v: localize }; + } else { localize = nil(); } + let NotificationSettings = []; if ('NotificationSettings' in d && d.NotificationSettings) { + d.NotificationSettings.forEach((x) => { + NotificationSettings.push(encode(x)); + }); + NotificationSettings = { t: 108, v: NotificationSettings }; + } else { NotificationSettings = nil(); } + let SoundSettings = []; if ('SoundSettings' in d && d.SoundSettings) { + d.SoundSettings.forEach((x) => { + SoundSettings.push(encode(x)); + }); + SoundSettings = { t: 108, v: SoundSettings }; + } else { SoundSettings = nil(); } + const ThemeID = 'ThemeID' in d && d.ThemeID ? bin(d.ThemeID) : nil(); + let BlockUsers = []; if ('BlockUsers' in d && d.BlockUsers) { + d.BlockUsers.forEach((x) => { + BlockUsers.push(encode(x)); + }); + BlockUsers = { t: 108, v: BlockUsers }; + } else { BlockUsers = nil(); } + const balance = 'balance' in d && d.balance ? number(d.balance) : nil(); + let isParticipants = []; if ('isParticipants' in d && d.isParticipants) { + d.isParticipants.forEach((x) => { + isParticipants.push(encode(x)); + }); + isParticipants = { t: 108, v: isParticipants }; + } else { isParticipants = nil(); } + const status = 'status' in d && d.status ? encode(d.status) : nil(); + return tuple(tup, id, phonelist, alias, localize, NotificationSettings, SoundSettings, ThemeID, BlockUsers, balance, isParticipants, status); +} function lenPerson() { return 12; } function decPerson(d) { - var r={}; r.tup = 'Person'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.phonelist = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.phonelist.push(decode(x))}) : - r.phonelist = undefined; - r.alias = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.alias.push(decode(x))}) : - r.alias = undefined; - r.localize = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach(function(x){r.localize.push(decode(x))}) : - r.localize = undefined; - r.NotificationSettings = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.NotificationSettings.push(decode(x))}) : - r.NotificationSettings = undefined; - r.SoundSettings = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.SoundSettings.push(decode(x))}) : - r.SoundSettings = undefined; - r.ThemeID = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.BlockUsers = []; - (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach(function(x){r.BlockUsers.push(decode(x))}) : - r.BlockUsers = undefined; - r.balance = d && d.v[9] ? d.v[9].v : undefined; - r.isParticipants = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach(function(x){r.isParticipants.push(decode(x))}) : - r.isParticipants = undefined; - r.status = d && d.v[11] ? decode(d.v[11]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Person'; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.phonelist = []; + (d && d.v[2] && d.v[2].v) ? + d.v[2].v.forEach((x) => { r.phonelist.push(decode(x)); }) : + r.phonelist = undefined; + r.alias = []; + (d && d.v[3] && d.v[3].v) ? + d.v[3].v.forEach((x) => { r.alias.push(decode(x)); }) : + r.alias = undefined; + r.localize = []; + (d && d.v[4] && d.v[4].v) ? + d.v[4].v.forEach((x) => { r.localize.push(decode(x)); }) : + r.localize = undefined; + r.NotificationSettings = []; + (d && d.v[5] && d.v[5].v) ? + d.v[5].v.forEach((x) => { r.NotificationSettings.push(decode(x)); }) : + r.NotificationSettings = undefined; + r.SoundSettings = []; + (d && d.v[6] && d.v[6].v) ? + d.v[6].v.forEach((x) => { r.SoundSettings.push(decode(x)); }) : + r.SoundSettings = undefined; + r.ThemeID = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.BlockUsers = []; + (d && d.v[8] && d.v[8].v) ? + d.v[8].v.forEach((x) => { r.BlockUsers.push(decode(x)); }) : + r.BlockUsers = undefined; + r.balance = d && d.v[9] ? d.v[9].v : undefined; + r.isParticipants = []; + (d && d.v[10] && d.v[10].v) ? + d.v[10].v.forEach((x) => { r.isParticipants.push(decode(x)); }) : + r.isParticipants = undefined; + r.status = d && d.v[11] ? decode(d.v[11]) : undefined; + return clean(r); +} function encDesc(d) { - var tup = atom('Desc'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var mime = 'mime' in d && d.mime ? bin(d.mime) : nil(); - var payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - var size = 'size' in d && d.size ? number(d.size) : nil(); - var filename = 'filename' in d && d.filename ? bin(d.filename) : nil(); - var info = 'info' in d && d.info ? bin(d.info) : nil(); - return tuple(tup,id,mime,payload,size,filename,info); } + const tup = atom('Desc'); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + const mime = 'mime' in d && d.mime ? bin(d.mime) : nil(); + const payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); + const size = 'size' in d && d.size ? number(d.size) : nil(); + const filename = 'filename' in d && d.filename ? bin(d.filename) : nil(); + const info = 'info' in d && d.info ? bin(d.info) : nil(); + return tuple(tup, id, mime, payload, size, filename, info); +} function lenDesc() { return 7; } function decDesc(d) { - var r={}; r.tup = 'Desc'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.mime = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.payload = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.size = d && d.v[4] ? d.v[4].v : undefined; - r.filename = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.info = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'Desc'; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.mime = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.payload = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.size = d && d.v[4] ? d.v[4].v : undefined; + r.filename = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.info = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + return clean(r); +} function encMessage(d) { - var tup = atom('Message'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - //@TODO: CRASHED ANDROID VERSION - //var container = 'container' in d && d.container ? encode(d.container) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var msg_id = 'msg_id' in d && d.msg_id ? bin(d.msg_id) : nil(); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var to = 'to' in d && d.to ? bin(d.to) : nil(); - var created = 'created' in d && d.created ? encode(d.created) : nil(); - var files = []; if ('files' in d && d.files) - { d.files.forEach(function(x){ - files.push(encode(x))}); - files={t:108,v:files}; } else { files = nil() }; - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var link = 'link' in d && d.link ? number(d.link) : nil(); - var seenby = []; if ('seenby' in d && d.seenby) - { d.seenby.forEach(function(x){ - seenby.push(encode(x))}); - seenby={t:108,v:seenby}; } else { seenby = nil() }; - var repliedby = []; if ('repliedby' in d && d.repliedby) - { d.repliedby.forEach(function(x){ - repliedby.push(encode(x))}); - repliedby={t:108,v:repliedby}; } else { repliedby = nil() }; - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,container,feed_id,prev,next,msg_id,from,to,created,files, - type,link,seenby,repliedby,status); } + const tup = atom('Message'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + // @TODO: CRASHED ANDROID VERSION + // var container = 'container' in d && d.container ? encode(d.container) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + const msg_id = 'msg_id' in d && d.msg_id ? bin(d.msg_id) : nil(); + const from = 'from' in d && d.from ? bin(d.from) : nil(); + const to = 'to' in d && d.to ? bin(d.to) : nil(); + const created = 'created' in d && d.created ? encode(d.created) : nil(); + let files = []; if ('files' in d && d.files) { + d.files.forEach((x) => { + files.push(encode(x)); + }); + files = { t: 108, v: files }; + } else { files = nil(); } + const type = 'type' in d && d.type ? encode(d.type) : nil(); + const link = 'link' in d && d.link ? number(d.link) : nil(); + let seenby = []; if ('seenby' in d && d.seenby) { + d.seenby.forEach((x) => { + seenby.push(encode(x)); + }); + seenby = { t: 108, v: seenby }; + } else { seenby = nil(); } + let repliedby = []; if ('repliedby' in d && d.repliedby) { + d.repliedby.forEach((x) => { + repliedby.push(encode(x)); + }); + repliedby = { t: 108, v: repliedby }; + } else { repliedby = nil(); } + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, id, container, feed_id, prev, next, msg_id, from, to, created, files, + type, link, seenby, repliedby, status + ); +} function lenMessage() { return 16; } function decMessage(d) { - var r={}; r.tup = 'Message'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.msg_id = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.from = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.to = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; - r.created = d && d.v[9] ? decode(d.v[9]) : undefined; - r.files = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach(function(x){r.files.push(decode(x))}) : - r.files = undefined; - r.type = d && d.v[11] ? decode(d.v[11]) : undefined; - r.link = d && d.v[12] ? d.v[12].v : undefined; - r.seenby = []; - (d && d.v[13] && d.v[13].v) ? - d.v[13].v.forEach(function(x){r.seenby.push(decode(x))}) : - r.seenby = undefined; - r.repliedby = []; - (d && d.v[14] && d.v[14].v) ? - d.v[14].v.forEach(function(x){r.repliedby.push(decode(x))}) : - r.repliedby = undefined; - r.status = d && d.v[15] ? decode(d.v[15]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Message'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? decode(d.v[2]) : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.msg_id = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.from = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.to = d && d.v[8] ? utf8_dec(d.v[8].v) : undefined; + r.created = d && d.v[9] ? decode(d.v[9]) : undefined; + r.files = []; + (d && d.v[10] && d.v[10].v) ? + d.v[10].v.forEach((x) => { r.files.push(decode(x)); }) : + r.files = undefined; + r.type = d && d.v[11] ? decode(d.v[11]) : undefined; + r.link = d && d.v[12] ? d.v[12].v : undefined; + r.seenby = []; + (d && d.v[13] && d.v[13].v) ? + d.v[13].v.forEach((x) => { r.seenby.push(decode(x)); }) : + r.seenby = undefined; + r.repliedby = []; + (d && d.v[14] && d.v[14].v) ? + d.v[14].v.forEach((x) => { r.repliedby.push(decode(x)); }) : + r.repliedby = undefined; + r.status = d && d.v[15] ? decode(d.v[15]) : undefined; + return clean(r); +} function encRoom(d) { - var tup = atom('Room'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var description = 'description' in d && d.description ? bin(d.description) : nil(); - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var members = []; if ('members' in d && d.members) - { d.members.forEach(function(x){ - members.push(encode(x))}); - members={t:108,v:members}; } else { members = nil() }; - var admins = []; if ('admins' in d && d.admins) - { d.admins.forEach(function(x){ - admins.push(encode(x))}); - admins={t:108,v:admins}; } else { admins = nil() }; - var data = []; if ('data' in d && d.data) - { d.data.forEach(function(x){ - data.push(encode(x))}); - data={t:108,v:data}; } else { data = nil() }; - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var tos = 'tos' in d && d.tos ? bin(d.tos) : nil(); - var tos_update = 'tos_update' in d && d.tos_update ? number(d.tos_update) : nil(); - var unread = 'unread' in d && d.unread ? number(d.unread) : nil(); - var readers = []; if ('readers' in d && d.readers) - { d.readers.forEach(function(x){ - readers.push(encode(x))}); - readers={t:108,v:readers}; } else { readers = nil() }; - var last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var created = 'created' in d && d.created ? number(d.created) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,name,description,settings,members,admins,data,type,tos,tos_update, - unread,readers,last_msg,update,created,status); } + const tup = atom('Room'); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + const name = 'name' in d && d.name ? bin(d.name) : nil(); + const description = 'description' in d && d.description ? bin(d.description) : nil(); + let settings = []; if ('settings' in d && d.settings) { + d.settings.forEach((x) => { + settings.push(encode(x)); + }); + settings = { t: 108, v: settings }; + } else { settings = nil(); } + let members = []; if ('members' in d && d.members) { + d.members.forEach((x) => { + members.push(encode(x)); + }); + members = { t: 108, v: members }; + } else { members = nil(); } + let admins = []; if ('admins' in d && d.admins) { + d.admins.forEach((x) => { + admins.push(encode(x)); + }); + admins = { t: 108, v: admins }; + } else { admins = nil(); } + let data = []; if ('data' in d && d.data) { + d.data.forEach((x) => { + data.push(encode(x)); + }); + data = { t: 108, v: data }; + } else { data = nil(); } + const type = 'type' in d && d.type ? encode(d.type) : nil(); + const tos = 'tos' in d && d.tos ? bin(d.tos) : nil(); + const tos_update = 'tos_update' in d && d.tos_update ? number(d.tos_update) : nil(); + const unread = 'unread' in d && d.unread ? number(d.unread) : nil(); + let readers = []; if ('readers' in d && d.readers) { + d.readers.forEach((x) => { + readers.push(encode(x)); + }); + readers = { t: 108, v: readers }; + } else { readers = nil(); } + const last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); + const update = 'update' in d && d.update ? number(d.update) : nil(); + const created = 'created' in d && d.created ? number(d.created) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, id, name, description, settings, members, admins, data, type, tos, tos_update, + unread, readers, last_msg, update, created, status + ); +} function lenRoom() { return 17; } function decRoom(d) { - var r={}; r.tup = 'Room'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.description = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.settings = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach(function(x){r.settings.push(decode(x))}) : - r.settings = undefined; - r.members = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.members.push(decode(x))}) : - r.members = undefined; - r.admins = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.admins.push(decode(x))}) : - r.admins = undefined; - r.data = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach(function(x){r.data.push(decode(x))}) : - r.data = undefined; - r.type = d && d.v[8] ? decode(d.v[8]) : undefined; - r.tos = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; - r.tos_update = d && d.v[10] ? d.v[10].v : undefined; - r.unread = d && d.v[11] ? d.v[11].v : undefined; - r.readers = []; - (d && d.v[12] && d.v[12].v) ? - d.v[12].v.forEach(function(x){r.readers.push(decode(x))}) : - r.readers = undefined; - r.last_msg = d && d.v[13] ? decode(d.v[13]) : undefined; - r.update = d && d.v[14] ? d.v[14].v : undefined; - r.created = d && d.v[15] ? d.v[15].v : undefined; - r.status = d && d.v[16] ? decode(d.v[16]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Room'; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.description = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.settings = []; + (d && d.v[4] && d.v[4].v) ? + d.v[4].v.forEach((x) => { r.settings.push(decode(x)); }) : + r.settings = undefined; + r.members = []; + (d && d.v[5] && d.v[5].v) ? + d.v[5].v.forEach((x) => { r.members.push(decode(x)); }) : + r.members = undefined; + r.admins = []; + (d && d.v[6] && d.v[6].v) ? + d.v[6].v.forEach((x) => { r.admins.push(decode(x)); }) : + r.admins = undefined; + r.data = []; + (d && d.v[7] && d.v[7].v) ? + d.v[7].v.forEach((x) => { r.data.push(decode(x)); }) : + r.data = undefined; + r.type = d && d.v[8] ? decode(d.v[8]) : undefined; + r.tos = d && d.v[9] ? utf8_dec(d.v[9].v) : undefined; + r.tos_update = d && d.v[10] ? d.v[10].v : undefined; + r.unread = d && d.v[11] ? d.v[11].v : undefined; + r.readers = []; + (d && d.v[12] && d.v[12].v) ? + d.v[12].v.forEach((x) => { r.readers.push(decode(x)); }) : + r.readers = undefined; + r.last_msg = d && d.v[13] ? decode(d.v[13]) : undefined; + r.update = d && d.v[14] ? d.v[14].v : undefined; + r.created = d && d.v[15] ? d.v[15].v : undefined; + r.status = d && d.v[16] ? decode(d.v[16]) : undefined; + return clean(r); +} function encTag(d) { - var tup = atom('Tag'); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var color = 'color' in d && d.color ? bin(d.color) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,roster_id,name,color,status); } + const tup = atom('Tag'); + const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); + const name = 'name' in d && d.name ? bin(d.name) : nil(); + const color = 'color' in d && d.color ? bin(d.color) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, roster_id, name, color, status); +} function lenTag() { return 5; } function decTag(d) { - var r={}; r.tup = 'Tag'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.color = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.status = d && d.v[4] ? decode(d.v[4]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Tag'; + r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.color = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.status = d && d.v[4] ? decode(d.v[4]) : undefined; + return clean(r); +} function encStar(d) { - var tup = atom('Star'); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var message = 'message' in d && d.message ? encode(d.message) : nil(); - var tags = []; if ('tags' in d && d.tags) - { d.tags.forEach(function(x){ - tags.push(encode(x))}); - tags={t:108,v:tags}; } else { tags = nil() }; - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,roster_id,message,tags,status); } + const tup = atom('Star'); + const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); + const message = 'message' in d && d.message ? encode(d.message) : nil(); + let tags = []; if ('tags' in d && d.tags) { + d.tags.forEach((x) => { + tags.push(encode(x)); + }); + tags = { t: 108, v: tags }; + } else { tags = nil(); } + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, roster_id, message, tags, status); +} function lenStar() { return 5; } function decStar(d) { - var r={}; r.tup = 'Star'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.message = d && d.v[2] ? decode(d.v[2]) : undefined; - r.tags = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.tags.push(decode(x))}) : - r.tags = undefined; - r.status = d && d.v[4] ? decode(d.v[4]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Star'; + r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.message = d && d.v[2] ? decode(d.v[2]) : undefined; + r.tags = []; + (d && d.v[3] && d.v[3].v) ? + d.v[3].v.forEach((x) => { r.tags.push(decode(x)); }) : + r.tags = undefined; + r.status = d && d.v[4] ? decode(d.v[4]) : undefined; + return clean(r); +} function encHistory(d) { - var tup = atom('History'); - var roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); - var feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); - var size = 'size' in d && d.size ? number(d.size) : nil(); - var entity_id = 'entity_id' in d && d.entity_id ? number(d.entity_id) : nil(); - var data = []; if ('data' in d && d.data) - { d.data.forEach(function(x){ - data.push(encode(x))}); - data={t:108,v:data}; } else { data = nil() }; - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,roster_id,feed,size,entity_id,data,status); } + const tup = atom('History'); + const roster_id = 'roster_id' in d && d.roster_id ? bin(d.roster_id) : nil(); + const feed = 'feed' in d && d.feed ? encode(d.feed) : nil(); + const size = 'size' in d && d.size ? number(d.size) : nil(); + const entity_id = 'entity_id' in d && d.entity_id ? number(d.entity_id) : nil(); + let data = []; if ('data' in d && d.data) { + d.data.forEach((x) => { + data.push(encode(x)); + }); + data = { t: 108, v: data }; + } else { data = nil(); } + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, roster_id, feed, size, entity_id, data, status); +} function lenHistory() { return 7; } function decHistory(d) { - var r={}; r.tup = 'History'; - r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.feed = d && d.v[2] ? decode(d.v[2]) : undefined; - r.size = d && d.v[3] ? d.v[3].v : undefined; - r.entity_id = d && d.v[4] ? d.v[4].v : undefined; - r.data = []; - (d && d.v[5] && d.v[5].v) ? - d.v[5].v.forEach(function(x){r.data.push(decode(x))}) : - r.data = undefined; - r.status = d && d.v[6] ? decode(d.v[6]) : undefined; - return clean(r); } + const r = {}; r.tup = 'History'; + r.roster_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.feed = d && d.v[2] ? decode(d.v[2]) : undefined; + r.size = d && d.v[3] ? d.v[3].v : undefined; + r.entity_id = d && d.v[4] ? d.v[4].v : undefined; + r.data = []; + (d && d.v[5] && d.v[5].v) ? + d.v[5].v.forEach((x) => { r.data.push(decode(x)); }) : + r.data = undefined; + r.status = d && d.v[6] ? decode(d.v[6]) : undefined; + return clean(r); +} function encTyping(d) { - var tup = atom('Typing'); - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var comments = 'comments' in d && d.comments ? encode(d.comments) : nil(); - return tuple(tup,phone_id,comments); } + const tup = atom('Typing'); + const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); + const comments = 'comments' in d && d.comments ? encode(d.comments) : nil(); + return tuple(tup, phone_id, comments); +} function lenTyping() { return 3; } function decTyping(d) { - var r={}; r.tup = 'Typing'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.comments = d && d.v[2] ? decode(d.v[2].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'Typing'; + r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.comments = d && d.v[2] ? decode(d.v[2].v) : undefined; + return clean(r); +} function encContact(d) { - var tup = atom('Contact'); - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - var names = 'names' in d && d.names ? bin(d.names) : nil(); - var surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - var nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); - var email = 'email' in d && d.email ? bin(d.email) : nil(); - var vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); - var reader = 'reader' in d && d.reader ? number(d.reader) : nil(); - var unread = 'unread' in d && d.unread ? number(d.unread) : nil(); - var last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,phone_id,avatar,names,surnames,nick,email,vox_id,reader,unread,last_msg, - update,settings,presence,status); } + const tup = atom('Contact'); + const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); + const avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); + const names = 'names' in d && d.names ? bin(d.names) : nil(); + const surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); + const nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); + const email = 'email' in d && d.email ? bin(d.email) : nil(); + const vox_id = 'vox_id' in d && d.vox_id ? bin(d.vox_id) : nil(); + const reader = 'reader' in d && d.reader ? number(d.reader) : nil(); + const unread = 'unread' in d && d.unread ? number(d.unread) : nil(); + const last_msg = 'last_msg' in d && d.last_msg ? encode(d.last_msg) : nil(); + const update = 'update' in d && d.update ? number(d.update) : nil(); + let settings = []; if ('settings' in d && d.settings) { + d.settings.forEach((x) => { + settings.push(encode(x)); + }); + settings = { t: 108, v: settings }; + } else { settings = nil(); } + const presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, phone_id, avatar, names, surnames, nick, email, vox_id, reader, unread, last_msg, + update, settings, presence, status + ); +} function lenContact() { return 15; } function decContact(d) { - var r={}; r.tup = 'Contact'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.avatar = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.names = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.surnames = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.email = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.vox_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.reader = d && d.v[8] ? d.v[8].v : undefined; - r.unread = d && d.v[9] ? d.v[9].v : undefined; - r.last_msg = d && d.v[10] ? decode(d.v[10]) : undefined; - r.update = d && d.v[11] ? d.v[11].v : undefined; - r.settings = []; - (d && d.v[12] && d.v[12].v) ? - d.v[12].v.forEach(function(x){r.settings.push(decode(x))}) : - r.settings = undefined; - r.presence = d && d.v[13] ? d.v[13].v : undefined; - r.status = d && d.v[14] ? decode(d.v[14]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Contact'; + r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.avatar = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.names = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.surnames = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.email = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.vox_id = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.reader = d && d.v[8] ? d.v[8].v : undefined; + r.unread = d && d.v[9] ? d.v[9].v : undefined; + r.last_msg = d && d.v[10] ? decode(d.v[10]) : undefined; + r.update = d && d.v[11] ? d.v[11].v : undefined; + r.settings = []; + (d && d.v[12] && d.v[12].v) ? + d.v[12].v.forEach((x) => { r.settings.push(decode(x)); }) : + r.settings = undefined; + r.presence = d && d.v[13] ? d.v[13].v : undefined; + r.status = d && d.v[14] ? decode(d.v[14]) : undefined; + return clean(r); +} function encAuth(d) { - var tup = atom('Auth'); - var client_id = 'client_id' in d && d.client_id ? bin(d.client_id) : nil(); - var dev_key = 'dev_key' in d && d.dev_key ? bin(d.dev_key) : nil(); - var user_id = 'user_id' in d && d.user_id ? bin(d.user_id) : nil(); - var phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - var token = 'token' in d && d.token ? bin(d.token) : nil(); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var sms_code = 'sms_code' in d && d.sms_code ? bin(d.sms_code) : nil(); - var attempts = 'attempts' in d && d.attempts ? number(d.attempts) : nil(); - var services = []; if ('services' in d && d.services) - { d.services.forEach(function(x){ - services.push(encode(x))}); - services={t:108,v:services}; } else { services = nil() }; - var push = 'push' in d && d.push ? bin(d.push) : nil(); - var os = 'os' in d && d.os ? encode(d.os) : nil(); - var created = 'created' in d && d.created ? encode(d.created) : nil(); - var last_online = 'last_online' in d && d.last_online ? number(d.last_online) : nil(); - return tuple(tup,client_id,dev_key,user_id,phone,token,type,sms_code,attempts,services,push, - os,created,last_online); } + const tup = atom('Auth'); + const client_id = 'client_id' in d && d.client_id ? bin(d.client_id) : nil(); + const dev_key = 'dev_key' in d && d.dev_key ? bin(d.dev_key) : nil(); + const user_id = 'user_id' in d && d.user_id ? bin(d.user_id) : nil(); + const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); + const token = 'token' in d && d.token ? bin(d.token) : nil(); + const type = 'type' in d && d.type ? atom(d.type) : nil(); + const sms_code = 'sms_code' in d && d.sms_code ? bin(d.sms_code) : nil(); + const attempts = 'attempts' in d && d.attempts ? number(d.attempts) : nil(); + let services = []; if ('services' in d && d.services) { + d.services.forEach((x) => { + services.push(encode(x)); + }); + services = { t: 108, v: services }; + } else { services = nil(); } + const push = 'push' in d && d.push ? bin(d.push) : nil(); + const os = 'os' in d && d.os ? encode(d.os) : nil(); + const created = 'created' in d && d.created ? encode(d.created) : nil(); + const last_online = 'last_online' in d && d.last_online ? number(d.last_online) : nil(); + return tuple( + tup, client_id, dev_key, user_id, phone, token, type, sms_code, attempts, services, push, + os, created, last_online + ); +} function lenAuth() { return 14; } function decAuth(d) { - var r={}; r.tup = 'Auth'; - r.client_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.dev_key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.user_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.phone = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.token = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.type = d && d.v[6] ? d.v[6].v : undefined; - r.sms_code = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.attempts = d && d.v[8] ? d.v[8].v : undefined; - r.services = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach(function(x){r.services.push(decode(x))}) : - r.services = undefined; - r.push = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.os = d && d.v[11] ? decode(d.v[11]) : undefined; - r.created = d && d.v[12] ? decode(d.v[12]) : undefined; - r.last_online = d && d.v[13] ? d.v[13].v : undefined; - return clean(r); } + const r = {}; r.tup = 'Auth'; + r.client_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.dev_key = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.user_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.phone = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.token = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.type = d && d.v[6] ? d.v[6].v : undefined; + r.sms_code = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.attempts = d && d.v[8] ? d.v[8].v : undefined; + r.services = []; + (d && d.v[9] && d.v[9].v) ? + d.v[9].v.forEach((x) => { r.services.push(decode(x)); }) : + r.services = undefined; + r.push = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; + r.os = d && d.v[11] ? decode(d.v[11]) : undefined; + r.created = d && d.v[12] ? decode(d.v[12]) : undefined; + r.last_online = d && d.v[13] ? d.v[13].v : undefined; + return clean(r); +} function encService(d) { - var tup = atom('Service'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var data = 'data' in d && d.data ? encode(d.data) : nil(); - var login = 'login' in d && d.login ? bin(d.login) : nil(); - var password = 'password' in d && d.password ? bin(d.password) : nil(); - var expiration = 'expiration' in d && d.expiration ? number(d.expiration) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,type,data,login,password,expiration,status); } + const tup = atom('Service'); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + const type = 'type' in d && d.type ? atom(d.type) : nil(); + const data = 'data' in d && d.data ? encode(d.data) : nil(); + const login = 'login' in d && d.login ? bin(d.login) : nil(); + const password = 'password' in d && d.password ? bin(d.password) : nil(); + const expiration = 'expiration' in d && d.expiration ? number(d.expiration) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, id, type, data, login, password, expiration, status); +} function lenService() { return 8; } function decService(d) { - var r={}; r.tup = 'Service'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.type = d && d.v[2] ? decode(d.v[2]) : undefined; - r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.login = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.password = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.expiration = d && d.v[6] ? d.v[6].v : undefined; - r.status = d && d.v[7] ? decode(d.v[7]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Service'; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.type = d && d.v[2] ? decode(d.v[2]) : undefined; + r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.login = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.password = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.expiration = d && d.v[6] ? d.v[6].v : undefined; + r.status = d && d.v[7] ? decode(d.v[7]) : undefined; + return clean(r); +} function encRoster(d) { - var tup = atom('Roster'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var names = 'names' in d && d.names ? bin(d.names) : nil(); - var surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); - var email = 'email' in d && d.email ? bin(d.email) : nil(); - var nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); - var userlist = []; if ('userlist' in d && d.userlist) - { d.userlist.forEach(function(x){ - userlist.push(encode(x))}); - userlist={t:108,v:userlist}; } else { userlist = nil() }; - var roomlist = []; if ('roomlist' in d && d.roomlist) - { d.roomlist.forEach(function(x){ - roomlist.push(encode(x))}); - roomlist={t:108,v:roomlist}; } else { roomlist = nil() }; - var favorite = []; if ('favorite' in d && d.favorite) - { d.favorite.forEach(function(x){ - favorite.push(encode(x))}); - favorite={t:108,v:favorite}; } else { favorite = nil() }; - var tags = []; if ('tags' in d && d.tags) - { d.tags.forEach(function(x){ - tags.push(encode(x))}); - tags={t:108,v:tags}; } else { tags = nil() }; - var phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - var avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); - var update = 'update' in d && d.update ? number(d.update) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,names,surnames,email,nick,userlist,roomlist,favorite,tags,phone, - avatar,update,status); } + const tup = atom('Roster'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const names = 'names' in d && d.names ? bin(d.names) : nil(); + const surnames = 'surnames' in d && d.surnames ? bin(d.surnames) : nil(); + const email = 'email' in d && d.email ? bin(d.email) : nil(); + const nick = 'nick' in d && d.nick ? bin(d.nick) : nil(); + let userlist = []; if ('userlist' in d && d.userlist) { + d.userlist.forEach((x) => { + userlist.push(encode(x)); + }); + userlist = { t: 108, v: userlist }; + } else { userlist = nil(); } + let roomlist = []; if ('roomlist' in d && d.roomlist) { + d.roomlist.forEach((x) => { + roomlist.push(encode(x)); + }); + roomlist = { t: 108, v: roomlist }; + } else { roomlist = nil(); } + let favorite = []; if ('favorite' in d && d.favorite) { + d.favorite.forEach((x) => { + favorite.push(encode(x)); + }); + favorite = { t: 108, v: favorite }; + } else { favorite = nil(); } + let tags = []; if ('tags' in d && d.tags) { + d.tags.forEach((x) => { + tags.push(encode(x)); + }); + tags = { t: 108, v: tags }; + } else { tags = nil(); } + const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); + const avatar = 'avatar' in d && d.avatar ? bin(d.avatar) : nil(); + const update = 'update' in d && d.update ? number(d.update) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, id, names, surnames, email, nick, userlist, roomlist, favorite, tags, phone, + avatar, update, status + ); +} function lenRoster() { return 14; } function decRoster(d) { - var r={}; r.tup = 'Roster'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.names = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.surnames = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.email = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.userlist = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.userlist.push(decode(x))}) : - r.userlist = undefined; - r.roomlist = []; - (d && d.v[7] && d.v[7].v) ? - d.v[7].v.forEach(function(x){r.roomlist.push(decode(x))}) : - r.roomlist = undefined; - r.favorite = []; - (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach(function(x){r.favorite.push(decode(x))}) : - r.favorite = undefined; - r.tags = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach(function(x){r.tags.push(decode(x))}) : - r.tags = undefined; - r.phone = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.avatar = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.update = d && d.v[12] ? d.v[12].v : undefined; - r.status = d && d.v[13] ? decode(d.v[13]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Roster'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.names = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.surnames = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.email = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.nick = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.userlist = []; + (d && d.v[6] && d.v[6].v) ? + d.v[6].v.forEach((x) => { r.userlist.push(decode(x)); }) : + r.userlist = undefined; + r.roomlist = []; + (d && d.v[7] && d.v[7].v) ? + d.v[7].v.forEach((x) => { r.roomlist.push(decode(x)); }) : + r.roomlist = undefined; + r.favorite = []; + (d && d.v[8] && d.v[8].v) ? + d.v[8].v.forEach((x) => { r.favorite.push(decode(x)); }) : + r.favorite = undefined; + r.tags = []; + (d && d.v[9] && d.v[9].v) ? + d.v[9].v.forEach((x) => { r.tags.push(decode(x)); }) : + r.tags = undefined; + r.phone = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; + r.avatar = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; + r.update = d && d.v[12] ? d.v[12].v : undefined; + r.status = d && d.v[13] ? decode(d.v[13]) : undefined; + return clean(r); +} function encProfile(d) { - var tup = atom('Profile'); - var phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); - var services = []; if ('services' in d && d.services) - { d.services.forEach(function(x){ - services.push(encode(x))}); - services={t:108,v:services}; } else { services = nil() }; - var rosters = []; if ('rosters' in d && d.rosters) - { d.rosters.forEach(function(x){ - rosters.push(encode(x))}); - rosters={t:108,v:rosters}; } else { rosters = nil() }; - var settings = []; if ('settings' in d && d.settings) - { d.settings.forEach(function(x){ - settings.push(encode(x))}); - settings={t:108,v:settings}; } else { settings = nil() }; - var update = 'update' in d && d.update ? number(d.update) : nil(); - var balance = 'balance' in d && d.balance ? number(d.balance) : nil(); - var presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,phone,services,rosters,settings,update,balance,presence,status); } + const tup = atom('Profile'); + const phone = 'phone' in d && d.phone ? bin(d.phone) : nil(); + let services = []; if ('services' in d && d.services) { + d.services.forEach((x) => { + services.push(encode(x)); + }); + services = { t: 108, v: services }; + } else { services = nil(); } + let rosters = []; if ('rosters' in d && d.rosters) { + d.rosters.forEach((x) => { + rosters.push(encode(x)); + }); + rosters = { t: 108, v: rosters }; + } else { rosters = nil(); } + let settings = []; if ('settings' in d && d.settings) { + d.settings.forEach((x) => { + settings.push(encode(x)); + }); + settings = { t: 108, v: settings }; + } else { settings = nil(); } + const update = 'update' in d && d.update ? number(d.update) : nil(); + const balance = 'balance' in d && d.balance ? number(d.balance) : nil(); + const presence = 'presence' in d && d.presence ? atom(d.presence) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, phone, services, rosters, settings, update, balance, presence, status); +} function lenProfile() { return 9; } function decProfile(d) { - var r={}; r.tup = 'Profile'; - r.phone = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.services = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.services.push(decode(x))}) : - r.services = undefined; - r.rosters = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.rosters.push(decode(x))}) : - r.rosters = undefined; - r.settings = []; - (d && d.v[4] && d.v[4].v) ? - d.v[4].v.forEach(function(x){r.settings.push(decode(x))}) : - r.settings = undefined; - r.update = d && d.v[5] ? d.v[5].v : undefined; - r.balance = d && d.v[6] ? d.v[6].v : undefined; - r.presence = d && d.v[7] ? d.v[7].v : undefined; - r.status = d && d.v[8] ? d.v[8].v : undefined; - return clean(r); } + const r = {}; r.tup = 'Profile'; + r.phone = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.services = []; + (d && d.v[2] && d.v[2].v) ? + d.v[2].v.forEach((x) => { r.services.push(decode(x)); }) : + r.services = undefined; + r.rosters = []; + (d && d.v[3] && d.v[3].v) ? + d.v[3].v.forEach((x) => { r.rosters.push(decode(x)); }) : + r.rosters = undefined; + r.settings = []; + (d && d.v[4] && d.v[4].v) ? + d.v[4].v.forEach((x) => { r.settings.push(decode(x)); }) : + r.settings = undefined; + r.update = d && d.v[5] ? d.v[5].v : undefined; + r.balance = d && d.v[6] ? d.v[6].v : undefined; + r.presence = d && d.v[7] ? d.v[7].v : undefined; + r.status = d && d.v[8] ? d.v[8].v : undefined; + return clean(r); +} function encLoc(d) { - var tup = atom('Loc'); - var x = 'x' in d && d.x ? bin(d.x) : nil(); - var y = 'y' in d && d.y ? bin(d.y) : nil(); - var z = 'z' in d && d.z ? bin(d.z) : nil(); - return tuple(tup,x,y,z); } + const tup = atom('Loc'); + const x = 'x' in d && d.x ? bin(d.x) : nil(); + const y = 'y' in d && d.y ? bin(d.y) : nil(); + const z = 'z' in d && d.z ? bin(d.z) : nil(); + return tuple(tup, x, y, z); +} function lenLoc() { return 4; } function decLoc(d) { - var r={}; r.tup = 'Loc'; - r.x = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.y = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.z = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'Loc'; + r.x = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.y = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.z = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + return clean(r); +} function encFriend(d) { - var tup = atom('Friend'); - var phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); - var friend_id = 'friend_id' in d && d.friend_id ? bin(d.friend_id) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,phone_id,friend_id,status); } + const tup = atom('Friend'); + const phone_id = 'phone_id' in d && d.phone_id ? bin(d.phone_id) : nil(); + const friend_id = 'friend_id' in d && d.friend_id ? bin(d.friend_id) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, phone_id, friend_id, status); +} function lenFriend() { return 4; } function decFriend(d) { - var r={}; r.tup = 'Friend'; - r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.friend_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.status = d && d.v[3] ? decode(d.v[3]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Friend'; + r.phone_id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.friend_id = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.status = d && d.v[3] ? decode(d.v[3]) : undefined; + return clean(r); +} function encCallMember(d) { - var tup = atom('CallMember'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? encode(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? bin(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var contact = 'contact' in d && d.contact ? encode(d.contact) : nil(); - var start = 'start' in d && d.start ? number(d.start) : nil(); - var stop = 'stop' in d && d.stop ? number(d.stop) : nil(); - var type = 'type' in d && d.type ? encode(d.type) : nil(); - var desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); - var tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); - var bill = 'bill' in d && d.bill ? number(d.bill) : nil(); - var duration = 'duration' in d && d.duration ? number(d.duration) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,container,feed_id,prev,next,contact,start,stop,type,desc, - tariff,bill,duration,status); } + const tup = atom('CallMember'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? encode(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? bin(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + const contact = 'contact' in d && d.contact ? encode(d.contact) : nil(); + const start = 'start' in d && d.start ? number(d.start) : nil(); + const stop = 'stop' in d && d.stop ? number(d.stop) : nil(); + const type = 'type' in d && d.type ? encode(d.type) : nil(); + const desc = 'desc' in d && d.desc ? bin(d.desc) : nil(); + const tariff = 'tariff' in d && d.tariff ? bin(d.tariff) : nil(); + const bill = 'bill' in d && d.bill ? number(d.bill) : nil(); + const duration = 'duration' in d && d.duration ? number(d.duration) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple( + tup, id, container, feed_id, prev, next, contact, start, stop, type, desc, + tariff, bill, duration, status + ); +} function lenCallMember() { return 15; } function decCallMember(d) { - var r={}; r.tup = 'CallMember'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.contact = d && d.v[6] ? decode(d.v[6]) : undefined; - r.start = d && d.v[7] ? d.v[7].v : undefined; - r.stop = d && d.v[8] ? d.v[8].v : undefined; - r.type = d && d.v[9] ? decode(d.v[9]) : undefined; - r.desc = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; - r.tariff = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; - r.bill = d && d.v[12] ? d.v[12].v : undefined; - r.duration = d && d.v[13] ? d.v[13].v : undefined; - r.status = d && d.v[14] ? decode(d.v[14]) : undefined; - return clean(r); } + const r = {}; r.tup = 'CallMember'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? decode(d.v[2]) : undefined; + r.feed_id = d && d.v[3] ? utf8_dec(d.v[3].v) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.contact = d && d.v[6] ? decode(d.v[6]) : undefined; + r.start = d && d.v[7] ? d.v[7].v : undefined; + r.stop = d && d.v[8] ? d.v[8].v : undefined; + r.type = d && d.v[9] ? decode(d.v[9]) : undefined; + r.desc = d && d.v[10] ? utf8_dec(d.v[10].v) : undefined; + r.tariff = d && d.v[11] ? utf8_dec(d.v[11].v) : undefined; + r.bill = d && d.v[12] ? d.v[12].v : undefined; + r.duration = d && d.v[13] ? d.v[13].v : undefined; + r.status = d && d.v[14] ? decode(d.v[14]) : undefined; + return clean(r); +} function encCall(d) { - var tup = atom('Call'); - var id = 'id' in d && d.id ? bin(d.id) : nil(); - var from = 'from' in d && d.from ? bin(d.from) : nil(); - var members = []; if ('members' in d && d.members) - { d.members.forEach(function(x){ - members.push(encode(x))}); - members={t:108,v:members}; } else { members = nil() }; - var start = 'start' in d && d.start ? number(d.start) : nil(); - var stop = 'stop' in d && d.stop ? number(d.stop) : nil(); - var vox_url = 'vox_url' in d && d.vox_url ? bin(d.vox_url) : nil(); - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,from,members,start,stop,vox_url,status); } + const tup = atom('Call'); + const id = 'id' in d && d.id ? bin(d.id) : nil(); + const from = 'from' in d && d.from ? bin(d.from) : nil(); + let members = []; if ('members' in d && d.members) { + d.members.forEach((x) => { + members.push(encode(x)); + }); + members = { t: 108, v: members }; + } else { members = nil(); } + const start = 'start' in d && d.start ? number(d.start) : nil(); + const stop = 'stop' in d && d.stop ? number(d.stop) : nil(); + const vox_url = 'vox_url' in d && d.vox_url ? bin(d.vox_url) : nil(); + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, id, from, members, start, stop, vox_url, status); +} function lenCall() { return 8; } function decCall(d) { - var r={}; r.tup = 'Call'; - r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.from = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.members = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.members.push(decode(x))}) : - r.members = undefined; - r.start = d && d.v[4] ? d.v[4].v : undefined; - r.stop = d && d.v[5] ? d.v[5].v : undefined; - r.vox_url = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.status = d && d.v[7] ? decode(d.v[7]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Call'; + r.id = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.from = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.members = []; + (d && d.v[3] && d.v[3].v) ? + d.v[3].v.forEach((x) => { r.members.push(decode(x)); }) : + r.members = undefined; + r.start = d && d.v[4] ? d.v[4].v : undefined; + r.stop = d && d.v[5] ? d.v[5].v : undefined; + r.vox_url = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.status = d && d.v[7] ? decode(d.v[7]) : undefined; + return clean(r); +} function encIndex(d) { - var tup = atom('Index'); - var id = 'id' in d && d.id ? encode(d.id) : nil(); - var roster = []; if ('roster' in d && d.roster) - { d.roster.forEach(function(x){ - roster.push(encode(x))}); - roster={t:108,v:roster}; } else { roster = nil() }; - return tuple(tup,id,roster); } + const tup = atom('Index'); + const id = 'id' in d && d.id ? encode(d.id) : nil(); + let roster = []; if ('roster' in d && d.roster) { + d.roster.forEach((x) => { + roster.push(encode(x)); + }); + roster = { t: 108, v: roster }; + } else { roster = nil(); } + return tuple(tup, id, roster); +} function lenIndex() { return 3; } function decIndex(d) { - var r={}; r.tup = 'Index'; - r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; - r.roster = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.roster.push(decode(x))}) : - r.roster = undefined; - return clean(r); } + const r = {}; r.tup = 'Index'; + r.id = d && d.v[1] ? decode(d.v[1].v) : undefined; + r.roster = []; + (d && d.v[2] && d.v[2].v) ? + d.v[2].v.forEach((x) => { r.roster.push(decode(x)); }) : + r.roster = undefined; + return clean(r); +} function encerror(d) { - var tup = atom('error'); - var code = 'code' in d && d.code ? encode(d.code) : nil(); - return tuple(tup,code); } + const tup = atom('error'); + const code = 'code' in d && d.code ? encode(d.code) : nil(); + return tuple(tup, code); +} function lenerror() { return 2; } function decerror(d) { - var r={}; r.tup = 'error'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - return clean(r); } + const r = {}; r.tup = 'error'; + r.code = d && d.v[1] ? decode(d.v[1]) : undefined; + return clean(r); +} function encok(d) { - var tup = atom('ok'); - var code = 'code' in d && d.code ? encode(d.code) : nil(); - return tuple(tup,code); } + const tup = atom('ok'); + const code = 'code' in d && d.code ? encode(d.code) : nil(); + return tuple(tup, code); +} function lenok() { return 2; } function decok(d) { - var r={}; r.tup = 'ok'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - return clean(r); } + const r = {}; r.tup = 'ok'; + r.code = d && d.v[1] ? decode(d.v[1]) : undefined; + return clean(r); +} function encerror2(d) { - var tup = atom('error2'); - var code = 'code' in d && d.code ? atom(d.code) : nil(); - var src = 'src' in d && d.src ? encode(d.src) : nil(); - return tuple(tup,code,src); } + const tup = atom('error2'); + const code = 'code' in d && d.code ? atom(d.code) : nil(); + const src = 'src' in d && d.src ? encode(d.src) : nil(); + return tuple(tup, code, src); +} function lenerror2() { return 3; } function decerror2(d) { - var r={}; r.tup = 'error2'; - r.code = d && d.v[1] ? d.v[1].v : undefined; - r.src = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } + const r = {}; r.tup = 'error2'; + r.code = d && d.v[1] ? d.v[1].v : undefined; + r.src = d && d.v[2] ? decode(d.v[2]) : undefined; + return clean(r); +} function encok2(d) { - var tup = atom('ok2'); - var code = 'code' in d && d.code ? atom(d.code) : nil(); - var src = 'src' in d && d.src ? encode(d.src) : nil(); - return tuple(tup,code,src); } + const tup = atom('ok2'); + const code = 'code' in d && d.code ? atom(d.code) : nil(); + const src = 'src' in d && d.src ? encode(d.src) : nil(); + return tuple(tup, code, src); +} function lenok2() { return 3; } function decok2(d) { - var r={}; r.tup = 'ok2'; - r.code = d && d.v[1] ? d.v[1].v : undefined; - r.src = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } + const r = {}; r.tup = 'ok2'; + r.code = d && d.v[1] ? d.v[1].v : undefined; + r.src = d && d.v[2] ? decode(d.v[2]) : undefined; + return clean(r); +} function encio(d) { - var tup = atom('io'); - var code = 'code' in d && d.code ? encode(d.code) : nil(); - var data = 'data' in d && d.data ? encode(d.data) : nil(); - return tuple(tup,code,data); } + const tup = atom('io'); + const code = 'code' in d && d.code ? encode(d.code) : nil(); + const data = 'data' in d && d.data ? encode(d.data) : nil(); + return tuple(tup, code, data); +} function lenio() { return 3; } function decio(d) { - var r={}; r.tup = 'io'; - r.code = d && d.v[1] ? decode(d.v[1]) : undefined; - r.data = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } + const r = {}; r.tup = 'io'; + r.code = d && d.v[1] ? decode(d.v[1]) : undefined; + r.data = d && d.v[2] ? decode(d.v[2]) : undefined; + return clean(r); +} function encmax_tour(d) { - var tup = atom('max_tour'); - var count = 'count' in d && d.count ? number(d.count) : nil(); - var joined = 'joined' in d && d.joined ? number(d.joined) : nil(); - return tuple(tup,count,joined); } + const tup = atom('max_tour'); + const count = 'count' in d && d.count ? number(d.count) : nil(); + const joined = 'joined' in d && d.joined ? number(d.joined) : nil(); + return tuple(tup, count, joined); +} function lenmax_tour() { return 3; } function decmax_tour(d) { - var r={}; r.tup = 'max_tour'; - r.count = d && d.v[1] ? d.v[1].v : undefined; - r.joined = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } + const r = {}; r.tup = 'max_tour'; + r.count = d && d.v[1] ? d.v[1].v : undefined; + r.joined = d && d.v[2] ? d.v[2].v : undefined; + return clean(r); +} function encjoin_application(d) { - var tup = atom('join_application'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var data = 'data' in d && d.data ? encode(d.data) : nil(); - return tuple(tup,id,name,data); } + const tup = atom('join_application'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const name = 'name' in d && d.name ? bin(d.name) : nil(); + const data = 'data' in d && d.data ? encode(d.data) : nil(); + return tuple(tup, id, name, data); +} function lenjoin_application() { return 4; } function decjoin_application(d) { - var r={}; r.tup = 'join_application'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'join_application'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.name = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.data = d && d.v[3] ? decode(d.v[3].v) : undefined; + return clean(r); +} function enctour_list(d) { - var tup = atom('tour_list'); - var users = []; if ('users' in d && d.users) - { d.users.forEach(function(x){ - users.push(encode(x))}); - users={t:108,v:users}; } else { users = nil() }; - return tuple(tup,users); } + const tup = atom('tour_list'); + let users = []; if ('users' in d && d.users) { + d.users.forEach((x) => { + users.push(encode(x)); + }); + users = { t: 108, v: users }; + } else { users = nil(); } + return tuple(tup, users); +} function lentour_list() { return 2; } function dectour_list(d) { - var r={}; r.tup = 'tour_list'; - r.users = []; - (d && d.v[1] && d.v[1].v) ? - d.v[1].v.forEach(function(x){r.users.push(decode(x))}) : - r.users = undefined; - return clean(r); } + const r = {}; r.tup = 'tour_list'; + r.users = []; + (d && d.v[1] && d.v[1].v) ? + d.v[1].v.forEach((x) => { r.users.push(decode(x)); }) : + r.users = undefined; + return clean(r); +} function enctask(d) { - var tup = atom('task'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,roles,module); } + const tup = atom('task'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, roles, module); +} function lentask() { return 4; } function dectask(d) { - var r={}; r.tup = 'task'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); } + const r = {}; r.tup = 'task'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.module = d && d.v[3] ? d.v[3].v : undefined; + return clean(r); +} function encuserTask(d) { - var tup = atom('userTask'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,roles,module); } + const tup = atom('userTask'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, roles, module); +} function lenuserTask() { return 4; } function decuserTask(d) { - var r={}; r.tup = 'userTask'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); } + const r = {}; r.tup = 'userTask'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.module = d && d.v[3] ? d.v[3].v : undefined; + return clean(r); +} function encserviceTask(d) { - var tup = atom('serviceTask'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,roles,module); } + const tup = atom('serviceTask'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, roles, module); +} function lenserviceTask() { return 4; } function decserviceTask(d) { - var r={}; r.tup = 'serviceTask'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); } + const r = {}; r.tup = 'serviceTask'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.module = d && d.v[3] ? d.v[3].v : undefined; + return clean(r); +} function encreceiveTask(d) { - var tup = atom('receiveTask'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,roles,module); } + const tup = atom('receiveTask'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const roles = 'roles' in d && d.roles ? bin(d.roles) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, roles, module); +} function lenreceiveTask() { return 4; } function decreceiveTask(d) { - var r={}; r.tup = 'receiveTask'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.module = d && d.v[3] ? d.v[3].v : undefined; - return clean(r); } + const r = {}; r.tup = 'receiveTask'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.roles = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.module = d && d.v[3] ? d.v[3].v : undefined; + return clean(r); +} function encmessageEvent(d) { - var tup = atom('messageEvent'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - var timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); - return tuple(tup,name,payload,timeout); } + const tup = atom('messageEvent'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); + const timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); + return tuple(tup, name, payload, timeout); +} function lenmessageEvent() { return 4; } function decmessageEvent(d) { - var r={}; r.tup = 'messageEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'messageEvent'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; + return clean(r); +} function encboundaryEvent(d) { - var tup = atom('boundaryEvent'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - var timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); - var timeDate = 'timeDate' in d && d.timeDate ? bin(d.timeDate) : nil(); - var timeDuration = 'timeDuration' in d && d.timeDuration ? bin(d.timeDuration) : nil(); - var timeCycle = 'timeCycle' in d && d.timeCycle ? bin(d.timeCycle) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,payload,timeout,timeDate,timeDuration,timeCycle,module); } + const tup = atom('boundaryEvent'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); + const timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); + const timeDate = 'timeDate' in d && d.timeDate ? bin(d.timeDate) : nil(); + const timeDuration = 'timeDuration' in d && d.timeDuration ? bin(d.timeDuration) : nil(); + const timeCycle = 'timeCycle' in d && d.timeCycle ? bin(d.timeCycle) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, payload, timeout, timeDate, timeDuration, timeCycle, module); +} function lenboundaryEvent() { return 8; } function decboundaryEvent(d) { - var r={}; r.tup = 'boundaryEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.timeDate = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.timeDuration = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.timeCycle = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.module = d && d.v[7] ? d.v[7].v : undefined; - return clean(r); } + const r = {}; r.tup = 'boundaryEvent'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.timeDate = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.timeDuration = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.timeCycle = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.module = d && d.v[7] ? d.v[7].v : undefined; + return clean(r); +} function enctimeoutEvent(d) { - var tup = atom('timeoutEvent'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); - var timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); - var timeDate = 'timeDate' in d && d.timeDate ? bin(d.timeDate) : nil(); - var timeDuration = 'timeDuration' in d && d.timeDuration ? bin(d.timeDuration) : nil(); - var timeCycle = 'timeCycle' in d && d.timeCycle ? bin(d.timeCycle) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,payload,timeout,timeDate,timeDuration,timeCycle,module); } + const tup = atom('timeoutEvent'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const payload = 'payload' in d && d.payload ? bin(d.payload) : nil(); + const timeout = 'timeout' in d && d.timeout ? encode(d.timeout) : nil(); + const timeDate = 'timeDate' in d && d.timeDate ? bin(d.timeDate) : nil(); + const timeDuration = 'timeDuration' in d && d.timeDuration ? bin(d.timeDuration) : nil(); + const timeCycle = 'timeCycle' in d && d.timeCycle ? bin(d.timeCycle) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, payload, timeout, timeDate, timeDuration, timeCycle, module); +} function lentimeoutEvent() { return 8; } function dectimeoutEvent(d) { - var r={}; r.tup = 'timeoutEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; - r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.timeDate = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; - r.timeDuration = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; - r.timeCycle = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.module = d && d.v[7] ? d.v[7].v : undefined; - return clean(r); } + const r = {}; r.tup = 'timeoutEvent'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.payload = d && d.v[2] ? utf8_dec(d.v[2].v) : undefined; + r.timeout = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.timeDate = d && d.v[4] ? utf8_dec(d.v[4].v) : undefined; + r.timeDuration = d && d.v[5] ? utf8_dec(d.v[5].v) : undefined; + r.timeCycle = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.module = d && d.v[7] ? d.v[7].v : undefined; + return clean(r); +} function encbeginEvent(d) { - var tup = atom('beginEvent'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,module); } + const tup = atom('beginEvent'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, module); +} function lenbeginEvent() { return 3; } function decbeginEvent(d) { - var r={}; r.tup = 'beginEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.module = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } + const r = {}; r.tup = 'beginEvent'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.module = d && d.v[2] ? d.v[2].v : undefined; + return clean(r); +} function encendEvent(d) { - var tup = atom('endEvent'); - var name = 'name' in d && d.name ? atom(d.name) : nil(); - var module = 'module' in d && d.module ? atom(d.module) : nil(); - return tuple(tup,name,module); } + const tup = atom('endEvent'); + const name = 'name' in d && d.name ? atom(d.name) : nil(); + const module = 'module' in d && d.module ? atom(d.module) : nil(); + return tuple(tup, name, module); +} function lenendEvent() { return 3; } function decendEvent(d) { - var r={}; r.tup = 'endEvent'; - r.name = d && d.v[1] ? d.v[1].v : undefined; - r.module = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } + const r = {}; r.tup = 'endEvent'; + r.name = d && d.v[1] ? d.v[1].v : undefined; + r.module = d && d.v[2] ? d.v[2].v : undefined; + return clean(r); +} function encsequenceFlow(d) { - var tup = atom('sequenceFlow'); - var source = 'source' in d && d.source ? atom(d.source) : nil(); - var target = 'target' in d && d.target ? atom(d.target) : nil(); - return tuple(tup,source,target); } + const tup = atom('sequenceFlow'); + const source = 'source' in d && d.source ? atom(d.source) : nil(); + const target = 'target' in d && d.target ? atom(d.target) : nil(); + return tuple(tup, source, target); +} function lensequenceFlow() { return 3; } function decsequenceFlow(d) { - var r={}; r.tup = 'sequenceFlow'; - r.source = d && d.v[1] ? d.v[1].v : undefined; - r.target = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } + const r = {}; r.tup = 'sequenceFlow'; + r.source = d && d.v[1] ? d.v[1].v : undefined; + r.target = d && d.v[2] ? d.v[2].v : undefined; + return clean(r); +} function enchist(d) { - var tup = atom('hist'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var task = 'task' in d && d.task ? atom(d.task) : nil(); - var time = 'time' in d && d.time ? encode(d.time) : nil(); - return tuple(tup,id,container,feed_id,prev,next,feeds,name,task,time); } + const tup = atom('hist'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + let feeds = []; if ('feeds' in d && d.feeds) { + d.feeds.forEach((x) => { + feeds.push(encode(x)); + }); + feeds = { t: 108, v: feeds }; + } else { feeds = nil(); } + const name = 'name' in d && d.name ? bin(d.name) : nil(); + const task = 'task' in d && d.task ? atom(d.task) : nil(); + const time = 'time' in d && d.time ? encode(d.time) : nil(); + return tuple(tup, id, container, feed_id, prev, next, feeds, name, task, time); +} function lenhist() { return 10; } function dechist(d) { - var r={}; r.tup = 'hist'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - r.name = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.task = d && d.v[8] ? d.v[8].v : undefined; - r.time = d && d.v[9] ? decode(d.v[9].v) : undefined; - return clean(r); } + const r = {}; r.tup = 'hist'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.feeds = []; + (d && d.v[6] && d.v[6].v) ? + d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : + r.feeds = undefined; + r.name = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.task = d && d.v[8] ? d.v[8].v : undefined; + r.time = d && d.v[9] ? decode(d.v[9].v) : undefined; + return clean(r); +} function encprocess(d) { - var tup = atom('process'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? atom(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var feeds = []; if ('feeds' in d && d.feeds) - { d.feeds.forEach(function(x){ - feeds.push(encode(x))}); - feeds={t:108,v:feeds}; } else { feeds = nil() }; - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var roles = []; if ('roles' in d && d.roles) - { d.roles.forEach(function(x){ - roles.push(encode(x))}); - roles={t:108,v:roles}; } else { roles = nil() }; - var tasks = []; if ('tasks' in d && d.tasks) - { d.tasks.forEach(function(x){ - tasks.push(encode(x))}); - tasks={t:108,v:tasks}; } else { tasks = nil() }; - var events = []; if ('events' in d && d.events) - { d.events.forEach(function(x){ - events.push(encode(x))}); - events={t:108,v:events}; } else { events = nil() }; - var hist = 'hist' in d && d.hist ? encode(d.hist) : nil(); - var flows = []; if ('flows' in d && d.flows) - { d.flows.forEach(function(x){ - flows.push(encode(x))}); - flows={t:108,v:flows}; } else { flows = nil() }; - var rules = 'rules' in d && d.rules ? encode(d.rules) : nil(); - var docs = []; if ('docs' in d && d.docs) - { d.docs.forEach(function(x){ - docs.push(encode(x))}); - docs={t:108,v:docs}; } else { docs = nil() }; - var options = 'options' in d && d.options ? encode(d.options) : nil(); - var task = 'task' in d && d.task ? atom(d.task) : nil(); - var timer = 'timer' in d && d.timer ? bin(d.timer) : nil(); - var notifications = 'notifications' in d && d.notifications ? encode(d.notifications) : nil(); - var result = 'result' in d && d.result ? bin(d.result) : nil(); - var started = 'started' in d && d.started ? bin(d.started) : nil(); - var beginEvent = 'beginEvent' in d && d.beginEvent ? atom(d.beginEvent) : nil(); - var endEvent = 'endEvent' in d && d.endEvent ? atom(d.endEvent) : nil(); - return tuple(tup,id,container,feed_id,prev,next,feeds,name,roles,tasks,events, - hist,flows,rules,docs,options,task,timer,notifications,result,started,beginEvent,endEvent); } + const tup = atom('process'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? atom(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + let feeds = []; if ('feeds' in d && d.feeds) { + d.feeds.forEach((x) => { + feeds.push(encode(x)); + }); + feeds = { t: 108, v: feeds }; + } else { feeds = nil(); } + const name = 'name' in d && d.name ? bin(d.name) : nil(); + let roles = []; if ('roles' in d && d.roles) { + d.roles.forEach((x) => { + roles.push(encode(x)); + }); + roles = { t: 108, v: roles }; + } else { roles = nil(); } + let tasks = []; if ('tasks' in d && d.tasks) { + d.tasks.forEach((x) => { + tasks.push(encode(x)); + }); + tasks = { t: 108, v: tasks }; + } else { tasks = nil(); } + let events = []; if ('events' in d && d.events) { + d.events.forEach((x) => { + events.push(encode(x)); + }); + events = { t: 108, v: events }; + } else { events = nil(); } + const hist = 'hist' in d && d.hist ? encode(d.hist) : nil(); + let flows = []; if ('flows' in d && d.flows) { + d.flows.forEach((x) => { + flows.push(encode(x)); + }); + flows = { t: 108, v: flows }; + } else { flows = nil(); } + const rules = 'rules' in d && d.rules ? encode(d.rules) : nil(); + let docs = []; if ('docs' in d && d.docs) { + d.docs.forEach((x) => { + docs.push(encode(x)); + }); + docs = { t: 108, v: docs }; + } else { docs = nil(); } + const options = 'options' in d && d.options ? encode(d.options) : nil(); + const task = 'task' in d && d.task ? atom(d.task) : nil(); + const timer = 'timer' in d && d.timer ? bin(d.timer) : nil(); + const notifications = 'notifications' in d && d.notifications ? encode(d.notifications) : nil(); + const result = 'result' in d && d.result ? bin(d.result) : nil(); + const started = 'started' in d && d.started ? bin(d.started) : nil(); + const beginEvent = 'beginEvent' in d && d.beginEvent ? atom(d.beginEvent) : nil(); + const endEvent = 'endEvent' in d && d.endEvent ? atom(d.endEvent) : nil(); + return tuple( + tup, id, container, feed_id, prev, next, feeds, name, roles, tasks, events, + hist, flows, rules, docs, options, task, timer, notifications, result, started, beginEvent, endEvent + ); +} function lenprocess() { return 23; } function decprocess(d) { - var r={}; r.tup = 'process'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? d.v[2].v : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; - r.prev = d && d.v[4] ? d.v[4].v : undefined; - r.next = d && d.v[5] ? d.v[5].v : undefined; - r.feeds = []; - (d && d.v[6] && d.v[6].v) ? - d.v[6].v.forEach(function(x){r.feeds.push(decode(x))}) : - r.feeds = undefined; - r.name = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; - r.roles = []; - (d && d.v[8] && d.v[8].v) ? - d.v[8].v.forEach(function(x){r.roles.push(decode(x))}) : - r.roles = undefined; - r.tasks = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach(function(x){r.tasks.push(decode(x))}) : - r.tasks = undefined; - r.events = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach(function(x){r.events.push(decode(x))}) : - r.events = undefined; - r.hist = d && d.v[11] ? decode(d.v[11]) : undefined; - r.flows = []; - (d && d.v[12] && d.v[12].v) ? - d.v[12].v.forEach(function(x){r.flows.push(decode(x))}) : - r.flows = undefined; - r.rules = d && d.v[13] ? decode(d.v[13]) : undefined; - r.docs = []; - (d && d.v[14] && d.v[14].v) ? - d.v[14].v.forEach(function(x){r.docs.push(decode(x))}) : - r.docs = undefined; - r.options = d && d.v[15] ? decode(d.v[15].v) : undefined; - r.task = d && d.v[16] ? d.v[16].v : undefined; - r.timer = d && d.v[17] ? utf8_dec(d.v[17].v) : undefined; - r.notifications = d && d.v[18] ? decode(d.v[18].v) : undefined; - r.result = d && d.v[19] ? utf8_dec(d.v[19].v) : undefined; - r.started = d && d.v[20] ? utf8_dec(d.v[20].v) : undefined; - r.beginEvent = d && d.v[21] ? d.v[21].v : undefined; - r.endEvent = d && d.v[22] ? d.v[22].v : undefined; - return clean(r); } + const r = {}; r.tup = 'process'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? d.v[2].v : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3].v) : undefined; + r.prev = d && d.v[4] ? d.v[4].v : undefined; + r.next = d && d.v[5] ? d.v[5].v : undefined; + r.feeds = []; + (d && d.v[6] && d.v[6].v) ? + d.v[6].v.forEach((x) => { r.feeds.push(decode(x)); }) : + r.feeds = undefined; + r.name = d && d.v[7] ? utf8_dec(d.v[7].v) : undefined; + r.roles = []; + (d && d.v[8] && d.v[8].v) ? + d.v[8].v.forEach((x) => { r.roles.push(decode(x)); }) : + r.roles = undefined; + r.tasks = []; + (d && d.v[9] && d.v[9].v) ? + d.v[9].v.forEach((x) => { r.tasks.push(decode(x)); }) : + r.tasks = undefined; + r.events = []; + (d && d.v[10] && d.v[10].v) ? + d.v[10].v.forEach((x) => { r.events.push(decode(x)); }) : + r.events = undefined; + r.hist = d && d.v[11] ? decode(d.v[11]) : undefined; + r.flows = []; + (d && d.v[12] && d.v[12].v) ? + d.v[12].v.forEach((x) => { r.flows.push(decode(x)); }) : + r.flows = undefined; + r.rules = d && d.v[13] ? decode(d.v[13]) : undefined; + r.docs = []; + (d && d.v[14] && d.v[14].v) ? + d.v[14].v.forEach((x) => { r.docs.push(decode(x)); }) : + r.docs = undefined; + r.options = d && d.v[15] ? decode(d.v[15].v) : undefined; + r.task = d && d.v[16] ? d.v[16].v : undefined; + r.timer = d && d.v[17] ? utf8_dec(d.v[17].v) : undefined; + r.notifications = d && d.v[18] ? decode(d.v[18].v) : undefined; + r.result = d && d.v[19] ? utf8_dec(d.v[19].v) : undefined; + r.started = d && d.v[20] ? utf8_dec(d.v[20].v) : undefined; + r.beginEvent = d && d.v[21] ? d.v[21].v : undefined; + r.endEvent = d && d.v[22] ? d.v[22].v : undefined; + return clean(r); +} function enccomplete(d) { - var tup = atom('complete'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - return tuple(tup,id); } + const tup = atom('complete'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + return tuple(tup, id); +} function lencomplete() { return 2; } function deccomplete(d) { - var r={}; r.tup = 'complete'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - return clean(r); } + const r = {}; r.tup = 'complete'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + return clean(r); +} function encproc(d) { - var tup = atom('proc'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - return tuple(tup,id); } + const tup = atom('proc'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + return tuple(tup, id); +} function lenproc() { return 2; } function decproc(d) { - var r={}; r.tup = 'proc'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - return clean(r); } + const r = {}; r.tup = 'proc'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + return clean(r); +} function enchisto(d) { - var tup = atom('histo'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - return tuple(tup,id); } + const tup = atom('histo'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + return tuple(tup, id); +} function lenhisto() { return 2; } function dechisto(d) { - var r={}; r.tup = 'histo'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - return clean(r); } + const r = {}; r.tup = 'histo'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + return clean(r); +} function enccreate(d) { - var tup = atom('create'); - var proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); - var docs = []; if ('docs' in d && d.docs) - { d.docs.forEach(function(x){ - docs.push(encode(x))}); - docs={t:108,v:docs}; } else { docs = nil() }; - return tuple(tup,proc,docs); } + const tup = atom('create'); + const proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); + let docs = []; if ('docs' in d && d.docs) { + d.docs.forEach((x) => { + docs.push(encode(x)); + }); + docs = { t: 108, v: docs }; + } else { docs = nil(); } + return tuple(tup, proc, docs); +} function lencreate() { return 3; } function deccreate(d) { - var r={}; r.tup = 'create'; - r.proc = d && d.v[1] ? decode(d.v[1]) : undefined; - r.docs = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.docs.push(decode(x))}) : - r.docs = undefined; - return clean(r); } + const r = {}; r.tup = 'create'; + r.proc = d && d.v[1] ? decode(d.v[1]) : undefined; + r.docs = []; + (d && d.v[2] && d.v[2].v) ? + d.v[2].v.forEach((x) => { r.docs.push(decode(x)); }) : + r.docs = undefined; + return clean(r); +} function encamend(d) { - var tup = atom('amend'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var docs = []; if ('docs' in d && d.docs) - { d.docs.forEach(function(x){ - docs.push(encode(x))}); - docs={t:108,v:docs}; } else { docs = nil() }; - return tuple(tup,id,docs); } + const tup = atom('amend'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + let docs = []; if ('docs' in d && d.docs) { + d.docs.forEach((x) => { + docs.push(encode(x)); + }); + docs = { t: 108, v: docs }; + } else { docs = nil(); } + return tuple(tup, id, docs); +} function lenamend() { return 3; } function decamend(d) { - var r={}; r.tup = 'amend'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.docs = []; - (d && d.v[2] && d.v[2].v) ? - d.v[2].v.forEach(function(x){r.docs.push(decode(x))}) : - r.docs = undefined; - return clean(r); } + const r = {}; r.tup = 'amend'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.docs = []; + (d && d.v[2] && d.v[2].v) ? + d.v[2].v.forEach((x) => { r.docs.push(decode(x)); }) : + r.docs = undefined; + return clean(r); +} function encaction(d) { - var tup = atom('action'); - var name = 'name' in d && d.name ? bin(d.name) : nil(); - var data = 'data' in d && d.data ? encode(d.data) : nil(); - return tuple(tup,name,data); } + const tup = atom('action'); + const name = 'name' in d && d.name ? bin(d.name) : nil(); + const data = 'data' in d && d.data ? encode(d.data) : nil(); + return tuple(tup, name, data); +} function lenaction() { return 3; } function decaction(d) { - var r={}; r.tup = 'action'; - r.name = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; - r.data = d && d.v[2] ? decode(d.v[2]) : undefined; - return clean(r); } + const r = {}; r.tup = 'action'; + r.name = d && d.v[1] ? utf8_dec(d.v[1].v) : undefined; + r.data = d && d.v[2] ? decode(d.v[2]) : undefined; + return clean(r); +} function encShedule(d) { - var tup = atom('Shedule'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); - var data = []; if ('data' in d && d.data) - { d.data.forEach(function(x){ - data.push(encode(x))}); - data={t:108,v:data}; } else { data = nil() }; - return tuple(tup,id,proc,data); } + const tup = atom('Shedule'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); + let data = []; if ('data' in d && d.data) { + d.data.forEach((x) => { + data.push(encode(x)); + }); + data = { t: 108, v: data }; + } else { data = nil(); } + return tuple(tup, id, proc, data); +} function lenShedule() { return 4; } function decShedule(d) { - var r={}; r.tup = 'Shedule'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.proc = d && d.v[2] ? decode(d.v[2]) : undefined; - r.data = []; - (d && d.v[3] && d.v[3].v) ? - d.v[3].v.forEach(function(x){r.data.push(decode(x))}) : - r.data = undefined; - return clean(r); } + const r = {}; r.tup = 'Shedule'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.proc = d && d.v[2] ? decode(d.v[2]) : undefined; + r.data = []; + (d && d.v[3] && d.v[3].v) ? + d.v[3].v.forEach((x) => { r.data.push(decode(x)); }) : + r.data = undefined; + return clean(r); +} function encJob(d) { - var tup = atom('Job'); - var id = 'id' in d && d.id ? number(d.id) : nil(); - var container = 'container' in d && d.container ? encode(d.container) : nil(); - var feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); - var next = 'next' in d && d.next ? number(d.next) : nil(); - var prev = 'prev' in d && d.prev ? number(d.prev) : nil(); - var context = 'context' in d && d.context ? bin(d.context) : nil(); - var proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); - var time = 'time' in d && d.time ? number(d.time) : nil(); - var data = []; if ('data' in d && d.data) - { d.data.forEach(function(x){ - data.push(encode(x))}); - data={t:108,v:data}; } else { data = nil() }; - var events = []; if ('events' in d && d.events) - { d.events.forEach(function(x){ - events.push(encode(x))}); - events={t:108,v:events}; } else { events = nil() }; - var status = 'status' in d && d.status ? atom(d.status) : nil(); - return tuple(tup,id,container,feed_id,next,prev,context,proc,time,data,events,status); } + const tup = atom('Job'); + const id = 'id' in d && d.id ? number(d.id) : nil(); + const container = 'container' in d && d.container ? encode(d.container) : nil(); + const feed_id = 'feed_id' in d && d.feed_id ? encode(d.feed_id) : nil(); + const next = 'next' in d && d.next ? number(d.next) : nil(); + const prev = 'prev' in d && d.prev ? number(d.prev) : nil(); + const context = 'context' in d && d.context ? bin(d.context) : nil(); + const proc = 'proc' in d && d.proc ? encode(d.proc) : nil(); + const time = 'time' in d && d.time ? number(d.time) : nil(); + let data = []; if ('data' in d && d.data) { + d.data.forEach((x) => { + data.push(encode(x)); + }); + data = { t: 108, v: data }; + } else { data = nil(); } + let events = []; if ('events' in d && d.events) { + d.events.forEach((x) => { + events.push(encode(x)); + }); + events = { t: 108, v: events }; + } else { events = nil(); } + const status = 'status' in d && d.status ? atom(d.status) : nil(); + return tuple(tup, id, container, feed_id, next, prev, context, proc, time, data, events, status); +} function lenJob() { return 12; } function decJob(d) { - var r={}; r.tup = 'Job'; - r.id = d && d.v[1] ? d.v[1].v : undefined; - r.container = d && d.v[2] ? decode(d.v[2]) : undefined; - r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; - r.next = d && d.v[4] ? d.v[4].v : undefined; - r.prev = d && d.v[5] ? d.v[5].v : undefined; - r.context = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; - r.proc = d && d.v[7] ? decode(d.v[7]) : undefined; - r.time = d && d.v[8] ? d.v[8].v : undefined; - r.data = []; - (d && d.v[9] && d.v[9].v) ? - d.v[9].v.forEach(function(x){r.data.push(decode(x))}) : - r.data = undefined; - r.events = []; - (d && d.v[10] && d.v[10].v) ? - d.v[10].v.forEach(function(x){r.events.push(decode(x))}) : - r.events = undefined; - r.status = d && d.v[11] ? decode(d.v[11]) : undefined; - return clean(r); } + const r = {}; r.tup = 'Job'; + r.id = d && d.v[1] ? d.v[1].v : undefined; + r.container = d && d.v[2] ? decode(d.v[2]) : undefined; + r.feed_id = d && d.v[3] ? decode(d.v[3]) : undefined; + r.next = d && d.v[4] ? d.v[4].v : undefined; + r.prev = d && d.v[5] ? d.v[5].v : undefined; + r.context = d && d.v[6] ? utf8_dec(d.v[6].v) : undefined; + r.proc = d && d.v[7] ? decode(d.v[7]) : undefined; + r.time = d && d.v[8] ? d.v[8].v : undefined; + r.data = []; + (d && d.v[9] && d.v[9].v) ? + d.v[9].v.forEach((x) => { r.data.push(decode(x)); }) : + r.data = undefined; + r.events = []; + (d && d.v[10] && d.v[10].v) ? + d.v[10].v.forEach((x) => { r.events.push(decode(x)); }) : + r.events = undefined; + r.status = d && d.v[11] ? decode(d.v[11]) : undefined; + return clean(r); +} function encTest(d) { - var tup = atom('Test'); - var type = 'type' in d && d.type ? atom(d.type) : nil(); - var count = 'count' in d && d.count ? number(d.count) : nil(); - return tuple(tup,type,count); } + const tup = atom('Test'); + const type = 'type' in d && d.type ? atom(d.type) : nil(); + const count = 'count' in d && d.count ? number(d.count) : nil(); + return tuple(tup, type, count); +} function lenTest() { return 3; } function decTest(d) { - var r={}; r.tup = 'Test'; - r.type = d && d.v[1] ? decode(d.v[1]) : undefined; - r.count = d && d.v[2] ? d.v[2].v : undefined; - return clean(r); } - -const mapper = (len, decode, encode ) => ({ - len: len, - decode: decode, - encode: encode + const r = {}; r.tup = 'Test'; + r.type = d && d.v[1] ? decode(d.v[1]) : undefined; + r.count = d && d.v[2] ? d.v[2].v : undefined; + return clean(r); +} + +const mapper = (len, decode, encode) => ({ + len, + decode, + encode }); const personUtils = mapper( - lenPerson, - decPerson, - encPerson + lenPerson, + decPerson, + encPerson ); const profileUtils = mapper( - lenProfile, - decProfile, - encProfile + lenProfile, + decProfile, + encProfile ); const rosterUtils = mapper( - lenRoster, - decRoster, - encRoster + lenRoster, + decRoster, + encRoster ); const contactUtils = mapper( - lenContact, - decContact, - encContact + lenContact, + decContact, + encContact ); const friendUtils = mapper( - lenFriend, - decFriend, - encFriend + lenFriend, + decFriend, + encFriend ); const historyUtils = mapper( - lenHistory, - decHistory, - encHistory + lenHistory, + decHistory, + encHistory ); const ioUtils = mapper( - lenio, - decio, - encio + lenio, + decio, + encio ); const messageUtils = mapper( - lenMessage, - decMessage, - encMessage + lenMessage, + decMessage, + encMessage ); const authUtils = mapper( - lenAuth, - decAuth, - encAuth + lenAuth, + decAuth, + encAuth ); export { - decode, - encode, - - authUtils, - personUtils, - profileUtils, - rosterUtils, - ioUtils, - contactUtils, - historyUtils, - friendUtils, - messageUtils -} \ No newline at end of file + decode, + encode, + + authUtils, + personUtils, + profileUtils, + rosterUtils, + ioUtils, + contactUtils, + historyUtils, + friendUtils, + messageUtils +}; diff --git a/src/core/configs/BrowserStorage.config.js b/src/core/configs/BrowserStorage.config.js index 80fc8fe45f3ed2782f0a76f064dd4d3e20bb5636..724f0376fe56a73768acff86756534f7228e582f 100644 --- a/src/core/configs/BrowserStorage.config.js +++ b/src/core/configs/BrowserStorage.config.js @@ -1,4 +1,4 @@ -export const STORAGE_NAME = "store"; +export const STORAGE_NAME = 'store'; export const SAVE_TIME_DELAY = 1000; export const CLIENT = 'client'; export const DEV_KEY = 'devKey'; diff --git a/src/core/configs/MqttEvents.config.js b/src/core/configs/MqttEvents.config.js index 9567f76fa90e01d7aa5937896eea1fd1a5cce008..38c6d4e121766fd38b0f59aa9cab1fd833b02424 100644 --- a/src/core/configs/MqttEvents.config.js +++ b/src/core/configs/MqttEvents.config.js @@ -3,4 +3,4 @@ export const CLOSE = 'close'; export const MESSAGE = 'message'; export const ERROR = 'error'; export const PACKETSEND = 'packetsend'; -export const PACKETRECEIVE = 'packetreceive'; \ No newline at end of file +export const PACKETRECEIVE = 'packetreceive'; diff --git a/src/core/configs/MqttInit.config.js b/src/core/configs/MqttInit.config.js index abc5e89d1744fcf076f90bbc262adbdf7867ecac..2ab40308ae8eaaaecb634ecfcbfea0ccfab71696 100644 --- a/src/core/configs/MqttInit.config.js +++ b/src/core/configs/MqttInit.config.js @@ -1,19 +1,19 @@ export default ({ - username: 'api', - loggedPrefix: 'emqttd_', - authPrefix: 'reg_', - host: location.hostname, - port: 8083, - queueQoSZero: true, - resubscribe: true, - cleanSession: true, - supplier: 'mqtt', - protocol: 'ws', - timeout: 2, - reconnectPeriod: 3000, - will : { - topic: 'version/2', - payload:'version/2', - qos: '2' - } + username: 'api', + loggedPrefix: 'emqttd_', + authPrefix: 'reg_', + host: location.hostname, + port: 8083, + queueQoSZero: true, + resubscribe: true, + cleanSession: true, + supplier: 'mqtt', + protocol: 'ws', + timeout: 2, + reconnectPeriod: 3000, + will: { + topic: 'version/2', + payload: 'version/2', + qos: '2' + } }); diff --git a/src/core/configs/ProtocolHandlers.config.js b/src/core/configs/ProtocolHandlers.config.js index 609e02112f45b742af5e4fc1ef5eb94500a971d6..bd5007ed0b002634c829de21cec36da9bd6e4745 100644 --- a/src/core/configs/ProtocolHandlers.config.js +++ b/src/core/configs/ProtocolHandlers.config.js @@ -6,4 +6,4 @@ export const MESSAGE = 'message'; export const PERSON = 'person'; export const PROFILE = 'profile'; export const ROSTER = 'roster'; -export const SERVER = 'server'; \ No newline at end of file +export const SERVER = 'server'; diff --git a/src/core/loggers/SentryError.logger.js b/src/core/loggers/SentryError.logger.js index 6e39bd9dec48afaaab6f154f21218524e76103b1..26abcec7cf7cfeac2970c0ecdb76ed187ffa3a99 100644 --- a/src/core/loggers/SentryError.logger.js +++ b/src/core/loggers/SentryError.logger.js @@ -1,10 +1,10 @@ import Raven from 'raven-js'; export default ( - Raven - .config( - 'https://1febbedf16804e8eb4586fa445f8567c@sentry.io/253546', - { autoBreadcrumbs: false } - ) - .install() -); \ No newline at end of file + Raven + .config( + 'https://1febbedf16804e8eb4586fa445f8567c@sentry.io/253546', + { autoBreadcrumbs: false } + ) + .install() +); diff --git a/src/core/middlewares/ErrorHandler.middleware.js b/src/core/middlewares/ErrorHandler.middleware.js index 7bad6787d5dac433954c6d17ac0e4edc1236c404..3158f73bdb687cf67db01f25ee7ed138be6d9210 100644 --- a/src/core/middlewares/ErrorHandler.middleware.js +++ b/src/core/middlewares/ErrorHandler.middleware.js @@ -1,18 +1,18 @@ import Raven from 'raven-js'; -const crashReporter = store => next => action => { - try { - return next(action) - } catch (err) { - console.error('Caught an exception!', err); - Raven.captureException(err, { - extra: { - action, - state: store.getState() - } - }); - throw err - } +const crashReporter = store => next => (action) => { + try { + return next(action); + } catch (err) { + console.error('Caught an exception!', err); + Raven.captureException(err, { + extra: { + action, + state: store.getState() + } + }); + throw err; + } }; -export { crashReporter }; \ No newline at end of file +export { crashReporter }; diff --git a/src/core/middlewares/index.js b/src/core/middlewares/index.js index a7ec6b2a385bbc1ec55903acd6f5c7c19ffeb7f6..458e71f3865a0a96dfea15c203b5b00c7b7b484f 100644 --- a/src/core/middlewares/index.js +++ b/src/core/middlewares/index.js @@ -1,3 +1,3 @@ import { crashReporter } from './ErrorHandler.middleware'; -export { crashReporter }; \ No newline at end of file +export { crashReporter }; diff --git a/src/core/offline/service-worker/register.service-worker.js b/src/core/offline/service-worker/register.service-worker.js index 84f5e39bc8c48260eecdbbe87ed6abd7399cece6..b37a869d01ac6dd6dff6abea5232fc114d559781 100644 --- a/src/core/offline/service-worker/register.service-worker.js +++ b/src/core/offline/service-worker/register.service-worker.js @@ -1,35 +1,33 @@ import * as validator from './validator.service-worker'; export default function register() { - if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { - // The URL constructor is available in all browsers that support SW. - const publicUrl = new URL(process.env.PUBLIC_URL, window.location); - if (publicUrl.origin !== window.location.origin) { - // Our service worker won't work if PUBLIC_URL is on a different origin - // from what our page is served on. This might happen if a CDN is used to - // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374 - return; - } + if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { + // The URL constructor is available in all browsers that support SW. + const publicUrl = new URL(process.env.PUBLIC_URL, window.location); + if (publicUrl.origin !== window.location.origin) { + // Our service worker won't work if PUBLIC_URL is on a different origin + // from what our page is served on. This might happen if a CDN is used to + // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374 + return; + } - window.addEventListener('load', () => { - const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; + window.addEventListener('load', () => { + const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; - if (isLocalhost) { - // This is running on localhost. Lets check if a service worker still exists or not. - checkValidServiceWorker(swUrl); + if (isLocalhost) { + // This is running on localhost. Lets check if a service worker still exists or not. + checkValidServiceWorker(swUrl); - // Add some additional logging to localhost, pointing developers to the - // service worker/PWA documentation. - navigator.serviceWorker.ready.then(() => { - console.log( - 'This web app is being served cache-first by a service ' + - 'worker. To learn more, visit https://goo.gl/SC7cgQ' - ); - }); - } else { - // Is not local host. Just register service worker - registerValidSW(swUrl); - } + // Add some additional logging to localhost, pointing developers to the + // service worker/PWA documentation. + navigator.serviceWorker.ready.then(() => { + console.log('This web app is being served cache-first by a service ' + + 'worker. To learn more, visit https://goo.gl/SC7cgQ'); }); - } + } else { + // Is not local host. Just register service worker + registerValidSW(swUrl); + } + }); + } } diff --git a/src/core/offline/service-worker/unregister.service-worker.js b/src/core/offline/service-worker/unregister.service-worker.js index 43d0970a1f9452763ea061c4a1fd9a89df606692..8c4cfa79d2fafd24cbebc564c7af2ef2ec5a2234 100644 --- a/src/core/offline/service-worker/unregister.service-worker.js +++ b/src/core/offline/service-worker/unregister.service-worker.js @@ -1,7 +1,7 @@ export function unregister() { - if ('serviceWorker' in navigator) { - navigator.serviceWorker.ready.then(registration => { - registration.unregister(); - }); - } -} \ No newline at end of file + if ('serviceWorker' in navigator) { + navigator.serviceWorker.ready.then((registration) => { + registration.unregister(); + }); + } +} diff --git a/src/core/offline/service-worker/validator.service-worker.js b/src/core/offline/service-worker/validator.service-worker.js index 904f2dc2ed1192b1080366e11c52a62ae541386f..325ddf9adb5ee77280c78e8ef9299db9d57de310 100644 --- a/src/core/offline/service-worker/validator.service-worker.js +++ b/src/core/offline/service-worker/validator.service-worker.js @@ -1,61 +1,55 @@ export const isLocalhost = () => ( - Boolean( - window.location.hostname === 'localhost' || - // [::1] is the IPv6 localhost address. + Boolean(window.location.hostname === 'localhost' || + // [::1] is the IPv6 localhost address. window.location.hostname === '[::1]' || - // 127.0.0.1/8 is considered localhost for IPv4. - window.location.hostname.match( - /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ - ) - ) + // 127.0.0.1/8 is considered localhost for IPv4. + window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)) ); export function registerValidSW(swUrl) { - navigator.serviceWorker - .register(swUrl) - .then(registration => { - registration.onupdatefound = () => { - const installingWorker = registration.installing; - installingWorker.onstatechange = () => { - if (installingWorker.state === 'installed') { - if (navigator.serviceWorker.controller) { - console.log('New content is available; please refresh.'); - } else { - console.log('Content is cached for offline use.'); - } - } - }; - }; - }) - .catch(error => { - console.error('Error during service worker registration:', error); - }); + navigator.serviceWorker + .register(swUrl) + .then((registration) => { + registration.onupdatefound = () => { + const installingWorker = registration.installing; + installingWorker.onstatechange = () => { + if (installingWorker.state === 'installed') { + if (navigator.serviceWorker.controller) { + console.log('New content is available; please refresh.'); + } else { + console.log('Content is cached for offline use.'); + } + } + }; + }; + }) + .catch((error) => { + console.error('Error during service worker registration:', error); + }); } export function checkValidServiceWorker(swUrl) { - // Check if the service worker can be found. If it can't reload the page. - fetch(swUrl) - .then(response => { - // Ensure service worker exists, and that we really are getting a JS file. - if ( - response.status === 404 || + // Check if the service worker can be found. If it can't reload the page. + fetch(swUrl) + .then((response) => { + // Ensure service worker exists, and that we really are getting a JS file. + if ( + response.status === 404 || response.headers.get('content-type').indexOf('javascript') === -1 - ) { - // No service worker found. Probably a different app. Reload the page. - navigator.serviceWorker.ready.then(registration => { - registration.unregister().then(() => { - window.location.reload(); - }); - }); - } else { - // Service worker found. Proceed as normal. - registerValidSW(swUrl); - } - }) - .catch(() => { - console.log( - 'No internet connection found. App is running in offline mode.' - ); + ) { + // No service worker found. Probably a different app. Reload the page. + navigator.serviceWorker.ready.then((registration) => { + registration.unregister().then(() => { + window.location.reload(); + }); }); -} \ No newline at end of file + } else { + // Service worker found. Proceed as normal. + registerValidSW(swUrl); + } + }) + .catch(() => { + console.log('No internet connection found. App is running in offline mode.'); + }); +} diff --git a/src/core/protocols/Index.protocol.js b/src/core/protocols/Index.protocol.js index 6227ef44442b30c9d5373ae6a115db960a2995e0..ee9a2fc98ac7eb9e9a4f0ce84497f00652aa4506 100644 --- a/src/core/protocols/Index.protocol.js +++ b/src/core/protocols/Index.protocol.js @@ -1,148 +1,130 @@ import * as protocolsName from '../configs/ProtocolHandlers.config'; import { - authUtils, - profileUtils, - personUtils, - rosterUtils, - contactUtils, - messageUtils, - historyUtils, - ioUtils, - friendUtils, + authUtils, + profileUtils, + personUtils, + rosterUtils, + contactUtils, + messageUtils, + historyUtils, + ioUtils, + friendUtils } from '../bert/SignatureGenerator.bert'; const lenServer = () => (2); -const check = node => { - if(typeof node == 'undefined') { - return; - } - return node; +const check = (node) => { + if (typeof node === 'undefined') { + return; + } + return node; }; const factory = (name = '', utils = {}, eventFormer = null, ...args) => { - const delimiter = '/'; - const eventFormerCopy = eventFormer; - const prepareEvent = (pipe = []) => { - if(!Array.isArray(pipe)) { - return; - } - return pipe.join(delimiter).toUpperCase(); - }; - - if(!eventFormer) { - eventFormer = (res = []) => { - return prepareEvent([ - name, - res.status - ]); - } - } else { - eventFormer = (res = []) => { - return prepareEvent(eventFormerCopy(res)); - } - } - console.log(name,) - return { - name, - ...utils, - eventFormer, - ...args + const delimiter = '/'; + const eventFormerCopy = eventFormer; + const prepareEvent = (pipe = []) => { + if (!Array.isArray(pipe)) { + return; } + return pipe.join(delimiter).toUpperCase(); + }; + + if (!eventFormer) { + eventFormer = (res = []) => prepareEvent([ + name, + res.status + ]); + } else { + eventFormer = (res = []) => prepareEvent(eventFormerCopy(res)); + } + console.log(name,); + return { + name, + ...utils, + eventFormer, + ...args + }; }; -const io = () => { - return factory( - protocolsName.IO, - ioUtils, - (res) => { - let pipe = [ - protocolsName.IO, - res.code.tup, - check(res.code.code) - ]; - res.data +const io = () => factory( + protocolsName.IO, + ioUtils, + (res) => { + const pipe = [ + protocolsName.IO, + res.code.tup, + check(res.code.code) + ]; + res.data && res.data.tup == 'Roster' && check(res.data.status) && pipe.push(res.data.tup.toLowerCase()) && pipe.push(res.data.status); - return pipe; - } - ); -}; + return pipe; + } +); const server = () => { - const util = { - length: lenServer, - decode: v => v, - encode: v => v - }; - return factory( - protocolsName.SERVER, - util, - v => v - ) + const util = { + length: lenServer, + decode: v => v, + encode: v => v + }; + return factory( + protocolsName.SERVER, + util, + v => v + ); }; -const contact = () => { - return factory( - protocolsName.CONTACT, - contactUtils - ); -}; +const contact = () => factory( + protocolsName.CONTACT, + contactUtils +); -const friend = () => { - return factory( - protocolsName.FRIEND, - friendUtils - ); -}; +const friend = () => factory( + protocolsName.FRIEND, + friendUtils +); -const profile = () => { - return factory( - protocolsName.PROFILE, - profileUtils - ) -}; +const profile = () => factory( + protocolsName.PROFILE, + profileUtils +); const person = () => { - const name = 'person'; - return factory( - protocolsName.PERSON, - personUtils - ) + const name = 'person'; + return factory( + protocolsName.PERSON, + personUtils + ); }; -const history = () => { - return factory( - protocolsName.HISTORY, - historyUtils - ) -}; +const history = () => factory( + protocolsName.HISTORY, + historyUtils +); -const message = () => { - return factory( - protocolsName.MESSAGE, - messageUtils - ) -}; +const message = () => factory( + protocolsName.MESSAGE, + messageUtils +); -const roster = () => { - return factory( - protocolsName.ROSTER, - rosterUtils - ); -}; +const roster = () => factory( + protocolsName.ROSTER, + rosterUtils +); export { - profile, - person, - roster, - contact, - message, - history, - io, - friend, -}; \ No newline at end of file + profile, + person, + roster, + contact, + message, + history, + io, + friend +}; diff --git a/src/core/protocols/Topic.protocol.js b/src/core/protocols/Topic.protocol.js index ad93347c2a7da9512c91e7534ed4debce8e04409..85cbc119654518ef7c981e8dfab3529cc0eaa683 100644 --- a/src/core/protocols/Topic.protocol.js +++ b/src/core/protocols/Topic.protocol.js @@ -1,21 +1,21 @@ import { setupClientEntry } from '../store'; import * as config from '../configs/ProtocolTopic.config'; -import { browserStorage } from '../store' +import { browserStorage } from '../store'; const generateNumber = () => ( - Math.floor((Math.random() * config.NODES) + 1) + Math.floor((Math.random() * config.NODES) + 1) ); -const buildTopic = (prefix = 'events', ...args) => { //TODO: ?? - let pipe = [ - prefix, - ...args, - config.VERSION, - generateNumber(), - config.DIRECTION, - setupClientEntry() - ]; - return pipe.join('/') + '/'; +const buildTopic = (prefix = 'events', ...args) => { // TODO: ?? + const pipe = [ + prefix, + ...args, + config.VERSION, + generateNumber(), + config.DIRECTION, + setupClientEntry() + ]; + return `${pipe.join('/')}/`; }; -export { buildTopic }; \ No newline at end of file +export { buildTopic }; diff --git a/src/core/protocols/Validator.protocol.js b/src/core/protocols/Validator.protocol.js index 2e50d4649b162f344bb0bc3d9f8ce95fd8154d82..475dc256c9c3055bb4023b75630e2a90d4ff7369 100644 --- a/src/core/protocols/Validator.protocol.js +++ b/src/core/protocols/Validator.protocol.js @@ -1,29 +1,28 @@ import * as protocols from './Index.protocol'; const isCorrespond = (x, num, name) => ( - x == undefined + x == undefined ? false : (x.t == 106 ? false : (x.v.length === num && x.v[0].v.toLowerCase() === name)) ); const validate = (res) => { - for(let protocol in protocols) { - let node = protocols[protocol](); - if(isCorrespond(res, node.len(), node.name)) { - const response = node.decode(res); - const event = node.eventFormer(response); - return { - response, - event - } - } + for (const protocol in protocols) { + const node = protocols[protocol](); + if (isCorrespond(res, node.len(), node.name)) { + const response = node.decode(res); + const event = node.eventFormer(response); + return { + response, + event + }; } - return; + } }; export { - isCorrespond, - validate -}; \ No newline at end of file + isCorrespond, + validate +}; diff --git a/src/core/protocols/index.js b/src/core/protocols/index.js index 6d6e3eafc9e25eb305a21a1cac5715c31b5a68b2..85baef534561719d874f3567006175373386d831 100644 --- a/src/core/protocols/index.js +++ b/src/core/protocols/index.js @@ -1,3 +1,3 @@ import { buildTopic } from './Topic.protocol'; -export { buildTopic }; \ No newline at end of file +export { buildTopic }; diff --git a/src/core/resource/Combined.action.js b/src/core/resource/Combined.action.js index fc2c9de8f49b4f7e50f86484ef337a9652f42ab7..46cec9ea14fcf81dcb94386675b503587642de75 100644 --- a/src/core/resource/Combined.action.js +++ b/src/core/resource/Combined.action.js @@ -3,8 +3,8 @@ import { authVerifyActions } from './auth/verification'; import { supplierActions } from './supplier'; export const combinedActions = { - ...authInitActions, - ...authVerifyActions, - ...supplierActions + ...authInitActions, + ...authVerifyActions, + ...supplierActions }; diff --git a/src/core/resource/Root.reducer.js b/src/core/resource/Root.reducer.js index c566f795b7ec96564726088b54bcaceb02ab87f8..ab920852e11802a3d57928297976b258b14a690a 100644 --- a/src/core/resource/Root.reducer.js +++ b/src/core/resource/Root.reducer.js @@ -1,14 +1,14 @@ import { combineReducers } from 'redux'; import { supplier } from './supplier/data/Supplier.reducer'; import { authInitReducers } from './auth/init'; -import { profile } from './profile' +import { profile } from './profile'; const rootReducer = combineReducers({ - supplier, - user: combineReducers({ - profile, - auth: authInitReducers.credentials - }) + supplier, + user: combineReducers({ + profile, + auth: authInitReducers.credentials + }) }); -export { rootReducer }; \ No newline at end of file +export { rootReducer }; diff --git a/src/core/resource/Root.saga.js b/src/core/resource/Root.saga.js index 98804f1fe431f29ca466a219f6aa18198a687859..159aa0f4cedb893577248b18f3ef99b8b281aaef 100644 --- a/src/core/resource/Root.saga.js +++ b/src/core/resource/Root.saga.js @@ -3,12 +3,12 @@ import { authInitSagas } from './auth/init'; import { authVerifySagas } from './auth/verification'; import { supplierSagas } from './supplier'; -let GeneratorFunction = (function*(){}).constructor; +const GeneratorFunction = (function* () {}).constructor; -function * rootSaga() { - yield fork(supplierSagas.connectInitiator); - yield fork(authInitSagas.sentCode); - yield fork(authVerifySagas.verifyCode); +function* rootSaga() { + yield fork(supplierSagas.connectInitiator); + yield fork(authInitSagas.sentCode); + yield fork(authVerifySagas.verifyCode); } export { rootSaga }; diff --git a/src/core/resource/auth/init/api/InquiryCredentials.api.js b/src/core/resource/auth/init/api/InquiryCredentials.api.js index 35e44d2220d30b0770ce8e1afb9252397ee5c3bf..e0dd0ad6265da625b6973debf48f3be90130228d 100644 --- a/src/core/resource/auth/init/api/InquiryCredentials.api.js +++ b/src/core/resource/auth/init/api/InquiryCredentials.api.js @@ -6,25 +6,23 @@ const signature = (...args) => { }; const codeProcessConverter = ({ - type = '', - token = '', - phone = '', - devKey = setupDevEntry(), - clientId = setupClientEntry(), - code = '' - }) => { - let request = { - type, - token, - phone, - "client_id": clientId, - "dev_key": devKey - }; - if(code) request.code = code; + type = '', + token = '', + phone = '', + devKey = setupDevEntry(), + clientId = setupClientEntry(), + code = '' +}) => { + const request = { + type, + token, + phone, + client_id: clientId, + dev_key: devKey + }; + if (code) request.code = code; - return authUtils.encode(request); + return authUtils.encode(request); }; -export { - codeProcessConverter, -} +export { codeProcessConverter }; diff --git a/src/core/resource/auth/init/data/Credentials.reducer.js b/src/core/resource/auth/init/data/Credentials.reducer.js index b61b2b7362a2b0d1104037f4a1b1d124e8d4590f..3e939ea07b80c18571619bd602f4ec8b2dfd0938 100644 --- a/src/core/resource/auth/init/data/Credentials.reducer.js +++ b/src/core/resource/auth/init/data/Credentials.reducer.js @@ -1,16 +1,16 @@ import * as actionsType from './InquiryCredentials.constant'; -//const initialState = { +// const initialState = { // isLoading: false, // isError: false, // isSuccess: false -//}; +// }; const credentials = (state = {}, action) => { - switch (action.type) { - default: - return state; - } + switch (action.type) { + default: + return state; + } }; -export { credentials }; \ No newline at end of file +export { credentials }; diff --git a/src/core/resource/auth/init/data/Credentials.selector.js b/src/core/resource/auth/init/data/Credentials.selector.js index f969b804b1c6f2e80e3babed8cb989a991367972..9bab74f5c7e59775b6ea89175c6139607e1497a0 100644 --- a/src/core/resource/auth/init/data/Credentials.selector.js +++ b/src/core/resource/auth/init/data/Credentials.selector.js @@ -1,5 +1,3 @@ -const getCredentials = (state) => { - return state.profile.credentials; -}; +const getCredentials = state => state.profile.credentials; -export { getCredentials }; \ No newline at end of file +export { getCredentials }; diff --git a/src/core/resource/auth/init/data/InquiryCredentials.action.js b/src/core/resource/auth/init/data/InquiryCredentials.action.js index 94c3ac3c4b6c4c4ee5787f7efba36513d9b805e7..c5f502425fc456484e899437c53154724312538b 100644 --- a/src/core/resource/auth/init/data/InquiryCredentials.action.js +++ b/src/core/resource/auth/init/data/InquiryCredentials.action.js @@ -1,41 +1,35 @@ import * as actionsType from './InquiryCredentials.constant'; -const codeRequest = (phone) => ({ - type: actionsType.CODE_REQUEST, - phone +const codeRequest = phone => ({ + type: actionsType.CODE_REQUEST, + phone }); -const codeRequestSuccess = (data) => { - return { - type: actionsType.CODE_REQUEST_SUCCESS, - data - }; -}; +const codeRequestSuccess = data => ({ + type: actionsType.CODE_REQUEST_SUCCESS, + data +}); const codeResponseSuccess = () => ({ - type: actionsType.CODE_RESPONSE_SUCCESS + type: actionsType.CODE_RESPONSE_SUCCESS }); -const codeRequestError = (error) => { - return { - type: actionsType.CODE_REQUEST_ERROR, - error - } -}; +const codeRequestError = error => ({ + type: actionsType.CODE_REQUEST_ERROR, + error +}); -const codeResponseError = (error) => { - return { - type: actionsType.CODE_RESPONSE_ERROR, - error - } -}; +const codeResponseError = error => ({ + type: actionsType.CODE_RESPONSE_ERROR, + error +}); export { - codeRequest, - codeRequestError, - codeRequestSuccess, + codeRequest, + codeRequestError, + codeRequestSuccess, - codeResponseSuccess, - codeResponseError -} \ No newline at end of file + codeResponseSuccess, + codeResponseError +}; diff --git a/src/core/resource/auth/init/index.js b/src/core/resource/auth/init/index.js index fe8b5be86cec7960f9dd2bd59ad583c194532312..ad73e6e98b97824a0fd62a4cb99e6d801a0adc5f 100644 --- a/src/core/resource/auth/init/index.js +++ b/src/core/resource/auth/init/index.js @@ -4,12 +4,12 @@ import * as authInitActions from './data/InquiryCredentials.action'; import * as authInitApi from './api/InquiryCredentials.api'; const authInitReducers = { - credentials + credentials }; export { - authInitApi, - authInitSagas, - authInitActions, - authInitReducers -} \ No newline at end of file + authInitApi, + authInitSagas, + authInitActions, + authInitReducers +}; diff --git a/src/core/resource/auth/init/sagas/InquiryCredentials.saga.js b/src/core/resource/auth/init/sagas/InquiryCredentials.saga.js index f579a84001a187283df165e77980f27ed26084bf..65d4dde6da4d1d232314855f4703f14c08711500 100644 --- a/src/core/resource/auth/init/sagas/InquiryCredentials.saga.js +++ b/src/core/resource/auth/init/sagas/InquiryCredentials.saga.js @@ -2,42 +2,42 @@ import { fork, call, put, takeEvery, take, takeLatest } from 'redux-saga/effects import { getProvider } from 'Core/services/MqttClient.service'; import { codeProcessConverter } from '../api/InquiryCredentials.api'; import { binPayload } from 'Tools/ErlangDebugger.tools'; -//import { logout } from './Logout.saga'; +// import { logout } from './Logout.saga'; import * as actions from '../data/InquiryCredentials.action'; import * as actionsType from '../data/InquiryCredentials.constant'; import * as selectors from '../data/Credentials.selector'; -//worker +// worker function* sentCodeHandler(action) { - const { phone } = action; + const { phone } = action; - const client = getProvider(); - if(!client.connected) { - return; - } - try { - const request = { - type: "reg", - phone - }; - const encoded = codeProcessConverter(request); - const data = yield call(client.onPublish, encoded); - yield put(actions.codeRequestSuccess()); - return data - } catch(e) { - console.log(e); - } + const client = getProvider(); + if (!client.connected) { + return; + } + try { + const request = { + type: 'reg', + phone + }; + const encoded = codeProcessConverter(request); + const data = yield call(client.onPublish, encoded); + yield put(actions.codeRequestSuccess()); + return data; + } catch (e) { + console.log(e); + } } -//watchers +// watchers function* sentCode(params) { - while(true) { - const action = yield take(actionsType.CODE_REQUEST); - const token = yield call(sentCodeHandler, action); - const data = yield take(actionsType.SERVER_CODE_SENT); - yield put(actions.codeResponseSuccess(data)) - } + while (true) { + const action = yield take(actionsType.CODE_REQUEST); + const token = yield call(sentCodeHandler, action); + const data = yield take(actionsType.SERVER_CODE_SENT); + yield put(actions.codeResponseSuccess(data)); + } } -export { sentCode }; \ No newline at end of file +export { sentCode }; diff --git a/src/core/resource/auth/login/index.js b/src/core/resource/auth/login/index.js index c71d9f18f516cdda97e6860377d1c06521ebbb5f..32ee45a80d076a1b1cf15694ace9afd6d4a3e099 100644 --- a/src/core/resource/auth/login/index.js +++ b/src/core/resource/auth/login/index.js @@ -1,3 +1,3 @@ import { login } from './sagas/Login.saga'; -export { login }; \ No newline at end of file +export { login }; diff --git a/src/core/resource/auth/login/sagas/Login.saga.js b/src/core/resource/auth/login/sagas/Login.saga.js index be2e0f61d24aba2116e2475ea6941f219c286644..1efc584fdf179ce08d58da0a0cb4ccb1ae09fea1 100644 --- a/src/core/resource/auth/login/sagas/Login.saga.js +++ b/src/core/resource/auth/login/sagas/Login.saga.js @@ -3,18 +3,18 @@ import { getSupplier } from 'Core/services'; import { setupClientEntry } from 'Core/store'; import { supplierActions } from 'Core/resource/supplier'; -function * login() { - const supplier = getSupplier(); - yield call(supplier.close); - if(!supplier.connected) { - yield put( - supplierActions.connecting, - { - clientId: setupClientEntry('emqttd_'), - cleanSession: false - } - ) - } +function* login() { + const supplier = getSupplier(); + yield call(supplier.close); + if (!supplier.connected) { + yield put( + supplierActions.connecting, + { + clientId: setupClientEntry('emqttd_'), + cleanSession: false + } + ); + } } -export { login }; \ No newline at end of file +export { login }; diff --git a/src/core/resource/auth/logout/index.js b/src/core/resource/auth/logout/index.js index 7e015ab0a87109c7730c84610c774a20e72293f7..68f79a5c350a565eb560a2df9c75b932142e6341 100644 --- a/src/core/resource/auth/logout/index.js +++ b/src/core/resource/auth/logout/index.js @@ -1,9 +1,7 @@ import { logout } from './sagas/Logout.saga'; const sagas = { - logout + logout }; -export { - sagas -} \ No newline at end of file +export { sagas }; diff --git a/src/core/resource/auth/logout/sagas/Logout.saga.js b/src/core/resource/auth/logout/sagas/Logout.saga.js index 884431a9ae2c14a26aff282a8e05071ea4608066..09aee69f51aa0b8097992de13181f8d1e3082e47 100644 --- a/src/core/resource/auth/logout/sagas/Logout.saga.js +++ b/src/core/resource/auth/logout/sagas/Logout.saga.js @@ -1,7 +1,7 @@ import { take, put } from 'redux-saga/effects'; -function * logout() { +function* logout() { } -export { logout }; \ No newline at end of file +export { logout }; diff --git a/src/core/resource/auth/verification/data/Credentials.selector.js b/src/core/resource/auth/verification/data/Credentials.selector.js index f6ede1c6266a74ff61045f9d58e35a688102fa00..9bab74f5c7e59775b6ea89175c6139607e1497a0 100644 --- a/src/core/resource/auth/verification/data/Credentials.selector.js +++ b/src/core/resource/auth/verification/data/Credentials.selector.js @@ -1,7 +1,3 @@ -const getCredentials = (state) => { - return state.profile.credentials; -}; +const getCredentials = state => state.profile.credentials; -export { - getCredentials -} \ No newline at end of file +export { getCredentials }; diff --git a/src/core/resource/auth/verification/data/Verification.constant.js b/src/core/resource/auth/verification/data/Verification.constant.js index a206d15fdea460ef4dfe3d843a729fd080e150f7..f26df25ff0f5a317c0ada4e6378fc09282b2f94f 100644 --- a/src/core/resource/auth/verification/data/Verification.constant.js +++ b/src/core/resource/auth/verification/data/Verification.constant.js @@ -2,4 +2,4 @@ export const VERIFY_CODE = 'VERIFY_CODE'; export const VERIFY_CODE_SUCCESS = 'VERIFY_CODE_SUCCESS'; export const VERIFY_CODE_ERROR = 'VERIFY_CODE_ERROR'; -export const SERVER_CODE_VERFIY = 'IO/OK2/LOGIN'; \ No newline at end of file +export const SERVER_CODE_VERFIY = 'IO/OK2/LOGIN'; diff --git a/src/core/resource/auth/verification/data/VerifyCredentials.action.js b/src/core/resource/auth/verification/data/VerifyCredentials.action.js index 5a8bd02372d5691762affcd13e1ba5ac0bdf1124..e89b13be8f7b951e0d3751254eb86ee930a81209 100644 --- a/src/core/resource/auth/verification/data/VerifyCredentials.action.js +++ b/src/core/resource/auth/verification/data/VerifyCredentials.action.js @@ -1,21 +1,21 @@ import * as actionsType from './Verification.constant'; const verifyCode = (...data) => ({ - type: actionsType.VERIFY_CODE, - data + type: actionsType.VERIFY_CODE, + data }); -const verifyCodeSuccess = ({ client = '', token = ''}) => ({ - type: actionsType.VERIFY_CODE_SUCCESS +const verifyCodeSuccess = ({ client = '', token = '' }) => ({ + type: actionsType.VERIFY_CODE_SUCCESS }); -const verifyCodeError = (error) => ({ - type: actionsType.VERIFY_CODE_ERROR, - error +const verifyCodeError = error => ({ + type: actionsType.VERIFY_CODE_ERROR, + error }); export { - verifyCode, - verifyCodeError, - verifyCodeSuccess -} \ No newline at end of file + verifyCode, + verifyCodeError, + verifyCodeSuccess +}; diff --git a/src/core/resource/auth/verification/index.js b/src/core/resource/auth/verification/index.js index 92ab1ed6c8b72db53ae65fac81994a2915776f6e..1736c26c4832f1570cb2a476286ea0378d4b9c0c 100644 --- a/src/core/resource/auth/verification/index.js +++ b/src/core/resource/auth/verification/index.js @@ -1,7 +1,7 @@ import * as authVerifySagas from './sagas/VerifyCredentials.saga'; -import * as authVerifyActions from './data/VerifyCredentials.action' +import * as authVerifyActions from './data/VerifyCredentials.action'; export { - authVerifySagas, - authVerifyActions -} \ No newline at end of file + authVerifySagas, + authVerifyActions +}; diff --git a/src/core/resource/auth/verification/sagas/VerifyCredentials.saga.js b/src/core/resource/auth/verification/sagas/VerifyCredentials.saga.js index 3702356f4a7b3a7ec173272dae5e148600c95d44..ce4b51d250cc56e8f9db822ff05a3eab11efe158 100644 --- a/src/core/resource/auth/verification/sagas/VerifyCredentials.saga.js +++ b/src/core/resource/auth/verification/sagas/VerifyCredentials.saga.js @@ -9,43 +9,42 @@ import * as selectors from '../data/Credentials.selector'; import { login } from '../../login'; -function * verifyCodeHandler(data, client) { - const request = { - type: 'verify', - //token: - ...data - }; - - if(!client.connected) { - return; - } - - try { - const encoded = api.codeProcessConverter(request); - yield call(client.send, encoded); - - } catch (e) { - yield put(actions.verifyCodeError()) - } +function* verifyCodeHandler(data, client) { + const request = { + type: 'verify', + // token: + ...data + }; + + if (!client.connected) { + return; + } + + try { + const encoded = api.codeProcessConverter(request); + yield call(client.send, encoded); + } catch (e) { + yield put(actions.verifyCodeError()); + } } -function * verifyCode() { - while(true) { - const data = yield take(actionsType.VERIFY_CODE); - const { client, token } = yield select(selectors.getCredentials); - if(client && token) { - //call specific action and redirects to dashboard - return; - } - yield call(verifyCodeHandler, data, client); - const response = yield take(actionsType.SERVER_CODE_VERFIY); - yield put(actions.verifyCodeSuccess(response)); - yield all({ - reconnect: login, - - }); +function* verifyCode() { + while (true) { + const data = yield take(actionsType.VERIFY_CODE); + const { client, token } = yield select(selectors.getCredentials); + if (client && token) { + // call specific action and redirects to dashboard + return; } + yield call(verifyCodeHandler, data, client); + const response = yield take(actionsType.SERVER_CODE_VERFIY); + yield put(actions.verifyCodeSuccess(response)); + yield all({ + reconnect: login + + }); + } } -export { verifyCode }; \ No newline at end of file +export { verifyCode }; diff --git a/src/core/resource/index.js b/src/core/resource/index.js index 02b48fabc6772df923542c5b2a8f7d591244ee4a..b3b00207f414cd10d551fb94249e0ff7245c4ec9 100644 --- a/src/core/resource/index.js +++ b/src/core/resource/index.js @@ -1,9 +1,9 @@ import { rootSaga } from './Root.saga'; import { rootReducer } from './Root.reducer'; -import { combinedActions } from './Combined.action' +import { combinedActions } from './Combined.action'; export { - combinedActions, - rootReducer, - rootSaga -} \ No newline at end of file + combinedActions, + rootReducer, + rootSaga +}; diff --git a/src/core/resource/messages/data/Messages.action.js b/src/core/resource/messages/data/Messages.action.js index f98164182b43e0a3d387ba62b3deaaf9f71763ca..1597288ca94726f269b497b44f5b79bb199526f4 100644 --- a/src/core/resource/messages/data/Messages.action.js +++ b/src/core/resource/messages/data/Messages.action.js @@ -1,27 +1,27 @@ import * as actionTypes from './Messages.contant'; -const send = (topic, message, status, packet) =>({ - type: actionTypes.MESSAGE_SEND, - topic, - message, - status +const send = (topic, message, status, packet) => ({ + type: actionTypes.MESSAGE_SEND, + topic, + message, + status }); const delivered = (topic, message, time) => ({ - type: actionTypes.MESSAGE_DELIVERED, - topic, - message, - time + type: actionTypes.MESSAGE_DELIVERED, + topic, + message, + time }); const receive = (topic, message, status, time) => ({ - type: actionTypes.MESSAGE_RECEIVE, - topic, - message + type: actionTypes.MESSAGE_RECEIVE, + topic, + message }); export { - receive, - delivered, - send -} + receive, + delivered, + send +}; diff --git a/src/core/resource/messages/data/Messages.contant.js b/src/core/resource/messages/data/Messages.contant.js index 556b89f5f5862b24fbef386be9cdb86073eb4984..5a88147cdbf2c0bcd9189fe3628417921aecd5a1 100644 --- a/src/core/resource/messages/data/Messages.contant.js +++ b/src/core/resource/messages/data/Messages.contant.js @@ -1,4 +1,4 @@ export const MESSAGE_SEND = 'MESSAGE_SEND'; export const MESSAGE_DELIVERED = 'MESSAGE_DELIVERED'; export const MESSAGE_RECEIVE = 'MESSAGE_RECEIVE'; -export const ERROR = "ERROR"; \ No newline at end of file +export const ERROR = 'ERROR'; diff --git a/src/core/resource/messages/data/Messages.reducer.js b/src/core/resource/messages/data/Messages.reducer.js index c1bd533cb8ce9991fe1e0c6463db4834f4857d7e..0eee3743d4f1fb668fcae56e606f7e3b37040d36 100644 --- a/src/core/resource/messages/data/Messages.reducer.js +++ b/src/core/resource/messages/data/Messages.reducer.js @@ -1,23 +1,21 @@ import * as actionTypes from './Messages.contant'; const messages = (state = {}, action) => { - switch(action.type) { - case actionTypes.MESSAGE_SEND: - return [ - ...state - //...messageSendSelector(action.payload) - ]; - break; - case actionTypes.MESSAGE_DELIVERED: - return [ - ...state - //...messageDelivered(action.payload) - ]; - default: - return state; - } + switch (action.type) { + case actionTypes.MESSAGE_SEND: + return [ + ...state + // ...messageSendSelector(action.payload) + ]; + break; + case actionTypes.MESSAGE_DELIVERED: + return [ + ...state + // ...messageDelivered(action.payload) + ]; + default: + return state; + } }; -export { - messages -} \ No newline at end of file +export { messages }; diff --git a/src/core/resource/messages/data/Messages.selector.js b/src/core/resource/messages/data/Messages.selector.js index b77f06a8ea9753e8a861ee87c4249c6eceed25e2..7a28db7900ce8dc25d1d1e2b243d55f418abe5b5 100644 --- a/src/core/resource/messages/data/Messages.selector.js +++ b/src/core/resource/messages/data/Messages.selector.js @@ -1,9 +1,11 @@ -const messageSendSelector = ({message, status, sentTime, id}) => ({ - [id]: { - content, - status, - sentTime - } +const messageSendSelector = ({ + message, status, sentTime, id +}) => ({ + [id]: { + content, + status, + sentTime + } }); -export { messageSendSelector }; \ No newline at end of file +export { messageSendSelector }; diff --git a/src/core/resource/messages/index.js b/src/core/resource/messages/index.js index 2b4ad60517095c4f13160e41333e7d320a01b636..d50d8e5c366db3b2121fd2fdb28d4130953ee7ef 100644 --- a/src/core/resource/messages/index.js +++ b/src/core/resource/messages/index.js @@ -3,16 +3,16 @@ import { messages } from './data/Messages.reducer'; import { delivered, receive, send } from './data/Messages.action'; const reducers = { - messages + messages }; const actions = { - delivered, - receive, - send + delivered, + receive, + send }; export { - formatter, - actions, - reducers, -}; \ No newline at end of file + formatter, + actions, + reducers +}; diff --git a/src/core/resource/messages/utils/FormatConverter.message.js b/src/core/resource/messages/utils/FormatConverter.message.js index 406ee8f0ed2277b7276e3ceb0639c1e0a210bf8a..52c35bd4002210e529febaf9834c6ab183756005 100644 --- a/src/core/resource/messages/utils/FormatConverter.message.js +++ b/src/core/resource/messages/utils/FormatConverter.message.js @@ -1,16 +1,12 @@ import { decode, convertToBert } from 'Core/bert/Converter.bert'; const formatter = (packet = {}) => { - const bert = convertToBert(packet.payload); - try { - return decode(bert); - } catch(e) { - //notify store, user, server - } - - - - + const bert = convertToBert(packet.payload); + try { + return decode(bert); + } catch (e) { + // notify store, user, server + } }; -export { formatter }; \ No newline at end of file +export { formatter }; diff --git a/src/core/resource/profile/data/InitProfile.reducer.js b/src/core/resource/profile/data/InitProfile.reducer.js index 5871347da1b6b1b18d91503a7799277d7e85051d..0ba1b30d0bcaca36001ae7f668be1ad0673f5641 100644 --- a/src/core/resource/profile/data/InitProfile.reducer.js +++ b/src/core/resource/profile/data/InitProfile.reducer.js @@ -2,25 +2,25 @@ import { createAction, createReducer } from 'redux-act'; const profileInit = createAction('PROFILE/INIT/SUCCES'); -const handleLoad = (state, action) =>{ - console.log('ACTION INIT',state, action); - return { ...state, init: true, data: action } -} ; +const handleLoad = (state, action) => { + console.log('ACTION INIT', state, action); + return { ...state, init: true, data: action }; +}; const initialState = { - init: false + init: false }; -const profile = createReducer(on => { - on(profileInit, handleLoad); +const profile = createReducer((on) => { + on(profileInit, handleLoad); }, initialState); export const userActions = { - profileInit + profileInit }; export default profile; export function isLoaded(globalState) { - return globalState.profile && globalState.profile.init; -} \ No newline at end of file + return globalState.profile && globalState.profile.init; +} diff --git a/src/core/resource/profile/index.js b/src/core/resource/profile/index.js index a8e0ac64a99f12dd557f18072890c12b8fd9654e..f5219995e5f98bc9caaab903e5ff430111cc0241 100644 --- a/src/core/resource/profile/index.js +++ b/src/core/resource/profile/index.js @@ -1,6 +1,6 @@ import profile, { userActions } from './data/InitProfile.reducer'; export { - profile, - userActions -} \ No newline at end of file + profile, + userActions +}; diff --git a/src/core/resource/supplier/data/Initial.state.js b/src/core/resource/supplier/data/Initial.state.js index 74bf59b1d20d89135594db60bdc7133d035a973b..1488e8a12427d34fbaf35ca934f1cdc0100ea5a3 100644 --- a/src/core/resource/supplier/data/Initial.state.js +++ b/src/core/resource/supplier/data/Initial.state.js @@ -1,17 +1,15 @@ import { buildTopic } from 'Core/protocols/Topic.protocol'; -const deliveryInfo = (data) => { - return Object.assign( - {}, - { - updated: new Date().toLocaleString(), - topic: buildTopic(), - isError: false, - isLoading: false, - isSuccess: false - }, - data - ) -}; +const deliveryInfo = data => Object.assign( + {}, + { + updated: new Date().toLocaleString(), + topic: buildTopic(), + isError: false, + isLoading: false, + isSuccess: false + }, + data +); -export { deliveryInfo }; \ No newline at end of file +export { deliveryInfo }; diff --git a/src/core/resource/supplier/data/Supplier.action.js b/src/core/resource/supplier/data/Supplier.action.js index 507fe8dbaac979a61b2a93411d56028fc24aae42..4faf3568e7dc66e288472170065f638a61eda99e 100644 --- a/src/core/resource/supplier/data/Supplier.action.js +++ b/src/core/resource/supplier/data/Supplier.action.js @@ -1,28 +1,26 @@ import * as actionTypes from './Supplier.constant'; -const serverResponse = (action, response, packet = {}) => { - return { - type: action, - response - } -}; +const serverResponse = (action, response, packet = {}) => ({ + type: action, + response +}); -const connecting = (config) =>({ - type: actionTypes.CONNECTING, - config +const connecting = config => ({ + type: actionTypes.CONNECTING, + config }); const connected = () => ({ - type: actionTypes.CONNECTED + type: actionTypes.CONNECTED }); -const close = (time) =>({ - type: actionTypes.CLOSE +const close = time => ({ + type: actionTypes.CLOSE }); export { - close, - connecting, - connected, - serverResponse -} + close, + connecting, + connected, + serverResponse +}; diff --git a/src/core/resource/supplier/data/Supplier.constant.js b/src/core/resource/supplier/data/Supplier.constant.js index 287143165360698e6b37afea2eccd0ddc13809dc..74b500f1e64ed70ca7c9a40d39fd8bd19e396da7 100644 --- a/src/core/resource/supplier/data/Supplier.constant.js +++ b/src/core/resource/supplier/data/Supplier.constant.js @@ -1,4 +1,4 @@ export const CONNECTING = 'CONNECTING'; export const CONNECTED = 'CONNECTED'; export const CLOSE = 'CLOSE'; -export const ERROR = 'ERROR'; \ No newline at end of file +export const ERROR = 'ERROR'; diff --git a/src/core/resource/supplier/data/Supplier.reducer.js b/src/core/resource/supplier/data/Supplier.reducer.js index 850370f8787d37cab75f58a2fd7bfbe0f73cbd4b..4e94486cd4ed8b9cb8db7c4d1a9f788676bf89c8 100644 --- a/src/core/resource/supplier/data/Supplier.reducer.js +++ b/src/core/resource/supplier/data/Supplier.reducer.js @@ -1,14 +1,14 @@ -//import * as actionTypes from './Supplier.constant'; +// import * as actionTypes from './Supplier.constant'; -export let supplier = (state = {}, action) => { - switch (action.type) { - case 'CONNECTING': - return { - ...state, - updated: action.time - }; - break; - default: - return state; - } -}; \ No newline at end of file +export const supplier = (state = {}, action) => { + switch (action.type) { + case 'CONNECTING': + return { + ...state, + updated: action.time + }; + break; + default: + return state; + } +}; diff --git a/src/core/resource/supplier/index.js b/src/core/resource/supplier/index.js index 1f3d73732a8b68c70520b28ebfc3f65175e3e3cc..3e065449a3d8e1b054a8935a61bf2319c75ca937 100644 --- a/src/core/resource/supplier/index.js +++ b/src/core/resource/supplier/index.js @@ -1,21 +1,21 @@ import * as supplierReducers from './data/Supplier.reducer'; import { connectInitiator } from './sagas/SupplierConnector.saga'; import { - close, - connecting, - connected, - serverResponse + close, + connecting, + connected, + serverResponse } from './data/Supplier.action'; -let supplierSagas = { - connectInitiator +const supplierSagas = { + connectInitiator }; -let supplierActions = { - close, - connecting, - connected, - serverResponse +const supplierActions = { + close, + connecting, + connected, + serverResponse }; -export { supplierActions, supplierReducers, supplierSagas }; \ No newline at end of file +export { supplierActions, supplierReducers, supplierSagas }; diff --git a/src/core/resource/supplier/sagas/SupplierConnector.saga.js b/src/core/resource/supplier/sagas/SupplierConnector.saga.js index 2dbee2be12b5f98f3223da83412e204e7c4f4f48..772f188972dbebde79cd1fb9f18e0c79ae0a942a 100644 --- a/src/core/resource/supplier/sagas/SupplierConnector.saga.js +++ b/src/core/resource/supplier/sagas/SupplierConnector.saga.js @@ -1,20 +1,21 @@ import { takeEvery, takeLatest, fork } from 'redux-saga/effects'; -import { effects } from 'redux-saga' +import { effects } from 'redux-saga'; import { supplierEventChannel } from 'Core/services'; import { CONNECTING } from '../data/Supplier.constant'; + const { call, put, take } = effects; const mqttSaga = function* (action) { - const socketChannel = yield call(supplierEventChannel, action); - while (true) { - const eventAction = yield take(socketChannel); - yield put(eventAction); - } + const socketChannel = yield call(supplierEventChannel, action); + while (true) { + const eventAction = yield take(socketChannel); + yield put(eventAction); + } }; const connectInitiator = function* (params) { - yield takeLatest(CONNECTING, mqttSaga); -} + yield takeLatest(CONNECTING, mqttSaga); +}; -export { connectInitiator }; \ No newline at end of file +export { connectInitiator }; diff --git a/src/core/services/MqttClient.service.js b/src/core/services/MqttClient.service.js index 16efde2789cb6a968eab4337e09bbd3d75ae6194..f68ac12fcbdcb6bc0c813d4793497147dff31148 100644 --- a/src/core/services/MqttClient.service.js +++ b/src/core/services/MqttClient.service.js @@ -6,61 +6,54 @@ import { MqttLocaforageStore } from '../store'; import { incomeDB, setupClientEntry, browserStorage } from '../store'; import mqttConfig from '../configs/MqttInit.config'; -let config, client; +let config, + client; -const configure = () => { - return config = Object.assign({}, { - clientId: setupClientEntry(), - password: browserStorage.getItem('token') - }, mqttConfig); -}; +const configure = () => config = Object.assign({}, { + clientId: setupClientEntry(), + password: browserStorage.getItem('token') +}, mqttConfig); -const getConfig = () => { - return config || configure(); -}; +const getConfig = () => config || configure(); -const setConfig = (customConfig) => { - return config ? Object.assign(config, customConfig) : customConfig; -}; +const setConfig = customConfig => (config ? Object.assign(config, customConfig) : customConfig); -const getSupplier = () => client ? client : null; +const getSupplier = () => client || null; const setSupplier = c => client = c; -const formatPath = ({ protocol, host, port, supplier }) => { - return `${ protocol }://${ host }:${ port }/${ supplier }`; -}; +const formatPath = ({ + protocol, host, port, supplier +}) => `${protocol}://${host}:${port}/${supplier}`; const initSupplier = (customConfig, url) => { - let config = configure(); + let config = configure(); - if(customConfig) { - config = setConfig(customConfig); - } + if (customConfig) { + config = setConfig(customConfig); + } - if(!url) { - url = formatPath(config); - } + if (!url) { + url = formatPath(config); + } - let client = mqtt.connect(url, config); + const client = mqtt.connect(url, config); - const send = (m, t = 'events', ...args) => { - m = encode(m); - t = topic(t); - binPayload(m); - return client.publish(t, m, ...args) - }; + const send = (m, t = 'events', ...args) => { + m = encode(m); + t = topic(t); + binPayload(m); + return client.publish(t, m, ...args); + }; - const close = () => { - return client.end(); - }; + const close = () => client.end(); - const xtendedClient = Object.assign(client, { - send, - close - }); + const xtendedClient = Object.assign(client, { + send, + close + }); - setSupplier(xtendedClient); - return xtendedClient; + setSupplier(xtendedClient); + return xtendedClient; }; -export { initSupplier, getSupplier, setConfig, getConfig}; +export { initSupplier, getSupplier, setConfig, getConfig }; diff --git a/src/core/services/MqttEventChannel.service.js b/src/core/services/MqttEventChannel.service.js index df9422fe8def558b3b21741da6cac1c029201cc1..26b5b895b1d4caf7b3618fcc194777672dfd8837 100644 --- a/src/core/services/MqttEventChannel.service.js +++ b/src/core/services/MqttEventChannel.service.js @@ -1,59 +1,58 @@ import mqtt from 'mqtt'; -import { buffers, eventChannel } from 'redux-saga' +import { buffers, eventChannel } from 'redux-saga'; import { put } from 'redux-saga/effects'; -import { bindActionCreators } from 'redux' -//import { Store as MQTTLocalForageStore } from 'mqtt-localforage-store'; +import { bindActionCreators } from 'redux'; +// import { Store as MQTTLocalForageStore } from 'mqtt-localforage-store'; import { formatter } from '../resource/messages'; import { validate } from '../protocols/Validator.protocol'; import { initSupplier } from './MqttClient.service'; import mqttConfig from '../configs/MqttInit.config'; import * as eventTypes from '../configs/MqttEvents.config'; import { supplierActions } from '../resource/supplier'; + const bufferSize = 100; -const supplierEventChannel = (action) => eventChannel( - emitter => { - const { config } = action; - const client = initSupplier(config); - const boundEventHandlers = bindActionCreators(supplierActions, emitter); +const supplierEventChannel = action => eventChannel((emitter) => { + const { config } = action; + const client = initSupplier(config); + const boundEventHandlers = bindActionCreators(supplierActions, emitter); - client.on(eventTypes.CONNECT, function() { - boundEventHandlers.connected(); - //redux log - }); - client.on(eventTypes.CLOSE, function() { - //redux log - boundEventHandlers.close(); - }); - client.on(eventTypes.ERROR, function(e) { - console.log('Error', e); - boundEventHandlers.error(e) - }); - client.on(eventTypes.MESSAGE, function(topic, message, packet) { - console.log(topic, message, packet); - //boundEventHandlers.publish(topic, message, packet) - }); - client.on(eventTypes.PACKETRECEIVE, function (packet = {}) { - if(!packet.payload) { - return; - } - const processedResponse = formatter(packet); - let { event, response } = validate(processedResponse); - boundEventHandlers.serverResponse(event, response, packet); - console.log('PACKETRECEIVE', packet); + client.on(eventTypes.CONNECT, () => { + boundEventHandlers.connected(); + // redux log + }); + client.on(eventTypes.CLOSE, () => { + // redux log + boundEventHandlers.close(); + }); + client.on(eventTypes.ERROR, (e) => { + console.log('Error', e); + boundEventHandlers.error(e); + }); + client.on(eventTypes.MESSAGE, (topic, message, packet) => { + console.log(topic, message, packet); + // boundEventHandlers.publish(topic, message, packet) + }); + client.on(eventTypes.PACKETRECEIVE, (packet = {}) => { + if (!packet.payload) { + return; + } + const processedResponse = formatter(packet); + const { event, response } = validate(processedResponse); + boundEventHandlers.serverResponse(event, response, packet); + console.log('PACKETRECEIVE', packet); - boundEventHandlers.serverResponse(event, response, packet); + boundEventHandlers.serverResponse(event, response, packet); // put(event,response); - console.log("PACKETRECEIVE", event, response); - }); - client.on(eventTypes.PACKETSEND, function(packet) { - console.log('PACKETSEND', packet); - }); + console.log('PACKETRECEIVE', event, response); + }); + client.on(eventTypes.PACKETSEND, (packet) => { + console.log('PACKETSEND', packet); + }); - //buffers.expanding(bufferSize); - return client.end - } -); + // buffers.expanding(bufferSize); + return client.end; +}); -export default supplierEventChannel; \ No newline at end of file +export default supplierEventChannel; diff --git a/src/core/store/Browser.store.js b/src/core/store/Browser.store.js index 633e85cec7f1c0508a481234417bbba1a877f9c5..5a5fd19d2309d8e7b71d5836b62c9cddfc2fb6cc 100644 --- a/src/core/store/Browser.store.js +++ b/src/core/store/Browser.store.js @@ -1,28 +1,26 @@ import { browserStorage } from './index'; -import { DEV_KEY, CLIENT} from '../configs/BrowserStorage.config'; +import { DEV_KEY, CLIENT } from '../configs/BrowserStorage.config'; -const generateClientId = () => { - return Math.random().toString(36).substring(2) +const generateClientId = () => Math.random().toString(36).substring(2) + (new Date()).getTime().toString(36); -}; const setupDevEntry = () => { - let devKey = browserStorage.getItem(DEV_KEY) || generateClientId(); + const devKey = browserStorage.getItem(DEV_KEY) || generateClientId(); - browserStorage.setItem(DEV_KEY, devKey); + browserStorage.setItem(DEV_KEY, devKey); - return devKey; + return devKey; }; -//emqttd_ -const setupClientEntry = (prefix = "reg_") => { - let devKey = setupDevEntry(); +// emqttd_ +const setupClientEntry = (prefix = 'reg_') => { + const devKey = setupDevEntry(); - let clientKey = browserStorage.getItem(CLIENT) || prefix + devKey; - browserStorage.setItem(CLIENT, clientKey); + const clientKey = browserStorage.getItem(CLIENT) || prefix + devKey; + browserStorage.setItem(CLIENT, clientKey); - return clientKey; + return clientKey; }; -export { setupClientEntry, setupDevEntry }; \ No newline at end of file +export { setupClientEntry, setupDevEntry }; diff --git a/src/core/store/Configure.dev.store.js b/src/core/store/Configure.dev.store.js index f7e04abec890a0a5a042a7a8655426baa3d318d9..877d7a682b8360f9601cba2a93f64583765167e5 100644 --- a/src/core/store/Configure.dev.store.js +++ b/src/core/store/Configure.dev.store.js @@ -1,11 +1,11 @@ import { applyMiddleware, createStore, compose } from 'redux'; import createSagaMiddleware from 'redux-saga'; -import { loadingBarMiddleware } from 'react-redux-loading-bar' +import { loadingBarMiddleware } from 'react-redux-loading-bar'; import reduxImmutableStateInvariant from 'redux-immutable-state-invariant'; import logger from 'redux-logger'; import trottle from 'lodash/throttle'; import { STORAGE_NAME, SAVE_TIME_DELAY } from '../configs/BrowserStorage.config'; -import { crashReporter } from '../middlewares' +import { crashReporter } from '../middlewares'; import { rootReducer } from '../resource'; import { rootSaga } from '../resource'; import { browserStorage } from './index'; @@ -19,14 +19,11 @@ const configureStore = () => { logger, reduxImmutableStateInvariant(), sagaMiddleware - //loadingBarMiddleware({ scope: 'page' }) + // loadingBarMiddleware({ scope: 'page' }) ]; const composeExtenders = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; - const store = createStore(rootReducer, {}, composeExtenders( - applyMiddleware(...middlewares) - ) - ); + const store = createStore(rootReducer, {}, composeExtenders(applyMiddleware(...middlewares))); sagaMiddleware.run(rootSaga); diff --git a/src/core/store/ConfigureBrowser.store.js b/src/core/store/ConfigureBrowser.store.js index ce78caa203f8acd5d9af46a995b10052d9e4c3c1..cefb38c9bcdb63e6a1855116c1ec3830b968af08 100644 --- a/src/core/store/ConfigureBrowser.store.js +++ b/src/core/store/ConfigureBrowser.store.js @@ -1,11 +1,11 @@ import localforage from 'localforage'; const config = { - driver: localforage.INDEXEDDB, - version: 1 + driver: localforage.INDEXEDDB, + version: 1 }; -const incomeDB = localforage.createInstance({name: 'incomeDB',...config}); -const outcomeDB = localforage.createInstance({name: 'outcomeDB',...config}); +const incomeDB = localforage.createInstance({ name: 'incomeDB', ...config }); +const outcomeDB = localforage.createInstance({ name: 'outcomeDB', ...config }); -export { incomeDB, outcomeDB }; \ No newline at end of file +export { incomeDB, outcomeDB }; diff --git a/src/core/store/MqttLocaforage.store.js b/src/core/store/MqttLocaforage.store.js index 80474ee042b9070bf382d4a90338a9d8b9b9887f..ea1dff9d0dabffca448cad664f6f33e79a5fceaa 100644 --- a/src/core/store/MqttLocaforage.store.js +++ b/src/core/store/MqttLocaforage.store.js @@ -1,77 +1,76 @@ import { Readable } from 'readable-stream'; class MqttLocaforageStore { - constructor(localForageDb, options) { - this.inflights = localForageDb; - this.options = options || {}; - this.options.clean = this.options.clean || true; - } - - put(packet, cb) { - this.inflights.setItem(`msgid_${packet.messageId}`, packet, cb); - return this; - } - - createStream() { - const stream = new Readable({ objectMode: true }); - const inflights = this.inflights; - let destroyed = false; - - stream._read = function() { - if (destroyed === true) { - this.push(null); - return; - } - - inflights.iterate((value, key) => { - this.push(value); - return; - }); - }; - - stream._destroy = function(err, cb) { - if (destroyed) return; - - destroyed = true; - - this.emit('close'); - cb(); + constructor(localForageDb, options) { + this.inflights = localForageDb; + this.options = options || {}; + this.options.clean = this.options.clean || true; + } + + put(packet, cb) { + this.inflights.setItem(`msgid_${packet.messageId}`, packet, cb); + return this; + } + + createStream() { + const stream = new Readable({ objectMode: true }); + const inflights = this.inflights; + let destroyed = false; + + stream._read = function () { + if (destroyed === true) { + this.push(null); + return; + } + + inflights.iterate((value, key) => { + this.push(value); + }); + }; + + stream._destroy = function (err, cb) { + if (destroyed) return; + + destroyed = true; + + this.emit('close'); + cb(); + }; + + return stream; + } + + get(packet, cb) { + this.inflights.getItem(`msgid_${packet.messageId}`, cb); + return this; + } + + del(packet, cb) { + this.inflights.getItem(`msgid_${packet.messageId}`, (err, result) => { + this.inflights.removeItem(`msgid_${packet.messageId}`, (err) => { + if (err) { + cb(err); + return; } - return stream; - } - - get(packet, cb) { - this.inflights.getItem(`msgid_${packet.messageId}`, cb); - return this; - } + cb(null, result); + }); + }); - del(packet, cb) { - this.inflights.getItem(`msgid_${packet.messageId}`, (err, result) => { - this.inflights.removeItem(`msgid_${packet.messageId}`, (err) => { - if (err) { - cb(err); - return; - } + return this; + } - cb(null, result); - }); - }); + close(cb) { + const callback = cb || (() => {}); - return this; + if (this.options.clean === false) { + callback(null); + return this; } - close(cb) { - const callback = cb || (() => {}); - - if (this.options.clean === false) { - callback(null); - return this; - } - - this.inflights.clear(callback); - return this; - } + this.inflights.clear(callback); + return this; + } } export default MqttLocaforageStore; diff --git a/src/core/store/index.js b/src/core/store/index.js index 95697c5f71e46aa5bca60d710cc6b9b13b824b57..44f7c532f47c1a2cfef7d8d7629a5decba38cf39 100644 --- a/src/core/store/index.js +++ b/src/core/store/index.js @@ -2,16 +2,16 @@ import { setupClientEntry, setupDevEntry } from './Browser.store'; import { incomeDB, outcomeDB } from './ConfigureBrowser.store'; import MqttLocaforageStore from './MqttLocaforage.store'; -const configureStore = process.env.NODE_ENV === "development" - ? require('./Configure.dev.store') - : require('./Configure.prod.store'); +const configureStore = process.env.NODE_ENV === 'development' + ? require('./Configure.dev.store') + : require('./Configure.prod.store'); const browserStorage = localStorage !== 'undefined' ? localStorage : outcomeDB; export { - setupDevEntry, - setupClientEntry, - browserStorage, - configureStore, - MqttLocaforageStore + setupDevEntry, + setupClientEntry, + browserStorage, + configureStore, + MqttLocaforageStore }; diff --git a/src/core/utils/MergeState.util.js b/src/core/utils/MergeState.util.js index f90c8648d2f229da90d3135c68574183eef86bab..1f99a6dc9bb1de18bf546628cbbc9e9d2833937f 100644 --- a/src/core/utils/MergeState.util.js +++ b/src/core/utils/MergeState.util.js @@ -1,5 +1,5 @@ const mergeState = (state, newState) => ( - Object.assign({}, state, { ...newState }) + Object.assign({}, state, { ...newState }) ); -export { mergeState }; \ No newline at end of file +export { mergeState }; diff --git a/src/core/utils/Utf8.util.js b/src/core/utils/Utf8.util.js index a9f83a6bc8b356206ca143f07384b11835d059fc..0f1dde5b283cb3546553600e76e877f3e765b8de 100644 --- a/src/core/utils/Utf8.util.js +++ b/src/core/utils/Utf8.util.js @@ -1,5 +1,7 @@ -function utf8_toByteArray(str) { return { t: 107, v: (new TextEncoder("utf-8")).encode(str) }; }; -function utf8_dec(ab) { if (!(ab instanceof ArrayBuffer)) ab = new Uint8Array(utf8_toByteArray(ab).v).buffer; - return (new TextDecoder()).decode(ab); } +function utf8_toByteArray(str) { return { t: 107, v: (new TextEncoder('utf-8')).encode(str) }; } +function utf8_dec(ab) { + if (!(ab instanceof ArrayBuffer)) ab = new Uint8Array(utf8_toByteArray(ab).v).buffer; + return (new TextDecoder()).decode(ab); +} -export { utf8_dec, utf8_toByteArray } +export { utf8_dec, utf8_toByteArray }; diff --git a/src/index.js b/src/index.js index 8091cb13932f6f8ced8a22d777d47e18b4f6bdc2..449d4d881b678f8fcf96c5f56ca6334741868b93 100644 --- a/src/index.js +++ b/src/index.js @@ -1,20 +1,20 @@ -import "regenerator-runtime/runtime"; +import 'regenerator-runtime/runtime'; import Raven from './core/loggers/SentryError.logger.js'; import React from 'react'; import { render } from 'react-dom'; import Root from './root'; -import { configureStore } from './core/store' +import { configureStore } from './core/store'; import Reboot from 'material-ui/Reboot'; require('./favicon.ico'); render( -
    - - -
    , - document.getElementById('app') +
    + + +
    , + document.getElementById('app') ); diff --git a/src/modules/Auth/AuthInit.js b/src/modules/Auth/AuthInit.js index 277e50c5d8a99d760b43f43db7405c00d928f37e..bd40e73475a95a1c734205cedbdb24351a91c30c 100644 --- a/src/modules/Auth/AuthInit.js +++ b/src/modules/Auth/AuthInit.js @@ -9,11 +9,11 @@ const styles = () => ({ }); class AuthInit extends PureComponent { - render() { - return ( -
    Verification
    - ) - } + render() { + return ( +
    Verification
    + ); + } } -export default withStyles(styles)(AuthInit); \ No newline at end of file +export default withStyles(styles)(AuthInit); diff --git a/src/modules/Auth/CompletionAuth.js b/src/modules/Auth/CompletionAuth.js index c75199f80b67c1a3963a6b755ac224a000970ad0..dad192de83f1d63c633729dfb6c1efa27028cc89 100644 --- a/src/modules/Auth/CompletionAuth.js +++ b/src/modules/Auth/CompletionAuth.js @@ -9,11 +9,11 @@ const styles = () => ({ }); class CompletionAuth extends PureComponent { - render() { - return ( -
    Verification
    - ) - } + render() { + return ( +
    Verification
    + ); + } } -export default withStyles(styles)(CompletionAuth) \ No newline at end of file +export default withStyles(styles)(CompletionAuth); diff --git a/src/modules/Auth/VerificationAuth.js b/src/modules/Auth/VerificationAuth.js index e75d6957879895d96d6e42bdd6ab2d4556e4ffd7..9c47f04537cc42fced349630151e79e5efe59449 100644 --- a/src/modules/Auth/VerificationAuth.js +++ b/src/modules/Auth/VerificationAuth.js @@ -4,75 +4,74 @@ import Grid from 'material-ui/Grid'; import { withStyles } from 'material-ui/styles'; import { blue } from 'material-ui/colors'; import TextField from 'material-ui/TextField'; - import Button from 'material-ui/Button'; +import Button from 'material-ui/Button'; const styles = theme => ({ - root: { - flexGrow: 1, - marginTop: 30 - }, - paper: { - padding: 16, - textAlign: 'center', - color: blue[500] - // color: theme.palette.text.secondary, - }, - textField: { - marginLeft: theme.spacing.unit, - marginRight: theme.spacing.unit, - width: 200 - }, - button: { - margin: theme.spacing.unit - } + root: { + flexGrow: 1, + marginTop: 30 + }, + paper: { + padding: 16, + textAlign: 'center', + color: blue[500] + // color: theme.palette.text.secondary, + }, + textField: { + marginLeft: theme.spacing.unit, + marginRight: theme.spacing.unit, + width: 200 + }, + button: { + margin: theme.spacing.unit + } }); export class VerificationAuth extends PureComponent { + constructor(props) { + super(props); + } - constructor(props) { - super(props); - } + render() { + const { classes } = this.props; - render() { - const { classes } = this.props; - - return ( -
    - - - + return ( +
    + + + Login Test Container - - - - - - - - - - - - -
    - ); - } + +
    + +
    + +
    + ); + } } -export default withStyles(styles)(VerificationAuth); \ No newline at end of file +export default withStyles(styles)(VerificationAuth); diff --git a/src/modules/Auth/index.js b/src/modules/Auth/index.js index b6ca32896a78a041d99a797e784658887e1733b2..791b84842fbd801d1b99cdab5dfa3eadfe85a6de 100644 --- a/src/modules/Auth/index.js +++ b/src/modules/Auth/index.js @@ -3,7 +3,7 @@ import AuthInit from './AuthInit'; import CompletionAuth from './CompletionAuth'; export { - VerificationAuth, - AuthInit, - CompletionAuth -} \ No newline at end of file + VerificationAuth, + AuthInit, + CompletionAuth +}; diff --git a/src/modules/Chats/Chats.js b/src/modules/Chats/Chats.js index 7c0176e910ab2c0777485c8fa78de27cb17c87f2..b505f0f262a57dba7e359e1559e0ae1618dc4bbc 100644 --- a/src/modules/Chats/Chats.js +++ b/src/modules/Chats/Chats.js @@ -1,13 +1,14 @@ import React, { PureComponent } from 'react'; import { ActivityList } from './../../containers'; -export default class Chats extends PureComponent { - render() { - return ( -
    - + +export default class Chats extends PureComponent { + render() { + return ( +
    + hdfghdfghd -
    - ); - } +
    + ); + } } diff --git a/src/modules/Dashboard/Dashboard.js b/src/modules/Dashboard/Dashboard.js index d1222062883da029c655154607962807823b15b7..4e6748782e5db34ab5c8cdc8fa4d15a0b7eefa65 100644 --- a/src/modules/Dashboard/Dashboard.js +++ b/src/modules/Dashboard/Dashboard.js @@ -1,55 +1,51 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { PaperWithDrop } from '../../componets'; -import {ChatListItem} from '../../componets'; -import { withStyles } from 'material-ui/styles' -import { List, Grid } from 'material-ui' ; -import {ChatModal} from "../../containers/ChatModal/ChatModal"; +import { ChatListItem } from '../../componets'; +import { withStyles } from 'material-ui/styles'; +import { List, Grid } from 'material-ui'; +import { ChatModal } from '../../containers/ChatModal/ChatModal'; const styles = { - item: { - marginRight: 8, - width: 'calc(33.33% - 16px)' - } -} + item: { + marginRight: 8, + width: 'calc(33.33% - 16px)' + } +}; export class Dashboard extends Component { - constructor(props) { - super(props); + constructor(props) { + super(props); - this.state ={ - openChat: false - } - } + this.state = { + openChat: false + }; + } static propTypes = { - classes: PropTypes.object.isRequired + classes: PropTypes.object.isRequired }; render() { - const mockUsers = [{name:'John Smith'},{name:'John Smith2'},{name:'John Smith3'},{name:'John Smith4'},{name:'John Smith5'}] - let sideList = []; - - mockUsers.map((item,index)=>( - sideList.push( - - {this.setState({openChat: !this.state.openChat})}}/> - - - )) - ); - - const { classes } = this.props; - const { openChat } = this.state; - return ( - - - - - this.setState({openChat: false})} /> - - - ); + const mockUsers = [{ name: 'John Smith' }, { name: 'John Smith2' }, { name: 'John Smith3' }, { name: 'John Smith4' }, { name: 'John Smith5' }]; + const sideList = []; + + mockUsers.map((item, index) => ( + sideList.push( + { this.setState({ openChat: !this.state.openChat }); }} /> + ))); + + const { classes } = this.props; + const { openChat } = this.state; + return ( + + + + + this.setState({ openChat: false })} /> + + + ); } } -export default withStyles(styles)(Dashboard); \ No newline at end of file +export default withStyles(styles)(Dashboard); diff --git a/src/modules/Home/Home.js b/src/modules/Home/Home.js index 5b5c98d1037a7eaafe558124f8aec5ea8b212927..3f35b5357c0264eab792628deba81baf7cfdf11d 100644 --- a/src/modules/Home/Home.js +++ b/src/modules/Home/Home.js @@ -1,10 +1,10 @@ import React, { PureComponent } from 'react'; -export default class Home extends PureComponent { - render() { - return ( -
    HomePage
    - ); - } +export default class Home extends PureComponent { + render() { + return ( +
    HomePage
    + ); + } } diff --git a/src/modules/index.js b/src/modules/index.js index 2e5a0197d92675f1fafbbee81f89c33693dfcee8..c09c9c957698e7ff88fcce574006bf7187d9f035 100644 --- a/src/modules/index.js +++ b/src/modules/index.js @@ -4,16 +4,16 @@ import Home from './Home/Home'; import Dashboard from './Dashboard/Dashboard'; import Chats from './Chats/Chats'; import { - AuthInit, - CompletionAuth, - VerificationAuth, -} from './Auth' + AuthInit, + CompletionAuth, + VerificationAuth +} from './Auth'; export { - Home, - AuthInit, - VerificationAuth, - CompletionAuth, - Dashboard, - Chats, -}; \ No newline at end of file + Home, + AuthInit, + VerificationAuth, + CompletionAuth, + Dashboard, + Chats +}; diff --git a/src/pages/App/App.js b/src/pages/App/App.js index ced4fa4f9264076af326f562f14dc9bab45f7865..951dfdd2c6e9ab2a0bfeb5dd840abc2e7fd85494 100644 --- a/src/pages/App/App.js +++ b/src/pages/App/App.js @@ -1,40 +1,38 @@ import React, { Component, PropTypes } from 'react'; import { MuiThemeProvider } from 'material-ui'; -import { createMuiTheme } from "material-ui/styles/index"; +import { createMuiTheme } from 'material-ui/styles/index'; export default class App extends Component { - constructor(props) { super(props); } static propTypes = { }; - componentWillMount(){ + componentWillMount() { } renderChildren(globalProps, childProps) { - return React.cloneElement(globalProps, childProps); + return React.cloneElement(globalProps, childProps); } render() { - const theme = createMuiTheme({ - palette: { - type:'dark', - primary: { - main: '#1b1c20' - }, - background:{ - paper: '#24262b' - } - }, - }); + const theme = createMuiTheme({ + palette: { + type: 'dark', + primary: { + main: '#1b1c20' + }, + background: { + paper: '#24262b' + } + } + }); return ( - - { this.renderChildren(this.props.children, {}) } - - ) + + { this.renderChildren(this.props.children, {}) } + + ); } } - diff --git a/src/pages/NinjaApp/NinjaApp.js b/src/pages/NinjaApp/NinjaApp.js index 78fec5b1017f2f39f7016c32df20b6672e6451a7..68672a77560bf24cd91d990fbc35aea79454e9a9 100644 --- a/src/pages/NinjaApp/NinjaApp.js +++ b/src/pages/NinjaApp/NinjaApp.js @@ -1,54 +1,53 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { connect, dispatch } from 'react-redux'; -import { MenuAppBar,ActionMenu } from '../../containers'; -import {Grid} from 'material-ui'; -import {withStyles} from 'material-ui/styles'; +import { MenuAppBar, ActionMenu } from '../../containers'; +import { Grid } from 'material-ui'; +import { withStyles } from 'material-ui/styles'; const styles = theme => ({ - wrapper: { - padding: '73px 0 0 107px', - minHeight: '100vh', - background: theme.palette.primary.main - }, + wrapper: { + padding: '73px 0 0 107px', + minHeight: '100vh', + background: theme.palette.primary.main + } -}) +}); export class Dashboard extends Component { - - constructor(props) { - super(props); - } + constructor(props) { + super(props); + } static propTypes = { - classes: PropTypes.object.isRequired + classes: PropTypes.object.isRequired }; - componentWillMount(){ + componentWillMount() { } renderChildren(globalProps, childProps) { - return React.cloneElement(globalProps, childProps); + return React.cloneElement(globalProps, childProps); } render() { - console.log(this.props) - const { classes } = this.props; + console.log(this.props); + const { classes } = this.props; - return ( -
    - - + return ( +
    + + - { this.renderChildren(this.props.children, {}) } + { this.renderChildren(this.props.children, {}) } -
    +
    - ) + ); } } -export default withStyles(styles)(Dashboard) +export default withStyles(styles)(Dashboard); diff --git a/src/pages/NotFound/NotFoundPage.js b/src/pages/NotFound/NotFoundPage.js index a805b3c8ff533242c5e06748c08896d4285e5257..5ba368f02f350741c2e1592292ba6ee6021ccf68 100644 --- a/src/pages/NotFound/NotFoundPage.js +++ b/src/pages/NotFound/NotFoundPage.js @@ -3,7 +3,7 @@ import React, { PureComponent } from 'react'; export default class NotFoundPage extends PureComponent { render() { return ( -
    404
    +
    404
    ); } } diff --git a/src/pages/Unauthorized/UnauthorizedPage.js b/src/pages/Unauthorized/UnauthorizedPage.js index 99feeb7ce961a82b1882ef93422d9964e4f17660..4daf6f912ab4f35032534866523164dd232ae327 100644 --- a/src/pages/Unauthorized/UnauthorizedPage.js +++ b/src/pages/Unauthorized/UnauthorizedPage.js @@ -11,15 +11,15 @@ export default class UnauthorizedPage extends Component { } renderChildren(globalProps, childProps) { - return React.cloneElement(globalProps, childProps); + return React.cloneElement(globalProps, childProps); } render() { console.log(this.props.children); return ( -
    - { this.renderChildren(this.props.children, {}) } -
    - ) +
    + { this.renderChildren(this.props.children, {}) } +
    + ); } } diff --git a/src/pages/index.js b/src/pages/index.js index f624d2e2cabe6009ea28521fc45c8da5c46a47e1..621042484a198566a9ec35fe513cb09dad611be9 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -4,8 +4,8 @@ import UnauthorizedPage from './Unauthorized/UnauthorizedPage'; import NinjaApp from './NinjaApp/NinjaApp'; export { - App, - NotFoundPage, - UnauthorizedPage, - NinjaApp -}; \ No newline at end of file + App, + NotFoundPage, + UnauthorizedPage, + NinjaApp +}; diff --git a/src/root.js b/src/root.js index ecc34e77fe25de0ad1cf7b6638980506357eab2c..6804cd209119961e79b86d61cce7f4b75c6e6d13 100644 --- a/src/root.js +++ b/src/root.js @@ -1,28 +1,28 @@ import React, { Component } from 'react'; import Reboot from 'material-ui/Reboot'; import { Provider } from 'react-redux'; -//import LoadingBar from 'react-redux-loading-bar' +// import LoadingBar from 'react-redux-loading-bar' import { createHistory } from 'history'; import { supplierActions } from './core/resource/supplier'; import { Router } from 'react-router'; import routes from './routes'; class Root extends Component { - componentDidMount() { - let t = new Date(); - this.props.store.dispatch(supplierActions.connecting(t)) - } - render() { - const { store } = this.props; - const history = createHistory(); - return ( - - - { routes() } - - - ) - } + componentDidMount() { + const t = new Date(); + this.props.store.dispatch(supplierActions.connecting(t)); + } + render() { + const { store } = this.props; + const history = createHistory(); + return ( + + + { routes() } + + + ); + } } -export default Root; \ No newline at end of file +export default Root; diff --git a/src/routes.js b/src/routes.js index 5112accaec8a5fea0833e8ff8d78c4421ae5755d..f48fd6e13e439f826c9564d5e082dca2aabfe083 100644 --- a/src/routes.js +++ b/src/routes.js @@ -2,32 +2,32 @@ import React from 'react'; import { IndexRoute, Route } from 'react-router'; import { App, NotFoundPage, UnauthorizedPage, NinjaApp } from './pages'; import { - Home, - AuthInit, - VerificationAuth as VerifyAuth, - CompletionAuth as CompleteAuth, - Dashboard, - Chats + Home, + AuthInit, + VerificationAuth as VerifyAuth, + CompletionAuth as CompleteAuth, + Dashboard, + Chats } from './modules'; -export default () => { - /** +export default () => +/** * Please keep routes in alphabetical order */ - return ( - - - - - - - + ( + + + + + + + - - - + + + + + + + ); - - - ); -}; \ No newline at end of file diff --git a/src/vendors.js b/src/vendors.js index 1c3d02e13b188860b540cb81fb9252a0ac3f96d4..04089c020dca15f07bb18d661a662d420f029d03 100644 --- a/src/vendors.js +++ b/src/vendors.js @@ -6,4 +6,4 @@ module.exports = [ 'redux-saga', 'react-select', 'redux' -]; \ No newline at end of file +];