From 93cde9922caf553eae3656c77e55b0906776c0ca Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Sat, 23 Jun 2018 09:48:55 +0200 Subject: [PATCH 1/6] Auto-conversion --- .babelrc.js | 1 + package.json | 7 +- packages/api-format/package.json | 8 +- packages/api-format/src/{echo.js => echo.ts} | 3 +- .../api-format/src/{format.js => format.ts} | 10 +- .../api-format/src/{index.js => index.ts} | 1 - .../api-format/src/{input.js => input.ts} | 4 +- .../api-format/src/{output.js => output.ts} | 5 +- .../api-format/src/{types.js => types.d.ts} | 4 +- packages/api-provider/package.json | 8 +- .../{decodeResponse.js => decodeResponse.ts} | 7 +- .../json/{encodeJson.js => encodeJson.ts} | 5 +- .../json/{encodeObject.js => encodeObject.ts} | 7 +- .../src/coder/json/{index.js => index.ts} | 11 +- .../src/coder/json/{types.js => types.d.ts} | 9 +- .../src/http/{index.js => index.ts} | 7 +- .../api-provider/src/http/{on.js => on.ts} | 5 +- .../src/http/{polyfill.js => polyfill.ts} | 1 - .../src/http/{send.js => send.ts} | 5 +- .../src/http/{state.js => state.ts} | 3 +- .../src/http/{subscribe.js => subscribe.ts} | 7 +- .../src/http/{types.js => types.d.ts} | 5 +- .../http/{unsubscribe.js => unsubscribe.ts} | 3 +- .../api-provider/src/{index.js => index.ts} | 1 - .../src/mock/{index.js => index.ts} | 7 +- .../src/mock/{mocks.js => mocks.ts} | 10 +- .../api-provider/src/mock/{on.js => on.ts} | 5 +- .../src/mock/{send.js => send.ts} | 5 +- .../src/mock/{state.js => state.ts} | 6 +- .../src/mock/{subscribe.js => subscribe.ts} | 6 +- .../src/mock/{types.js => types.d.ts} | 11 +- .../mock/{unsubscribe.js => unsubscribe.ts} | 3 +- .../api-provider/src/{types.js => types.d.ts} | 14 +- .../src/ws/{connect.js => connect.ts} | 3 +- .../src/ws/{index.js => index.ts} | 7 +- packages/api-provider/src/ws/{on.js => on.ts} | 5 +- .../src/ws/{onClose.js => onClose.ts} | 3 +- .../src/ws/{onError.js => onError.ts} | 3 +- .../src/ws/{onMessage.js => onMessage.ts} | 6 +- ...{onMessageResult.js => onMessageResult.ts} | 6 +- ...sageSubscribe.js => onMessageSubscribe.ts} | 5 +- .../src/ws/{onOpen.js => onOpen.ts} | 5 +- .../src/ws/{polyfill.js => polyfill.ts} | 1 - .../api-provider/src/ws/{send.js => send.ts} | 9 +- .../src/ws/{state.js => state.ts} | 3 +- .../src/ws/{subscribe.js => subscribe.ts} | 8 +- .../src/ws/{types.js => types.d.ts} | 9 +- .../src/ws/{unsubscribe.js => unsubscribe.ts} | 4 +- .../test/{e2e.test.js => e2e.test.ts} | 0 .../test/{mockHttp.js => mockHttp.ts} | 0 .../test/{mockWs.js => mockWs.ts} | 0 .../src/api/{connected.js => connected.ts} | 3 +- .../api-rx/src/api/{index.js => index.ts} | 5 +- .../api-rx/src/{defaults.js => defaults.ts} | 1 - packages/api-rx/src/{index.js => index.ts} | 5 +- .../api-rx/src/{interface.js => interface.ts} | 7 +- .../src/observable/{cached.js => cached.ts} | 10 +- .../src/observable/{index.js => index.ts} | 9 +- .../src/observable/{subject.js => subject.ts} | 10 +- packages/api-rx/src/{types.js => types.d.ts} | 6 +- packages/api/package.json | 6 +- .../src/create/{interface.js => interface.ts} | 7 +- .../create/{methodSend.js => methodSend.ts} | 10 +- ...{methodSubscribe.js => methodSubscribe.ts} | 15 +- .../api/src/create/{params.js => params.ts} | 5 +- packages/api/src/{index.js => index.ts} | 5 +- packages/api/src/{types.js => types.d.ts} | 7 +- tsconfig.json | 16 + yarn.lock | 1736 +++++++++-------- 69 files changed, 1076 insertions(+), 1058 deletions(-) create mode 100644 .babelrc.js rename packages/api-format/src/{echo.js => echo.ts} (76%) rename packages/api-format/src/{format.js => format.ts} (83%) rename packages/api-format/src/{index.js => index.ts} (97%) rename packages/api-format/src/{input.js => input.ts} (88%) rename packages/api-format/src/{output.js => output.ts} (91%) rename packages/api-format/src/{types.js => types.d.ts} (64%) rename packages/api-provider/src/coder/json/{decodeResponse.js => decodeResponse.ts} (87%) rename packages/api-provider/src/coder/json/{encodeJson.js => encodeJson.ts} (79%) rename packages/api-provider/src/coder/json/{encodeObject.js => encodeObject.ts} (68%) rename packages/api-provider/src/coder/json/{index.js => index.ts} (64%) rename packages/api-provider/src/coder/json/{types.js => types.d.ts} (51%) rename packages/api-provider/src/http/{index.js => index.ts} (73%) rename packages/api-provider/src/http/{on.js => on.ts} (74%) rename packages/api-provider/src/http/{polyfill.js => polyfill.ts} (96%) rename packages/api-provider/src/http/{send.js => send.ts} (86%) rename packages/api-provider/src/http/{state.js => state.ts} (91%) rename packages/api-provider/src/http/{subscribe.js => subscribe.ts} (62%) rename packages/api-provider/src/http/{types.js => types.d.ts} (70%) rename packages/api-provider/src/http/{unsubscribe.js => unsubscribe.ts} (87%) rename packages/api-provider/src/{index.js => index.ts} (96%) rename packages/api-provider/src/mock/{index.js => index.ts} (76%) rename packages/api-provider/src/mock/{mocks.js => mocks.ts} (89%) rename packages/api-provider/src/mock/{on.js => on.ts} (71%) rename packages/api-provider/src/mock/{send.js => send.ts} (77%) rename packages/api-provider/src/mock/{state.js => state.ts} (91%) rename packages/api-provider/src/mock/{subscribe.js => subscribe.ts} (79%) rename packages/api-provider/src/mock/{types.js => types.d.ts} (76%) rename packages/api-provider/src/mock/{unsubscribe.js => unsubscribe.ts} (91%) rename packages/api-provider/src/{types.js => types.d.ts} (80%) rename packages/api-provider/src/ws/{connect.js => connect.ts} (92%) rename packages/api-provider/src/ws/{index.js => index.ts} (76%) rename packages/api-provider/src/ws/{on.js => on.ts} (71%) rename packages/api-provider/src/ws/{onClose.js => onClose.ts} (92%) rename packages/api-provider/src/ws/{onError.js => onError.ts} (87%) rename packages/api-provider/src/ws/{onMessage.js => onMessage.ts} (84%) rename packages/api-provider/src/ws/{onMessageResult.js => onMessageResult.ts} (86%) rename packages/api-provider/src/ws/{onMessageSubscribe.js => onMessageSubscribe.ts} (88%) rename packages/api-provider/src/ws/{onOpen.js => onOpen.ts} (82%) rename packages/api-provider/src/ws/{polyfill.js => polyfill.ts} (96%) rename packages/api-provider/src/ws/{send.js => send.ts} (76%) rename packages/api-provider/src/ws/{state.js => state.ts} (94%) rename packages/api-provider/src/ws/{subscribe.js => subscribe.ts} (61%) rename packages/api-provider/src/ws/{types.js => types.d.ts} (75%) rename packages/api-provider/src/ws/{unsubscribe.js => unsubscribe.ts} (87%) rename packages/api-provider/test/{e2e.test.js => e2e.test.ts} (100%) rename packages/api-provider/test/{mockHttp.js => mockHttp.ts} (100%) rename packages/api-provider/test/{mockWs.js => mockWs.ts} (100%) rename packages/api-rx/src/api/{connected.js => connected.ts} (87%) rename packages/api-rx/src/api/{index.js => index.ts} (78%) rename packages/api-rx/src/{defaults.js => defaults.ts} (96%) rename packages/api-rx/src/{index.js => index.ts} (86%) rename packages/api-rx/src/{interface.js => interface.ts} (77%) rename packages/api-rx/src/observable/{cached.js => cached.ts} (67%) rename packages/api-rx/src/observable/{index.js => index.ts} (63%) rename packages/api-rx/src/observable/{subject.js => subject.ts} (72%) rename packages/api-rx/src/{types.js => types.d.ts} (63%) rename packages/api/src/create/{interface.js => interface.ts} (81%) rename packages/api/src/create/{methodSend.js => methodSend.ts} (75%) rename packages/api/src/create/{methodSubscribe.js => methodSubscribe.ts} (71%) rename packages/api/src/create/{params.js => params.ts} (88%) rename packages/api/src/{index.js => index.ts} (85%) rename packages/api/src/{types.js => types.d.ts} (69%) create mode 100644 tsconfig.json diff --git a/.babelrc.js b/.babelrc.js new file mode 100644 index 000000000000..5188ea0422b3 --- /dev/null +++ b/.babelrc.js @@ -0,0 +1 @@ +module.exports = require('./babel.config.js'); diff --git a/package.json b/package.json index dd646aa680b9..8aab59ed3090 100644 --- a/package.json +++ b/package.json @@ -9,13 +9,14 @@ "packages/*" ], "scripts": { - "build": "polkadot-dev-build-babel", - "check": "eslint packages && flow check", + "build": "polkadot-dev-build-ts", + "check": "tsc --noEmit", "clean": "polkadot-dev-clean-build", "postinstall": "polkadot-dev-yarn-only", "test": "jest --coverage" }, "devDependencies": { - "@polkadot/dev": "^0.19.25" + "@polkadot/dev": "^0.20.2", + "@polkadot/ts": "^0.0.18" } } diff --git a/packages/api-format/package.json b/packages/api-format/package.json index 232b790308f8..545594e8cf05 100644 --- a/packages/api-format/package.json +++ b/packages/api-format/package.json @@ -35,9 +35,9 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.47", - "@polkadot/jsonrpc": "^0.17.24", - "@polkadot/primitives-json": "^0.17.24", - "@polkadot/util": "^0.22.9", - "@polkadot/util-keyring": "^0.22.9" + "@polkadot/jsonrpc": "^0.19.1", + "@polkadot/primitives-json": "^0.19.1", + "@polkadot/util": "^0.24.1", + "@polkadot/util-keyring": "^0.24.1" } } diff --git a/packages/api-format/src/echo.js b/packages/api-format/src/echo.ts similarity index 76% rename from packages/api-format/src/echo.js rename to packages/api-format/src/echo.ts index 287348f2afbc..5fc206cb14c5 100644 --- a/packages/api-format/src/echo.js +++ b/packages/api-format/src/echo.ts @@ -1,8 +1,7 @@ // Copyright 2017-2018 @polkadot/api-format authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -module.exports = function echo (value: mixed): mixed { +module.exports = function echo (value: any): any { return value; }; diff --git a/packages/api-format/src/format.js b/packages/api-format/src/format.ts similarity index 83% rename from packages/api-format/src/format.js rename to packages/api-format/src/format.ts index 3baca78867e4..ded66c3bb75f 100644 --- a/packages/api-format/src/format.js +++ b/packages/api-format/src/format.ts @@ -1,10 +1,9 @@ // Copyright 2017-2018 @polkadot/api-format authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { Param$Types, Param$Type$Array } from '@polkadot/params/types'; -import type { FormatterFunction } from './types'; +import { Param$Types, Param$Type$Array } from '@polkadot/params/types'; +import { FormatterFunction } from './types'; type FormattersFunctionMap = $Shape<{ [Param$Types]: FormatterFunction @@ -16,7 +15,6 @@ const l = require('@polkadot/util/logger')('api-format'); const echo = require('./echo'); -// flowlint-next-line unclear-type:off function formatSingleType (formatters: FormattersFunctionMap, type: Param$Types, value: any): any { const formatter: FormatterFunction = formatters[type]; @@ -33,16 +31,14 @@ function formatSingleType (formatters: FormattersFunctionMap, type: Param$Types, } } -// flowlint-next-line unclear-type:off function formatArrayType (formatters: FormattersFunctionMap, [ type ]: Param$Type$Array, value: Array): any { return value.map((value) => { return formatSingleType(formatters, type, value); }); } -// flowlint-next-line unclear-type:off module.exports = function format (formatters: FormattersFunctionMap, types: Array, values: Array): Array { - return values.map((value, index): mixed => { + return values.map((value, index): any => { const type = types[index]; if (Array.isArray(type)) { diff --git a/packages/api-format/src/index.js b/packages/api-format/src/index.ts similarity index 97% rename from packages/api-format/src/index.js rename to packages/api-format/src/index.ts index 62f1c1f7dba5..3e82e922f91f 100644 --- a/packages/api-format/src/index.js +++ b/packages/api-format/src/index.ts @@ -1,7 +1,6 @@ // Copyright 2017-2018 @polkadot/api-format authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow const formatInputs = require('./input'); const formatOutput = require('./output'); diff --git a/packages/api-format/src/input.js b/packages/api-format/src/input.ts similarity index 88% rename from packages/api-format/src/input.js rename to packages/api-format/src/input.ts index 83c872537984..3a5586d20fa7 100644 --- a/packages/api-format/src/input.js +++ b/packages/api-format/src/input.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-format authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { Params } from '@polkadot/params/types'; +import { Params } from '@polkadot/params/types'; const addressDecode = require('@polkadot/util-keyring/address/decode'); const bytesEncode = require('@polkadot/primitives-json/bytes/encode'); @@ -18,7 +17,6 @@ const formatters = { 'Hash': hashEncode }; -// flowlint-next-line unclear-type:off module.exports = function formatInputs (params: Params, values: Array): Array { const types = params.map(({ type }) => type); diff --git a/packages/api-format/src/output.js b/packages/api-format/src/output.ts similarity index 91% rename from packages/api-format/src/output.js rename to packages/api-format/src/output.ts index 4fad5fe1006c..0a9b072df5c1 100644 --- a/packages/api-format/src/output.js +++ b/packages/api-format/src/output.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-format authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { Param$Types } from '@polkadot/params/types'; +import { Param$Types } from '@polkadot/params/types'; const addressEncode = require('@polkadot/util-keyring/address/encode'); const bnDecode = require('@polkadot/primitives-json/bn/decode'); @@ -23,7 +22,7 @@ const formatters = { 'u64': bnDecode }; -module.exports = function formatOutput (type: Param$Types, value?: mixed): ?mixed { +module.exports = function formatOutput (type: Param$Types, value?: any): ?any { if (isUndefined(value) || isNull(value)) { return value; } diff --git a/packages/api-format/src/types.js b/packages/api-format/src/types.d.ts similarity index 64% rename from packages/api-format/src/types.js rename to packages/api-format/src/types.d.ts index 1dbf37d33ad7..2a7eb90ec998 100644 --- a/packages/api-format/src/types.js +++ b/packages/api-format/src/types.d.ts @@ -1,7 +1,5 @@ // Copyright 2017-2018 @polkadot/api-format authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -// flowlint-next-line unclear-type:off -export type FormatterFunction = (value: any) => mixed; +export type FormatterFunction = (value: any) => any; diff --git a/packages/api-provider/package.json b/packages/api-provider/package.json index 88ad716c805c..c40b8ad9e3ff 100644 --- a/packages/api-provider/package.json +++ b/packages/api-provider/package.json @@ -39,10 +39,10 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.47", - "@polkadot/storage": "^0.17.24", - "@polkadot/util": "^0.22.9", - "@polkadot/util-crypto": "^0.22.9", - "@polkadot/util-keyring": "^0.22.9", + "@polkadot/storage": "^0.19.1", + "@polkadot/util": "^0.24.1", + "@polkadot/util-crypto": "^0.24.1", + "@polkadot/util-keyring": "^0.24.1", "eventemitter3": "^2.0.3", "isomorphic-fetch": "^2.2.1", "websocket": "^1.0.25" diff --git a/packages/api-provider/src/coder/json/decodeResponse.js b/packages/api-provider/src/coder/json/decodeResponse.ts similarity index 87% rename from packages/api-provider/src/coder/json/decodeResponse.js rename to packages/api-provider/src/coder/json/decodeResponse.ts index 42ec4bb43725..7982de17b161 100644 --- a/packages/api-provider/src/coder/json/decodeResponse.js +++ b/packages/api-provider/src/coder/json/decodeResponse.ts @@ -1,10 +1,9 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { JsonRpcResponse, JsonRpcResponseBase$Error } from '../../types'; -import type { RpcCoderState } from './types'; +import { JsonRpcResponse, JsonRpcResponseBase$Error } from '../../types'; +import { RpcCoderState } from './types'; const assert = require('@polkadot/util/assert'); const isNumber = require('@polkadot/util/is/number'); @@ -20,7 +19,7 @@ function checkError (error?: JsonRpcResponseBase$Error) { throw new Error(`[${code}]: ${message}`); } -module.exports = function decodeResponse (self: RpcCoderState, response: JsonRpcResponse): mixed { +module.exports = function decodeResponse (self: RpcCoderState, response: JsonRpcResponse): any { assert(response, 'Empty response object received'); assert(response.jsonrpc === '2.0', 'Invalid jsonrpc field in decoded object'); diff --git a/packages/api-provider/src/coder/json/encodeJson.js b/packages/api-provider/src/coder/json/encodeJson.ts similarity index 79% rename from packages/api-provider/src/coder/json/encodeJson.js rename to packages/api-provider/src/coder/json/encodeJson.ts index 293bea553729..d2dba887c3c5 100644 --- a/packages/api-provider/src/coder/json/encodeJson.js +++ b/packages/api-provider/src/coder/json/encodeJson.ts @@ -1,13 +1,12 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { RpcCoderState } from './types'; +import { RpcCoderState } from './types'; const encodeObject = require('./encodeObject'); -module.exports = function encodeJson (self: RpcCoderState, method: string, params: Array): string { +module.exports = function encodeJson (self: RpcCoderState, method: string, params: Array): string { return JSON.stringify( encodeObject(self, method, params) ); diff --git a/packages/api-provider/src/coder/json/encodeObject.js b/packages/api-provider/src/coder/json/encodeObject.ts similarity index 68% rename from packages/api-provider/src/coder/json/encodeObject.js rename to packages/api-provider/src/coder/json/encodeObject.ts index b6bd3bf6f11d..10c46880fd64 100644 --- a/packages/api-provider/src/coder/json/encodeObject.js +++ b/packages/api-provider/src/coder/json/encodeObject.ts @@ -1,12 +1,11 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { JsonRpcRequest } from '../../types'; -import type { RpcCoderState } from './types'; +import { JsonRpcRequest } from '../../types'; +import { RpcCoderState } from './types'; -module.exports = function encodeObject (self: RpcCoderState, method: string, params: Array): JsonRpcRequest { +module.exports = function encodeObject (self: RpcCoderState, method: string, params: Array): JsonRpcRequest { return { id: ++self.id, jsonrpc: '2.0', diff --git a/packages/api-provider/src/coder/json/index.js b/packages/api-provider/src/coder/json/index.ts similarity index 64% rename from packages/api-provider/src/coder/json/index.js rename to packages/api-provider/src/coder/json/index.ts index ae1d97cb7937..fd16873c20f8 100644 --- a/packages/api-provider/src/coder/json/index.js +++ b/packages/api-provider/src/coder/json/index.ts @@ -1,10 +1,9 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { JsonRpcRequest, JsonRpcResponse } from '../../types'; -import type { RpcCoder, RpcCoderState } from './types'; +import { JsonRpcRequest, JsonRpcResponse } from '../../types'; +import { RpcCoder, RpcCoderState } from './types'; const decodeResponse = require('./decodeResponse'); const encodeJson = require('./encodeJson'); @@ -16,11 +15,11 @@ module.exports = function rpcCoder (): RpcCoder { }; return { - decodeResponse: (response: JsonRpcResponse): mixed => + decodeResponse: (response: JsonRpcResponse): any => decodeResponse(self, response), - encodeJson: (method: string, params: Array): string => + encodeJson: (method: string, params: Array): string => encodeJson(self, method, params), - encodeObject: (method: string, params: Array): JsonRpcRequest => + encodeObject: (method: string, params: Array): JsonRpcRequest => encodeObject(self, method, params), getId: (): number => self.id diff --git a/packages/api-provider/src/coder/json/types.js b/packages/api-provider/src/coder/json/types.d.ts similarity index 51% rename from packages/api-provider/src/coder/json/types.js rename to packages/api-provider/src/coder/json/types.d.ts index 5ebf3a571a1c..9459a736b581 100644 --- a/packages/api-provider/src/coder/json/types.js +++ b/packages/api-provider/src/coder/json/types.d.ts @@ -1,14 +1,13 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { JsonRpcRequest, JsonRpcResponse } from '../../types'; +import { JsonRpcRequest, JsonRpcResponse } from '../../types'; export type RpcCoder = { - decodeResponse: (response: JsonRpcResponse) => mixed, - encodeObject: (method: string, params: Array) => JsonRpcRequest, - encodeJson: (method: string, params: Array) => string, + decodeResponse: (response: JsonRpcResponse) => any, + encodeObject: (method: string, params: Array) => JsonRpcRequest, + encodeJson: (method: string, params: Array) => string, getId: () => number }; diff --git a/packages/api-provider/src/http/index.js b/packages/api-provider/src/http/index.ts similarity index 73% rename from packages/api-provider/src/http/index.js rename to packages/api-provider/src/http/index.ts index d0b3a32e8c0f..4350ca8405fb 100644 --- a/packages/api-provider/src/http/index.js +++ b/packages/api-provider/src/http/index.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ProviderInterface, ProviderInterface$Callback, ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; +import { ProviderInterface, ProviderInterface$Callback, ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; require('./polyfill'); @@ -21,9 +20,9 @@ module.exports = function httpProvider (endpoint: string): ProviderInterface { true, on: (type: ProviderInterface$Emitted, sub: ProviderInterface$EmitCb): void => on(self, type, sub), - send: (method: string, params: Array): Promise => + send: (method: string, params: Array): Promise => send(self, method, params), - subscribe: (method: string, params: Array, cb: ProviderInterface$Callback): Promise => + subscribe: (method: string, params: Array, cb: ProviderInterface$Callback): Promise => subscribe(self, method, params, cb), unsubscribe: (method: string, id: number): Promise => unsubscribe(self, method, id) diff --git a/packages/api-provider/src/http/on.js b/packages/api-provider/src/http/on.ts similarity index 74% rename from packages/api-provider/src/http/on.js rename to packages/api-provider/src/http/on.ts index 52b426056c63..f1573b2026f5 100644 --- a/packages/api-provider/src/http/on.js +++ b/packages/api-provider/src/http/on.ts @@ -1,10 +1,9 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; -import type { HttpState } from './types'; +import { ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; +import { HttpState } from './types'; module.exports = function on (self: HttpState, type: ProviderInterface$Emitted, sub: ProviderInterface$EmitCb): void { self.l.error(`Provider does not have 'on' emitters for type '${type}'`); diff --git a/packages/api-provider/src/http/polyfill.js b/packages/api-provider/src/http/polyfill.ts similarity index 96% rename from packages/api-provider/src/http/polyfill.js rename to packages/api-provider/src/http/polyfill.ts index bf1bbac60f5e..d5c449ab1dde 100644 --- a/packages/api-provider/src/http/polyfill.js +++ b/packages/api-provider/src/http/polyfill.ts @@ -1,7 +1,6 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow if (typeof fetch === 'undefined') { require('isomorphic-fetch'); diff --git a/packages/api-provider/src/http/send.js b/packages/api-provider/src/http/send.ts similarity index 86% rename from packages/api-provider/src/http/send.js rename to packages/api-provider/src/http/send.ts index d16541d237cf..8c0a319a822a 100644 --- a/packages/api-provider/src/http/send.js +++ b/packages/api-provider/src/http/send.ts @@ -1,13 +1,12 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { HttpState } from './types'; +import { HttpState } from './types'; const assert = require('@polkadot/util/assert'); -module.exports = async function send ({ coder, endpoint }: HttpState, method: string, params: Array): Promise { +module.exports = async function send ({ coder, endpoint }: HttpState, method: string, params: Array): Promise { const body = coder.encodeJson(method, params); const response = await fetch(endpoint, { body, diff --git a/packages/api-provider/src/http/state.js b/packages/api-provider/src/http/state.ts similarity index 91% rename from packages/api-provider/src/http/state.js rename to packages/api-provider/src/http/state.ts index 62786a504625..c7b8fe169def 100644 --- a/packages/api-provider/src/http/state.js +++ b/packages/api-provider/src/http/state.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { HttpState } from './types'; +import { HttpState } from './types'; const assert = require('@polkadot/util/assert'); const l = require('@polkadot/util/logger')('api-http'); diff --git a/packages/api-provider/src/http/subscribe.js b/packages/api-provider/src/http/subscribe.ts similarity index 62% rename from packages/api-provider/src/http/subscribe.js rename to packages/api-provider/src/http/subscribe.ts index bd0be0289583..144321bab724 100644 --- a/packages/api-provider/src/http/subscribe.js +++ b/packages/api-provider/src/http/subscribe.ts @@ -1,11 +1,10 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ProviderInterface$Callback } from '../types'; -import type { HttpState } from './types'; +import { ProviderInterface$Callback } from '../types'; +import { HttpState } from './types'; -module.exports = async function subscribe (self: HttpState, method: string, params: Array, cb: ProviderInterface$Callback): Promise { +module.exports = async function subscribe (self: HttpState, method: string, params: Array, cb: ProviderInterface$Callback): Promise { throw new Error('Subscriptions has not been implemented'); }; diff --git a/packages/api-provider/src/http/types.js b/packages/api-provider/src/http/types.d.ts similarity index 70% rename from packages/api-provider/src/http/types.js rename to packages/api-provider/src/http/types.d.ts index f96f6965883f..150ddff683f6 100644 --- a/packages/api-provider/src/http/types.js +++ b/packages/api-provider/src/http/types.d.ts @@ -1,10 +1,9 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { Logger } from '@polkadot/util/types'; -import type { RpcCoder } from '../coder/json/types'; +import { Logger } from '@polkadot/util/types'; +import { RpcCoder } from '../coder/json/types'; export type HttpState = { coder: RpcCoder, diff --git a/packages/api-provider/src/http/unsubscribe.js b/packages/api-provider/src/http/unsubscribe.ts similarity index 87% rename from packages/api-provider/src/http/unsubscribe.js rename to packages/api-provider/src/http/unsubscribe.ts index 1e1dd9cdb221..d8d03e5f1119 100644 --- a/packages/api-provider/src/http/unsubscribe.js +++ b/packages/api-provider/src/http/unsubscribe.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { HttpState } from './types'; +import { HttpState } from './types'; module.exports = async function unsubscribe (self: HttpState, method: string, id: number): Promise { throw new Error('Subscriptions has not been implemented'); diff --git a/packages/api-provider/src/index.js b/packages/api-provider/src/index.ts similarity index 96% rename from packages/api-provider/src/index.js rename to packages/api-provider/src/index.ts index b07c798a6b7c..ac4db3624e09 100644 --- a/packages/api-provider/src/index.js +++ b/packages/api-provider/src/index.ts @@ -1,7 +1,6 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow const http = require('./http'); const ws = require('./ws'); diff --git a/packages/api-provider/src/mock/index.js b/packages/api-provider/src/mock/index.ts similarity index 76% rename from packages/api-provider/src/mock/index.js rename to packages/api-provider/src/mock/index.ts index 994fb7c4d1a1..990ac3ff3a46 100644 --- a/packages/api-provider/src/mock/index.js +++ b/packages/api-provider/src/mock/index.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ProviderInterface, ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; +import { ProviderInterface, ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; const mocks = require('./mocks'); const on = require('./on'); @@ -22,9 +21,9 @@ module.exports = function mockProvider (): ProviderInterface { true, on: (type: ProviderInterface$Emitted, sub: ProviderInterface$EmitCb): void => on(self, type, sub), - send: (method: string, params: Array): Promise => + send: (method: string, params: Array): Promise => send(self, method, params), - subscribe: (method: string, ...params: Array): Promise => + subscribe: (method: string, ...params: Array): Promise => subscribe(self, method, params), unsubscribe: (method: string, id: number): Promise => unsubscribe(self, method, id) diff --git a/packages/api-provider/src/mock/mocks.js b/packages/api-provider/src/mock/mocks.ts similarity index 89% rename from packages/api-provider/src/mock/mocks.js rename to packages/api-provider/src/mock/mocks.ts index 3cfcc7f20e8c..98c5731d982f 100644 --- a/packages/api-provider/src/mock/mocks.js +++ b/packages/api-provider/src/mock/mocks.ts @@ -1,14 +1,13 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow // FIME: This file is way too long and way too messy -import type { Storage$Key } from '@polkadot/storage/types'; -import type { KeyringPair } from '@polkadot/util-keyring/types'; -import type { ProviderInterface$Emitted } from '../types'; -import type { MockState, MockState$Subscription$Callback } from './types'; +import { Storage$Key } from '@polkadot/storage/types'; +import { KeyringPair } from '@polkadot/util-keyring/types'; +import { ProviderInterface$Emitted } from '../types'; +import { MockState, MockState$Subscription$Callback } from './types'; const BN = require('bn.js'); const headerEncode = require('@polkadot/primitives-json/header/encode'); @@ -47,7 +46,6 @@ function updateSubs (subscriptions, method, value) { .values(subscriptions[method].callbacks) .forEach((cb) => { try { - // flowlint-next-line unclear-type:off ((cb: any): MockState$Subscription$Callback)(null, value); } catch (error) { console.error(`Error on '${method}' subscription`, error); diff --git a/packages/api-provider/src/mock/on.js b/packages/api-provider/src/mock/on.ts similarity index 71% rename from packages/api-provider/src/mock/on.js rename to packages/api-provider/src/mock/on.ts index 626965428da9..a03b94d0c030 100644 --- a/packages/api-provider/src/mock/on.js +++ b/packages/api-provider/src/mock/on.ts @@ -1,10 +1,9 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; -import type { MockState } from './types'; +import { ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; +import { MockState } from './types'; module.exports = function on (self: MockState, type: ProviderInterface$Emitted, sub: ProviderInterface$EmitCb): void { self.emitter.on(type, sub); diff --git a/packages/api-provider/src/mock/send.js b/packages/api-provider/src/mock/send.ts similarity index 77% rename from packages/api-provider/src/mock/send.js rename to packages/api-provider/src/mock/send.ts index f707ee24c495..273941fa832e 100644 --- a/packages/api-provider/src/mock/send.js +++ b/packages/api-provider/src/mock/send.ts @@ -1,11 +1,10 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { MockState } from './types'; +import { MockState } from './types'; -module.exports = async function send ({ requests, storage }: MockState, method: string, params: Array): Promise { +module.exports = async function send ({ requests, storage }: MockState, method: string, params: Array): Promise { if (!requests[method]) { throw new Error(`provider.send: Invalid method '${method}'`); } diff --git a/packages/api-provider/src/mock/state.js b/packages/api-provider/src/mock/state.ts similarity index 91% rename from packages/api-provider/src/mock/state.js rename to packages/api-provider/src/mock/state.ts index 6f41172c3497..3ebbabd9900b 100644 --- a/packages/api-provider/src/mock/state.js +++ b/packages/api-provider/src/mock/state.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { MockState, MockState$Storage } from './types'; +import { MockState, MockState$Storage } from './types'; const EventEmitter = require('eventemitter3'); const interfaces = require('@polkadot/jsonrpc'); @@ -20,9 +19,8 @@ const SUBSCRIPTIONS = Array.prototype.concat.apply( ); const REQUESTS = { - 'state_getStorage': (storage: MockState$Storage, params: Array): string => { + 'state_getStorage': (storage: MockState$Storage, params: Array): string => { return u8aToHex( - // flowlint-next-line unclear-type:off storage[((params[0]: any): string)] ); }, diff --git a/packages/api-provider/src/mock/subscribe.js b/packages/api-provider/src/mock/subscribe.ts similarity index 79% rename from packages/api-provider/src/mock/subscribe.js rename to packages/api-provider/src/mock/subscribe.ts index badd2db3e4ed..f3839b96372a 100644 --- a/packages/api-provider/src/mock/subscribe.js +++ b/packages/api-provider/src/mock/subscribe.ts @@ -1,15 +1,13 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { MockState, MockState$Subscription$Callback } from './types'; +import { MockState, MockState$Subscription$Callback } from './types'; -module.exports = async function subscribe (self: MockState, method: string, params: Array): Promise { +module.exports = async function subscribe (self: MockState, method: string, params: Array): Promise { self.l.debug(() => ['subscribe', method, params]); if (self.subscriptions[method]) { - // flowlint-next-line unclear-type:off const callback = ((params.pop(): any): MockState$Subscription$Callback); const id = ++self.subscriptionId; diff --git a/packages/api-provider/src/mock/types.js b/packages/api-provider/src/mock/types.d.ts similarity index 76% rename from packages/api-provider/src/mock/types.js rename to packages/api-provider/src/mock/types.d.ts index 9f840c38df33..89c802a92081 100644 --- a/packages/api-provider/src/mock/types.js +++ b/packages/api-provider/src/mock/types.d.ts @@ -1,19 +1,18 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type EventEmitter from 'eventemitter3'; -import type { Logger } from '@polkadot/util/types'; +import EventEmitter from 'eventemitter3'; +import { Logger } from '@polkadot/util/types'; -export type MockState$Subscription$Callback = (error: ?Error, value: mixed) => void; +export type MockState$Subscription$Callback = (error: ?Error, value: any) => void; export type MockState$Subscriptions = { [string]: { callbacks: { [number]: MockState$Subscription$Callback }, - lastValue: mixed + lastValue: any } }; @@ -22,7 +21,7 @@ export type MockState$Storage = { }; export type MockState$Requests = { - [string]: (storage: MockState$Storage, params: Array) => string + [string]: (storage: MockState$Storage, params: Array) => string }; export type MockState = { diff --git a/packages/api-provider/src/mock/unsubscribe.js b/packages/api-provider/src/mock/unsubscribe.ts similarity index 91% rename from packages/api-provider/src/mock/unsubscribe.js rename to packages/api-provider/src/mock/unsubscribe.ts index 8354c1669aae..820ef29cc6bc 100644 --- a/packages/api-provider/src/mock/unsubscribe.js +++ b/packages/api-provider/src/mock/unsubscribe.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { MockState } from './types'; +import { MockState } from './types'; module.exports = async function unsubscribe (self: MockState, _: string, id: number): Promise { const method = self.subscriptionMap[id]; diff --git a/packages/api-provider/src/types.js b/packages/api-provider/src/types.d.ts similarity index 80% rename from packages/api-provider/src/types.js rename to packages/api-provider/src/types.d.ts index 458743e7498c..e4565d21a2ef 100644 --- a/packages/api-provider/src/types.js +++ b/packages/api-provider/src/types.d.ts @@ -1,7 +1,6 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow export type JsonRpcObject = { id: number; @@ -10,7 +9,7 @@ export type JsonRpcObject = { export type JsonRpcRequest = JsonRpcObject & { method: string; - params: Array; + params: Array; }; export type JsonRpcResponseBase$Error = { @@ -20,14 +19,14 @@ export type JsonRpcResponseBase$Error = { type JsonRpcResponse$Single = { error?: JsonRpcResponseBase$Error; - result?: mixed; + result?: any; }; type JsonRpcResponse$Subscription = { method?: string; params: { error?: JsonRpcResponseBase$Error; - result: mixed; + result: any; subscription: number; } }; @@ -36,17 +35,16 @@ export type JsonRpcResponseBase = JsonRpcResponse$Single & JsonRpcResponse$Subsc export type JsonRpcResponse = JsonRpcObject & JsonRpcResponseBase; -export type ProviderInterface$Callback = (error: ?Error, result: mixed) => void; +export type ProviderInterface$Callback = (error: ?Error, result: any) => void; export type ProviderInterface$Emitted = 'connected' | 'disconnected'; -// flowlint-next-line unclear-type:off export type ProviderInterface$EmitCb = (value?: any) => any; export type ProviderInterface = { isConnected (): boolean, on (type: ProviderInterface$Emitted, sub: ProviderInterface$EmitCb): void, - send (method: string, params: Array): Promise, - subscribe (method: string, params: Array, cb: ProviderInterface$Callback): Promise, + send (method: string, params: Array): Promise, + subscribe (method: string, params: Array, cb: ProviderInterface$Callback): Promise, unsubscribe (method: string, id: number): Promise } diff --git a/packages/api-provider/src/ws/connect.js b/packages/api-provider/src/ws/connect.ts similarity index 92% rename from packages/api-provider/src/ws/connect.js rename to packages/api-provider/src/ws/connect.ts index 83786dcb5a01..31055fe8c182 100644 --- a/packages/api-provider/src/ws/connect.js +++ b/packages/api-provider/src/ws/connect.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { WsState } from './types'; +import { WsState } from './types'; const onClose = require('./onClose'); const onError = require('./onError'); diff --git a/packages/api-provider/src/ws/index.js b/packages/api-provider/src/ws/index.ts similarity index 76% rename from packages/api-provider/src/ws/index.js rename to packages/api-provider/src/ws/index.ts index 055ad6d8ac13..597965e50a86 100644 --- a/packages/api-provider/src/ws/index.js +++ b/packages/api-provider/src/ws/index.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ProviderInterface, ProviderInterface$Callback, ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; +import { ProviderInterface, ProviderInterface$Callback, ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; require('./polyfill'); @@ -28,9 +27,9 @@ module.exports = function wsProvider (endpoint: string, autoConnect: boolean = t self.isConnected, on: (type: ProviderInterface$Emitted, sub: ProviderInterface$EmitCb): void => on(self, type, sub), - send: (method: string, params: Array): Promise => + send: (method: string, params: Array): Promise => send(self, method, params), - subscribe: (method: string, params: Array, cb: ProviderInterface$Callback): Promise => + subscribe: (method: string, params: Array, cb: ProviderInterface$Callback): Promise => subscribe(self, method, params, cb), unsubscribe: (method: string, id: number): Promise => unsubscribe(self, method, id) diff --git a/packages/api-provider/src/ws/on.js b/packages/api-provider/src/ws/on.ts similarity index 71% rename from packages/api-provider/src/ws/on.js rename to packages/api-provider/src/ws/on.ts index f431b173cd86..b0b17d0705b8 100644 --- a/packages/api-provider/src/ws/on.js +++ b/packages/api-provider/src/ws/on.ts @@ -1,10 +1,9 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; -import type { WsState } from './types'; +import { ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; +import { WsState } from './types'; module.exports = function on (self: WsState, type: ProviderInterface$Emitted, sub: ProviderInterface$EmitCb): void { self.emitter.on(type, sub); diff --git a/packages/api-provider/src/ws/onClose.js b/packages/api-provider/src/ws/onClose.ts similarity index 92% rename from packages/api-provider/src/ws/onClose.js rename to packages/api-provider/src/ws/onClose.ts index beee424ce3a7..ac256d886638 100644 --- a/packages/api-provider/src/ws/onClose.js +++ b/packages/api-provider/src/ws/onClose.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { WsState } from './types'; +import { WsState } from './types'; module.exports = function onClose (self: WsState): () => void { return (): void => { diff --git a/packages/api-provider/src/ws/onError.js b/packages/api-provider/src/ws/onError.ts similarity index 87% rename from packages/api-provider/src/ws/onError.js rename to packages/api-provider/src/ws/onError.ts index 7fc14108cee2..e0f909553f83 100644 --- a/packages/api-provider/src/ws/onError.js +++ b/packages/api-provider/src/ws/onError.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { WsState } from './types'; +import { WsState } from './types'; module.exports = function onError (self: WsState): (Event) => void { return (error: Event): void => { diff --git a/packages/api-provider/src/ws/onMessage.js b/packages/api-provider/src/ws/onMessage.ts similarity index 84% rename from packages/api-provider/src/ws/onMessage.js rename to packages/api-provider/src/ws/onMessage.ts index 5f33bdce746f..0d5b65349169 100644 --- a/packages/api-provider/src/ws/onMessage.js +++ b/packages/api-provider/src/ws/onMessage.ts @@ -1,10 +1,9 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { JsonRpcResponse } from '../types'; -import type { WsState } from './types'; +import { JsonRpcResponse } from '../types'; +import { WsState } from './types'; const isUndefined = require('@polkadot/util/is/undefined'); @@ -15,7 +14,6 @@ module.exports = function onMessage (self: WsState): (MessageEvent) => void { return (message: MessageEvent): void => { self.l.debug(() => ['received', message.data]); - // flowlint-next-line unclear-type:off const response: JsonRpcResponse = JSON.parse(((message.data: any): string)); return isUndefined(response.method) diff --git a/packages/api-provider/src/ws/onMessageResult.js b/packages/api-provider/src/ws/onMessageResult.ts similarity index 86% rename from packages/api-provider/src/ws/onMessageResult.js rename to packages/api-provider/src/ws/onMessageResult.ts index aa1424f4e336..f790c20506c9 100644 --- a/packages/api-provider/src/ws/onMessageResult.js +++ b/packages/api-provider/src/ws/onMessageResult.ts @@ -1,10 +1,9 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { JsonRpcResponse } from '../types'; -import type { WsState } from './types'; +import { JsonRpcResponse } from '../types'; +import { WsState } from './types'; module.exports = function onMessageResult (self: WsState, response: JsonRpcResponse): void { self.l.debug(() => ['handling: response =', response, 'id =', response.id]); @@ -21,7 +20,6 @@ module.exports = function onMessageResult (self: WsState, response: JsonRpcRespo const result = self.coder.decodeResponse(response); if (subscription) { - // flowlint-next-line unclear-type:off self.subscriptions[((result: any): number)] = { callback: subscription }; diff --git a/packages/api-provider/src/ws/onMessageSubscribe.js b/packages/api-provider/src/ws/onMessageSubscribe.ts similarity index 88% rename from packages/api-provider/src/ws/onMessageSubscribe.js rename to packages/api-provider/src/ws/onMessageSubscribe.ts index 87ed38713796..8785fa7e5e01 100644 --- a/packages/api-provider/src/ws/onMessageSubscribe.js +++ b/packages/api-provider/src/ws/onMessageSubscribe.ts @@ -1,10 +1,9 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { JsonRpcResponse } from '../types'; -import type { WsState } from './types'; +import { JsonRpcResponse } from '../types'; +import { WsState } from './types'; module.exports = function onMessageSubscribe (self: WsState, response: JsonRpcResponse): void { self.l.debug(() => ['handling: response =', response, 'subscription =', response.params.subscription]); diff --git a/packages/api-provider/src/ws/onOpen.js b/packages/api-provider/src/ws/onOpen.ts similarity index 82% rename from packages/api-provider/src/ws/onOpen.js rename to packages/api-provider/src/ws/onOpen.ts index af6b8cdd6d53..224e4cf2d2b6 100644 --- a/packages/api-provider/src/ws/onOpen.js +++ b/packages/api-provider/src/ws/onOpen.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { WsState } from './types'; +import { WsState } from './types'; module.exports = function onOpen (self: WsState): () => boolean { return (): boolean => { @@ -15,11 +14,9 @@ module.exports = function onOpen (self: WsState): () => boolean { Object.keys(self.queued).forEach((id) => { try { self.websocket.send( - // flowlint-next-line unclear-type:off self.queued[((id: any): number)] ); - // flowlint-next-line unclear-type:off delete self.queued[((id: any): number)]; } catch (error) { self.l.error(error); diff --git a/packages/api-provider/src/ws/polyfill.js b/packages/api-provider/src/ws/polyfill.ts similarity index 96% rename from packages/api-provider/src/ws/polyfill.js rename to packages/api-provider/src/ws/polyfill.ts index 98ac8c629800..cc3b1ca4c0c7 100644 --- a/packages/api-provider/src/ws/polyfill.js +++ b/packages/api-provider/src/ws/polyfill.ts @@ -1,7 +1,6 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow if (typeof WebSocket === 'undefined') { global.WebSocket = require('websocket').w3cwebsocket; diff --git a/packages/api-provider/src/ws/send.js b/packages/api-provider/src/ws/send.ts similarity index 76% rename from packages/api-provider/src/ws/send.js rename to packages/api-provider/src/ws/send.ts index d78d9930f162..012b268533fe 100644 --- a/packages/api-provider/src/ws/send.js +++ b/packages/api-provider/src/ws/send.ts @@ -1,17 +1,16 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ProviderInterface$Callback } from '../types'; -import type { WsState } from './types'; +import { ProviderInterface$Callback } from '../types'; +import { WsState } from './types'; -module.exports = async function send (self: WsState, method: string, params: Array, subscription?: ProviderInterface$Callback): Promise { +module.exports = async function send (self: WsState, method: string, params: Array, subscription?: ProviderInterface$Callback): Promise { return new Promise((resolve, reject): void => { try { const json = self.coder.encodeJson(method, params); const id = self.coder.getId(); - const callback = (error: ?Error, result: mixed) => { + const callback = (error: ?Error, result: any) => { if (error) { reject(error); } else { diff --git a/packages/api-provider/src/ws/state.js b/packages/api-provider/src/ws/state.ts similarity index 94% rename from packages/api-provider/src/ws/state.js rename to packages/api-provider/src/ws/state.ts index 7d8ce0119842..6be9e210e859 100644 --- a/packages/api-provider/src/ws/state.js +++ b/packages/api-provider/src/ws/state.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { WsState } from './types'; +import { WsState } from './types'; const EventEmitter = require('eventemitter3'); const assert = require('@polkadot/util/assert'); diff --git a/packages/api-provider/src/ws/subscribe.js b/packages/api-provider/src/ws/subscribe.ts similarity index 61% rename from packages/api-provider/src/ws/subscribe.js rename to packages/api-provider/src/ws/subscribe.ts index 6bb975dfbe96..f4f99e601478 100644 --- a/packages/api-provider/src/ws/subscribe.js +++ b/packages/api-provider/src/ws/subscribe.ts @@ -1,16 +1,14 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ProviderInterface$Callback } from '../types'; -import type { WsState } from './types'; +import { ProviderInterface$Callback } from '../types'; +import { WsState } from './types'; const send = require('./send'); -module.exports = async function subscribe (self: WsState, method: string, params: Array, subscription: ProviderInterface$Callback): Promise { +module.exports = async function subscribe (self: WsState, method: string, params: Array, subscription: ProviderInterface$Callback): Promise { const id = await send(self, method, params, subscription); - // flowlint-next-line unclear-type:off return ((id: any): number); }; diff --git a/packages/api-provider/src/ws/types.js b/packages/api-provider/src/ws/types.d.ts similarity index 75% rename from packages/api-provider/src/ws/types.js rename to packages/api-provider/src/ws/types.d.ts index 7fee70beb7a1..80b357980fd1 100644 --- a/packages/api-provider/src/ws/types.js +++ b/packages/api-provider/src/ws/types.d.ts @@ -1,12 +1,11 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type EventEmitter from 'eventemitter3'; -import type { Logger } from '@polkadot/util/types'; -import type { RpcCoder } from '../coder/json/types'; -import type { ProviderInterface$Callback } from '../types'; +import EventEmitter from 'eventemitter3'; +import { Logger } from '@polkadot/util/types'; +import { RpcCoder } from '../coder/json/types'; +import { ProviderInterface$Callback } from '../types'; export type WsState$Awaiting = { callback: ProviderInterface$Callback, diff --git a/packages/api-provider/src/ws/unsubscribe.js b/packages/api-provider/src/ws/unsubscribe.ts similarity index 87% rename from packages/api-provider/src/ws/unsubscribe.js rename to packages/api-provider/src/ws/unsubscribe.ts index c4a6ce03ebca..3de0b16c6e00 100644 --- a/packages/api-provider/src/ws/unsubscribe.js +++ b/packages/api-provider/src/ws/unsubscribe.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { WsState } from './types'; +import { WsState } from './types'; const assert = require('@polkadot/util/assert'); const isUndefined = require('@polkadot/util/is/undefined'); @@ -17,6 +16,5 @@ module.exports = async function unsubscribe (self: WsState, method: string, id: const result = await send(self, method, [id]); - // flowlint-next-line unclear-type:off return ((result: any): boolean); }; diff --git a/packages/api-provider/test/e2e.test.js b/packages/api-provider/test/e2e.test.ts similarity index 100% rename from packages/api-provider/test/e2e.test.js rename to packages/api-provider/test/e2e.test.ts diff --git a/packages/api-provider/test/mockHttp.js b/packages/api-provider/test/mockHttp.ts similarity index 100% rename from packages/api-provider/test/mockHttp.js rename to packages/api-provider/test/mockHttp.ts diff --git a/packages/api-provider/test/mockWs.js b/packages/api-provider/test/mockWs.ts similarity index 100% rename from packages/api-provider/test/mockWs.js rename to packages/api-provider/test/mockWs.ts diff --git a/packages/api-rx/src/api/connected.js b/packages/api-rx/src/api/connected.ts similarity index 87% rename from packages/api-rx/src/api/connected.js rename to packages/api-rx/src/api/connected.ts index bb555f1212fb..b4bb23f54a2d 100644 --- a/packages/api-rx/src/api/connected.js +++ b/packages/api-rx/src/api/connected.ts @@ -1,9 +1,8 @@ // Copyright 2017-2018 @polkadot/api-rx authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ProviderInterface } from '@polkadot/api-provider/types'; +import { ProviderInterface } from '@polkadot/api-provider/types'; const { BehaviorSubject } = require('rxjs/BehaviorSubject'); diff --git a/packages/api-rx/src/api/index.js b/packages/api-rx/src/api/index.ts similarity index 78% rename from packages/api-rx/src/api/index.js rename to packages/api-rx/src/api/index.ts index 40ce185e5a20..d02263212273 100644 --- a/packages/api-rx/src/api/index.js +++ b/packages/api-rx/src/api/index.ts @@ -1,10 +1,9 @@ // Copyright 2017-2018 @polkadot/api-rx authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ProviderInterface } from '@polkadot/api-provider/types'; -import type { RxApiInterface } from '../types'; +import { ProviderInterface } from '@polkadot/api-provider/types'; +import { RxApiInterface } from '../types'; const createConnected = require('./connected'); diff --git a/packages/api-rx/src/defaults.js b/packages/api-rx/src/defaults.ts similarity index 96% rename from packages/api-rx/src/defaults.js rename to packages/api-rx/src/defaults.ts index d3950aeb0a45..229b45cb88db 100644 --- a/packages/api-rx/src/defaults.js +++ b/packages/api-rx/src/defaults.ts @@ -1,7 +1,6 @@ // Copyright 2017-2018 @polkadot/api-rx authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow const WS_URL = 'ws://127.0.0.1:9944'; diff --git a/packages/api-rx/src/index.js b/packages/api-rx/src/index.ts similarity index 86% rename from packages/api-rx/src/index.js rename to packages/api-rx/src/index.ts index e6855e3ffb5f..d6aa00bafac3 100644 --- a/packages/api-rx/src/index.js +++ b/packages/api-rx/src/index.ts @@ -1,10 +1,9 @@ // Copyright 2017-2018 @polkadot/api-rx authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ProviderInterface } from '@polkadot/api-provider/types'; -import type { RxApiInterface } from './types'; +import { ProviderInterface } from '@polkadot/api-provider/types'; +import { RxApiInterface } from './types'; const createApi = require('@polkadot/api'); const interfaces = require('@polkadot/jsonrpc'); diff --git a/packages/api-rx/src/interface.js b/packages/api-rx/src/interface.ts similarity index 77% rename from packages/api-rx/src/interface.js rename to packages/api-rx/src/interface.ts index c77776966f50..1e6e64871277 100644 --- a/packages/api-rx/src/interface.js +++ b/packages/api-rx/src/interface.ts @@ -1,11 +1,10 @@ // Copyright 2017-2018 @polkadot/api-rx authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ApiInterface, ApiInterface$Section } from '@polkadot/api/types'; -import type { Interface$Sections } from '@polkadot/jsonrpc/types'; -import type { RxApiInterface$Section } from './types'; +import { ApiInterface, ApiInterface$Section } from '@polkadot/api/types'; +import { Interface$Sections } from '@polkadot/jsonrpc/types'; +import { RxApiInterface$Section } from './types'; const observable = require('./observable'); diff --git a/packages/api-rx/src/observable/cached.js b/packages/api-rx/src/observable/cached.ts similarity index 67% rename from packages/api-rx/src/observable/cached.js rename to packages/api-rx/src/observable/cached.ts index 8a81c4f99124..06b8d7208769 100644 --- a/packages/api-rx/src/observable/cached.js +++ b/packages/api-rx/src/observable/cached.ts @@ -1,16 +1,14 @@ // Copyright 2017-2018 @polkadot/api-rx authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ApiInterface$Section } from '@polkadot/api/types'; +import { ApiInterface$Section } from '@polkadot/api/types'; type Cached$Name = string; type Cached$ParamJson = string; type CachedMap = { [Cached$Name]: { - // flowlint-next-line unclear-type:off [Cached$ParamJson]: rxjs$BehaviorSubject } }; @@ -19,14 +17,12 @@ const subject = require('./subject'); const cacheMap: CachedMap = {}; -// flowlint-next-line unclear-type:off -module.exports = function cached (subName: string, name: string, section: ApiInterface$Section): (...params: Array) => rxjs$BehaviorSubject { +module.exports = function cached (subName: string, name: string, section: ApiInterface$Section): (...params: Array) => rxjs$BehaviorSubject { if (!cacheMap[subName]) { cacheMap[subName] = {}; } - // flowlint-next-line unclear-type:off - return (...params: Array): rxjs$BehaviorSubject => { + return (...params: Array): rxjs$BehaviorSubject => { const paramStr = JSON.stringify(params); if (!cacheMap[subName][paramStr]) { diff --git a/packages/api-rx/src/observable/index.js b/packages/api-rx/src/observable/index.ts similarity index 63% rename from packages/api-rx/src/observable/index.js rename to packages/api-rx/src/observable/index.ts index c96f2944bc35..970eada6d149 100644 --- a/packages/api-rx/src/observable/index.js +++ b/packages/api-rx/src/observable/index.ts @@ -1,23 +1,20 @@ // Copyright 2017-2018 @polkadot/api-rx authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ApiInterface$Section } from '@polkadot/api/types'; +import { ApiInterface$Section } from '@polkadot/api/types'; const { fromPromise } = require('rxjs/observable/fromPromise'); const isFunction = require('@polkadot/util/is/function'); const cached = require('./cached'); -// flowlint-next-line unclear-type:off -module.exports = function observable (subName: string, name: string, section: ApiInterface$Section): (...params: Array) => rxjs$Observable | rxjs$BehaviorSubject { +module.exports = function observable (subName: string, name: string, section: ApiInterface$Section): (...params: Array) => rxjs$Observable | rxjs$BehaviorSubject { if (isFunction(section[name].unsubscribe)) { return cached(subName, name, section); } - // flowlint-next-line unclear-type:off - return (...params: Array): rxjs$Observable => + return (...params: Array): rxjs$Observable => fromPromise( section[name].apply(null, params) ); diff --git a/packages/api-rx/src/observable/subject.js b/packages/api-rx/src/observable/subject.ts similarity index 72% rename from packages/api-rx/src/observable/subject.js rename to packages/api-rx/src/observable/subject.ts index 78bc5c4e5c63..3a15d553982b 100644 --- a/packages/api-rx/src/observable/subject.js +++ b/packages/api-rx/src/observable/subject.ts @@ -1,19 +1,16 @@ // Copyright 2017-2018 @polkadot/api-rx authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ApiInterface$Section } from '@polkadot/api/types'; +import { ApiInterface$Section } from '@polkadot/api/types'; const { BehaviorSubject } = require('rxjs/BehaviorSubject'); const { Observable } = require('rxjs/Observable'); -// flowlint-next-line unclear-type:off -module.exports = function subscription (name: string, params: Array, section: ApiInterface$Section, unsubCallback?: () => void): rxjs$BehaviorSubject { +module.exports = function subscription (name: string, params: Array, section: ApiInterface$Section, unsubCallback?: () => void): rxjs$BehaviorSubject { const subject = new BehaviorSubject(); Observable - // flowlint-next-line unclear-type:off .create((observer: rxjs$IObserver): Function => { const callback = (error, result) => { if (error) { @@ -24,12 +21,11 @@ module.exports = function subscription (name: string, params: Array, sect }; const fn = section[name]; - const subParams: Array = [].concat(params, [callback]); + const subParams: Array = [].concat(params, [callback]); const subscribe = fn.apply(null, subParams); return (): void => { subscribe - // flowlint-next-line unclear-type:off .then((subscriptionId) => fn.unsubscribe(((subscriptionId: any): number))) .then(() => { if (unsubCallback) { diff --git a/packages/api-rx/src/types.js b/packages/api-rx/src/types.d.ts similarity index 63% rename from packages/api-rx/src/types.js rename to packages/api-rx/src/types.d.ts index 7fe2c89b3401..79402e58d2fe 100644 --- a/packages/api-rx/src/types.js +++ b/packages/api-rx/src/types.d.ts @@ -1,12 +1,10 @@ // Copyright 2017-2018 @polkadot/api-rx authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { Interface$Sections } from '@polkadot/jsonrpc/types'; +import { Interface$Sections } from '@polkadot/jsonrpc/types'; -// flowlint-next-line unclear-type:off -export type RxApiInterface$Method = (...params: Array) => rxjs$Observable | rxjs$BehaviorSubject; +export type RxApiInterface$Method = (...params: Array) => rxjs$Observable | rxjs$BehaviorSubject; export type RxApiInterface$Section = { [string]: RxApiInterface$Method diff --git a/packages/api/package.json b/packages/api/package.json index 6f0642bf3e82..1aca86aec854 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -37,8 +37,8 @@ "@babel/runtime": "^7.0.0-beta.47", "@polkadot/api-format": "^0.13.8", "@polkadot/api-provider": "^0.13.8", - "@polkadot/jsonrpc": "^0.17.24", - "@polkadot/params": "^0.17.24", - "@polkadot/util": "^0.22.9" + "@polkadot/jsonrpc": "^0.19.1", + "@polkadot/params": "^0.19.1", + "@polkadot/util": "^0.24.1" } } diff --git a/packages/api/src/create/interface.js b/packages/api/src/create/interface.ts similarity index 81% rename from packages/api/src/create/interface.js rename to packages/api/src/create/interface.ts index 0f4e6a291095..c324751bb515 100644 --- a/packages/api/src/create/interface.js +++ b/packages/api/src/create/interface.ts @@ -1,11 +1,10 @@ // Copyright 2017-2018 @polkadot/api authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { Interface$Sections } from '@polkadot/jsonrpc/types'; -import type { ProviderInterface } from '@polkadot/api-provider/types'; -import type { ApiInterface$Section } from '../types'; +import { Interface$Sections } from '@polkadot/jsonrpc/types'; +import { ProviderInterface } from '@polkadot/api-provider/types'; +import { ApiInterface$Section } from '../types'; const interfaces = require('@polkadot/jsonrpc'); diff --git a/packages/api/src/create/methodSend.js b/packages/api/src/create/methodSend.ts similarity index 75% rename from packages/api/src/create/methodSend.js rename to packages/api/src/create/methodSend.ts index 81b3abaebb9f..7d4cff784b30 100644 --- a/packages/api/src/create/methodSend.js +++ b/packages/api/src/create/methodSend.ts @@ -1,11 +1,10 @@ // Copyright 2017-2018 @polkadot/api authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { Interface$Method } from '@polkadot/jsonrpc/types'; -import type { ProviderInterface } from '@polkadot/api-provider/types'; -import type { ApiInterface$Section$Method } from '../types'; +import { Interface$Method } from '@polkadot/jsonrpc/types'; +import { ProviderInterface } from '@polkadot/api-provider/types'; +import { ApiInterface$Section$Method } from '../types'; const formatOutput = require('@polkadot/api-format/output'); const ExtError = require('@polkadot/util/ext/error'); @@ -14,7 +13,7 @@ const jsonrpcSignature = require('@polkadot/params/signature'); const createParams = require('./params'); module.exports = function createMethodSend (provider: ProviderInterface, rpcName: string, name: string, method: Interface$Method): ApiInterface$Section$Method { - const call = async (...values: Array): Promise => { + const call = async (...values: Array): Promise => { // TODO: Deprecated warning try { const params = createParams(method.params, values); @@ -26,6 +25,5 @@ module.exports = function createMethodSend (provider: ProviderInterface, rpcName } }; - // flowlint-next-line unclear-type:off return ((call: any): ApiInterface$Section$Method); }; diff --git a/packages/api/src/create/methodSubscribe.js b/packages/api/src/create/methodSubscribe.ts similarity index 71% rename from packages/api/src/create/methodSubscribe.js rename to packages/api/src/create/methodSubscribe.ts index 6a738d47505a..90a3ffa14468 100644 --- a/packages/api/src/create/methodSubscribe.js +++ b/packages/api/src/create/methodSubscribe.ts @@ -1,11 +1,10 @@ // Copyright 2017-2018 @polkadot/api authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { Interface$Method } from '@polkadot/jsonrpc/types'; -import type { ProviderInterface, ProviderInterface$Callback } from '@polkadot/api-provider/types'; -import type { ApiInterface$Section$Method } from '../types'; +import { Interface$Method } from '@polkadot/jsonrpc/types'; +import { ProviderInterface, ProviderInterface$Callback } from '@polkadot/api-provider/types'; +import { ApiInterface$Section$Method } from '../types'; const formatOutput = require('@polkadot/api-format/output'); const signature = require('@polkadot/params/signature'); @@ -16,17 +15,16 @@ const isFunction = require('@polkadot/util/is/function'); const createParams = require('./params'); module.exports = function methodSubscribe (provider: ProviderInterface, rpcName: string, name: string, method: Interface$Method): ApiInterface$Section$Method { - const unsubscribe = (subscriptionId: mixed): Promise => + const unsubscribe = (subscriptionId: any): Promise => provider.send(`unsubscribe_${name}`, [subscriptionId]); - const call = async (...values: Array): Promise => { + const call = async (...values: Array): Promise => { try { - // flowlint-next-line unclear-type:off const cb = ((values.pop(): any): ProviderInterface$Callback); assert(isFunction(cb), `Expected callback in last position of params`); const params = createParams(method.params, values); - const update = (error: ?Error, result?: mixed) => { + const update = (error: ?Error, result?: any) => { cb(error, formatOutput(method.type, result)); }; @@ -38,6 +36,5 @@ module.exports = function methodSubscribe (provider: ProviderInterface, rpcName: call.unsubscribe = unsubscribe; - // flowlint-next-line unclear-type:off return ((call: any): ApiInterface$Section$Method); }; diff --git a/packages/api/src/create/params.js b/packages/api/src/create/params.ts similarity index 88% rename from packages/api/src/create/params.js rename to packages/api/src/create/params.ts index afe1154e5e2e..b117d8b3b528 100644 --- a/packages/api/src/create/params.js +++ b/packages/api/src/create/params.ts @@ -1,14 +1,13 @@ // Copyright 2017-2018 @polkadot/api authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { Params } from '@polkadot/params/types'; +import { Params } from '@polkadot/params/types'; const formatInputs = require('@polkadot/api-format/input'); const assert = require('@polkadot/util/assert'); -module.exports = function createParams (params: Params, values: Array): Array { +module.exports = function createParams (params: Params, values: Array): Array { const required = params.filter(({ isOptional }) => !isOptional); const optionalText = params.length ? ` (${(params.length - required.length) || 'none'} optional)` diff --git a/packages/api/src/index.js b/packages/api/src/index.ts similarity index 85% rename from packages/api/src/index.js rename to packages/api/src/index.ts index 11e10bee8f55..3b14e5a6f9f7 100644 --- a/packages/api/src/index.js +++ b/packages/api/src/index.ts @@ -1,10 +1,9 @@ // Copyright 2017-2018 @polkadot/api authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { ProviderInterface } from '@polkadot/api-provider/types'; -import type { ApiInterface } from './types'; +import { ProviderInterface } from '@polkadot/api-provider/types'; +import { ApiInterface } from './types'; const interfaces = require('@polkadot/jsonrpc'); const assert = require('@polkadot/util/assert'); diff --git a/packages/api/src/types.js b/packages/api/src/types.d.ts similarity index 69% rename from packages/api/src/types.js rename to packages/api/src/types.d.ts index 6f5f05287161..7de7d5b67c96 100644 --- a/packages/api/src/types.js +++ b/packages/api/src/types.d.ts @@ -1,13 +1,12 @@ // Copyright 2017-2018 @polkadot/api authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -// @flow -import type { Interface$Sections } from '@polkadot/jsonrpc/types'; +import { Interface$Sections } from '@polkadot/jsonrpc/types'; export type ApiInterface$Section$Method = { - (...params: Array): Promise; - unsubscribe: (id: number) => Promise; + (...params: Array): Promise; + unsubscribe: (id: number) => Promise; } export type ApiInterface$Section = { diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 000000000000..2ec0f1ec28c5 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "./node_modules/@polkadot/dev/config/tsconfig", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@polkadot/api-format/*": [ "packages/api-format/src/*" ], + "@polkadot/api-provider/*": [ "packages/api-provider/src/*" ], + "@polkadot/api-rx/*": [ "packages/api-rx/src/*" ], + "@polkadot/api/*": [ "packages/api/src/*" ] + }, + "typeRoots": [ + "./node_modules/@polkadot/ts", + "./node_modules/@types" + ] + } +} diff --git a/yarn.lock b/yarn.lock index 74ddef0f3ff1..ed7fac9bf8d5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,9 +2,9 @@ # yarn lockfile v1 -"@babel/cli@^7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.0.0-beta.47.tgz#e00cc40ffd9084a5243c8fbded3f5049bc970e4c" +"@babel/cli@^7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.0.0-beta.51.tgz#d186cdd59f9236bc9156aaa8eda61638f566b7fc" dependencies: commander "^2.8.1" convert-source-map "^1.1.0" @@ -23,11 +23,11 @@ dependencies: "@babel/highlight" "7.0.0-beta.44" -"@babel/code-frame@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.47.tgz#d18c2f4c4ba8d093a2bcfab5616593bfe2441a27" +"@babel/code-frame@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.51.tgz#bd71d9b192af978df915829d39d4094456439a0c" dependencies: - "@babel/highlight" "7.0.0-beta.47" + "@babel/highlight" "7.0.0-beta.51" "@babel/code-frame@^7.0.0-beta.35": version "7.0.0-beta.36" @@ -37,22 +37,22 @@ esutils "^2.0.2" js-tokens "^3.0.0" -"@babel/core@^7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.0.0-beta.47.tgz#b9c164fb9a1e1083f067c236a9da1d7a7d759271" - dependencies: - "@babel/code-frame" "7.0.0-beta.47" - "@babel/generator" "7.0.0-beta.47" - "@babel/helpers" "7.0.0-beta.47" - "@babel/template" "7.0.0-beta.47" - "@babel/traverse" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" - babylon "7.0.0-beta.47" +"@babel/core@^7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.0.0-beta.51.tgz#0e54bd6b638736b2ae593c31a47f0969e2b2b96d" + dependencies: + "@babel/code-frame" "7.0.0-beta.51" + "@babel/generator" "7.0.0-beta.51" + "@babel/helpers" "7.0.0-beta.51" + "@babel/parser" "7.0.0-beta.51" + "@babel/template" "7.0.0-beta.51" + "@babel/traverse" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" convert-source-map "^1.1.0" debug "^3.1.0" json5 "^0.5.0" lodash "^4.17.5" - micromatch "^2.3.11" + micromatch "^3.1.10" resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" @@ -67,51 +67,51 @@ source-map "^0.5.0" trim-right "^1.0.1" -"@babel/generator@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.47.tgz#1835709f377cc4d2a4affee6d9258a10bbf3b9d1" +"@babel/generator@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.51.tgz#6c7575ffde761d07485e04baedc0392c6d9e30f6" dependencies: - "@babel/types" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.51" jsesc "^2.5.1" lodash "^4.17.5" source-map "^0.5.0" trim-right "^1.0.1" -"@babel/helper-annotate-as-pure@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.47.tgz#354fb596055d9db369211bf075f0d5e93904d6f6" +"@babel/helper-annotate-as-pure@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.51.tgz#38cf7920bf5f338a227f754e286b6fbadee04b58" dependencies: - "@babel/types" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.51" -"@babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.47.tgz#d5917c29ee3d68abc2c72f604bc043f6e056e907" +"@babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.51.tgz#2133fffe3e2f71591e42147b947291ca2ad39237" dependencies: - "@babel/helper-explode-assignable-expression" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" + "@babel/helper-explode-assignable-expression" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" -"@babel/helper-call-delegate@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.47.tgz#96b7804397075f722a4030d3876f51ec19d8829b" +"@babel/helper-call-delegate@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.51.tgz#04ed727c97cf05bcb2fd644837331ab15d63c819" dependencies: - "@babel/helper-hoist-variables" "7.0.0-beta.47" - "@babel/traverse" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" + "@babel/helper-hoist-variables" "7.0.0-beta.51" + "@babel/traverse" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" -"@babel/helper-define-map@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.47.tgz#43a9def87c5166dc29630d51b3da9cc4320c131c" +"@babel/helper-define-map@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.51.tgz#d88c64737e948c713f9f1153338e8415fee40b11" dependencies: - "@babel/helper-function-name" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" + "@babel/helper-function-name" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" lodash "^4.17.5" -"@babel/helper-explode-assignable-expression@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.47.tgz#56b688e282a698f4d1cf135453a11ae8af870a19" +"@babel/helper-explode-assignable-expression@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.51.tgz#9875332ad8b5d5c982fa481cb82b731703f2cd2d" dependencies: - "@babel/traverse" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" + "@babel/traverse" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" "@babel/helper-function-name@7.0.0-beta.44": version "7.0.0-beta.44" @@ -121,13 +121,13 @@ "@babel/template" "7.0.0-beta.44" "@babel/types" "7.0.0-beta.44" -"@babel/helper-function-name@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.47.tgz#8057d63e951e85c57c02cdfe55ad7608d73ffb7d" +"@babel/helper-function-name@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.51.tgz#21b4874a227cf99ecafcc30a90302da5a2640561" dependencies: - "@babel/helper-get-function-arity" "7.0.0-beta.47" - "@babel/template" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" + "@babel/helper-get-function-arity" "7.0.0-beta.51" + "@babel/template" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" "@babel/helper-get-function-arity@7.0.0-beta.44": version "7.0.0-beta.44" @@ -135,83 +135,83 @@ dependencies: "@babel/types" "7.0.0-beta.44" -"@babel/helper-get-function-arity@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.47.tgz#2de04f97c14b094b55899d3fa83144a16d207510" +"@babel/helper-get-function-arity@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.51.tgz#3281b2d045af95c172ce91b20825d85ea4676411" dependencies: - "@babel/types" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.51" -"@babel/helper-hoist-variables@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.47.tgz#ce295d1d723fe22b2820eaec748ed701aa5ae3d0" +"@babel/helper-hoist-variables@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.51.tgz#5d7ebc8596567b644fc989912c3a3ef98be058fc" dependencies: - "@babel/types" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.51" -"@babel/helper-member-expression-to-functions@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.47.tgz#35bfcf1d16dce481ef3dec66d5a1ae6a7d80bb45" +"@babel/helper-member-expression-to-functions@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.51.tgz#2a42536574176588806e602eb17a52d323f82870" dependencies: - "@babel/types" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.51" -"@babel/helper-module-imports@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.47.tgz#5af072029ffcfbece6ffbaf5d9984c75580f3f04" +"@babel/helper-module-imports@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.51.tgz#ce00428045fbb7d5ebc0ea7bf835789f15366ab2" dependencies: - "@babel/types" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.51" lodash "^4.17.5" -"@babel/helper-module-transforms@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.47.tgz#7eff91fc96873bd7b8d816698f1a69bbc01f3c38" +"@babel/helper-module-transforms@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.51.tgz#13af0c8ee41f277743c8fc43d444315db2326f73" dependencies: - "@babel/helper-module-imports" "7.0.0-beta.47" - "@babel/helper-simple-access" "7.0.0-beta.47" - "@babel/helper-split-export-declaration" "7.0.0-beta.47" - "@babel/template" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" + "@babel/helper-module-imports" "7.0.0-beta.51" + "@babel/helper-simple-access" "7.0.0-beta.51" + "@babel/helper-split-export-declaration" "7.0.0-beta.51" + "@babel/template" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" lodash "^4.17.5" -"@babel/helper-optimise-call-expression@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.47.tgz#085d864d0613c5813c1b7c71b61bea36f195929e" +"@babel/helper-optimise-call-expression@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.51.tgz#21f2158ef083a123ce1e04665b5bb84f370080d7" dependencies: - "@babel/types" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.51" -"@babel/helper-plugin-utils@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.47.tgz#4f564117ec39f96cf60fafcde35c9ddce0e008fd" +"@babel/helper-plugin-utils@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.51.tgz#0f6a5f2b6d1c6444413f8fab60940d79b63c2031" -"@babel/helper-regex@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0-beta.47.tgz#b8e3b53132c4edbb04804242c02ffe4d60316971" +"@babel/helper-regex@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0-beta.51.tgz#99722a3c0c704596afb123284b0a888a1a003d82" dependencies: lodash "^4.17.5" -"@babel/helper-remap-async-to-generator@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.47.tgz#444dc362f61470bd61a745ebb364431d9ca186c2" +"@babel/helper-remap-async-to-generator@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.51.tgz#0edc57e05dcb5dde2a0b6ee6f8d0261982def25f" dependencies: - "@babel/helper-annotate-as-pure" "7.0.0-beta.47" - "@babel/helper-wrap-function" "7.0.0-beta.47" - "@babel/template" "7.0.0-beta.47" - "@babel/traverse" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" + "@babel/helper-annotate-as-pure" "7.0.0-beta.51" + "@babel/helper-wrap-function" "7.0.0-beta.51" + "@babel/template" "7.0.0-beta.51" + "@babel/traverse" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" -"@babel/helper-replace-supers@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.47.tgz#310b206a302868a792b659455ceba27db686cbb7" +"@babel/helper-replace-supers@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.51.tgz#279a61afb849476c6cc70d5519f83df4a74ffa6f" dependencies: - "@babel/helper-member-expression-to-functions" "7.0.0-beta.47" - "@babel/helper-optimise-call-expression" "7.0.0-beta.47" - "@babel/traverse" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" + "@babel/helper-member-expression-to-functions" "7.0.0-beta.51" + "@babel/helper-optimise-call-expression" "7.0.0-beta.51" + "@babel/traverse" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" -"@babel/helper-simple-access@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.47.tgz#234d754acbda9251a10db697ef50181eab125042" +"@babel/helper-simple-access@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.51.tgz#c9d7fecd84a181d50a3afcc422fc94a968be3050" dependencies: - "@babel/template" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" + "@babel/template" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" lodash "^4.17.5" "@babel/helper-split-export-declaration@7.0.0-beta.44": @@ -220,28 +220,28 @@ dependencies: "@babel/types" "7.0.0-beta.44" -"@babel/helper-split-export-declaration@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.47.tgz#e11277855472d8d83baf22f2d0186c4a2059b09a" +"@babel/helper-split-export-declaration@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.51.tgz#8a6c3f66c4d265352fc077484f9f6e80a51ab978" dependencies: - "@babel/types" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.51" -"@babel/helper-wrap-function@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.47.tgz#6528b44a3ccb4f3aeeb79add0a88192f7eb81161" +"@babel/helper-wrap-function@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.51.tgz#6c516fb044109964ee031c22500a830313862fb1" dependencies: - "@babel/helper-function-name" "7.0.0-beta.47" - "@babel/template" "7.0.0-beta.47" - "@babel/traverse" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" + "@babel/helper-function-name" "7.0.0-beta.51" + "@babel/template" "7.0.0-beta.51" + "@babel/traverse" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" -"@babel/helpers@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.0.0-beta.47.tgz#f9b42ed2e4d5f75ec0fb2e792c173e451e8d40fd" +"@babel/helpers@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.0.0-beta.51.tgz#95272be2ab4634d6820425f8925031a928918397" dependencies: - "@babel/template" "7.0.0-beta.47" - "@babel/traverse" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" + "@babel/template" "7.0.0-beta.51" + "@babel/traverse" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" "@babel/highlight@7.0.0-beta.44": version "7.0.0-beta.44" @@ -251,341 +251,368 @@ esutils "^2.0.2" js-tokens "^3.0.0" -"@babel/highlight@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.47.tgz#8fbc83fb2a21f0bd2b95cdbeb238cf9689cad494" +"@babel/highlight@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.51.tgz#e8844ae25a1595ccfd42b89623b4376ca06d225d" dependencies: chalk "^2.0.0" esutils "^2.0.2" js-tokens "^3.0.0" -"@babel/plugin-proposal-async-generator-functions@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.47.tgz#571142284708c5ad4ec904d9aa705461a010be53" +"@babel/parser@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0-beta.51.tgz#27cec2df409df60af58270ed8f6aa55409ea86f6" + +"@babel/plugin-proposal-async-generator-functions@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.51.tgz#f7d692f946a4a7fca78e4336407a00beaf8a4dea" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/helper-remap-async-to-generator" "7.0.0-beta.47" - "@babel/plugin-syntax-async-generators" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-remap-async-to-generator" "7.0.0-beta.51" + "@babel/plugin-syntax-async-generators" "7.0.0-beta.51" -"@babel/plugin-proposal-class-properties@^7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.47.tgz#08c1a1dfc92d0f5c37b39096c6fb883e1ca4b0f5" +"@babel/plugin-proposal-class-properties@^7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.51.tgz#b5c662f862a30ace94fc48477837b1d255fa38df" dependencies: - "@babel/helper-function-name" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/helper-replace-supers" "7.0.0-beta.47" - "@babel/plugin-syntax-class-properties" "7.0.0-beta.47" + "@babel/helper-function-name" "7.0.0-beta.51" + "@babel/helper-member-expression-to-functions" "7.0.0-beta.51" + "@babel/helper-optimise-call-expression" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-replace-supers" "7.0.0-beta.51" + "@babel/plugin-syntax-class-properties" "7.0.0-beta.51" -"@babel/plugin-proposal-object-rest-spread@7.0.0-beta.47", "@babel/plugin-proposal-object-rest-spread@^7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.47.tgz#e1529fddc88e948868ee1d0edaa27ebd9502322d" +"@babel/plugin-proposal-object-rest-spread@7.0.0-beta.51", "@babel/plugin-proposal-object-rest-spread@^7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.51.tgz#5bc469e5e6d1b84a5d6046b59e90ca016c2086d6" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.51" -"@babel/plugin-proposal-optional-catch-binding@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0-beta.47.tgz#8c6453919537517ea773bb8f3fceda4250795efa" +"@babel/plugin-proposal-optional-catch-binding@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0-beta.51.tgz#3ecc6d2919d52c94cbfae8625da33582102fb3d6" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.51" -"@babel/plugin-proposal-unicode-property-regex@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0-beta.47.tgz#34d7e4811bdc4f512400bb29d01051842528c8d5" +"@babel/plugin-proposal-unicode-property-regex@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0-beta.51.tgz#d296c3ea74ca37fd7fa55bbf8c0cd85aa7d99f7b" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/helper-regex" "7.0.0-beta.47" - regexpu-core "^4.1.4" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-regex" "7.0.0-beta.51" + regexpu-core "^4.2.0" -"@babel/plugin-syntax-async-generators@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.47.tgz#8ab94852bf348badc866af85bd852221f0961256" +"@babel/plugin-syntax-async-generators@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.51.tgz#6921af1dc3da0fcedde0a61073eec797b8caa707" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-syntax-class-properties@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.47.tgz#de52bed12fd472c848e1562f57dd4a202fe27f11" +"@babel/plugin-syntax-class-properties@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.51.tgz#f0cbf6f22a879c593a07e8e141c908e087701e91" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-syntax-flow@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.47.tgz#9d0b09b9af6fec87a7b22e406bf948089d58c188" +"@babel/plugin-syntax-flow@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.51.tgz#de0883134406f90f958b64073e9749880229de56" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-syntax-object-rest-spread@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.47.tgz#21da514d94c138b2261ca09f0dec9abadce16185" +"@babel/plugin-syntax-object-rest-spread@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.51.tgz#6d57a119c1f064c458e45bad45bef0a83ed10c00" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-syntax-optional-catch-binding@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0-beta.47.tgz#0b1c52b066aa36893c41450773a5adb904cd4024" +"@babel/plugin-syntax-optional-catch-binding@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0-beta.51.tgz#ce2675720cb41248c26433515c90c94b9d01a6fd" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-arrow-functions@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.47.tgz#d6eecda4c652b909e3088f0983ebaf8ec292984b" +"@babel/plugin-syntax-typescript@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.0.0-beta.51.tgz#a2f2701ff65d006268cbc84ad1bb8eeab638b0c4" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-async-to-generator@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.47.tgz#5723816ea1e91fa313a84e6ee9cc12ff31d46610" +"@babel/plugin-transform-arrow-functions@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.51.tgz#29b9db6e38688a06ec5c25639996d89a5ebfdbe3" dependencies: - "@babel/helper-module-imports" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/helper-remap-async-to-generator" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-block-scoped-functions@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.47.tgz#e422278e06c797b43c45f459d83c7af9d6237002" +"@babel/plugin-transform-async-to-generator@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.51.tgz#945385055a2e6d3566bf55af127c8d725cd3a173" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-module-imports" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-remap-async-to-generator" "7.0.0-beta.51" -"@babel/plugin-transform-block-scoping@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.47.tgz#b737cc58a81bea57efd5bda0baef9a43a25859ad" +"@babel/plugin-transform-block-scoped-functions@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.51.tgz#23129baf814471f39ea94eec84ab1ffe76c9fe96" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + +"@babel/plugin-transform-block-scoping@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.51.tgz#be555c79f0da4eb168a7fe16d787a9a7173701e0" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.51" lodash "^4.17.5" -"@babel/plugin-transform-classes@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.47.tgz#7aff9cbe7b26fd94d7a9f97fa90135ef20c93fb6" - dependencies: - "@babel/helper-annotate-as-pure" "7.0.0-beta.47" - "@babel/helper-define-map" "7.0.0-beta.47" - "@babel/helper-function-name" "7.0.0-beta.47" - "@babel/helper-optimise-call-expression" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/helper-replace-supers" "7.0.0-beta.47" - "@babel/helper-split-export-declaration" "7.0.0-beta.47" +"@babel/plugin-transform-classes@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.51.tgz#043f31fb6327664a32d8ba65de15799efdc65da0" + dependencies: + "@babel/helper-annotate-as-pure" "7.0.0-beta.51" + "@babel/helper-define-map" "7.0.0-beta.51" + "@babel/helper-function-name" "7.0.0-beta.51" + "@babel/helper-optimise-call-expression" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-replace-supers" "7.0.0-beta.51" + "@babel/helper-split-export-declaration" "7.0.0-beta.51" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.47.tgz#56ef2a021769a2b65e90a3e12fd10b791da9f3e0" +"@babel/plugin-transform-computed-properties@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.51.tgz#8c72a1ab3e0767034ff9e6732d2581c23c032efe" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-destructuring@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.47.tgz#452b607775fd1c4d10621997837189efc0a6d428" +"@babel/plugin-transform-destructuring@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.51.tgz#d5d454e574c7ef33ee49e918b048afb29be935f6" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-dotall-regex@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0-beta.47.tgz#d8da9b706d4bfc68dec9d565661f83e6e8036636" +"@babel/plugin-transform-dotall-regex@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0-beta.51.tgz#980558a1e5f7e28850f5ffde20404291e2aa33fb" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/helper-regex" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-regex" "7.0.0-beta.51" regexpu-core "^4.1.3" -"@babel/plugin-transform-duplicate-keys@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-beta.47.tgz#4aabeda051ca3007e33a207db08f1a0cf9bd253b" +"@babel/plugin-transform-duplicate-keys@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-beta.51.tgz#541eaf8a97d14a9809b359d8f548001f085b9b7f" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-exponentiation-operator@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.47.tgz#930e1abf5db9f4db5b63dbf97f3581ad0be1e907" +"@babel/plugin-transform-exponentiation-operator@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.51.tgz#04b4e3e40b3701112dd6eda39625132757881fd4" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-builder-binary-assignment-operator-visitor" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-flow-strip-types@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.47.tgz#fa45811094c10d70c84efdd0eac62ebd2a634bf7" +"@babel/plugin-transform-flow-strip-types@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.51.tgz#67d434459f7a7b26a9f2a6855bc12e67894e47a6" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/plugin-syntax-flow" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/plugin-syntax-flow" "7.0.0-beta.51" -"@babel/plugin-transform-for-of@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.47.tgz#527d5dc24e4a4ad0fc1d0a3990d29968cb984e76" +"@babel/plugin-transform-for-of@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.51.tgz#44f476b06c4035517a8403a2624fb164c4371455" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-function-name@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.47.tgz#fb443c81cc77f3206a863b730b35c8c553ce5041" +"@babel/plugin-transform-function-name@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.51.tgz#70653c360b53254246f4659ec450b0c0a56d86aa" dependencies: - "@babel/helper-function-name" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-function-name" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-literals@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.47.tgz#448fad196f062163684a38f10f14e83315892e9c" +"@babel/plugin-transform-literals@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.51.tgz#45b07a94223cfa226701a79460b42b32df1dec05" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-modules-amd@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-beta.47.tgz#84564419b11c1be6b9fcd4c7b3a6737f2335aac4" +"@babel/plugin-transform-modules-amd@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-beta.51.tgz#f68a8be7f65177d246506a3914dae4d66e675a1f" dependencies: - "@babel/helper-module-transforms" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-module-transforms" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-modules-commonjs@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.47.tgz#dfe5c6d867aa9614e55f7616736073edb3aab887" +"@babel/plugin-transform-modules-commonjs@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.51.tgz#4038f9e15244e10900cb89f5b796d050f1eb195b" dependencies: - "@babel/helper-module-transforms" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/helper-simple-access" "7.0.0-beta.47" + "@babel/helper-module-transforms" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-simple-access" "7.0.0-beta.51" -"@babel/plugin-transform-modules-systemjs@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-beta.47.tgz#8514dbcdfca3345abd690059e7e8544e16ecbf05" +"@babel/plugin-transform-modules-systemjs@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-beta.51.tgz#6e7fc4ad9421b725cddf37cc924eaf777f228c27" dependencies: - "@babel/helper-hoist-variables" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-hoist-variables" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-modules-umd@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-beta.47.tgz#6dcfb9661fdd131b20b721044746a7a309882918" +"@babel/plugin-transform-modules-umd@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-beta.51.tgz#ee2ef575579d96e40613fca6e6c8edb5cadb6c6f" dependencies: - "@babel/helper-module-transforms" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-module-transforms" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-new-target@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0-beta.47.tgz#4b5cb7ce30d7bffa105a1f43ed07d6ae206a4155" +"@babel/plugin-transform-new-target@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0-beta.51.tgz#7075a106595cbfdd425ed6b830b79f8a7aff5283" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-object-super@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.47.tgz#ca8e5f326c5011c879f3a6ed749e58bd10fff05d" +"@babel/plugin-transform-object-super@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.51.tgz#ac18e88bc1d79b718bdaf48a756833cdf5bdcebf" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/helper-replace-supers" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-replace-supers" "7.0.0-beta.51" -"@babel/plugin-transform-parameters@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.47.tgz#46a4236040a6552a5f165fb3ddd60368954b0ddd" +"@babel/plugin-transform-parameters@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.51.tgz#990195b1dfdb1bcc94906f3034951089ed1edd4e" dependencies: - "@babel/helper-call-delegate" "7.0.0-beta.47" - "@babel/helper-get-function-arity" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-call-delegate" "7.0.0-beta.51" + "@babel/helper-get-function-arity" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-regenerator@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.47.tgz#86500e1c404055fb98fc82b73b09bd053cacb516" +"@babel/plugin-transform-regenerator@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.51.tgz#536f0d599d2753dca0a2be8a65e2c244a7b5612b" dependencies: - regenerator-transform "^0.12.3" + regenerator-transform "^0.12.4" -"@babel/plugin-transform-runtime@^7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.47.tgz#1700938fa8710909cbf28f7dd39f9b40688b09fd" +"@babel/plugin-transform-runtime@^7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.51.tgz#0c9cab174f4e3e131659fd65c5ce8e3d73376820" dependencies: - "@babel/helper-module-imports" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-module-imports" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-shorthand-properties@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.47.tgz#00be44c4fad8fe2c00ed18ea15ea3c88dd519dbb" +"@babel/plugin-transform-shorthand-properties@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.51.tgz#ddbc0b1ae1ddb3bcfe6969f2c968103f11e32bd9" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-spread@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.47.tgz#3feadb02292ed1e9b75090d651b9df88a7ab5c50" +"@babel/plugin-transform-spread@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.51.tgz#100129bc8d7dcf4bc79adcd6129a4214259d8a50" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-sticky-regex@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.47.tgz#c0aa347d76b5dc87d3b37ac016ada3f950605131" +"@babel/plugin-transform-sticky-regex@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.51.tgz#48cbeacd31bd05ee800b5facbcb09c5781bd9619" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/helper-regex" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-regex" "7.0.0-beta.51" -"@babel/plugin-transform-template-literals@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.47.tgz#5f7b5badf64c4c5da79026aeab03001e62a6ee5f" +"@babel/plugin-transform-template-literals@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.51.tgz#2d0595f56461d4345ba35c38d73033f87ecbbbc8" dependencies: - "@babel/helper-annotate-as-pure" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-annotate-as-pure" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-typeof-symbol@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.47.tgz#03c612ec09213eb386a81d5fa67c234ee4b2034c" +"@babel/plugin-transform-typeof-symbol@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.51.tgz#4950c0c8e3c9e1e141e45cebab5e6148263204c3" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" -"@babel/plugin-transform-unicode-regex@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.47.tgz#efed0b2f1dfbf28283502234a95b4be88f7fdcb6" +"@babel/plugin-transform-typescript@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.0.0-beta.51.tgz#1d9e5ba7bf93fe37483cc321dbc9a7ebba5ff35b" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/helper-regex" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/plugin-syntax-typescript" "7.0.0-beta.51" + +"@babel/plugin-transform-unicode-regex@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.51.tgz#9019f91508f40b50a64435043228c4142c2cd864" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-regex" "7.0.0-beta.51" regexpu-core "^4.1.3" -"@babel/preset-env@^7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.0.0-beta.47.tgz#a3dab3b5fac4de56e3510bdbcb528f1cbdedbe2d" - dependencies: - "@babel/helper-module-imports" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/plugin-proposal-async-generator-functions" "7.0.0-beta.47" - "@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.47" - "@babel/plugin-proposal-optional-catch-binding" "7.0.0-beta.47" - "@babel/plugin-proposal-unicode-property-regex" "7.0.0-beta.47" - "@babel/plugin-syntax-async-generators" "7.0.0-beta.47" - "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.47" - "@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.47" - "@babel/plugin-transform-arrow-functions" "7.0.0-beta.47" - "@babel/plugin-transform-async-to-generator" "7.0.0-beta.47" - "@babel/plugin-transform-block-scoped-functions" "7.0.0-beta.47" - "@babel/plugin-transform-block-scoping" "7.0.0-beta.47" - "@babel/plugin-transform-classes" "7.0.0-beta.47" - "@babel/plugin-transform-computed-properties" "7.0.0-beta.47" - "@babel/plugin-transform-destructuring" "7.0.0-beta.47" - "@babel/plugin-transform-dotall-regex" "7.0.0-beta.47" - "@babel/plugin-transform-duplicate-keys" "7.0.0-beta.47" - "@babel/plugin-transform-exponentiation-operator" "7.0.0-beta.47" - "@babel/plugin-transform-for-of" "7.0.0-beta.47" - "@babel/plugin-transform-function-name" "7.0.0-beta.47" - "@babel/plugin-transform-literals" "7.0.0-beta.47" - "@babel/plugin-transform-modules-amd" "7.0.0-beta.47" - "@babel/plugin-transform-modules-commonjs" "7.0.0-beta.47" - "@babel/plugin-transform-modules-systemjs" "7.0.0-beta.47" - "@babel/plugin-transform-modules-umd" "7.0.0-beta.47" - "@babel/plugin-transform-new-target" "7.0.0-beta.47" - "@babel/plugin-transform-object-super" "7.0.0-beta.47" - "@babel/plugin-transform-parameters" "7.0.0-beta.47" - "@babel/plugin-transform-regenerator" "7.0.0-beta.47" - "@babel/plugin-transform-shorthand-properties" "7.0.0-beta.47" - "@babel/plugin-transform-spread" "7.0.0-beta.47" - "@babel/plugin-transform-sticky-regex" "7.0.0-beta.47" - "@babel/plugin-transform-template-literals" "7.0.0-beta.47" - "@babel/plugin-transform-typeof-symbol" "7.0.0-beta.47" - "@babel/plugin-transform-unicode-regex" "7.0.0-beta.47" +"@babel/preset-env@^7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.0.0-beta.51.tgz#5b580e6e9e8304166c1317017e863c06dcfc04a2" + dependencies: + "@babel/helper-module-imports" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/plugin-proposal-async-generator-functions" "7.0.0-beta.51" + "@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.51" + "@babel/plugin-proposal-optional-catch-binding" "7.0.0-beta.51" + "@babel/plugin-proposal-unicode-property-regex" "7.0.0-beta.51" + "@babel/plugin-syntax-async-generators" "7.0.0-beta.51" + "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.51" + "@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.51" + "@babel/plugin-transform-arrow-functions" "7.0.0-beta.51" + "@babel/plugin-transform-async-to-generator" "7.0.0-beta.51" + "@babel/plugin-transform-block-scoped-functions" "7.0.0-beta.51" + "@babel/plugin-transform-block-scoping" "7.0.0-beta.51" + "@babel/plugin-transform-classes" "7.0.0-beta.51" + "@babel/plugin-transform-computed-properties" "7.0.0-beta.51" + "@babel/plugin-transform-destructuring" "7.0.0-beta.51" + "@babel/plugin-transform-dotall-regex" "7.0.0-beta.51" + "@babel/plugin-transform-duplicate-keys" "7.0.0-beta.51" + "@babel/plugin-transform-exponentiation-operator" "7.0.0-beta.51" + "@babel/plugin-transform-for-of" "7.0.0-beta.51" + "@babel/plugin-transform-function-name" "7.0.0-beta.51" + "@babel/plugin-transform-literals" "7.0.0-beta.51" + "@babel/plugin-transform-modules-amd" "7.0.0-beta.51" + "@babel/plugin-transform-modules-commonjs" "7.0.0-beta.51" + "@babel/plugin-transform-modules-systemjs" "7.0.0-beta.51" + "@babel/plugin-transform-modules-umd" "7.0.0-beta.51" + "@babel/plugin-transform-new-target" "7.0.0-beta.51" + "@babel/plugin-transform-object-super" "7.0.0-beta.51" + "@babel/plugin-transform-parameters" "7.0.0-beta.51" + "@babel/plugin-transform-regenerator" "7.0.0-beta.51" + "@babel/plugin-transform-shorthand-properties" "7.0.0-beta.51" + "@babel/plugin-transform-spread" "7.0.0-beta.51" + "@babel/plugin-transform-sticky-regex" "7.0.0-beta.51" + "@babel/plugin-transform-template-literals" "7.0.0-beta.51" + "@babel/plugin-transform-typeof-symbol" "7.0.0-beta.51" + "@babel/plugin-transform-unicode-regex" "7.0.0-beta.51" browserslist "^3.0.0" invariant "^2.2.2" + js-levenshtein "^1.1.3" semver "^5.3.0" -"@babel/preset-flow@^7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0-beta.47.tgz#ad74dc20429718f70ffaf91f280790474f55060a" +"@babel/preset-flow@^7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0-beta.51.tgz#5f92cb981afad0f221a1b7a403ce082d378012db" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/plugin-transform-flow-strip-types" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/plugin-transform-flow-strip-types" "7.0.0-beta.51" -"@babel/register@^7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.0.0-beta.47.tgz#ac53bc357ca59979db0e306aa5d3121aa612a7a2" +"@babel/preset-typescript@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.0.0-beta.51.tgz#95510b2b1493c6b210a499b73e80cd8a9e2f8ad1" dependencies: - core-js "^2.5.3" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/plugin-transform-typescript" "7.0.0-beta.51" + +"@babel/register@^7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.0.0-beta.51.tgz#31a6d27f124cc7a2a0a603b65d23d5644b979aa0" + dependencies: + core-js "^2.5.7" find-cache-dir "^1.0.0" home-or-tmp "^3.0.0" lodash "^4.17.5" @@ -600,6 +627,13 @@ core-js "^2.5.3" regenerator-runtime "^0.11.1" +"@babel/runtime@^7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0-beta.51.tgz#48b8ed18307034c6620f643514650ca2ccc0165a" + dependencies: + core-js "^2.5.7" + regenerator-runtime "^0.11.1" + "@babel/template@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.44.tgz#f8832f4fdcee5d59bf515e595fc5106c529b394f" @@ -609,13 +643,13 @@ babylon "7.0.0-beta.44" lodash "^4.2.0" -"@babel/template@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.47.tgz#0473970a7c0bee7a1a18c1ca999d3ba5e5bad83d" +"@babel/template@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.51.tgz#9602a40aebcf357ae9677e2532ef5fc810f5fbff" dependencies: - "@babel/code-frame" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" - babylon "7.0.0-beta.47" + "@babel/code-frame" "7.0.0-beta.51" + "@babel/parser" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" lodash "^4.17.5" "@babel/traverse@7.0.0-beta.44": @@ -633,16 +667,16 @@ invariant "^2.2.0" lodash "^4.2.0" -"@babel/traverse@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.47.tgz#0e57fdbb9ff3a909188b6ebf1e529c641e6c82a4" - dependencies: - "@babel/code-frame" "7.0.0-beta.47" - "@babel/generator" "7.0.0-beta.47" - "@babel/helper-function-name" "7.0.0-beta.47" - "@babel/helper-split-export-declaration" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" - babylon "7.0.0-beta.47" +"@babel/traverse@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.51.tgz#981daf2cec347a6231d3aa1d9e1803b03aaaa4a8" + dependencies: + "@babel/code-frame" "7.0.0-beta.51" + "@babel/generator" "7.0.0-beta.51" + "@babel/helper-function-name" "7.0.0-beta.51" + "@babel/helper-split-export-declaration" "7.0.0-beta.51" + "@babel/parser" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" debug "^3.1.0" globals "^11.1.0" invariant "^2.2.0" @@ -656,32 +690,36 @@ lodash "^4.2.0" to-fast-properties "^2.0.0" -"@babel/types@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.47.tgz#e6fcc1a691459002c2671d558a586706dddaeef8" +"@babel/types@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.51.tgz#d802b7b543b5836c778aa691797abf00f3d97ea9" dependencies: esutils "^2.0.2" lodash "^4.17.5" to-fast-properties "^2.0.0" -"@polkadot/dev@^0.19.25": - version "0.19.25" - resolved "https://registry.yarnpkg.com/@polkadot/dev/-/dev-0.19.25.tgz#cf63238f59b9cdc015204ff760cf0a4c2892d0e5" - dependencies: - "@babel/cli" "^7.0.0-beta.47" - "@babel/core" "^7.0.0-beta.47" - "@babel/plugin-proposal-class-properties" "^7.0.0-beta.47" - "@babel/plugin-proposal-object-rest-spread" "^7.0.0-beta.47" - "@babel/plugin-transform-runtime" "^7.0.0-beta.47" - "@babel/preset-env" "^7.0.0-beta.47" - "@babel/preset-flow" "^7.0.0-beta.47" - "@babel/register" "^7.0.0-beta.47" - "@babel/runtime" "^7.0.0-beta.47" +"@polkadot/dev@^0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@polkadot/dev/-/dev-0.20.2.tgz#4e3cc0754eac414794284eb04cad334ad0b39c8f" + dependencies: + "@babel/cli" "^7.0.0-beta.51" + "@babel/core" "^7.0.0-beta.51" + "@babel/plugin-proposal-class-properties" "^7.0.0-beta.51" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0-beta.51" + "@babel/plugin-transform-runtime" "^7.0.0-beta.51" + "@babel/preset-env" "^7.0.0-beta.51" + "@babel/preset-flow" "^7.0.0-beta.51" + "@babel/preset-typescript" "7.0.0-beta.51" + "@babel/register" "^7.0.0-beta.51" + "@babel/runtime" "^7.0.0-beta.51" + "@types/jest" "^23.1.1" + "@types/node" "^10.3.3" babel-core "^7.0.0-bridge.0" babel-eslint "^8.2.3" - babel-jest "^22.4.3" + babel-jest "^23.0.1" chalk "^2.4.1" codeclimate-test-reporter "^0.5.0" + copyfiles "^2.0.0" coveralls "^3.0.1" dox "^0.9.0" eslint "^4.19.1" @@ -695,231 +733,185 @@ eslint-plugin-standard "^3.0.1" flow-bin "^0.73.0" flow-copy-source "^1.3.0" - jest "^22.4.3" + jest "^23.0.0" lerna "^2.11.0" makeshift "^1.1.0" mkdirp "^0.5.1" + ncp "^2.0.0" rimraf "^2.6.2" + typescript "^2.9.2" -"@polkadot/extrinsics-codec@^0.17.24": - version "0.17.24" - resolved "https://registry.yarnpkg.com/@polkadot/extrinsics-codec/-/extrinsics-codec-0.17.24.tgz#095bb3661f3138d00e1d70e464907485aaf4e054" +"@polkadot/extrinsics-codec@^0.19.1": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@polkadot/extrinsics-codec/-/extrinsics-codec-0.19.1.tgz#5977c51f488c6bd71d75f9fc55517494abf2350f" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/extrinsics" "^0.17.24" - "@polkadot/params" "^0.17.24" - "@polkadot/util" "^0.22.9" - "@polkadot/util-keyring" "^0.22.9" + "@polkadot/extrinsics" "^0.19.1" + "@polkadot/params" "^0.19.1" + "@polkadot/util" "^0.24.1" + "@polkadot/util-keyring" "^0.24.1" bn.js "^4.11.8" -"@polkadot/extrinsics@^0.17.24": - version "0.17.24" - resolved "https://registry.yarnpkg.com/@polkadot/extrinsics/-/extrinsics-0.17.24.tgz#2faef46c89cd988d3bb0d91483b0d5d2d4260fb0" +"@polkadot/extrinsics@^0.19.1": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@polkadot/extrinsics/-/extrinsics-0.19.1.tgz#4ecb0e3ef95e4ce625307108d01d7eadec52b543" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/params" "^0.17.24" - "@polkadot/primitives" "^0.17.24" - "@polkadot/util" "^0.22.9" + "@polkadot/params" "^0.19.1" + "@polkadot/primitives" "^0.19.1" + "@polkadot/util" "^0.24.1" -"@polkadot/jsonrpc@^0.17.24": - version "0.17.24" - resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.17.24.tgz#7e402481cbbb5a8ad4cf23d17d9bbbcf249f76bf" +"@polkadot/jsonrpc@^0.19.1": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.19.1.tgz#44885fb5e4e8951aeeb9eee3492e16de423d0abb" dependencies: - "@polkadot/params" "^0.17.24" + "@polkadot/params" "^0.19.1" babel-runtime "^6.26.0" -"@polkadot/params@^0.17.24": - version "0.17.24" - resolved "https://registry.yarnpkg.com/@polkadot/params/-/params-0.17.24.tgz#ad831de10879a88bb918eb46e17e8133b5285683" - dependencies: - "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/extrinsics" "^0.17.24" - "@polkadot/primitives" "^0.17.24" - "@polkadot/util" "^0.22.9" - -"@polkadot/primitives-builder@^0.17.24": - version "0.17.24" - resolved "https://registry.yarnpkg.com/@polkadot/primitives-builder/-/primitives-builder-0.17.24.tgz#33aa3b157d64603ad50e53f2132c330447a5892f" - dependencies: - "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/extrinsics-codec" "^0.17.24" - "@polkadot/primitives" "^0.17.24" - "@polkadot/primitives-codec" "^0.17.24" - "@polkadot/util" "^0.22.9" - "@polkadot/util-crypto" "^0.22.9" - "@polkadot/util-triehash" "^0.22.9" - -"@polkadot/primitives-builder@^0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@polkadot/primitives-builder/-/primitives-builder-0.17.9.tgz#7d79d336ced1a5ee71a1b265af809f3ea22cf21b" - dependencies: - "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/primitives" "^0.17.9" - "@polkadot/primitives-codec" "^0.17.9" - "@polkadot/util" "^0.22.2" - "@polkadot/util-crypto" "^0.22.2" - "@polkadot/util-triehash" "^0.22.2" - -"@polkadot/primitives-codec@^0.17.24": - version "0.17.24" - resolved "https://registry.yarnpkg.com/@polkadot/primitives-codec/-/primitives-codec-0.17.24.tgz#114251cecc6142247826bc226b3db0486fd005ea" - dependencies: - "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/primitives" "^0.17.24" - "@polkadot/primitives-builder" "^0.17.24" - "@polkadot/primitives-rlp" "^0.17.9" - "@polkadot/util" "^0.22.9" - "@polkadot/util-keyring" "^0.22.9" - -"@polkadot/primitives-codec@^0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@polkadot/primitives-codec/-/primitives-codec-0.17.9.tgz#72995c2329953c8e8cdbb6b9bf5eb791c98ccbdc" +"@polkadot/params@^0.19.1": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@polkadot/params/-/params-0.19.1.tgz#020fb92af8992ac4b12774697a1c8676ef311ea2" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/primitives" "^0.17.9" - "@polkadot/primitives-builder" "^0.17.9" - "@polkadot/primitives-rlp" "^0.17.9" - "@polkadot/util" "^0.22.2" - "@polkadot/util-keyring" "^0.22.2" + "@polkadot/extrinsics" "^0.19.1" + "@polkadot/extrinsics-codec" "^0.19.1" + "@polkadot/primitives" "^0.19.1" + "@polkadot/util" "^0.24.1" -"@polkadot/primitives-json@^0.17.24": - version "0.17.24" - resolved "https://registry.yarnpkg.com/@polkadot/primitives-json/-/primitives-json-0.17.24.tgz#84b28089375f275577443cffa65326ebeb7dcc6a" +"@polkadot/primitives-builder@^0.19.1": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@polkadot/primitives-builder/-/primitives-builder-0.19.1.tgz#4685e7511b7449918530217471d29c2b22b02bd1" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/primitives" "^0.17.24" - "@polkadot/primitives-builder" "^0.17.24" - "@polkadot/util" "^0.22.9" + "@polkadot/extrinsics-codec" "^0.19.1" + "@polkadot/primitives" "^0.19.1" + "@polkadot/primitives-codec" "^0.19.1" + "@polkadot/util" "^0.24.1" + "@polkadot/util-crypto" "^0.24.1" + "@polkadot/util-triehash" "^0.24.1" -"@polkadot/primitives-rlp@^0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@polkadot/primitives-rlp/-/primitives-rlp-0.17.9.tgz#54ab801de520bf5d2833332fa7f02dd60f0db968" +"@polkadot/primitives-codec@^0.19.1": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@polkadot/primitives-codec/-/primitives-codec-0.19.1.tgz#8ce3fab83ced3e9e9e32541b26fc9f496ebb46db" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/primitives" "^0.17.9" - "@polkadot/primitives-builder" "^0.17.9" - "@polkadot/util" "^0.22.2" - "@polkadot/util-crypto" "^0.22.2" + "@polkadot/primitives" "^0.19.1" + "@polkadot/primitives-builder" "^0.19.1" + "@polkadot/util" "^0.24.1" + "@polkadot/util-crypto" "^0.24.1" + "@polkadot/util-keyring" "^0.24.1" -"@polkadot/primitives@^0.17.24": - version "0.17.24" - resolved "https://registry.yarnpkg.com/@polkadot/primitives/-/primitives-0.17.24.tgz#ea69766d44d698145b46ca8896651388bcb8cb8e" +"@polkadot/primitives-json@^0.19.1": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@polkadot/primitives-json/-/primitives-json-0.19.1.tgz#44880afb8ebc39507fc8ec5fc4be76abbb7dfb35" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/util" "^0.22.9" + "@polkadot/primitives" "^0.19.1" + "@polkadot/primitives-builder" "^0.19.1" + "@polkadot/util" "^0.24.1" -"@polkadot/primitives@^0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@polkadot/primitives/-/primitives-0.17.9.tgz#2764213d8dece8657fab12889f26dab3c648c5ad" +"@polkadot/primitives@^0.19.1": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@polkadot/primitives/-/primitives-0.19.1.tgz#eeb35653152b381604ba1540b07dd5b49b967e89" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/util" "^0.22.2" + "@polkadot/util" "^0.24.1" -"@polkadot/storage@^0.17.24": - version "0.17.24" - resolved "https://registry.yarnpkg.com/@polkadot/storage/-/storage-0.17.24.tgz#e09a79ccf306d598419770cdbc3b151c38c30a3f" +"@polkadot/storage@^0.19.1": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@polkadot/storage/-/storage-0.19.1.tgz#eb6c2851de7a2030d4e1c0612911e6d6dd6ae9fd" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/params" "^0.17.24" - "@polkadot/primitives" "^0.17.24" - "@polkadot/util" "^0.22.9" - "@polkadot/util-keyring" "^0.22.9" + "@polkadot/params" "^0.19.1" + "@polkadot/primitives" "^0.19.1" + "@polkadot/util" "^0.24.1" + "@polkadot/util-crypto" "^0.24.1" + "@polkadot/util-keyring" "^0.24.1" -"@polkadot/util-crypto@^0.22.2": - version "0.22.2" - resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-0.22.2.tgz#068b567b2a1945fac5d0cf699f6226b21297a0ee" +"@polkadot/util-crypto@^0.24.1": + version "0.24.1" + resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-0.24.1.tgz#606e619bfb350d1326d73a7181ba3636872f7e57" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/util" "^0.22.2" + "@polkadot/util" "^0.24.1" blakejs "^1.1.0" js-sha3 "^0.7.0" tweetnacl "^1.0.0" xxhashjs "^0.2.2" -"@polkadot/util-crypto@^0.22.9": - version "0.22.9" - resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-0.22.9.tgz#dfb3ff771db5ed044f82f7011326a9b306fda29f" +"@polkadot/util-keyring@^0.24.1": + version "0.24.1" + resolved "https://registry.yarnpkg.com/@polkadot/util-keyring/-/util-keyring-0.24.1.tgz#c2b9e006edb665fed466abd3424de21dd3bd72ca" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/util" "^0.22.9" - blakejs "^1.1.0" - js-sha3 "^0.7.0" - tweetnacl "^1.0.0" - xxhashjs "^0.2.2" - -"@polkadot/util-keyring@^0.22.2": - version "0.22.2" - resolved "https://registry.yarnpkg.com/@polkadot/util-keyring/-/util-keyring-0.22.2.tgz#38513315d46e7124621e5bbc61f5d82ce8694e0e" - dependencies: - "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/util" "^0.22.2" - "@polkadot/util-crypto" "^0.22.2" + "@polkadot/util" "^0.24.1" + "@polkadot/util-crypto" "^0.24.1" + "@types/bs58" "^3.0.30" bs58 "^4.0.1" -"@polkadot/util-keyring@^0.22.9": - version "0.22.9" - resolved "https://registry.yarnpkg.com/@polkadot/util-keyring/-/util-keyring-0.22.9.tgz#79c832a162e84e19720e81d89fc4f5ab8a06b666" +"@polkadot/util-rlp@^0.24.1": + version "0.24.1" + resolved "https://registry.yarnpkg.com/@polkadot/util-rlp/-/util-rlp-0.24.1.tgz#8815d6fb93084d0cf72e6defadf9101fe16047cb" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/util" "^0.22.9" - "@polkadot/util-crypto" "^0.22.9" - bs58 "^4.0.1" + "@polkadot/util" "^0.24.1" -"@polkadot/util-rlp@^0.22.2": - version "0.22.2" - resolved "https://registry.yarnpkg.com/@polkadot/util-rlp/-/util-rlp-0.22.2.tgz#51a9d6728791a7e7de5c6451ba5b1cbbf4418a71" +"@polkadot/util-triehash@^0.24.1": + version "0.24.1" + resolved "https://registry.yarnpkg.com/@polkadot/util-triehash/-/util-triehash-0.24.1.tgz#b1c7ec6086f7db7b6785a8155642dff687722c50" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/util" "^0.22.2" + "@polkadot/util" "^0.24.1" + "@polkadot/util-crypto" "^0.24.1" + "@polkadot/util-rlp" "^0.24.1" -"@polkadot/util-rlp@^0.22.9": - version "0.22.9" - resolved "https://registry.yarnpkg.com/@polkadot/util-rlp/-/util-rlp-0.22.9.tgz#f07195eb2fe82e165c0102880ffe212f0394c77f" +"@polkadot/util@^0.24.1": + version "0.24.1" + resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-0.24.1.tgz#4feb0d57b84f71707cff66b76d341f6e755ee308" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/util" "^0.22.9" + "@types/deasync" "^0.1.0" + "@types/ip-regex" "^2.0.0" + "@types/xxhashjs" "^0.1.1" + bn.js "^4.11.8" + chalk "^2.4.1" + deasync "^0.1.13" + ip-regex "^2.1.0" -"@polkadot/util-triehash@^0.22.2": - version "0.22.2" - resolved "https://registry.yarnpkg.com/@polkadot/util-triehash/-/util-triehash-0.22.2.tgz#f98994bd9f5b0132baa9de8eff625fd834af4bd3" - dependencies: - "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/util" "^0.22.2" - "@polkadot/util-crypto" "^0.22.2" - "@polkadot/util-rlp" "^0.22.2" +"@types/base-x@*": + version "1.0.29" + resolved "https://registry.yarnpkg.com/@types/base-x/-/base-x-1.0.29.tgz#8a2d73e4a5c3121757a5f8870cfa4509655186b6" -"@polkadot/util-triehash@^0.22.9": - version "0.22.9" - resolved "https://registry.yarnpkg.com/@polkadot/util-triehash/-/util-triehash-0.22.9.tgz#563ae3ff76dd54de9f2c5bb39686a55f6c78ce52" +"@types/bs58@^3.0.30": + version "3.0.30" + resolved "https://registry.yarnpkg.com/@types/bs58/-/bs58-3.0.30.tgz#916ba10992465e56f81afc735e7935fd749893e1" dependencies: - "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/util" "^0.22.9" - "@polkadot/util-crypto" "^0.22.9" - "@polkadot/util-rlp" "^0.22.9" + "@types/base-x" "*" -"@polkadot/util@^0.22.2": - version "0.22.2" - resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-0.22.2.tgz#1a87bf6e0bb10aabbde9e579b1ab791c90f2eee5" - dependencies: - "@babel/runtime" "^7.0.0-beta.47" - bn.js "^4.11.8" - deasync "^0.1.12" - ip-regex "^2.1.0" +"@types/deasync@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@types/deasync/-/deasync-0.1.0.tgz#b2bd6c3fcde3cf67b8be4c2f70136ba8f157b45a" -"@polkadot/util@^0.22.9": - version "0.22.9" - resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-0.22.9.tgz#2314fcda8a104f15948cdf62629ff7b78fedef90" - dependencies: - "@babel/runtime" "^7.0.0-beta.47" - bn.js "^4.11.8" - chalk "^2.4.1" - deasync "^0.1.12" - ip-regex "^2.1.0" +"@types/ip-regex@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/ip-regex/-/ip-regex-2.0.0.tgz#4b7abb4c2cc1a50f00bb4f26983eefd0cd88f005" + +"@types/jest@^23.1.1": + version "23.1.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.1.1.tgz#c54ab1a5f41aa693c0957222dd10414416d0c87b" "@types/node@*": version "8.5.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.2.tgz#83b8103fa9a2c2e83d78f701a9aa7c9539739aa5" +"@types/node@^10.3.3": + version "10.3.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.3.4.tgz#c74e8aec19e555df44609b8057311052a2c84d9e" + +"@types/xxhashjs@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@types/xxhashjs/-/xxhashjs-0.1.1.tgz#980709096c7138713b7777f49dccd4b8f93908e5" + JSONStream@^1.0.4: version "1.3.1" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" @@ -1037,11 +1029,11 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -append-transform@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" +append-transform@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" dependencies: - default-require-extensions "^1.0.0" + default-require-extensions "^2.0.0" aproba@^1.0.3: version "1.2.0" @@ -1237,12 +1229,12 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-jest@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.4.3.tgz#4b7a0b6041691bbd422ab49b3b73654a49a6627a" +babel-jest@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.0.1.tgz#bbad3bf523fb202da05ed0a6540b48c84eed13a6" dependencies: - babel-plugin-istanbul "^4.1.5" - babel-preset-jest "^22.4.3" + babel-plugin-istanbul "^4.1.6" + babel-preset-jest "^23.0.1" babel-messages@^6.23.0: version "6.23.0" @@ -1250,27 +1242,28 @@ babel-messages@^6.23.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-istanbul@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz#6760cdd977f411d3e175bb064f2bc327d99b2b6e" +babel-plugin-istanbul@^4.1.6: + version "4.1.6" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" dependencies: + babel-plugin-syntax-object-rest-spread "^6.13.0" find-up "^2.1.0" - istanbul-lib-instrument "^1.7.5" - test-exclude "^4.1.1" + istanbul-lib-instrument "^1.10.1" + test-exclude "^4.2.1" -babel-plugin-jest-hoist@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.3.tgz#7d8bcccadc2667f96a0dcc6afe1891875ee6c14a" +babel-plugin-jest-hoist@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.0.1.tgz#eaa11c964563aea9c21becef2bdf7853f7f3c148" babel-plugin-syntax-object-rest-spread@^6.13.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" -babel-preset-jest@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.4.3.tgz#e92eef9813b7026ab4ca675799f37419b5a44156" +babel-preset-jest@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.0.1.tgz#631cc545c6cf021943013bcaf22f45d87fe62198" dependencies: - babel-plugin-jest-hoist "^22.4.3" + babel-plugin-jest-hoist "^23.0.1" babel-plugin-syntax-object-rest-spread "^6.13.0" babel-register@^6.26.0: @@ -1329,10 +1322,6 @@ babylon@7.0.0-beta.44: version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d" -babylon@7.0.0-beta.47: - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.47.tgz#6d1fa44f0abec41ab7c780481e62fd9aafbdea80" - babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" @@ -1468,6 +1457,10 @@ bser@^2.0.0: dependencies: node-int64 "^0.4.0" +buffer-from@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04" + builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -1752,6 +1745,10 @@ compare-func@^1.3.1: array-ify "^1.0.0" dot-prop "^3.0.0" +compare-versions@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.3.0.tgz#af93ea705a96943f622ab309578b9b90586f39c3" + component-emitter@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" @@ -1938,6 +1935,17 @@ copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" +copyfiles@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/copyfiles/-/copyfiles-2.0.0.tgz#bbd78bb78e8fd6db5c67adf54249317b24560f2a" + dependencies: + glob "^7.0.5" + minimatch "^3.0.3" + mkdirp "^0.5.1" + noms "0.0.0" + through2 "^2.0.1" + yargs "^11.0.0" + core-js@^2.4.0, core-js@^2.5.0: version "2.5.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" @@ -1946,6 +1954,10 @@ core-js@^2.5.3: version "2.5.6" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.6.tgz#0fe6d45bf3cac3ac364a9d72de7576f4eb221b9d" +core-js@^2.5.7: + version "2.5.7" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" + core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -2022,9 +2034,9 @@ dateformat@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" -deasync@^0.1.12: - version "0.1.12" - resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.12.tgz#0159492a4133ab301d6c778cf01e74e63b10e549" +deasync@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.13.tgz#815c2b69bbd1117cae570152cd895661c09f20ea" dependencies: bindings "~1.2.1" nan "^2.0.7" @@ -2078,11 +2090,11 @@ deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" -default-require-extensions@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" +default-require-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" dependencies: - strip-bom "^2.0.0" + strip-bom "^3.0.0" defaults@^1.0.3: version "1.0.3" @@ -2472,16 +2484,16 @@ expand-range@^1.8.1: dependencies: fill-range "^2.1.0" -expect@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/expect/-/expect-22.4.3.tgz#d5a29d0a0e1fb2153557caef2674d4547e914674" +expect@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-23.1.0.tgz#bfdfd57a2a20170d875999ee9787cc71f01c205f" dependencies: ansi-styles "^3.2.0" - jest-diff "^22.4.3" - jest-get-type "^22.4.3" - jest-matcher-utils "^22.4.3" - jest-message-util "^22.4.3" - jest-regex-util "^22.4.3" + jest-diff "^23.0.1" + jest-get-type "^22.1.0" + jest-matcher-utils "^23.0.1" + jest-message-util "^23.1.0" + jest-regex-util "^23.0.0" extend-shallow@^2.0.1: version "2.0.1" @@ -3143,7 +3155,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.3: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -3456,6 +3468,10 @@ is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -3485,78 +3501,79 @@ isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" -istanbul-api@^1.1.14: - version "1.2.1" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.2.1.tgz#0c60a0515eb11c7d65c6b50bba2c6e999acd8620" +istanbul-api@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.1.tgz#4c3b05d18c0016d1022e079b98dc82c40f488954" dependencies: async "^2.1.4" + compare-versions "^3.1.0" fileset "^2.0.2" - istanbul-lib-coverage "^1.1.1" - istanbul-lib-hook "^1.1.0" - istanbul-lib-instrument "^1.9.1" - istanbul-lib-report "^1.1.2" - istanbul-lib-source-maps "^1.2.2" - istanbul-reports "^1.1.3" + istanbul-lib-coverage "^1.2.0" + istanbul-lib-hook "^1.2.0" + istanbul-lib-instrument "^1.10.1" + istanbul-lib-report "^1.1.4" + istanbul-lib-source-maps "^1.2.4" + istanbul-reports "^1.3.0" js-yaml "^3.7.0" mkdirp "^0.5.1" once "^1.4.0" -istanbul-lib-coverage@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" +istanbul-lib-coverage@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz#f7d8f2e42b97e37fe796114cb0f9d68b5e3a4341" -istanbul-lib-hook@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz#8538d970372cb3716d53e55523dd54b557a8d89b" +istanbul-lib-hook@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.1.tgz#f614ec45287b2a8fc4f07f5660af787575601805" dependencies: - append-transform "^0.4.0" + append-transform "^1.0.0" -istanbul-lib-instrument@^1.7.5, istanbul-lib-instrument@^1.8.0, istanbul-lib-instrument@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz#250b30b3531e5d3251299fdd64b0b2c9db6b558e" +istanbul-lib-instrument@^1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz#724b4b6caceba8692d3f1f9d0727e279c401af7b" dependencies: babel-generator "^6.18.0" babel-template "^6.16.0" babel-traverse "^6.18.0" babel-types "^6.18.0" babylon "^6.18.0" - istanbul-lib-coverage "^1.1.1" + istanbul-lib-coverage "^1.2.0" semver "^5.3.0" -istanbul-lib-report@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz#922be27c13b9511b979bd1587359f69798c1d425" +istanbul-lib-report@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.4.tgz#e886cdf505c4ebbd8e099e4396a90d0a28e2acb5" dependencies: - istanbul-lib-coverage "^1.1.1" + istanbul-lib-coverage "^1.2.0" mkdirp "^0.5.1" path-parse "^1.0.5" supports-color "^3.1.2" -istanbul-lib-source-maps@^1.2.1, istanbul-lib-source-maps@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz#750578602435f28a0c04ee6d7d9e0f2960e62c1c" +istanbul-lib-source-maps@^1.2.4: + version "1.2.5" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz#ffe6be4e7ab86d3603e4290d54990b14506fc9b1" dependencies: debug "^3.1.0" - istanbul-lib-coverage "^1.1.1" + istanbul-lib-coverage "^1.2.0" mkdirp "^0.5.1" rimraf "^2.6.1" source-map "^0.5.3" -istanbul-reports@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.3.tgz#3b9e1e8defb6d18b1d425da8e8b32c5a163f2d10" +istanbul-reports@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.3.0.tgz#2f322e81e1d9520767597dca3c20a0cce89a3554" dependencies: handlebars "^4.0.3" -jest-changed-files@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-22.4.3.tgz#8882181e022c38bd46a2e4d18d44d19d90a90fb2" +jest-changed-files@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.0.1.tgz#f79572d0720844ea5df84c2a448e862c2254f60c" dependencies: throat "^4.0.0" -jest-cli@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-22.4.3.tgz#bf16c4a5fb7edc3fa5b9bb7819e34139e88a72c7" +jest-cli@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.1.0.tgz#eb8bdd4ce0d15250892e31ad9b69bc99d2a8f6bf" dependencies: ansi-escapes "^3.0.0" chalk "^2.0.1" @@ -3565,24 +3582,25 @@ jest-cli@^22.4.3: graceful-fs "^4.1.11" import-local "^1.0.0" is-ci "^1.0.10" - istanbul-api "^1.1.14" - istanbul-lib-coverage "^1.1.1" - istanbul-lib-instrument "^1.8.0" - istanbul-lib-source-maps "^1.2.1" - jest-changed-files "^22.4.3" - jest-config "^22.4.3" - jest-environment-jsdom "^22.4.3" - jest-get-type "^22.4.3" - jest-haste-map "^22.4.3" - jest-message-util "^22.4.3" - jest-regex-util "^22.4.3" - jest-resolve-dependencies "^22.4.3" - jest-runner "^22.4.3" - jest-runtime "^22.4.3" - jest-snapshot "^22.4.3" - jest-util "^22.4.3" - jest-validate "^22.4.3" - jest-worker "^22.4.3" + istanbul-api "^1.3.1" + istanbul-lib-coverage "^1.2.0" + istanbul-lib-instrument "^1.10.1" + istanbul-lib-source-maps "^1.2.4" + jest-changed-files "^23.0.1" + jest-config "^23.1.0" + jest-environment-jsdom "^23.1.0" + jest-get-type "^22.1.0" + jest-haste-map "^23.1.0" + jest-message-util "^23.1.0" + jest-regex-util "^23.0.0" + jest-resolve-dependencies "^23.0.1" + jest-runner "^23.1.0" + jest-runtime "^23.1.0" + jest-snapshot "^23.0.1" + jest-util "^23.1.0" + jest-validate "^23.0.1" + jest-watcher "^23.1.0" + jest-worker "^23.0.1" micromatch "^2.3.11" node-notifier "^5.2.1" realpath-native "^1.0.0" @@ -3591,103 +3609,112 @@ jest-cli@^22.4.3: string-length "^2.0.0" strip-ansi "^4.0.0" which "^1.2.12" - yargs "^10.0.3" + yargs "^11.0.0" -jest-config@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.4.3.tgz#0e9d57db267839ea31309119b41dc2fa31b76403" +jest-config@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.1.0.tgz#708ca0f431d356ee424fb4895d3308006bdd8241" dependencies: + babel-core "^6.0.0" + babel-jest "^23.0.1" chalk "^2.0.1" glob "^7.1.1" - jest-environment-jsdom "^22.4.3" - jest-environment-node "^22.4.3" - jest-get-type "^22.4.3" - jest-jasmine2 "^22.4.3" - jest-regex-util "^22.4.3" - jest-resolve "^22.4.3" - jest-util "^22.4.3" - jest-validate "^22.4.3" - pretty-format "^22.4.3" - -jest-diff@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-22.4.3.tgz#e18cc3feff0aeef159d02310f2686d4065378030" + jest-environment-jsdom "^23.1.0" + jest-environment-node "^23.1.0" + jest-get-type "^22.1.0" + jest-jasmine2 "^23.1.0" + jest-regex-util "^23.0.0" + jest-resolve "^23.1.0" + jest-util "^23.1.0" + jest-validate "^23.0.1" + pretty-format "^23.0.1" + +jest-diff@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.0.1.tgz#3d49137cee12c320a4b4d2b4a6fa6e82d491a16a" dependencies: chalk "^2.0.1" diff "^3.2.0" - jest-get-type "^22.4.3" - pretty-format "^22.4.3" + jest-get-type "^22.1.0" + pretty-format "^23.0.1" -jest-docblock@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-22.4.3.tgz#50886f132b42b280c903c592373bb6e93bb68b19" +jest-docblock@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.0.1.tgz#deddd18333be5dc2415260a04ef3fce9276b5725" dependencies: detect-newline "^2.1.0" -jest-environment-jsdom@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz#d67daa4155e33516aecdd35afd82d4abf0fa8a1e" +jest-each@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-23.1.0.tgz#16146b592c354867a5ae5e13cdf15c6c65b696c6" + dependencies: + chalk "^2.0.1" + pretty-format "^23.0.1" + +jest-environment-jsdom@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-23.1.0.tgz#85929914e23bed3577dac9755f4106d0697c479c" dependencies: - jest-mock "^22.4.3" - jest-util "^22.4.3" + jest-mock "^23.1.0" + jest-util "^23.1.0" jsdom "^11.5.1" -jest-environment-node@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-22.4.3.tgz#54c4eaa374c83dd52a9da8759be14ebe1d0b9129" +jest-environment-node@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-23.1.0.tgz#452c0bf949cfcbbacda1e1762eeed70bc784c7d5" dependencies: - jest-mock "^22.4.3" - jest-util "^22.4.3" + jest-mock "^23.1.0" + jest-util "^23.1.0" -jest-get-type@^22.4.3: +jest-get-type@^22.1.0: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" -jest-haste-map@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-22.4.3.tgz#25842fa2ba350200767ac27f658d58b9d5c2e20b" +jest-haste-map@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.1.0.tgz#18e6c7d5a8d27136f91b7d9852f85de0c7074c49" dependencies: fb-watchman "^2.0.0" graceful-fs "^4.1.11" - jest-docblock "^22.4.3" - jest-serializer "^22.4.3" - jest-worker "^22.4.3" + jest-docblock "^23.0.1" + jest-serializer "^23.0.1" + jest-worker "^23.0.1" micromatch "^2.3.11" sane "^2.0.0" -jest-jasmine2@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.4.3.tgz#4daf64cd14c793da9db34a7c7b8dcfe52a745965" +jest-jasmine2@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.1.0.tgz#4afab31729b654ddcd2b074add849396f13b30b8" dependencies: chalk "^2.0.1" co "^4.6.0" - expect "^22.4.3" - graceful-fs "^4.1.11" + expect "^23.1.0" is-generator-fn "^1.0.0" - jest-diff "^22.4.3" - jest-matcher-utils "^22.4.3" - jest-message-util "^22.4.3" - jest-snapshot "^22.4.3" - jest-util "^22.4.3" - source-map-support "^0.5.0" - -jest-leak-detector@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz#2b7b263103afae8c52b6b91241a2de40117e5b35" + jest-diff "^23.0.1" + jest-each "^23.1.0" + jest-matcher-utils "^23.0.1" + jest-message-util "^23.1.0" + jest-snapshot "^23.0.1" + jest-util "^23.1.0" + pretty-format "^23.0.1" + +jest-leak-detector@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.0.1.tgz#9dba07505ac3495c39d3ec09ac1e564599e861a0" dependencies: - pretty-format "^22.4.3" + pretty-format "^23.0.1" -jest-matcher-utils@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz#4632fe428ebc73ebc194d3c7b65d37b161f710ff" +jest-matcher-utils@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.0.1.tgz#0c6c0daedf9833c2a7f36236069efecb4c3f6e5f" dependencies: chalk "^2.0.1" - jest-get-type "^22.4.3" - pretty-format "^22.4.3" + jest-get-type "^22.1.0" + pretty-format "^23.0.1" -jest-message-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-22.4.3.tgz#cf3d38aafe4befddbfc455e57d65d5239e399eb7" +jest-message-util@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-23.1.0.tgz#9a809ba487ecac5ce511d4e698ee3b5ee2461ea9" dependencies: "@babel/code-frame" "^7.0.0-beta.35" chalk "^2.0.1" @@ -3695,117 +3722,134 @@ jest-message-util@^22.4.3: slash "^1.0.0" stack-utils "^1.0.1" -jest-mock@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-22.4.3.tgz#f63ba2f07a1511772cdc7979733397df770aabc7" +jest-mock@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.1.0.tgz#a381c31b121ab1f60c462a2dadb7b86dcccac487" -jest-regex-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.4.3.tgz#a826eb191cdf22502198c5401a1fc04de9cef5af" +jest-regex-util@^23.0.0: + version "23.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.0.0.tgz#dd5c1fde0c46f4371314cf10f7a751a23f4e8f76" -jest-resolve-dependencies@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz#e2256a5a846732dc3969cb72f3c9ad7725a8195e" +jest-resolve-dependencies@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.0.1.tgz#d01a10ddad9152c4cecdf5eac2b88571c4b6a64d" dependencies: - jest-regex-util "^22.4.3" + jest-regex-util "^23.0.0" + jest-snapshot "^23.0.1" -jest-resolve@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.4.3.tgz#0ce9d438c8438229aa9b916968ec6b05c1abb4ea" +jest-resolve@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.1.0.tgz#b9e316eecebd6f00bc50a3960d1527bae65792d2" dependencies: browser-resolve "^1.11.2" chalk "^2.0.1" + realpath-native "^1.0.0" -jest-runner@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-22.4.3.tgz#298ddd6a22b992c64401b4667702b325e50610c3" +jest-runner@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.1.0.tgz#fa20a933fff731a5432b3561e7f6426594fa29b5" dependencies: exit "^0.1.2" - jest-config "^22.4.3" - jest-docblock "^22.4.3" - jest-haste-map "^22.4.3" - jest-jasmine2 "^22.4.3" - jest-leak-detector "^22.4.3" - jest-message-util "^22.4.3" - jest-runtime "^22.4.3" - jest-util "^22.4.3" - jest-worker "^22.4.3" + graceful-fs "^4.1.11" + jest-config "^23.1.0" + jest-docblock "^23.0.1" + jest-haste-map "^23.1.0" + jest-jasmine2 "^23.1.0" + jest-leak-detector "^23.0.1" + jest-message-util "^23.1.0" + jest-runtime "^23.1.0" + jest-util "^23.1.0" + jest-worker "^23.0.1" + source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-22.4.3.tgz#b69926c34b851b920f666c93e86ba2912087e3d0" +jest-runtime@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.1.0.tgz#b4ae0e87259ecacfd4a884b639db07cf4dd620af" dependencies: babel-core "^6.0.0" - babel-jest "^22.4.3" - babel-plugin-istanbul "^4.1.5" + babel-plugin-istanbul "^4.1.6" chalk "^2.0.1" convert-source-map "^1.4.0" exit "^0.1.2" + fast-json-stable-stringify "^2.0.0" graceful-fs "^4.1.11" - jest-config "^22.4.3" - jest-haste-map "^22.4.3" - jest-regex-util "^22.4.3" - jest-resolve "^22.4.3" - jest-util "^22.4.3" - jest-validate "^22.4.3" - json-stable-stringify "^1.0.1" + jest-config "^23.1.0" + jest-haste-map "^23.1.0" + jest-message-util "^23.1.0" + jest-regex-util "^23.0.0" + jest-resolve "^23.1.0" + jest-snapshot "^23.0.1" + jest-util "^23.1.0" + jest-validate "^23.0.1" micromatch "^2.3.11" realpath-native "^1.0.0" slash "^1.0.0" strip-bom "3.0.0" write-file-atomic "^2.1.0" - yargs "^10.0.3" + yargs "^11.0.0" -jest-serializer@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-22.4.3.tgz#a679b81a7f111e4766235f4f0c46d230ee0f7436" +jest-serializer@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165" -jest-snapshot@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.4.3.tgz#b5c9b42846ffb9faccb76b841315ba67887362d2" +jest-snapshot@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.0.1.tgz#6674fa19b9eb69a99cabecd415bddc42d6af3e7e" dependencies: chalk "^2.0.1" - jest-diff "^22.4.3" - jest-matcher-utils "^22.4.3" + jest-diff "^23.0.1" + jest-matcher-utils "^23.0.1" mkdirp "^0.5.1" natural-compare "^1.4.0" - pretty-format "^22.4.3" + pretty-format "^23.0.1" -jest-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-22.4.3.tgz#c70fec8eec487c37b10b0809dc064a7ecf6aafac" +jest-util@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-23.1.0.tgz#c0251baf34644c6dd2fea78a962f4263ac55772d" dependencies: callsites "^2.0.0" chalk "^2.0.1" graceful-fs "^4.1.11" is-ci "^1.0.10" - jest-message-util "^22.4.3" + jest-message-util "^23.1.0" mkdirp "^0.5.1" + slash "^1.0.0" source-map "^0.6.0" -jest-validate@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.4.3.tgz#0780954a5a7daaeec8d3c10834b9280865976b30" +jest-validate@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.0.1.tgz#cd9f01a89d26bb885f12a8667715e9c865a5754f" dependencies: chalk "^2.0.1" - jest-config "^22.4.3" - jest-get-type "^22.4.3" + jest-get-type "^22.1.0" leven "^2.1.0" - pretty-format "^22.4.3" + pretty-format "^23.0.1" -jest-worker@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-22.4.3.tgz#5c421417cba1c0abf64bf56bd5fb7968d79dd40b" +jest-watcher@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-23.1.0.tgz#a8d5842e38d9fb4afff823df6abb42a58ae6cdbd" + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.1" + string-length "^2.0.0" + +jest-worker@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.0.1.tgz#9e649dd963ff4046026f91c4017f039a6aa4a7bc" dependencies: merge-stream "^1.0.1" -jest@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-22.4.3.tgz#2261f4b117dc46d9a4a1a673d2150958dee92f16" +jest@^23.0.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-23.1.0.tgz#bbb7f893100a11a742dd8bd0d047a54b0968ad1a" dependencies: import-local "^1.0.0" - jest-cli "^22.4.3" + jest-cli "^23.1.0" + +js-levenshtein@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.3.tgz#3ef627df48ec8cf24bacf05c0f184ff30ef413c5" js-sha3@^0.7.0: version "0.7.0" @@ -4252,7 +4296,7 @@ micromatch@^2.1.5, micromatch@^2.3.11: parse-glob "^3.0.4" regex-cache "^0.4.2" -micromatch@^3.1.4: +micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" dependencies: @@ -4388,6 +4432,10 @@ natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" +ncp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" + needle@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.0.tgz#f14efc69cee1024b72c8b21c7bdf94a731dc12fa" @@ -4465,6 +4513,13 @@ node-pre-gyp@^0.9.0: semver "^5.3.0" tar "^4" +noms@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859" + dependencies: + inherits "^2.0.1" + readable-stream "~1.0.31" + nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -4805,9 +4860,9 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -pretty-format@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.3.tgz#f873d780839a9c02e9664c8a082e9ee79eaac16f" +pretty-format@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.0.1.tgz#d61d065268e4c759083bccbca27a01ad7c7601f4" dependencies: ansi-regex "^3.0.0" ansi-styles "^3.2.0" @@ -4939,6 +4994,15 @@ readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable string_decoder "~1.0.3" util-deprecate "~1.0.1" +readable-stream@~1.0.31: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -4974,6 +5038,12 @@ regenerate-unicode-properties@^6.0.0: dependencies: regenerate "^1.3.3" +regenerate-unicode-properties@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c" + dependencies: + regenerate "^1.4.0" + regenerate@^1.3.3, regenerate@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" @@ -4986,9 +5056,9 @@ regenerator-runtime@^0.11.1: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" -regenerator-transform@^0.12.3: - version "0.12.3" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.12.3.tgz#459adfb64f6a27164ab991b7873f45ab969eca8b" +regenerator-transform@^0.12.4: + version "0.12.4" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.12.4.tgz#aa9b6c59f4b97be080e972506c560b3bccbfcff0" dependencies: private "^0.1.6" @@ -5009,7 +5079,7 @@ regexpp@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab" -regexpu-core@^4.1.3, regexpu-core@^4.1.4: +regexpu-core@^4.1.3: version "4.1.5" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.1.5.tgz#57fdfe1148f8a7a069086228515130cf1820ddd0" dependencies: @@ -5020,6 +5090,17 @@ regexpu-core@^4.1.3, regexpu-core@^4.1.4: unicode-match-property-ecmascript "^1.0.3" unicode-match-property-value-ecmascript "^1.0.1" +regexpu-core@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.2.0.tgz#a3744fa03806cffe146dea4421a3e73bdcc47b1d" + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^7.0.0" + regjsgen "^0.4.0" + regjsparser "^0.3.0" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.0.2" + registry-auth-token@^3.0.1: version "3.3.1" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.1.tgz#fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006" @@ -5403,10 +5484,11 @@ source-map-support@^0.4.15, source-map-support@^0.4.2: dependencies: source-map "^0.5.6" -source-map-support@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.0.tgz#2018a7ad2bdf8faf2691e5fddab26bed5a2bacab" +source-map-support@^0.5.6: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.6.tgz#4435cee46b1aab62b8e8610ce60f788091c51c13" dependencies: + buffer-from "^1.0.0" source-map "^0.6.0" source-map-url@^0.4.0: @@ -5514,6 +5596,10 @@ string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + string_decoder@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" @@ -5678,12 +5764,12 @@ tempfile@^1.1.1: os-tmpdir "^1.0.0" uuid "^2.0.1" -test-exclude@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26" +test-exclude@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.1.tgz#dfa222f03480bca69207ca728b37d74b45f724fa" dependencies: arrify "^1.0.1" - micromatch "^2.3.11" + micromatch "^3.1.8" object-assign "^4.1.0" read-pkg-up "^1.0.1" require-main-filename "^1.0.1" @@ -5700,7 +5786,7 @@ throat@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" -through2@^2.0.0, through2@^2.0.2: +through2@^2.0.0, through2@^2.0.1, through2@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" dependencies: @@ -5829,6 +5915,10 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" +typescript@^2.9.2: + version "2.9.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c" + uc.micro@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.3.tgz#7ed50d5e0f9a9fb0a573379259f2a77458d50192" @@ -5854,6 +5944,10 @@ unicode-canonical-property-names-ecmascript@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.3.tgz#f6119f417467593c0086357c85546b6ad5abc583" +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + unicode-match-property-ecmascript@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.3.tgz#db9b1cb4ffc67e0c5583780b1b59370e4cbe97b9" @@ -5861,14 +5955,29 @@ unicode-match-property-ecmascript@^1.0.3: unicode-canonical-property-names-ecmascript "^1.0.2" unicode-property-aliases-ecmascript "^1.0.3" +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.1.tgz#fea059120a016f403afd3bf586162b4db03e0604" +unicode-match-property-value-ecmascript@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4" + unicode-property-aliases-ecmascript@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.3.tgz#ac3522583b9e630580f916635333e00c5ead690d" +unicode-property-aliases-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0" + union-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" @@ -6112,35 +6221,12 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" -yargs-parser@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" - dependencies: - camelcase "^4.1.0" - yargs-parser@^9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" dependencies: camelcase "^4.1.0" -yargs@^10.0.3: - version "10.0.3" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.0.3.tgz#6542debd9080ad517ec5048fb454efe9e4d4aaae" - dependencies: - cliui "^3.2.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^8.0.0" - yargs@^11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.0.0.tgz#c052931006c5eee74610e5fc0354bedfd08a201b" From 36e4e461714ba0bde550a10ad55b4639afd02263 Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Sat, 23 Jun 2018 10:05:46 +0200 Subject: [PATCH 2/6] ES6 import/export --- .flowconfig | 16 --------------- packages/api-format/src/echo.spec.js | 2 +- packages/api-format/src/echo.ts | 4 ++-- packages/api-format/src/format.spec.js | 4 ++-- packages/api-format/src/format.ts | 20 ++++++++++--------- packages/api-format/src/index.ts | 6 +++--- packages/api-format/src/input.spec.js | 2 +- packages/api-format/src/input.ts | 12 +++++------ packages/api-format/src/output.spec.js | 4 ++-- packages/api-format/src/output.ts | 18 ++++++++--------- .../src/coder/json/decodeResponse.spec.js | 2 +- .../src/coder/json/decodeResponse.ts | 10 +++++----- .../src/coder/json/encodeJson.spec.js | 2 +- .../api-provider/src/coder/json/encodeJson.ts | 6 +++--- .../src/coder/json/encodeObject.spec.js | 2 +- .../src/coder/json/encodeObject.ts | 4 ++-- packages/api-provider/src/coder/json/index.ts | 10 +++++----- packages/api-provider/src/http/index.spec.js | 4 ++-- packages/api-provider/src/http/index.ts | 12 +++++------ packages/api-provider/src/http/on.ts | 4 ++-- packages/api-provider/src/http/send.spec.js | 4 ++-- packages/api-provider/src/http/send.ts | 4 ++-- packages/api-provider/src/http/state.spec.js | 2 +- packages/api-provider/src/http/state.ts | 12 ++++++----- packages/api-provider/src/http/subscribe.ts | 2 +- packages/api-provider/src/http/unsubscribe.ts | 4 ++-- packages/api-provider/src/index.ts | 6 +++--- packages/api-provider/src/mock/index.ts | 16 +++++++-------- packages/api-provider/src/mock/mocks.ts | 18 ++++++++--------- packages/api-provider/src/mock/on.ts | 4 ++-- packages/api-provider/src/mock/send.ts | 4 ++-- packages/api-provider/src/mock/state.spec.js | 2 +- packages/api-provider/src/mock/state.ts | 14 +++++++------ .../api-provider/src/mock/subscribe.spec.js | 4 ++-- packages/api-provider/src/mock/subscribe.ts | 4 ++-- packages/api-provider/src/mock/types.d.ts | 10 +++++----- .../api-provider/src/mock/unsubscribe.spec.js | 6 +++--- packages/api-provider/src/mock/unsubscribe.ts | 4 ++-- packages/api-provider/src/ws/connect.spec.js | 6 +++--- packages/api-provider/src/ws/connect.ts | 12 +++++------ packages/api-provider/src/ws/index.spec.js | 4 ++-- packages/api-provider/src/ws/index.ts | 16 +++++++-------- packages/api-provider/src/ws/on.ts | 2 +- packages/api-provider/src/ws/onClose.spec.js | 4 ++-- packages/api-provider/src/ws/onClose.ts | 2 +- packages/api-provider/src/ws/onError.spec.js | 4 ++-- packages/api-provider/src/ws/onError.ts | 2 +- packages/api-provider/src/ws/onMessage.ts | 10 +++++----- .../src/ws/onMessageResult.spec.js | 4 ++-- .../api-provider/src/ws/onMessageResult.ts | 4 ++-- .../src/ws/onMessageSubscribe.spec.js | 4 ++-- .../api-provider/src/ws/onMessageSubscribe.ts | 4 ++-- packages/api-provider/src/ws/onOpen.spec.js | 4 ++-- packages/api-provider/src/ws/onOpen.ts | 2 +- packages/api-provider/src/ws/polyfill.ts | 2 +- packages/api-provider/src/ws/send.spec.js | 4 ++-- packages/api-provider/src/ws/send.ts | 4 ++-- packages/api-provider/src/ws/state.spec.js | 2 +- packages/api-provider/src/ws/state.ts | 12 ++++++----- .../api-provider/src/ws/subscribe.spec.js | 4 ++-- packages/api-provider/src/ws/subscribe.ts | 6 +++--- packages/api-provider/src/ws/types.d.ts | 12 ++++++++--- .../api-provider/src/ws/unsubscribe.spec.js | 4 ++-- packages/api-provider/src/ws/unsubscribe.ts | 10 +++++----- packages/api-provider/test/e2e.test.ts | 4 ++-- packages/api-provider/test/mockHttp.ts | 4 ++-- packages/api-provider/test/mockWs.ts | 4 ++-- packages/api-rx/src/api/connected.ts | 6 +++--- packages/api-rx/src/api/index.ts | 6 +++--- packages/api-rx/src/defaults.ts | 2 +- packages/api-rx/src/index.ts | 16 +++++++-------- packages/api-rx/src/interface.ts | 6 +++--- packages/api-rx/src/observable/cached.spec.js | 2 +- packages/api-rx/src/observable/cached.ts | 6 +++--- packages/api-rx/src/observable/index.spec.js | 2 +- packages/api-rx/src/observable/index.ts | 10 +++++----- .../api-rx/src/observable/subject.spec.js | 2 +- packages/api-rx/src/observable/subject.ts | 8 ++++---- packages/api/src/create/interface.spec.js | 4 ++-- packages/api/src/create/interface.ts | 10 +++++----- packages/api/src/create/methodSend.spec.js | 2 +- packages/api/src/create/methodSend.ts | 12 +++++------ packages/api/src/create/methodSubscribe.ts | 16 +++++++-------- packages/api/src/create/params.spec.js | 2 +- packages/api/src/create/params.ts | 8 ++++---- packages/api/src/index.spec.js | 2 +- packages/api/src/index.ts | 12 +++++------ 87 files changed, 276 insertions(+), 278 deletions(-) delete mode 100644 .flowconfig diff --git a/.flowconfig b/.flowconfig deleted file mode 100644 index ce3ff01cbc05..000000000000 --- a/.flowconfig +++ /dev/null @@ -1,16 +0,0 @@ -[ignore] -/build -/packages/.*/build - -[include] - -[libs] -node_modules/@polkadot/dev/flow-typed - -[lints] -all=warn - -[options] -include_warnings=true -module.name_mapper='^@polkadot/api-\(format\|jsonrpc\|provider\|rx\)\(.*\)$' -> '/packages/api-\1/src\2' -module.name_mapper='^@polkadot/api\(.*\)$' -> '/packages/api/src\1' diff --git a/packages/api-format/src/echo.spec.js b/packages/api-format/src/echo.spec.js index 76e36a70814d..6c5d366596ce 100644 --- a/packages/api-format/src/echo.spec.js +++ b/packages/api-format/src/echo.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const echo = require('./echo'); +import echo from './echo'; describe('echo', () => { it('returns input value as output value', () => { diff --git a/packages/api-format/src/echo.ts b/packages/api-format/src/echo.ts index 5fc206cb14c5..c4d16aad78c2 100644 --- a/packages/api-format/src/echo.ts +++ b/packages/api-format/src/echo.ts @@ -2,6 +2,6 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -module.exports = function echo (value: any): any { +export default function echo (value: any): any { return value; -}; +} diff --git a/packages/api-format/src/format.spec.js b/packages/api-format/src/format.spec.js index e3586fb4619f..baaddde7f163 100644 --- a/packages/api-format/src/format.spec.js +++ b/packages/api-format/src/format.spec.js @@ -2,8 +2,8 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const format = require('./format'); -const echo = require('./echo'); +import format from './format'; +import echo from './echo'; describe('format', () => { let formatters; diff --git a/packages/api-format/src/format.ts b/packages/api-format/src/format.ts index ded66c3bb75f..89c287bb3f04 100644 --- a/packages/api-format/src/format.ts +++ b/packages/api-format/src/format.ts @@ -5,15 +5,17 @@ import { Param$Types, Param$Type$Array } from '@polkadot/params/types'; import { FormatterFunction } from './types'; -type FormattersFunctionMap = $Shape<{ - [Param$Types]: FormatterFunction -}>; +type FormattersFunctionMap = { + [index: Param$Types]: FormatterFunction +} + +import typeToString from '@polkadot/params/typeToString'; +import isUndefined from '@polkadot/util/is/undefined'; +import logger from '@polkadot/util/logger'; -const typeToString = require('@polkadot/params/typeToString'); -const isUndefined = require('@polkadot/util/is/undefined'); -const l = require('@polkadot/util/logger')('api-format'); +const echo from './echo'; -const echo = require('./echo'); +const l = logger('api-format'); function formatSingleType (formatters: FormattersFunctionMap, type: Param$Types, value: any): any { const formatter: FormatterFunction = formatters[type]; @@ -37,7 +39,7 @@ function formatArrayType (formatters: FormattersFunctionMap, [ type ]: Param$Typ }); } -module.exports = function format (formatters: FormattersFunctionMap, types: Array, values: Array): Array { +export default function format (formatters: FormattersFunctionMap, types: Array, values: Array): Array { return values.map((value, index): any => { const type = types[index]; @@ -48,4 +50,4 @@ module.exports = function format (formatters: FormattersFunctionMap, types: Arra return formatSingleType(formatters, type, value); }); -}; +} diff --git a/packages/api-format/src/index.ts b/packages/api-format/src/index.ts index 3e82e922f91f..8973e3431ca5 100644 --- a/packages/api-format/src/index.ts +++ b/packages/api-format/src/index.ts @@ -2,10 +2,10 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const formatInputs = require('./input'); -const formatOutput = require('./output'); +import formatInputs from './input'; +import formatOutput from './output'; -module.exports = { +export { formatInputs, formatOutput }; diff --git a/packages/api-format/src/input.spec.js b/packages/api-format/src/input.spec.js index 665d5deee772..ca275c96ba01 100644 --- a/packages/api-format/src/input.spec.js +++ b/packages/api-format/src/input.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const { formatInputs } = require('./index'); +import { formatInputs } from './index'; describe('formatInputs', () => { it('formats each value in an array', () => { diff --git a/packages/api-format/src/input.ts b/packages/api-format/src/input.ts index 3a5586d20fa7..34cc37aceba8 100644 --- a/packages/api-format/src/input.ts +++ b/packages/api-format/src/input.ts @@ -4,11 +4,11 @@ import { Params } from '@polkadot/params/types'; -const addressDecode = require('@polkadot/util-keyring/address/decode'); -const bytesEncode = require('@polkadot/primitives-json/bytes/encode'); -const hashEncode = require('@polkadot/primitives-json/hash/encode'); +import addressDecode from '@polkadot/util-keyring/address/decode'; +import bytesEncode from '@polkadot/primitives-json/bytes/encode'; +import hashEncode from '@polkadot/primitives-json/hash/encode'; -const format = require('./format'); +import format from './format'; const formatters = { // funnily named, goes from address -> u8a @@ -17,8 +17,8 @@ const formatters = { 'Hash': hashEncode }; -module.exports = function formatInputs (params: Params, values: Array): Array { +export default function formatInputs (params: Params, values: Array): Array { const types = params.map(({ type }) => type); return format(formatters, types, values); -}; +} diff --git a/packages/api-format/src/output.spec.js b/packages/api-format/src/output.spec.js index 17e8a197f93e..0dc2c5142e1f 100644 --- a/packages/api-format/src/output.spec.js +++ b/packages/api-format/src/output.spec.js @@ -2,9 +2,9 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const BN = require('bn.js'); +import BN from 'bn.js'; -const { formatOutput } = require('./index'); +import { formatOutput } from './index'; describe('formatOutput', () => { it('formats the value', () => { diff --git a/packages/api-format/src/output.ts b/packages/api-format/src/output.ts index 0a9b072df5c1..8bd7b2275603 100644 --- a/packages/api-format/src/output.ts +++ b/packages/api-format/src/output.ts @@ -4,14 +4,14 @@ import { Param$Types } from '@polkadot/params/types'; -const addressEncode = require('@polkadot/util-keyring/address/encode'); -const bnDecode = require('@polkadot/primitives-json/bn/decode'); -const bytesDecode = require('@polkadot/primitives-json/bytes/decode'); -const headerDecode = require('@polkadot/primitives-json/header/decode'); -const isNull = require('@polkadot/util/is/null'); -const isUndefined = require('@polkadot/util/is/undefined'); +import addressEncode from '@polkadot/util-keyring/address/encode'; +import bnDecode from '@polkadot/primitives-json/bn/decode'; +import bytesDecode from '@polkadot/primitives-json/bytes/decode'; +import headerDecode from '@polkadot/primitives-json/header/decode'; +import isNull from '@polkadot/util/is/null'; +import isUndefined from '@polkadot/util/is/undefined'; -const format = require('./format'); +import format from './format'; const formatters = { // publicKey -> address @@ -22,10 +22,10 @@ const formatters = { 'u64': bnDecode }; -module.exports = function formatOutput (type: Param$Types, value?: any): ?any { +export default function formatOutput (type: Param$Types, value?: any): ?any { if (isUndefined(value) || isNull(value)) { return value; } return format(formatters, [type], [value])[0]; -}; +} diff --git a/packages/api-provider/src/coder/json/decodeResponse.spec.js b/packages/api-provider/src/coder/json/decodeResponse.spec.js index 99bb17efba3b..0d05a173cfdf 100644 --- a/packages/api-provider/src/coder/json/decodeResponse.spec.js +++ b/packages/api-provider/src/coder/json/decodeResponse.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const createCoder = require('./index'); +import createCoder from './index'; describe('decodeResponse', () => { let coder; diff --git a/packages/api-provider/src/coder/json/decodeResponse.ts b/packages/api-provider/src/coder/json/decodeResponse.ts index 7982de17b161..59ccfa05683a 100644 --- a/packages/api-provider/src/coder/json/decodeResponse.ts +++ b/packages/api-provider/src/coder/json/decodeResponse.ts @@ -5,9 +5,9 @@ import { JsonRpcResponse, JsonRpcResponseBase$Error } from '../../types'; import { RpcCoderState } from './types'; -const assert = require('@polkadot/util/assert'); -const isNumber = require('@polkadot/util/is/number'); -const isUndefined = require('@polkadot/util/is/undefined'); +import assert from '@polkadot/util/assert'; +import isNumber from '@polkadot/util/is/number'; +import isUndefined from '@polkadot/util/is/undefined'; function checkError (error?: JsonRpcResponseBase$Error) { if (!error) { @@ -19,7 +19,7 @@ function checkError (error?: JsonRpcResponseBase$Error) { throw new Error(`[${code}]: ${message}`); } -module.exports = function decodeResponse (self: RpcCoderState, response: JsonRpcResponse): any { +export default function decodeResponse (self: RpcCoderState, response: JsonRpcResponse): any { assert(response, 'Empty response object received'); assert(response.jsonrpc === '2.0', 'Invalid jsonrpc field in decoded object'); @@ -38,4 +38,4 @@ module.exports = function decodeResponse (self: RpcCoderState, response: JsonRpc } return response.result; -}; +} diff --git a/packages/api-provider/src/coder/json/encodeJson.spec.js b/packages/api-provider/src/coder/json/encodeJson.spec.js index 49a5c46d0681..09ec29d06202 100644 --- a/packages/api-provider/src/coder/json/encodeJson.spec.js +++ b/packages/api-provider/src/coder/json/encodeJson.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const createCoder = require('./index'); +import createCoder from './index'; describe('encodeJson', () => { let coder; diff --git a/packages/api-provider/src/coder/json/encodeJson.ts b/packages/api-provider/src/coder/json/encodeJson.ts index d2dba887c3c5..e1c035e2a150 100644 --- a/packages/api-provider/src/coder/json/encodeJson.ts +++ b/packages/api-provider/src/coder/json/encodeJson.ts @@ -4,10 +4,10 @@ import { RpcCoderState } from './types'; -const encodeObject = require('./encodeObject'); +import encodeObject from './encodeObject'; -module.exports = function encodeJson (self: RpcCoderState, method: string, params: Array): string { +export default function encodeJson (self: RpcCoderState, method: string, params: Array): string { return JSON.stringify( encodeObject(self, method, params) ); -}; +} diff --git a/packages/api-provider/src/coder/json/encodeObject.spec.js b/packages/api-provider/src/coder/json/encodeObject.spec.js index e01834379301..573b054a9498 100644 --- a/packages/api-provider/src/coder/json/encodeObject.spec.js +++ b/packages/api-provider/src/coder/json/encodeObject.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const createCoder = require('./index'); +import createCoder from './index'; describe('encodeObject', () => { let coder; diff --git a/packages/api-provider/src/coder/json/encodeObject.ts b/packages/api-provider/src/coder/json/encodeObject.ts index 10c46880fd64..e9d470628548 100644 --- a/packages/api-provider/src/coder/json/encodeObject.ts +++ b/packages/api-provider/src/coder/json/encodeObject.ts @@ -5,11 +5,11 @@ import { JsonRpcRequest } from '../../types'; import { RpcCoderState } from './types'; -module.exports = function encodeObject (self: RpcCoderState, method: string, params: Array): JsonRpcRequest { +export default function encodeObject (self: RpcCoderState, method: string, params: Array): JsonRpcRequest { return { id: ++self.id, jsonrpc: '2.0', method, params }; -}; +} diff --git a/packages/api-provider/src/coder/json/index.ts b/packages/api-provider/src/coder/json/index.ts index fd16873c20f8..d54a5303240a 100644 --- a/packages/api-provider/src/coder/json/index.ts +++ b/packages/api-provider/src/coder/json/index.ts @@ -5,11 +5,11 @@ import { JsonRpcRequest, JsonRpcResponse } from '../../types'; import { RpcCoder, RpcCoderState } from './types'; -const decodeResponse = require('./decodeResponse'); -const encodeJson = require('./encodeJson'); -const encodeObject = require('./encodeObject'); +import decodeResponse from './decodeResponse'; +import encodeJson from './encodeJson'; +import encodeObject from './encodeObject'; -module.exports = function rpcCoder (): RpcCoder { +export default function rpcCoder (): RpcCoder { const self: RpcCoderState = { id: 0 }; @@ -24,4 +24,4 @@ module.exports = function rpcCoder (): RpcCoder { getId: (): number => self.id }; -}; +} diff --git a/packages/api-provider/src/http/index.spec.js b/packages/api-provider/src/http/index.spec.js index 80a696e20d7e..14cb4ab64f7d 100644 --- a/packages/api-provider/src/http/index.spec.js +++ b/packages/api-provider/src/http/index.spec.js @@ -2,9 +2,9 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const { TEST_HTTP_URL } = require('../../test/mockHttp'); +import { TEST_HTTP_URL } from '../../test/mockHttp'; -const createHttp = require('./index'); +import createHttp from './index'; describe('Http', () => { let http; diff --git a/packages/api-provider/src/http/index.ts b/packages/api-provider/src/http/index.ts index 4350ca8405fb..0af6da4f071c 100644 --- a/packages/api-provider/src/http/index.ts +++ b/packages/api-provider/src/http/index.ts @@ -6,13 +6,13 @@ import { ProviderInterface, ProviderInterface$Callback, ProviderInterface$Emitte require('./polyfill'); -const on = require('./on'); -const send = require('./send'); -const subscribe = require('./subscribe'); -const state = require('./state'); -const unsubscribe = require('./unsubscribe'); +import on from './on'; +import send from './send'; +import subscribe from './subscribe'; +import state from './state'; +import unsubscribe from './unsubscribe'; -module.exports = function httpProvider (endpoint: string): ProviderInterface { +export default function httpProvider (endpoint: string): ProviderInterface { const self = state(endpoint); return { diff --git a/packages/api-provider/src/http/on.ts b/packages/api-provider/src/http/on.ts index f1573b2026f5..3f45580706cd 100644 --- a/packages/api-provider/src/http/on.ts +++ b/packages/api-provider/src/http/on.ts @@ -5,6 +5,6 @@ import { ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; import { HttpState } from './types'; -module.exports = function on (self: HttpState, type: ProviderInterface$Emitted, sub: ProviderInterface$EmitCb): void { +export default function on (self: HttpState, type: ProviderInterface$Emitted, sub: ProviderInterface$EmitCb): void { self.l.error(`Provider does not have 'on' emitters for type '${type}'`); -}; +} diff --git a/packages/api-provider/src/http/send.spec.js b/packages/api-provider/src/http/send.spec.js index 4b5afe6f1617..9af60fe53ab8 100644 --- a/packages/api-provider/src/http/send.spec.js +++ b/packages/api-provider/src/http/send.spec.js @@ -2,9 +2,9 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const { mockHttp, TEST_HTTP_URL } = require('../../test/mockHttp'); +import { mockHttp, TEST_HTTP_URL } from '../../test/mockHttp'; -const createHttp = require('./index'); +import createHttp from './index'; describe('send', () => { let http; diff --git a/packages/api-provider/src/http/send.ts b/packages/api-provider/src/http/send.ts index 8c0a319a822a..8a8a760f8613 100644 --- a/packages/api-provider/src/http/send.ts +++ b/packages/api-provider/src/http/send.ts @@ -4,9 +4,9 @@ import { HttpState } from './types'; -const assert = require('@polkadot/util/assert'); +import assert from '@polkadot/util/assert'; -module.exports = async function send ({ coder, endpoint }: HttpState, method: string, params: Array): Promise { +export default async function send ({ coder, endpoint }: HttpState, method: string, params: Array): Promise { const body = coder.encodeJson(method, params); const response = await fetch(endpoint, { body, diff --git a/packages/api-provider/src/http/state.spec.js b/packages/api-provider/src/http/state.spec.js index 8b0f2981655c..0d804ce92b1e 100644 --- a/packages/api-provider/src/http/state.spec.js +++ b/packages/api-provider/src/http/state.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const state = require('./state'); +import state from './state'; describe('state', () => { it('requires an http:// prefixed endpoint', () => { diff --git a/packages/api-provider/src/http/state.ts b/packages/api-provider/src/http/state.ts index c7b8fe169def..cd56f9340ec2 100644 --- a/packages/api-provider/src/http/state.ts +++ b/packages/api-provider/src/http/state.ts @@ -4,12 +4,14 @@ import { HttpState } from './types'; -const assert = require('@polkadot/util/assert'); -const l = require('@polkadot/util/logger')('api-http'); +import assert from '@polkadot/util/assert'; +import logger from '@polkadot/util/logger'; -const coder = require('../coder/json'); +import coder from '../coder/json'; -module.exports = function state (endpoint: string): HttpState { +const l = logger('api-http'); + +export default function state (endpoint: string): HttpState { assert(/^(https|http):\/\//.test(endpoint), `Endpoint should start with 'http://', received '${endpoint}'`); return { @@ -17,4 +19,4 @@ module.exports = function state (endpoint: string): HttpState { endpoint, l }; -}; +} diff --git a/packages/api-provider/src/http/subscribe.ts b/packages/api-provider/src/http/subscribe.ts index 144321bab724..a1d4715c2397 100644 --- a/packages/api-provider/src/http/subscribe.ts +++ b/packages/api-provider/src/http/subscribe.ts @@ -5,6 +5,6 @@ import { ProviderInterface$Callback } from '../types'; import { HttpState } from './types'; -module.exports = async function subscribe (self: HttpState, method: string, params: Array, cb: ProviderInterface$Callback): Promise { +export default async function subscribe (self: HttpState, method: string, params: Array, cb: ProviderInterface$Callback): Promise { throw new Error('Subscriptions has not been implemented'); }; diff --git a/packages/api-provider/src/http/unsubscribe.ts b/packages/api-provider/src/http/unsubscribe.ts index d8d03e5f1119..57d857e35a45 100644 --- a/packages/api-provider/src/http/unsubscribe.ts +++ b/packages/api-provider/src/http/unsubscribe.ts @@ -4,6 +4,6 @@ import { HttpState } from './types'; -module.exports = async function unsubscribe (self: HttpState, method: string, id: number): Promise { +export default async function unsubscribe (self: HttpState, method: string, id: number): Promise { throw new Error('Subscriptions has not been implemented'); -}; +} diff --git a/packages/api-provider/src/index.ts b/packages/api-provider/src/index.ts index ac4db3624e09..be7609e409e2 100644 --- a/packages/api-provider/src/index.ts +++ b/packages/api-provider/src/index.ts @@ -2,10 +2,10 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const http = require('./http'); -const ws = require('./ws'); +import http from './http'; +import ws from './ws'; -module.exports = { +export { http, ws }; diff --git a/packages/api-provider/src/mock/index.ts b/packages/api-provider/src/mock/index.ts index 990ac3ff3a46..1c1041e5f66d 100644 --- a/packages/api-provider/src/mock/index.ts +++ b/packages/api-provider/src/mock/index.ts @@ -4,14 +4,14 @@ import { ProviderInterface, ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; -const mocks = require('./mocks'); -const on = require('./on'); -const send = require('./send'); -const state = require('./state'); -const subscribe = require('./subscribe'); -const unsubscribe = require('./unsubscribe'); +import mocks from './mocks'; +import on from './on'; +import send from './send'; +import state from './state'; +import subscribe from './subscribe'; +import unsubscribe from './unsubscribe'; -module.exports = function mockProvider (): ProviderInterface { +export default function mockProvider (): ProviderInterface { const self = state(); mocks(self); @@ -28,4 +28,4 @@ module.exports = function mockProvider (): ProviderInterface { unsubscribe: (method: string, id: number): Promise => unsubscribe(self, method, id) }; -}; +} diff --git a/packages/api-provider/src/mock/mocks.ts b/packages/api-provider/src/mock/mocks.ts index 98c5731d982f..7d1c9029fd19 100644 --- a/packages/api-provider/src/mock/mocks.ts +++ b/packages/api-provider/src/mock/mocks.ts @@ -9,14 +9,14 @@ import { KeyringPair } from '@polkadot/util-keyring/types'; import { ProviderInterface$Emitted } from '../types'; import { MockState, MockState$Subscription$Callback } from './types'; -const BN = require('bn.js'); -const headerEncode = require('@polkadot/primitives-json/header/encode'); -const createKey = require('@polkadot/storage/key'); -const state = require('@polkadot/storage'); -const bnToU8a = require('@polkadot/util/bn/toU8a'); -const u8aToHex = require('@polkadot/util/u8a/toHex'); -const randomAsU8a = require('@polkadot/util-crypto/random/asU8a'); -const testKeyring = require('@polkadot/util-keyring/testing'); +import BN from 'bn.js'; +import headerEncode from '@polkadot/primitives-json/header/encode'; +import createKey from '@polkadot/storage/key'; +import state from '@polkadot/storage'; +import bnToU8a from '@polkadot/util/bn/toU8a'; +import u8aToHex from '@polkadot/util/u8a/toHex'; +import randomAsU8a from '@polkadot/util-crypto/random/asU8a'; +import testKeyring from '@polkadot/util-keyring/testing'; const keyring = testKeyring(); @@ -61,7 +61,7 @@ function setStorageBn (storage, key: Storage$Key, value: BN | number, ...keyPara storage[keyValue] = bnToU8a(value, 64, true); } -module.exports = function mocks ({ emitter, storage, subscriptions }: MockState): void { +export default function mocks ({ emitter, storage, subscriptions }: MockState): void { let newHead = makeBlockHeader(new BN(-1)); setInterval(() => { diff --git a/packages/api-provider/src/mock/on.ts b/packages/api-provider/src/mock/on.ts index a03b94d0c030..36def5b39094 100644 --- a/packages/api-provider/src/mock/on.ts +++ b/packages/api-provider/src/mock/on.ts @@ -5,6 +5,6 @@ import { ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; import { MockState } from './types'; -module.exports = function on (self: MockState, type: ProviderInterface$Emitted, sub: ProviderInterface$EmitCb): void { +export default function on (self: MockState, type: ProviderInterface$Emitted, sub: ProviderInterface$EmitCb): void { self.emitter.on(type, sub); -}; +} diff --git a/packages/api-provider/src/mock/send.ts b/packages/api-provider/src/mock/send.ts index 273941fa832e..a1b91ad75eb2 100644 --- a/packages/api-provider/src/mock/send.ts +++ b/packages/api-provider/src/mock/send.ts @@ -4,10 +4,10 @@ import { MockState } from './types'; -module.exports = async function send ({ requests, storage }: MockState, method: string, params: Array): Promise { +export default async function send ({ requests, storage }: MockState, method: string, params: Array): Promise { if (!requests[method]) { throw new Error(`provider.send: Invalid method '${method}'`); } return requests[method](storage, params); -}; +} diff --git a/packages/api-provider/src/mock/state.spec.js b/packages/api-provider/src/mock/state.spec.js index 0e6ba40e66dc..2d9c5d6d2a5f 100644 --- a/packages/api-provider/src/mock/state.spec.js +++ b/packages/api-provider/src/mock/state.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const createState = require('./state'); +import createState from './state'; describe('state', () => { let state; diff --git a/packages/api-provider/src/mock/state.ts b/packages/api-provider/src/mock/state.ts index 3ebbabd9900b..1d68cf70f06e 100644 --- a/packages/api-provider/src/mock/state.ts +++ b/packages/api-provider/src/mock/state.ts @@ -4,10 +4,12 @@ import { MockState, MockState$Storage } from './types'; -const EventEmitter = require('eventemitter3'); -const interfaces = require('@polkadot/jsonrpc'); -const u8aToHex = require('@polkadot/util/u8a/toHex'); -const l = require('@polkadot/util/logger')('api-mock'); +import EventEmitter from 'eventemitter3'; +import interfaces from '@polkadot/jsonrpc'; +import u8aToHex from '@polkadot/util/u8a/toHex'; +import logger from '@polkadot/util/logger'; + +const l =logger('api-mock'); const SUBSCRIPTIONS = Array.prototype.concat.apply( [], Object.keys(interfaces).map((section) => { @@ -29,7 +31,7 @@ const REQUESTS = { 'system_version': (): string => '9.8.7' }; -module.exports = function state (): MockState { +export default function state (): MockState { const storage = {}; const subscriptions = SUBSCRIPTIONS.reduce((subscriptions, name) => { subscriptions[name] = { @@ -49,4 +51,4 @@ module.exports = function state (): MockState { subscriptionMap: {}, subscriptions }; -}; +} diff --git a/packages/api-provider/src/mock/subscribe.spec.js b/packages/api-provider/src/mock/subscribe.spec.js index e2f980c782c6..022c51ba6539 100644 --- a/packages/api-provider/src/mock/subscribe.spec.js +++ b/packages/api-provider/src/mock/subscribe.spec.js @@ -2,8 +2,8 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const createState = require('./state'); -const subscribe = require('./subscribe'); +import createState from './state'; +import subscribe from './subscribe'; describe('subscribe', () => { let state; diff --git a/packages/api-provider/src/mock/subscribe.ts b/packages/api-provider/src/mock/subscribe.ts index f3839b96372a..e5bd25139c95 100644 --- a/packages/api-provider/src/mock/subscribe.ts +++ b/packages/api-provider/src/mock/subscribe.ts @@ -4,7 +4,7 @@ import { MockState, MockState$Subscription$Callback } from './types'; -module.exports = async function subscribe (self: MockState, method: string, params: Array): Promise { +export default async function subscribe (self: MockState, method: string, params: Array): Promise { self.l.debug(() => ['subscribe', method, params]); if (self.subscriptions[method]) { @@ -20,4 +20,4 @@ module.exports = async function subscribe (self: MockState, method: string, para } throw new Error(`provider.subscribe: Invalid method '${method}'`); -}; +} diff --git a/packages/api-provider/src/mock/types.d.ts b/packages/api-provider/src/mock/types.d.ts index 89c802a92081..bc9bd87a0e54 100644 --- a/packages/api-provider/src/mock/types.d.ts +++ b/packages/api-provider/src/mock/types.d.ts @@ -8,20 +8,20 @@ import { Logger } from '@polkadot/util/types'; export type MockState$Subscription$Callback = (error: ?Error, value: any) => void; export type MockState$Subscriptions = { - [string]: { + [index: string]: { callbacks: { - [number]: MockState$Subscription$Callback + [index: number]: MockState$Subscription$Callback }, lastValue: any } }; export type MockState$Storage = { - [string]: Uint8Array + [index: string]: Uint8Array }; export type MockState$Requests = { - [string]: (storage: MockState$Storage, params: Array) => string + [index: string]: (storage: MockState$Storage, params: Array) => string }; export type MockState = { @@ -31,7 +31,7 @@ export type MockState = { storage: MockState$Storage, subscriptionId: number, subscriptionMap: { - [number]: string + [index: number]: string }, subscriptions: MockState$Subscriptions }; diff --git a/packages/api-provider/src/mock/unsubscribe.spec.js b/packages/api-provider/src/mock/unsubscribe.spec.js index d487cee14530..4bdc8acf1a68 100644 --- a/packages/api-provider/src/mock/unsubscribe.spec.js +++ b/packages/api-provider/src/mock/unsubscribe.spec.js @@ -2,9 +2,9 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const createState = require('./state'); -const subscribe = require('./subscribe'); -const unsubscribe = require('./unsubscribe'); +import createState from './state'; +import subscribe from './subscribe'; +import unsubscribe from './unsubscribe'; describe('unsubscribe', () => { let state; diff --git a/packages/api-provider/src/mock/unsubscribe.ts b/packages/api-provider/src/mock/unsubscribe.ts index 820ef29cc6bc..88d76994d721 100644 --- a/packages/api-provider/src/mock/unsubscribe.ts +++ b/packages/api-provider/src/mock/unsubscribe.ts @@ -4,7 +4,7 @@ import { MockState } from './types'; -module.exports = async function unsubscribe (self: MockState, _: string, id: number): Promise { +export default async function unsubscribe (self: MockState, _: string, id: number): Promise { const method = self.subscriptionMap[id]; self.l.debug(() => ['unsubscribe', id, method]); @@ -17,4 +17,4 @@ module.exports = async function unsubscribe (self: MockState, _: string, id: num delete self.subscriptions[method].callbacks[id]; return true; -}; +} diff --git a/packages/api-provider/src/ws/connect.spec.js b/packages/api-provider/src/ws/connect.spec.js index d2da66817e41..b2bd778bb487 100644 --- a/packages/api-provider/src/ws/connect.spec.js +++ b/packages/api-provider/src/ws/connect.spec.js @@ -2,10 +2,10 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const { mockWs, TEST_WS_URL } = require('../../test/mockWs'); +import { mockWs, TEST_WS_URL } from '../../test/mockWs'; -const createState = require('./state'); -const connect = require('./connect'); +import createState from './state'; +import connect from './connect'; describe('onError', () => { let mock; diff --git a/packages/api-provider/src/ws/connect.ts b/packages/api-provider/src/ws/connect.ts index 31055fe8c182..e7ffd732eb97 100644 --- a/packages/api-provider/src/ws/connect.ts +++ b/packages/api-provider/src/ws/connect.ts @@ -4,16 +4,16 @@ import { WsState } from './types'; -const onClose = require('./onClose'); -const onError = require('./onError'); -const onMessage = require('./onMessage'); -const onOpen = require('./onOpen'); +import onClose from './onClose'; +import onError from './onError'; +import onMessage from './onMessage'; +import onOpen from './onOpen'; -module.exports = function connect (self: WsState): void { +export default function connect (self: WsState): void { self.websocket = new WebSocket(self.endpoint); self.websocket.onclose = onClose(self); self.websocket.onerror = onError(self); self.websocket.onmessage = onMessage(self); self.websocket.onopen = onOpen(self); -}; +} diff --git a/packages/api-provider/src/ws/index.spec.js b/packages/api-provider/src/ws/index.spec.js index 8dfa38bf41f4..cf31faf67661 100644 --- a/packages/api-provider/src/ws/index.spec.js +++ b/packages/api-provider/src/ws/index.spec.js @@ -2,9 +2,9 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const { mockWs, TEST_WS_URL } = require('../../test/mockWs'); +import { mockWs, TEST_WS_URL } from '../../test/mockWs'; -const create = require('./index'); +import create from './index'; let ws; let mock; diff --git a/packages/api-provider/src/ws/index.ts b/packages/api-provider/src/ws/index.ts index 597965e50a86..ddb5c582a132 100644 --- a/packages/api-provider/src/ws/index.ts +++ b/packages/api-provider/src/ws/index.ts @@ -6,14 +6,14 @@ import { ProviderInterface, ProviderInterface$Callback, ProviderInterface$Emitte require('./polyfill'); -const connect = require('./connect'); -const on = require('./on'); -const send = require('./send'); -const state = require('./state'); -const subscribe = require('./subscribe'); -const unsubscribe = require('./unsubscribe'); +import connect from './connect'; +import on from './on'; +import send from './send'; +import state from './state'; +import subscribe from './subscribe'; +import unsubscribe from './unsubscribe'; -module.exports = function wsProvider (endpoint: string, autoConnect: boolean = true): ProviderInterface { +export default function wsProvider (endpoint: string, autoConnect: boolean = true): ProviderInterface { const self = state(endpoint, autoConnect); if (autoConnect) { @@ -34,4 +34,4 @@ module.exports = function wsProvider (endpoint: string, autoConnect: boolean = t unsubscribe: (method: string, id: number): Promise => unsubscribe(self, method, id) }; -}; +} diff --git a/packages/api-provider/src/ws/on.ts b/packages/api-provider/src/ws/on.ts index b0b17d0705b8..5194c4b2ec1f 100644 --- a/packages/api-provider/src/ws/on.ts +++ b/packages/api-provider/src/ws/on.ts @@ -5,6 +5,6 @@ import { ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; import { WsState } from './types'; -module.exports = function on (self: WsState, type: ProviderInterface$Emitted, sub: ProviderInterface$EmitCb): void { +export default function on (self: WsState, type: ProviderInterface$Emitted, sub: ProviderInterface$EmitCb): void { self.emitter.on(type, sub); }; diff --git a/packages/api-provider/src/ws/onClose.spec.js b/packages/api-provider/src/ws/onClose.spec.js index a9bdedb8dacb..012a8cc6c0d7 100644 --- a/packages/api-provider/src/ws/onClose.spec.js +++ b/packages/api-provider/src/ws/onClose.spec.js @@ -2,9 +2,9 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const { TEST_WS_URL } = require('../../test/mockWs'); +import { TEST_WS_URL } from '../../test/mockWs'; -const createState = require('./state'); +import createState from './state'; describe('onClose', () => { let mockConnect; diff --git a/packages/api-provider/src/ws/onClose.ts b/packages/api-provider/src/ws/onClose.ts index ac256d886638..e056474f60ae 100644 --- a/packages/api-provider/src/ws/onClose.ts +++ b/packages/api-provider/src/ws/onClose.ts @@ -4,7 +4,7 @@ import { WsState } from './types'; -module.exports = function onClose (self: WsState): () => void { +export default function onClose (self: WsState): () => void { return (): void => { self.l.debug(() => ['disconnected from', self.endpoint]); diff --git a/packages/api-provider/src/ws/onError.spec.js b/packages/api-provider/src/ws/onError.spec.js index 7601a215543d..be964dab91dc 100644 --- a/packages/api-provider/src/ws/onError.spec.js +++ b/packages/api-provider/src/ws/onError.spec.js @@ -2,8 +2,8 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const onError = require('./onError'); -const createState = require('./state'); +import onError from './onError'; +import createState from './state'; describe('onError', () => { let state; diff --git a/packages/api-provider/src/ws/onError.ts b/packages/api-provider/src/ws/onError.ts index e0f909553f83..ff741afe84b6 100644 --- a/packages/api-provider/src/ws/onError.ts +++ b/packages/api-provider/src/ws/onError.ts @@ -4,7 +4,7 @@ import { WsState } from './types'; -module.exports = function onError (self: WsState): (Event) => void { +export default function onError (self: WsState): (Event) => void { return (error: Event): void => { self.l.error(error); }; diff --git a/packages/api-provider/src/ws/onMessage.ts b/packages/api-provider/src/ws/onMessage.ts index 0d5b65349169..99b574df2ae4 100644 --- a/packages/api-provider/src/ws/onMessage.ts +++ b/packages/api-provider/src/ws/onMessage.ts @@ -5,12 +5,12 @@ import { JsonRpcResponse } from '../types'; import { WsState } from './types'; -const isUndefined = require('@polkadot/util/is/undefined'); +import isUndefined from '@polkadot/util/is/undefined'; -const onMessageResult = require('./onMessageResult'); -const onMessageSubscribe = require('./onMessageSubscribe'); +import onMessageResult from './onMessageResult'; +import onMessageSubscribe from './onMessageSubscribe'; -module.exports = function onMessage (self: WsState): (MessageEvent) => void { +export default function onMessage (self: WsState): (MessageEvent) => void { return (message: MessageEvent): void => { self.l.debug(() => ['received', message.data]); @@ -20,4 +20,4 @@ module.exports = function onMessage (self: WsState): (MessageEvent) => void { ? onMessageResult(self, response) : onMessageSubscribe(self, response); }; -}; +} diff --git a/packages/api-provider/src/ws/onMessageResult.spec.js b/packages/api-provider/src/ws/onMessageResult.spec.js index 9833a67dc8e3..a3c2a921761a 100644 --- a/packages/api-provider/src/ws/onMessageResult.spec.js +++ b/packages/api-provider/src/ws/onMessageResult.spec.js @@ -2,8 +2,8 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const onMessage = require('./onMessage'); -const createState = require('./state'); +import onMessage from './onMessage'; +import createState from './state'; describe('onMessageResult', () => { let state; diff --git a/packages/api-provider/src/ws/onMessageResult.ts b/packages/api-provider/src/ws/onMessageResult.ts index f790c20506c9..0edc7c45564c 100644 --- a/packages/api-provider/src/ws/onMessageResult.ts +++ b/packages/api-provider/src/ws/onMessageResult.ts @@ -5,7 +5,7 @@ import { JsonRpcResponse } from '../types'; import { WsState } from './types'; -module.exports = function onMessageResult (self: WsState, response: JsonRpcResponse): void { +export default function onMessageResult (self: WsState, response: JsonRpcResponse): void { self.l.debug(() => ['handling: response =', response, 'id =', response.id]); const handler = self.handlers[response.id]; @@ -31,4 +31,4 @@ module.exports = function onMessageResult (self: WsState, response: JsonRpcRespo } delete self.handlers[response.id]; -}; +} diff --git a/packages/api-provider/src/ws/onMessageSubscribe.spec.js b/packages/api-provider/src/ws/onMessageSubscribe.spec.js index a68fcd566d78..271962196578 100644 --- a/packages/api-provider/src/ws/onMessageSubscribe.spec.js +++ b/packages/api-provider/src/ws/onMessageSubscribe.spec.js @@ -2,8 +2,8 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const onMessage = require('./onMessage'); -const createState = require('./state'); +import onMessage from './onMessage'; +import createState from './state'; describe('onMessageSubscribe', () => { let state; diff --git a/packages/api-provider/src/ws/onMessageSubscribe.ts b/packages/api-provider/src/ws/onMessageSubscribe.ts index 8785fa7e5e01..5878df4fcbfd 100644 --- a/packages/api-provider/src/ws/onMessageSubscribe.ts +++ b/packages/api-provider/src/ws/onMessageSubscribe.ts @@ -5,7 +5,7 @@ import { JsonRpcResponse } from '../types'; import { WsState } from './types'; -module.exports = function onMessageSubscribe (self: WsState, response: JsonRpcResponse): void { +export default function onMessageSubscribe (self: WsState, response: JsonRpcResponse): void { self.l.debug(() => ['handling: response =', response, 'subscription =', response.params.subscription]); const handler = self.subscriptions[response.params.subscription]; @@ -22,4 +22,4 @@ module.exports = function onMessageSubscribe (self: WsState, response: JsonRpcRe } catch (error) { handler.callback(error); } -}; +} diff --git a/packages/api-provider/src/ws/onOpen.spec.js b/packages/api-provider/src/ws/onOpen.spec.js index dd05b53717c5..e833d0db0d3f 100644 --- a/packages/api-provider/src/ws/onOpen.spec.js +++ b/packages/api-provider/src/ws/onOpen.spec.js @@ -2,9 +2,9 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const { mockWs, TEST_WS_URL } = require('../../test/mockWs'); +import { mockWs, TEST_WS_URL } from '../../test/mockWs'; -const create = require('./index'); +import create from './index'; let ws; let mock; diff --git a/packages/api-provider/src/ws/onOpen.ts b/packages/api-provider/src/ws/onOpen.ts index 224e4cf2d2b6..58736c4a6e65 100644 --- a/packages/api-provider/src/ws/onOpen.ts +++ b/packages/api-provider/src/ws/onOpen.ts @@ -4,7 +4,7 @@ import { WsState } from './types'; -module.exports = function onOpen (self: WsState): () => boolean { +export default function onOpen (self: WsState): () => boolean { return (): boolean => { self.l.debug(() => ['connected to', self.endpoint]); diff --git a/packages/api-provider/src/ws/polyfill.ts b/packages/api-provider/src/ws/polyfill.ts index cc3b1ca4c0c7..417920bc3c80 100644 --- a/packages/api-provider/src/ws/polyfill.ts +++ b/packages/api-provider/src/ws/polyfill.ts @@ -3,5 +3,5 @@ // of the ISC license. See the LICENSE file for details. if (typeof WebSocket === 'undefined') { - global.WebSocket = require('websocket').w3cwebsocket; + global.WebSocket from 'websocket').w3cwebsocket; } diff --git a/packages/api-provider/src/ws/send.spec.js b/packages/api-provider/src/ws/send.spec.js index 6221a67acb2b..758b07015c72 100644 --- a/packages/api-provider/src/ws/send.spec.js +++ b/packages/api-provider/src/ws/send.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const { mockWs, TEST_WS_URL } = require('../../test/mockWs'); +import { mockWs, TEST_WS_URL } from '../../test/mockWs'; let ws; let mock; @@ -12,7 +12,7 @@ function createMock (requests) { } function createWs (autoConnect) { - ws = require('./index')(TEST_WS_URL, autoConnect); + ws from './index')(TEST_WS_URL, autoConnect); return ws; } diff --git a/packages/api-provider/src/ws/send.ts b/packages/api-provider/src/ws/send.ts index 012b268533fe..6ea67c7cf84f 100644 --- a/packages/api-provider/src/ws/send.ts +++ b/packages/api-provider/src/ws/send.ts @@ -5,7 +5,7 @@ import { ProviderInterface$Callback } from '../types'; import { WsState } from './types'; -module.exports = async function send (self: WsState, method: string, params: Array, subscription?: ProviderInterface$Callback): Promise { +export default async function send (self: WsState, method: string, params: Array, subscription?: ProviderInterface$Callback): Promise { return new Promise((resolve, reject): void => { try { const json = self.coder.encodeJson(method, params); @@ -34,4 +34,4 @@ module.exports = async function send (self: WsState, method: string, params: Arr reject(error); } }); -}; +} diff --git a/packages/api-provider/src/ws/state.spec.js b/packages/api-provider/src/ws/state.spec.js index fc7d20a4b33c..1be95acaddef 100644 --- a/packages/api-provider/src/ws/state.spec.js +++ b/packages/api-provider/src/ws/state.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const state = require('./state'); +import state from './state'; describe('state', () => { it('requires an ws:// prefixed endpoint', () => { diff --git a/packages/api-provider/src/ws/state.ts b/packages/api-provider/src/ws/state.ts index 6be9e210e859..6a25c1445359 100644 --- a/packages/api-provider/src/ws/state.ts +++ b/packages/api-provider/src/ws/state.ts @@ -4,13 +4,15 @@ import { WsState } from './types'; -const EventEmitter = require('eventemitter3'); -const assert = require('@polkadot/util/assert'); -const l = require('@polkadot/util/logger')('api-ws'); +import EventEmitter from 'eventemitter3'); +import assert from '@polkadot/util/assert'); +import logger from '@polkadot/util/logger'; -const coder = require('../coder/json'); +import scoder from '../coder/json'; -module.exports = function state (endpoint: string, autoConnect: boolean): $Shape { +const l = logger('api-ws'); + +export default function state (endpoint: string, autoConnect: boolean): $Shape { assert(/^(wss|ws):\/\//.test(endpoint), `Endpoint should start with 'ws://', received '${endpoint}'`); return { diff --git a/packages/api-provider/src/ws/subscribe.spec.js b/packages/api-provider/src/ws/subscribe.spec.js index 2af451070ead..2afceca3bc95 100644 --- a/packages/api-provider/src/ws/subscribe.spec.js +++ b/packages/api-provider/src/ws/subscribe.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const { mockWs, TEST_WS_URL } = require('../../test/mockWs'); +import { mockWs, TEST_WS_URL } from '../../test/mockWs'; let ws; let mock; @@ -12,7 +12,7 @@ function createMock (requests) { } function createWs (autoConnect) { - ws = require('./index')(TEST_WS_URL, autoConnect); + ws from './index')(TEST_WS_URL, autoConnect); return ws; } diff --git a/packages/api-provider/src/ws/subscribe.ts b/packages/api-provider/src/ws/subscribe.ts index f4f99e601478..4e9155119d55 100644 --- a/packages/api-provider/src/ws/subscribe.ts +++ b/packages/api-provider/src/ws/subscribe.ts @@ -5,10 +5,10 @@ import { ProviderInterface$Callback } from '../types'; import { WsState } from './types'; -const send = require('./send'); +import send from './send'; -module.exports = async function subscribe (self: WsState, method: string, params: Array, subscription: ProviderInterface$Callback): Promise { +export default async function subscribe (self: WsState, method: string, params: Array, subscription: ProviderInterface$Callback): Promise { const id = await send(self, method, params, subscription); return ((id: any): number); -}; +} diff --git a/packages/api-provider/src/ws/types.d.ts b/packages/api-provider/src/ws/types.d.ts index 80b357980fd1..2c650e25f161 100644 --- a/packages/api-provider/src/ws/types.d.ts +++ b/packages/api-provider/src/ws/types.d.ts @@ -21,10 +21,16 @@ export type WsState = { coder: RpcCoder, endpoint: string, emitter: EventEmitter, - handlers: { [number]: WsState$Awaiting }, + handlers: { + [index: number]: WsState$Awaiting + }, isConnected: boolean, l: Logger, - queued: { [number]: string }, - subscriptions: { [number]: WsState$Subscription }, + queued: { + [index: number]: string + }, + subscriptions: { + [index: number]: WsState$Subscription + }, websocket: WebSocket }; diff --git a/packages/api-provider/src/ws/unsubscribe.spec.js b/packages/api-provider/src/ws/unsubscribe.spec.js index 5309d188d61c..b6e835b6701f 100644 --- a/packages/api-provider/src/ws/unsubscribe.spec.js +++ b/packages/api-provider/src/ws/unsubscribe.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const { mockWs, TEST_WS_URL } = require('../../test/mockWs'); +import { mockWs, TEST_WS_URL } from '../../test/mockWs'; let ws; let mock; @@ -12,7 +12,7 @@ function createMock (requests) { } function createWs (autoConnect) { - ws = require('./index')(TEST_WS_URL, autoConnect); + ws from './index')(TEST_WS_URL, autoConnect); return ws; } diff --git a/packages/api-provider/src/ws/unsubscribe.ts b/packages/api-provider/src/ws/unsubscribe.ts index 3de0b16c6e00..69012b521899 100644 --- a/packages/api-provider/src/ws/unsubscribe.ts +++ b/packages/api-provider/src/ws/unsubscribe.ts @@ -4,12 +4,12 @@ import { WsState } from './types'; -const assert = require('@polkadot/util/assert'); -const isUndefined = require('@polkadot/util/is/undefined'); +import assert from '@polkadot/util/assert'; +import isUndefined from '@polkadot/util/is/undefined'; -const send = require('./send'); +import send from './send'; -module.exports = async function unsubscribe (self: WsState, method: string, id: number): Promise { +export default async function unsubscribe (self: WsState, method: string, id: number): Promise { assert(!isUndefined(self.subscriptions[id]), `Unable to find active subscription=${id}`); delete self.subscriptions[id]; @@ -17,4 +17,4 @@ module.exports = async function unsubscribe (self: WsState, method: string, id: const result = await send(self, method, [id]); return ((result: any): boolean); -}; +} diff --git a/packages/api-provider/test/e2e.test.ts b/packages/api-provider/test/e2e.test.ts index 8efb7edbe753..b6b389870abf 100644 --- a/packages/api-provider/test/e2e.test.ts +++ b/packages/api-provider/test/e2e.test.ts @@ -2,8 +2,8 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const createApi = require('../../api/src'); -const createProvider = require('../src/ws'); +import createApi from '../../api/src'; +import createProvider from '../src/ws'; describe.skip('e2e', () => { let api; diff --git a/packages/api-provider/test/mockHttp.ts b/packages/api-provider/test/mockHttp.ts index d9e3c0595fd0..1727960fa014 100644 --- a/packages/api-provider/test/mockHttp.ts +++ b/packages/api-provider/test/mockHttp.ts @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const nock = require('nock'); +import nock from 'nock'; const TEST_HTTP_URL = 'http://localhost:9944'; @@ -21,7 +21,7 @@ function mockHttp (requests) { }, nock(TEST_HTTP_URL)); } -module.exports = { +export { TEST_HTTP_URL, mockHttp }; diff --git a/packages/api-provider/test/mockWs.ts b/packages/api-provider/test/mockWs.ts index 2e6f013df078..415ecc84c0a3 100644 --- a/packages/api-provider/test/mockWs.ts +++ b/packages/api-provider/test/mockWs.ts @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const { Server } = require('mock-socket'); +import { Server } from 'mock-socket'; const TEST_WS_URL = 'ws://localhost:9955'; @@ -53,7 +53,7 @@ function mockWs (requests) { return scope; } -module.exports = { +export default { TEST_WS_URL, mockWs }; diff --git a/packages/api-rx/src/api/connected.ts b/packages/api-rx/src/api/connected.ts index b4bb23f54a2d..c4267496fcf2 100644 --- a/packages/api-rx/src/api/connected.ts +++ b/packages/api-rx/src/api/connected.ts @@ -4,13 +4,13 @@ import { ProviderInterface } from '@polkadot/api-provider/types'; -const { BehaviorSubject } = require('rxjs/BehaviorSubject'); +import { BehaviorSubject } from 'rxjs/BehaviorSubject'; -module.exports = function connected (provider: ProviderInterface): rxjs$BehaviorSubject { +export default function connected (provider: ProviderInterface): rxjs$BehaviorSubject { const subject = new BehaviorSubject(provider.isConnected()); provider.on('connected', () => subject.next(true)); provider.on('disconnected', () => subject.next(false)); return subject; -}; +} diff --git a/packages/api-rx/src/api/index.ts b/packages/api-rx/src/api/index.ts index d02263212273..bcf085376f9b 100644 --- a/packages/api-rx/src/api/index.ts +++ b/packages/api-rx/src/api/index.ts @@ -5,13 +5,13 @@ import { ProviderInterface } from '@polkadot/api-provider/types'; import { RxApiInterface } from '../types'; -const createConnected = require('./connected'); +import createConnected from './connected'; -module.exports = function exposed (provider: ProviderInterface): RxApiInterface { +export default function exposed (provider: ProviderInterface): RxApiInterface { const connected = createConnected(provider); return { isConnected: (): rxjs$BehaviorSubject => connected }; -}; +} diff --git a/packages/api-rx/src/defaults.ts b/packages/api-rx/src/defaults.ts index 229b45cb88db..813dc70a850f 100644 --- a/packages/api-rx/src/defaults.ts +++ b/packages/api-rx/src/defaults.ts @@ -4,6 +4,6 @@ const WS_URL = 'ws://127.0.0.1:9944'; -module.exports = { +export default { WS_URL }; diff --git a/packages/api-rx/src/index.ts b/packages/api-rx/src/index.ts index d6aa00bafac3..899839d7a912 100644 --- a/packages/api-rx/src/index.ts +++ b/packages/api-rx/src/index.ts @@ -5,15 +5,15 @@ import { ProviderInterface } from '@polkadot/api-provider/types'; import { RxApiInterface } from './types'; -const createApi = require('@polkadot/api'); -const interfaces = require('@polkadot/jsonrpc'); -const createWs = require('@polkadot/api-provider/ws'); +import createApi from '@polkadot/api'; +import interfaces from '@polkadot/jsonrpc'; +import createWs from '@polkadot/api-provider/ws'; -const createExposed = require('./api'); -const defaults = require('./defaults'); -const createInterface = require('./interface'); +import createExposed from './api'; +import defaults from './defaults'; +import createInterface from './interface'; -module.exports = function rxApi (provider?: ProviderInterface = createWs(defaults.WS_URL)): RxApiInterface { +export default function rxApi (provider: ProviderInterface = createWs(defaults.WS_URL)): RxApiInterface { const api = createApi(provider); const exposed = createExposed(provider); @@ -24,4 +24,4 @@ module.exports = function rxApi (provider?: ProviderInterface = createWs(default return result; }, exposed); -}; +} diff --git a/packages/api-rx/src/interface.ts b/packages/api-rx/src/interface.ts index 1e6e64871277..06e34ffda4bd 100644 --- a/packages/api-rx/src/interface.ts +++ b/packages/api-rx/src/interface.ts @@ -6,9 +6,9 @@ import { ApiInterface, ApiInterface$Section } from '@polkadot/api/types'; import { Interface$Sections } from '@polkadot/jsonrpc/types'; import { RxApiInterface$Section } from './types'; -const observable = require('./observable'); +import observable from './observable'; -module.exports = function createInterface (api: ApiInterface, sectionName: Interface$Sections): RxApiInterface$Section { +export default function createInterface (api: ApiInterface, sectionName: Interface$Sections): RxApiInterface$Section { const section: ApiInterface$Section = api[sectionName]; return Object @@ -19,4 +19,4 @@ module.exports = function createInterface (api: ApiInterface, sectionName: Inter return observables; }, ({}: $Shape)); -}; +} diff --git a/packages/api-rx/src/observable/cached.spec.js b/packages/api-rx/src/observable/cached.spec.js index b96f27827c7b..af2e3577285f 100644 --- a/packages/api-rx/src/observable/cached.spec.js +++ b/packages/api-rx/src/observable/cached.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const cachedSubscription = require('./cached'); +import cachedSubscription from './cached'; describe('cached', () => { let creator; diff --git a/packages/api-rx/src/observable/cached.ts b/packages/api-rx/src/observable/cached.ts index 06b8d7208769..51fa10890a2e 100644 --- a/packages/api-rx/src/observable/cached.ts +++ b/packages/api-rx/src/observable/cached.ts @@ -13,11 +13,11 @@ type CachedMap = { } }; -const subject = require('./subject'); +import subject from './subject'; const cacheMap: CachedMap = {}; -module.exports = function cached (subName: string, name: string, section: ApiInterface$Section): (...params: Array) => rxjs$BehaviorSubject { +export default function cached (subName: string, name: string, section: ApiInterface$Section): (...params: Array) => rxjs$BehaviorSubject { if (!cacheMap[subName]) { cacheMap[subName] = {}; } @@ -31,4 +31,4 @@ module.exports = function cached (subName: string, name: string, section: ApiInt return cacheMap[subName][paramStr]; }; -}; +} diff --git a/packages/api-rx/src/observable/index.spec.js b/packages/api-rx/src/observable/index.spec.js index 64a200730fc4..a807b84e381b 100644 --- a/packages/api-rx/src/observable/index.spec.js +++ b/packages/api-rx/src/observable/index.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const createObservable = require('./index'); +import createObservable from './index'; describe('observable', () => { let section; diff --git a/packages/api-rx/src/observable/index.ts b/packages/api-rx/src/observable/index.ts index 970eada6d149..4b7ba1623d6d 100644 --- a/packages/api-rx/src/observable/index.ts +++ b/packages/api-rx/src/observable/index.ts @@ -4,12 +4,12 @@ import { ApiInterface$Section } from '@polkadot/api/types'; -const { fromPromise } = require('rxjs/observable/fromPromise'); -const isFunction = require('@polkadot/util/is/function'); +import { fromPromise } from 'rxjs/observable/fromPromise'; +import isFunction from '@polkadot/util/is/function'; -const cached = require('./cached'); +import cached from './cached'; -module.exports = function observable (subName: string, name: string, section: ApiInterface$Section): (...params: Array) => rxjs$Observable | rxjs$BehaviorSubject { +export default function observable (subName: string, name: string, section: ApiInterface$Section): (...params: Array) => rxjs$Observable | rxjs$BehaviorSubject { if (isFunction(section[name].unsubscribe)) { return cached(subName, name, section); } @@ -18,4 +18,4 @@ module.exports = function observable (subName: string, name: string, section: Ap fromPromise( section[name].apply(null, params) ); -}; +} diff --git a/packages/api-rx/src/observable/subject.spec.js b/packages/api-rx/src/observable/subject.spec.js index 8c460d48b907..4c09783237eb 100644 --- a/packages/api-rx/src/observable/subject.spec.js +++ b/packages/api-rx/src/observable/subject.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const createObservable = require('./subject'); +import createObservable from './subject'; describe('subject', () => { const params = [123, false]; diff --git a/packages/api-rx/src/observable/subject.ts b/packages/api-rx/src/observable/subject.ts index 3a15d553982b..4143c7b8b7d4 100644 --- a/packages/api-rx/src/observable/subject.ts +++ b/packages/api-rx/src/observable/subject.ts @@ -4,10 +4,10 @@ import { ApiInterface$Section } from '@polkadot/api/types'; -const { BehaviorSubject } = require('rxjs/BehaviorSubject'); -const { Observable } = require('rxjs/Observable'); +import { BehaviorSubject } from 'rxjs/BehaviorSubject'; +import { Observable } from 'rxjs/Observable'; -module.exports = function subscription (name: string, params: Array, section: ApiInterface$Section, unsubCallback?: () => void): rxjs$BehaviorSubject { +export default function subscription (name: string, params: Array, section: ApiInterface$Section, unsubCallback?: () => void): rxjs$BehaviorSubject { const subject = new BehaviorSubject(); Observable @@ -37,4 +37,4 @@ module.exports = function subscription (name: string, params: Array, sectio .subscribe(subject); return subject; -}; +} diff --git a/packages/api/src/create/interface.spec.js b/packages/api/src/create/interface.spec.js index 648e4836cd83..58ed65034a8f 100644 --- a/packages/api/src/create/interface.spec.js +++ b/packages/api/src/create/interface.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const isFunction = require('@polkadot/util/is/function'); +import isFunction from '@polkadot/util/is/function'; jest.mock('@polkadot/jsonrpc', () => ({ test: { @@ -26,7 +26,7 @@ jest.mock('@polkadot/jsonrpc', () => ({ } })); -const createInterface = require('./interface'); +const createInterface from './interface'); describe('createInterface', () => { let container; diff --git a/packages/api/src/create/interface.ts b/packages/api/src/create/interface.ts index c324751bb515..6c53bc4ddffe 100644 --- a/packages/api/src/create/interface.ts +++ b/packages/api/src/create/interface.ts @@ -6,12 +6,12 @@ import { Interface$Sections } from '@polkadot/jsonrpc/types'; import { ProviderInterface } from '@polkadot/api-provider/types'; import { ApiInterface$Section } from '../types'; -const interfaces = require('@polkadot/jsonrpc'); +import interfaces from '@polkadot/jsonrpc'; -const methodSend = require('./methodSend'); -const methodSubscribe = require('./methodSubscribe'); +import methodSend from './methodSend'; +import methodSubscribe from './methodSubscribe'; -module.exports = function createInterface (provider: ProviderInterface, section: Interface$Sections): ApiInterface$Section { +export default function createInterface (provider: ProviderInterface, section: Interface$Sections): ApiInterface$Section { const exposed: $Shape = {}; const methods = interfaces[section].public; @@ -27,4 +27,4 @@ module.exports = function createInterface (provider: ProviderInterface, section: return exposed; }, exposed); -}; +} diff --git a/packages/api/src/create/methodSend.spec.js b/packages/api/src/create/methodSend.spec.js index 47a4784ec829..fdcc753c5f9c 100644 --- a/packages/api/src/create/methodSend.spec.js +++ b/packages/api/src/create/methodSend.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const createMethod = require('./methodSend'); +import createMethod from './methodSend'; describe('methodCall', () => { let methods; diff --git a/packages/api/src/create/methodSend.ts b/packages/api/src/create/methodSend.ts index 7d4cff784b30..93f149b4070b 100644 --- a/packages/api/src/create/methodSend.ts +++ b/packages/api/src/create/methodSend.ts @@ -6,13 +6,13 @@ import { Interface$Method } from '@polkadot/jsonrpc/types'; import { ProviderInterface } from '@polkadot/api-provider/types'; import { ApiInterface$Section$Method } from '../types'; -const formatOutput = require('@polkadot/api-format/output'); -const ExtError = require('@polkadot/util/ext/error'); -const jsonrpcSignature = require('@polkadot/params/signature'); +import formatOutput from '@polkadot/api-format/output'; +import ExtError from '@polkadot/util/ext/error'; +import jsonrpcSignature from '@polkadot/params/signature'; -const createParams = require('./params'); +import createParams from './params'; -module.exports = function createMethodSend (provider: ProviderInterface, rpcName: string, name: string, method: Interface$Method): ApiInterface$Section$Method { +export default function createMethodSend (provider: ProviderInterface, rpcName: string, name: string, method: Interface$Method): ApiInterface$Section$Method { const call = async (...values: Array): Promise => { // TODO: Deprecated warning try { @@ -26,4 +26,4 @@ module.exports = function createMethodSend (provider: ProviderInterface, rpcName }; return ((call: any): ApiInterface$Section$Method); -}; +} diff --git a/packages/api/src/create/methodSubscribe.ts b/packages/api/src/create/methodSubscribe.ts index 90a3ffa14468..e0ade9571d7c 100644 --- a/packages/api/src/create/methodSubscribe.ts +++ b/packages/api/src/create/methodSubscribe.ts @@ -6,15 +6,15 @@ import { Interface$Method } from '@polkadot/jsonrpc/types'; import { ProviderInterface, ProviderInterface$Callback } from '@polkadot/api-provider/types'; import { ApiInterface$Section$Method } from '../types'; -const formatOutput = require('@polkadot/api-format/output'); -const signature = require('@polkadot/params/signature'); -const assert = require('@polkadot/util/assert'); -const ExtError = require('@polkadot/util/ext/error'); -const isFunction = require('@polkadot/util/is/function'); +import formatOutput from '@polkadot/api-format/output'; +import signature from '@polkadot/params/signature'; +import assert from '@polkadot/util/assert'; +import ExtError from '@polkadot/util/ext/error'; +import isFunction from '@polkadot/util/is/function'; -const createParams = require('./params'); +import createParams from './params'; -module.exports = function methodSubscribe (provider: ProviderInterface, rpcName: string, name: string, method: Interface$Method): ApiInterface$Section$Method { +export default function methodSubscribe (provider: ProviderInterface, rpcName: string, name: string, method: Interface$Method): ApiInterface$Section$Method { const unsubscribe = (subscriptionId: any): Promise => provider.send(`unsubscribe_${name}`, [subscriptionId]); const call = async (...values: Array): Promise => { @@ -37,4 +37,4 @@ module.exports = function methodSubscribe (provider: ProviderInterface, rpcName: call.unsubscribe = unsubscribe; return ((call: any): ApiInterface$Section$Method); -}; +} diff --git a/packages/api/src/create/params.spec.js b/packages/api/src/create/params.spec.js index f2137327f423..d43f0407bada 100644 --- a/packages/api/src/create/params.spec.js +++ b/packages/api/src/create/params.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const params = require('./params'); +import params from './params'; describe('params', () => { let methods; diff --git a/packages/api/src/create/params.ts b/packages/api/src/create/params.ts index b117d8b3b528..afe637b41a86 100644 --- a/packages/api/src/create/params.ts +++ b/packages/api/src/create/params.ts @@ -4,10 +4,10 @@ import { Params } from '@polkadot/params/types'; -const formatInputs = require('@polkadot/api-format/input'); -const assert = require('@polkadot/util/assert'); +import formatInputs from '@polkadot/api-format/input'; +import assert from '@polkadot/util/assert'; -module.exports = function createParams (params: Params, values: Array): Array { +export default function createParams (params: Params, values: Array): Array { const required = params.filter(({ isOptional }) => !isOptional); const optionalText = params.length ? ` (${(params.length - required.length) || 'none'} optional)` @@ -16,4 +16,4 @@ module.exports = function createParams (params: Params, values: Array): Arr assert(values.length >= required.length && values.length <= params.length, `${params.length || 'no'} params expected${optionalText}, found ${values.length} instead`); return formatInputs(params, values); -}; +} diff --git a/packages/api/src/index.spec.js b/packages/api/src/index.spec.js index 595a1c4509cc..dc3cc6051c18 100644 --- a/packages/api/src/index.spec.js +++ b/packages/api/src/index.spec.js @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -const createApi = require('./index'); +import createApi from './index'; describe('Api', () => { let api; diff --git a/packages/api/src/index.ts b/packages/api/src/index.ts index 3b14e5a6f9f7..1e5a69bc6f20 100644 --- a/packages/api/src/index.ts +++ b/packages/api/src/index.ts @@ -5,13 +5,13 @@ import { ProviderInterface } from '@polkadot/api-provider/types'; import { ApiInterface } from './types'; -const interfaces = require('@polkadot/jsonrpc'); -const assert = require('@polkadot/util/assert'); -const isFunction = require('@polkadot/util/is/function'); +import interfaces from '@polkadot/jsonrpc'; +import assert from '@polkadot/util/assert'; +import isFunction from '@polkadot/util/is/function'; -const createInterface = require('./create/interface'); +import createInterface from './create/interface'; -module.exports = function api (provider: ProviderInterface): ApiInterface { +export default function api (provider: ProviderInterface): ApiInterface { assert(provider && isFunction(provider.send), 'Expected Provider to API create'); const exposed: ApiInterface = {}; @@ -23,4 +23,4 @@ module.exports = function api (provider: ProviderInterface): ApiInterface { return result; }, exposed); -}; +} From 6aa08191503bd6a18b361d0b55e0e961e9d53f6b Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Sat, 23 Jun 2018 11:40:53 +0200 Subject: [PATCH 3/6] WIP... --- packages/api-format/src/format.ts | 10 +++------- packages/api-format/src/input.ts | 13 +++++++------ packages/api-format/src/output.ts | 17 +++++++++-------- packages/api-format/src/types.d.ts | 4 ++++ packages/api-provider/src/mock/mocks.ts | 20 +++++++++++++------- packages/api-provider/src/mock/state.ts | 6 ++++-- packages/api/src/create/interface.spec.js | 2 +- packages/api/src/create/interface.ts | 11 +++++++++-- packages/api/src/create/methodSend.ts | 8 ++++---- packages/api/src/create/methodSubscribe.ts | 9 +++++---- packages/api/src/index.ts | 10 ++++------ packages/api/src/types.d.ts | 4 ++-- yarn.lock | 4 ++++ 13 files changed, 69 insertions(+), 49 deletions(-) diff --git a/packages/api-format/src/format.ts b/packages/api-format/src/format.ts index 89c287bb3f04..951b5a1dcfdc 100644 --- a/packages/api-format/src/format.ts +++ b/packages/api-format/src/format.ts @@ -3,22 +3,18 @@ // of the ISC license. See the LICENSE file for details. import { Param$Types, Param$Type$Array } from '@polkadot/params/types'; -import { FormatterFunction } from './types'; - -type FormattersFunctionMap = { - [index: Param$Types]: FormatterFunction -} +import { FormattersFunctionMap } from './types'; import typeToString from '@polkadot/params/typeToString'; import isUndefined from '@polkadot/util/is/undefined'; import logger from '@polkadot/util/logger'; -const echo from './echo'; +import echo from './echo'; const l = logger('api-format'); function formatSingleType (formatters: FormattersFunctionMap, type: Param$Types, value: any): any { - const formatter: FormatterFunction = formatters[type]; + const formatter = formatters.get(type); if (isUndefined(formatter)) { l.warn(`Unable to find default formatter for '${typeToString(type)}', falling back to echo`); diff --git a/packages/api-format/src/input.ts b/packages/api-format/src/input.ts index 34cc37aceba8..db1ad3d7dd1c 100644 --- a/packages/api-format/src/input.ts +++ b/packages/api-format/src/input.ts @@ -2,7 +2,8 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -import { Params } from '@polkadot/params/types'; +import { Params, Param$Types } from '@polkadot/params/types'; +import { FormatterFunction } from './types'; import addressDecode from '@polkadot/util-keyring/address/decode'; import bytesEncode from '@polkadot/primitives-json/bytes/encode'; @@ -10,12 +11,12 @@ import hashEncode from '@polkadot/primitives-json/hash/encode'; import format from './format'; -const formatters = { +const formatters = new Map([ // funnily named, goes from address -> u8a - 'AccountId': addressDecode, - 'Bytes': bytesEncode, - 'Hash': hashEncode -}; + ['AccountId', addressDecode], + ['Bytes', bytesEncode], + ['Hash', hashEncode] +]); export default function formatInputs (params: Params, values: Array): Array { const types = params.map(({ type }) => type); diff --git a/packages/api-format/src/output.ts b/packages/api-format/src/output.ts index 8bd7b2275603..2c40d35a0c12 100644 --- a/packages/api-format/src/output.ts +++ b/packages/api-format/src/output.ts @@ -3,6 +3,7 @@ // of the ISC license. See the LICENSE file for details. import { Param$Types } from '@polkadot/params/types'; +import { FormatterFunction } from './types'; import addressEncode from '@polkadot/util-keyring/address/encode'; import bnDecode from '@polkadot/primitives-json/bn/decode'; @@ -13,16 +14,16 @@ import isUndefined from '@polkadot/util/is/undefined'; import format from './format'; -const formatters = { +const formatters = new Map([ // publicKey -> address - 'AccountId': addressEncode, - 'BlockNumber': bnDecode, - 'Bytes': bytesDecode, - 'Header': headerDecode, - 'u64': bnDecode -}; + ['AccountId', addressEncode], + ['BlockNumber', bnDecode], + ['Bytes', bytesDecode], + ['Header', headerDecode], + ['u64', bnDecode] +]); -export default function formatOutput (type: Param$Types, value?: any): ?any { +export default function formatOutput (type: Param$Types, value?: any): any | null { if (isUndefined(value) || isNull(value)) { return value; } diff --git a/packages/api-format/src/types.d.ts b/packages/api-format/src/types.d.ts index 2a7eb90ec998..a3bf702e5640 100644 --- a/packages/api-format/src/types.d.ts +++ b/packages/api-format/src/types.d.ts @@ -2,4 +2,8 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. +import { Param$Types } from '@polkadot/params/types'; + export type FormatterFunction = (value: any) => any; + +type FormattersFunctionMap = Map; diff --git a/packages/api-provider/src/mock/mocks.ts b/packages/api-provider/src/mock/mocks.ts index 7d1c9029fd19..1c67dbaddb06 100644 --- a/packages/api-provider/src/mock/mocks.ts +++ b/packages/api-provider/src/mock/mocks.ts @@ -7,7 +7,7 @@ import { Storage$Key } from '@polkadot/storage/types'; import { KeyringPair } from '@polkadot/util-keyring/types'; import { ProviderInterface$Emitted } from '../types'; -import { MockState, MockState$Subscription$Callback } from './types'; +import { MockState, MockState$Storage, MockState$Subscriptions, MockState$Subscription$Callback } from './types'; import BN from 'bn.js'; import headerEncode from '@polkadot/primitives-json/header/encode'; @@ -19,6 +19,12 @@ import randomAsU8a from '@polkadot/util-crypto/random/asU8a'; import testKeyring from '@polkadot/util-keyring/testing'; const keyring = testKeyring(); +// @ts-ignore yes, it _should_ be there +const stateStaking = state.get('staking').public; +// @ts-ignore yes, it _should_ be there +const stateSystem = state.get('staking').public; +// @ts-ignore yes, it _should_ be there +const stateTimestamp = state.get('timestamp').public; const emitEvents: Array = ['connected', 'disconnected']; let emitIndex = 0; @@ -39,21 +45,21 @@ function makeBlockHeader (prevNumber: BN) { }; } -function updateSubs (subscriptions, method, value) { +function updateSubs (subscriptions: MockState$Subscriptions, method: string, value: any) { subscriptions[method].lastValue = value; Object .values(subscriptions[method].callbacks) .forEach((cb) => { try { - ((cb: any): MockState$Subscription$Callback)(null, value); + (cb as MockState$Subscription$Callback)(null, value); } catch (error) { console.error(`Error on '${method}' subscription`, error); } }); } -function setStorageBn (storage, key: Storage$Key, value: BN | number, ...keyParams: Array): void { +function setStorageBn (storage: MockState$Storage, key: Storage$Key, value: BN | number, ...keyParams: Array): void { const keyValue = u8aToHex( createKey(key).apply(null, keyParams) ); @@ -74,11 +80,11 @@ export default function mocks ({ emitter, storage, subscriptions }: MockState): newHead = makeBlockHeader(newHead.number); keyring.getPairs().forEach(({ publicKey }: KeyringPair, index: number) => { - setStorageBn(storage, state.staking.public.freeBalanceOf, newHead.number.muln(3).iaddn(index), publicKey()); - setStorageBn(storage, state.system.public.accountIndexOf, newHead.number.addn(index), publicKey()); + setStorageBn(storage, stateStaking.freeBalanceOf, newHead.number.muln(3).iaddn(index), publicKey()); + setStorageBn(storage, stateSystem.accountIndexOf, newHead.number.addn(index), publicKey()); }); - setStorageBn(storage, state.timestamp.public.current, Math.floor(Date.now() / 1000)); + setStorageBn(storage, stateTimestamp.current, Math.floor(Date.now() / 1000)); updateSubs(subscriptions, 'subscribe_newHead', headerEncode(newHead)); }, 5000); diff --git a/packages/api-provider/src/mock/state.ts b/packages/api-provider/src/mock/state.ts index 1d68cf70f06e..19ae86583f81 100644 --- a/packages/api-provider/src/mock/state.ts +++ b/packages/api-provider/src/mock/state.ts @@ -15,7 +15,9 @@ const SUBSCRIPTIONS = Array.prototype.concat.apply( [], Object.keys(interfaces).map((section) => { return Object .keys(interfaces[section].public) - .filter((method) => interfaces[section].public[method].isSubscription) + .filter((method) => + interfaces[section].public[method].isSubscription + ) .map((method) => `subscribe_${method}`); }) ); @@ -23,7 +25,7 @@ const SUBSCRIPTIONS = Array.prototype.concat.apply( const REQUESTS = { 'state_getStorage': (storage: MockState$Storage, params: Array): string => { return u8aToHex( - storage[((params[0]: any): string)] + storage[(params[0] as string)] ); }, 'system_chain': (): string => 'mockChain', diff --git a/packages/api/src/create/interface.spec.js b/packages/api/src/create/interface.spec.js index 58ed65034a8f..553034587f82 100644 --- a/packages/api/src/create/interface.spec.js +++ b/packages/api/src/create/interface.spec.js @@ -26,7 +26,7 @@ jest.mock('@polkadot/jsonrpc', () => ({ } })); -const createInterface from './interface'); +const createInterface = require('./interface'); describe('createInterface', () => { let container; diff --git a/packages/api/src/create/interface.ts b/packages/api/src/create/interface.ts index 6c53bc4ddffe..e702bdd8981e 100644 --- a/packages/api/src/create/interface.ts +++ b/packages/api/src/create/interface.ts @@ -7,13 +7,20 @@ import { ProviderInterface } from '@polkadot/api-provider/types'; import { ApiInterface$Section } from '../types'; import interfaces from '@polkadot/jsonrpc'; +import assert from '@polkadot/util/assert'; +import isUndefined from '@polkadot/util/is/undefined'; import methodSend from './methodSend'; import methodSubscribe from './methodSubscribe'; export default function createInterface (provider: ProviderInterface, section: Interface$Sections): ApiInterface$Section { - const exposed: $Shape = {}; - const methods = interfaces[section].public; + const exposed: ApiInterface$Section = {}; + const definition = interfaces.get(section); + + assert(!isUndefined(definition), `Unable to find section'${section}`); + + // @ts-ignore undefined check done in assert + const methods = definition.public; return Object .keys(methods) diff --git a/packages/api/src/create/methodSend.ts b/packages/api/src/create/methodSend.ts index 93f149b4070b..0717d90f2b03 100644 --- a/packages/api/src/create/methodSend.ts +++ b/packages/api/src/create/methodSend.ts @@ -8,22 +8,22 @@ import { ApiInterface$Section$Method } from '../types'; import formatOutput from '@polkadot/api-format/output'; import ExtError from '@polkadot/util/ext/error'; -import jsonrpcSignature from '@polkadot/params/signature'; +import signature from '@polkadot/params/signature'; import createParams from './params'; export default function createMethodSend (provider: ProviderInterface, rpcName: string, name: string, method: Interface$Method): ApiInterface$Section$Method { const call = async (...values: Array): Promise => { - // TODO: Deprecated warning + // TODO Warn on deprecated methods try { const params = createParams(method.params, values); const result = await provider.send(rpcName, params); return formatOutput(method.type, result); } catch (error) { - throw new ExtError(`${jsonrpcSignature(method)}:: ${error.message}`, (error: ExtError).code); + throw new ExtError(`${signature(method)}:: ${error.message}`, (error as ExtError).code, undefined); } }; - return ((call: any): ApiInterface$Section$Method); + return call as ApiInterface$Section$Method; } diff --git a/packages/api/src/create/methodSubscribe.ts b/packages/api/src/create/methodSubscribe.ts index e0ade9571d7c..5648debdec19 100644 --- a/packages/api/src/create/methodSubscribe.ts +++ b/packages/api/src/create/methodSubscribe.ts @@ -19,22 +19,23 @@ export default function methodSubscribe (provider: ProviderInterface, rpcName: s provider.send(`unsubscribe_${name}`, [subscriptionId]); const call = async (...values: Array): Promise => { try { - const cb = ((values.pop(): any): ProviderInterface$Callback); + const cb: ProviderInterface$Callback = values.pop(); assert(isFunction(cb), `Expected callback in last position of params`); const params = createParams(method.params, values); - const update = (error: ?Error, result?: any) => { + const update = (error: Error | null, result?: any) => { cb(error, formatOutput(method.type, result)); }; return provider.subscribe(`subscribe_${name}`, params, update); } catch (error) { - throw new ExtError(`${signature(method)}:: ${error.message}`, (error: ExtError).code); + throw new ExtError(`${signature(method)}:: ${error.message}`, (error as ExtError).code, undefined); } }; + // @ts-ignore yes, we are extending here call.unsubscribe = unsubscribe; - return ((call: any): ApiInterface$Section$Method); + return call as ApiInterface$Section$Method; } diff --git a/packages/api/src/index.ts b/packages/api/src/index.ts index 1e5a69bc6f20..aa12647e7fdc 100644 --- a/packages/api/src/index.ts +++ b/packages/api/src/index.ts @@ -16,11 +16,9 @@ export default function api (provider: ProviderInterface): ApiInterface { const exposed: ApiInterface = {}; - return Object - .keys(interfaces) - .reduce((result, type) => { - result[type] = createInterface(provider, type); + for (let type of interfaces.keys()) { + exposed[type] = createInterface(provider, type); + } - return result; - }, exposed); + return exposed; } diff --git a/packages/api/src/types.d.ts b/packages/api/src/types.d.ts index 7de7d5b67c96..f48e2f038609 100644 --- a/packages/api/src/types.d.ts +++ b/packages/api/src/types.d.ts @@ -10,9 +10,9 @@ export type ApiInterface$Section$Method = { } export type ApiInterface$Section = { - [string]: ApiInterface$Section$Method + [index: string]: ApiInterface$Section$Method }; export type ApiInterface = { - [Interface$Sections]: ApiInterface$Section + [index: string]: ApiInterface$Section } diff --git a/yarn.lock b/yarn.lock index ed7fac9bf8d5..5139e34e2f1d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -828,6 +828,10 @@ "@polkadot/util-crypto" "^0.24.1" "@polkadot/util-keyring" "^0.24.1" +"@polkadot/ts@^0.0.18": + version "0.0.18" + resolved "https://registry.yarnpkg.com/@polkadot/ts/-/ts-0.0.18.tgz#1b8801bd22a9aa0c568d018c059f6086cf91903d" + "@polkadot/util-crypto@^0.24.1": version "0.24.1" resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-0.24.1.tgz#606e619bfb350d1326d73a7181ba3636872f7e57" From 5b8999b202e8449dafc366a9012ede9a09bcae7d Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Sat, 23 Jun 2018 12:25:45 +0200 Subject: [PATCH 4/6] WIP... --- packages/api-provider/package.json | 1 + packages/api-provider/src/mock/state.ts | 28 ++++++++++--------- packages/api-provider/src/mock/subscribe.ts | 2 +- packages/api-provider/src/mock/types.d.ts | 6 ++-- packages/api-provider/src/types.d.ts | 2 +- packages/api-provider/src/ws/index.ts | 2 -- packages/api-provider/src/ws/onError.ts | 4 +-- packages/api-provider/src/ws/onMessage.ts | 4 +-- .../api-provider/src/ws/onMessageResult.ts | 4 +-- .../api-provider/src/ws/onMessageSubscribe.ts | 2 +- packages/api-provider/src/ws/onOpen.ts | 10 +++++-- packages/api-provider/src/ws/polyfill.ts | 3 +- packages/api-provider/src/ws/send.spec.js | 2 +- packages/api-provider/src/ws/send.ts | 6 ++-- packages/api-provider/src/ws/state.ts | 13 +++++---- .../api-provider/src/ws/subscribe.spec.js | 2 +- packages/api-provider/src/ws/subscribe.ts | 2 +- packages/api-provider/src/ws/types.d.ts | 8 +++--- .../api-provider/src/ws/unsubscribe.spec.js | 2 +- packages/api-provider/src/ws/unsubscribe.ts | 2 +- packages/api-provider/test/e2e.test.ts | 6 ++-- packages/api-provider/test/mock-socket.d.ts | 9 ++++++ packages/api-provider/test/mockHttp.ts | 6 ++-- packages/api-provider/test/mockWs.ts | 17 ++++++----- yarn.lock | 6 ++++ 25 files changed, 90 insertions(+), 59 deletions(-) create mode 100644 packages/api-provider/test/mock-socket.d.ts diff --git a/packages/api-provider/package.json b/packages/api-provider/package.json index c40b8ad9e3ff..65979405e86c 100644 --- a/packages/api-provider/package.json +++ b/packages/api-provider/package.json @@ -43,6 +43,7 @@ "@polkadot/util": "^0.24.1", "@polkadot/util-crypto": "^0.24.1", "@polkadot/util-keyring": "^0.24.1", + "@types/nock": "^9.1.3", "eventemitter3": "^2.0.3", "isomorphic-fetch": "^2.2.1", "websocket": "^1.0.25" diff --git a/packages/api-provider/src/mock/state.ts b/packages/api-provider/src/mock/state.ts index 19ae86583f81..5fc6448bac1b 100644 --- a/packages/api-provider/src/mock/state.ts +++ b/packages/api-provider/src/mock/state.ts @@ -2,24 +2,26 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -import { MockState, MockState$Storage } from './types'; +import { MockState, MockState$Storage, MockState$Subscriptions } from './types'; -import EventEmitter from 'eventemitter3'; +import E3 from 'eventemitter3'; import interfaces from '@polkadot/jsonrpc'; import u8aToHex from '@polkadot/util/u8a/toHex'; import logger from '@polkadot/util/logger'; const l =logger('api-mock'); -const SUBSCRIPTIONS = Array.prototype.concat.apply( - [], Object.keys(interfaces).map((section) => { - return Object - .keys(interfaces[section].public) +const SUBSCRIPTIONS: string[] = Array.prototype.concat.apply( + [], [...interfaces.values()].map((areas) => + Object + .keys(areas.public) .filter((method) => - interfaces[section].public[method].isSubscription + areas.public[method].isSubscription ) - .map((method) => `subscribe_${method}`); - }) + .map((method) => + `subscribe_${method}` + ) + ) ); const REQUESTS = { @@ -35,17 +37,17 @@ const REQUESTS = { export default function state (): MockState { const storage = {}; - const subscriptions = SUBSCRIPTIONS.reduce((subscriptions, name) => { - subscriptions[name] = { + const subscriptions: MockState$Subscriptions = SUBSCRIPTIONS.reduce((subs, name) => { + subs[name] = { callbacks: {}, lastValue: null }; return subscriptions; - }, {}); + }, ({} as MockState$Subscriptions)); return { - emitter: new EventEmitter(), + emitter: new E3.EventEmitter(), l, requests: Object.assign({}, REQUESTS), storage, diff --git a/packages/api-provider/src/mock/subscribe.ts b/packages/api-provider/src/mock/subscribe.ts index e5bd25139c95..0c2572bc6392 100644 --- a/packages/api-provider/src/mock/subscribe.ts +++ b/packages/api-provider/src/mock/subscribe.ts @@ -8,7 +8,7 @@ export default async function subscribe (self: MockState, method: string, params self.l.debug(() => ['subscribe', method, params]); if (self.subscriptions[method]) { - const callback = ((params.pop(): any): MockState$Subscription$Callback); + const callback: MockState$Subscription$Callback = params.pop(); const id = ++self.subscriptionId; self.subscriptions[method].callbacks[id] = callback; diff --git a/packages/api-provider/src/mock/types.d.ts b/packages/api-provider/src/mock/types.d.ts index bc9bd87a0e54..3e661df09c25 100644 --- a/packages/api-provider/src/mock/types.d.ts +++ b/packages/api-provider/src/mock/types.d.ts @@ -2,10 +2,10 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -import EventEmitter from 'eventemitter3'; +import E3 from 'eventemitter3'; import { Logger } from '@polkadot/util/types'; -export type MockState$Subscription$Callback = (error: ?Error, value: any) => void; +export type MockState$Subscription$Callback = (error: Error | null, value: any) => void; export type MockState$Subscriptions = { [index: string]: { @@ -25,7 +25,7 @@ export type MockState$Requests = { }; export type MockState = { - emitter: EventEmitter, + emitter: E3.EventEmitter, l: Logger, requests: MockState$Requests, storage: MockState$Storage, diff --git a/packages/api-provider/src/types.d.ts b/packages/api-provider/src/types.d.ts index e4565d21a2ef..81aa9260ee0e 100644 --- a/packages/api-provider/src/types.d.ts +++ b/packages/api-provider/src/types.d.ts @@ -35,7 +35,7 @@ export type JsonRpcResponseBase = JsonRpcResponse$Single & JsonRpcResponse$Subsc export type JsonRpcResponse = JsonRpcObject & JsonRpcResponseBase; -export type ProviderInterface$Callback = (error: ?Error, result: any) => void; +export type ProviderInterface$Callback = (error: Error | null, result: any) => void; export type ProviderInterface$Emitted = 'connected' | 'disconnected'; diff --git a/packages/api-provider/src/ws/index.ts b/packages/api-provider/src/ws/index.ts index ddb5c582a132..78bcc8041479 100644 --- a/packages/api-provider/src/ws/index.ts +++ b/packages/api-provider/src/ws/index.ts @@ -21,8 +21,6 @@ export default function wsProvider (endpoint: string, autoConnect: boolean = tru } return { - connect: (): void => - connect(self), isConnected: (): boolean => self.isConnected, on: (type: ProviderInterface$Emitted, sub: ProviderInterface$EmitCb): void => diff --git a/packages/api-provider/src/ws/onError.ts b/packages/api-provider/src/ws/onError.ts index ff741afe84b6..4385b344d863 100644 --- a/packages/api-provider/src/ws/onError.ts +++ b/packages/api-provider/src/ws/onError.ts @@ -4,8 +4,8 @@ import { WsState } from './types'; -export default function onError (self: WsState): (Event) => void { +export default function onError (self: WsState): (event: Event) => void { return (error: Event): void => { self.l.error(error); }; -}; +} diff --git a/packages/api-provider/src/ws/onMessage.ts b/packages/api-provider/src/ws/onMessage.ts index 99b574df2ae4..3aa745c5cc10 100644 --- a/packages/api-provider/src/ws/onMessage.ts +++ b/packages/api-provider/src/ws/onMessage.ts @@ -10,11 +10,11 @@ import isUndefined from '@polkadot/util/is/undefined'; import onMessageResult from './onMessageResult'; import onMessageSubscribe from './onMessageSubscribe'; -export default function onMessage (self: WsState): (MessageEvent) => void { +export default function onMessage (self: WsState): (event: MessageEvent) => void { return (message: MessageEvent): void => { self.l.debug(() => ['received', message.data]); - const response: JsonRpcResponse = JSON.parse(((message.data: any): string)); + const response: JsonRpcResponse = JSON.parse(message.data as string); return isUndefined(response.method) ? onMessageResult(self, response) diff --git a/packages/api-provider/src/ws/onMessageResult.ts b/packages/api-provider/src/ws/onMessageResult.ts index 0edc7c45564c..f0e4ac27ae89 100644 --- a/packages/api-provider/src/ws/onMessageResult.ts +++ b/packages/api-provider/src/ws/onMessageResult.ts @@ -20,14 +20,14 @@ export default function onMessageResult (self: WsState, response: JsonRpcRespons const result = self.coder.decodeResponse(response); if (subscription) { - self.subscriptions[((result: any): number)] = { + self.subscriptions[result as number] = { callback: subscription }; } handler.callback(null, result); } catch (error) { - handler.callback(error); + handler.callback(error, undefined); } delete self.handlers[response.id]; diff --git a/packages/api-provider/src/ws/onMessageSubscribe.ts b/packages/api-provider/src/ws/onMessageSubscribe.ts index 5878df4fcbfd..1a955386d0e4 100644 --- a/packages/api-provider/src/ws/onMessageSubscribe.ts +++ b/packages/api-provider/src/ws/onMessageSubscribe.ts @@ -20,6 +20,6 @@ export default function onMessageSubscribe (self: WsState, response: JsonRpcResp handler.callback(null, result); } catch (error) { - handler.callback(error); + handler.callback(error, undefined); } } diff --git a/packages/api-provider/src/ws/onOpen.ts b/packages/api-provider/src/ws/onOpen.ts index 58736c4a6e65..4de1b3447d65 100644 --- a/packages/api-provider/src/ws/onOpen.ts +++ b/packages/api-provider/src/ws/onOpen.ts @@ -4,8 +4,13 @@ import { WsState } from './types'; +import assert from '@polkadot/util/assert'; +import isNull from '@polkadot/util/is/null'; + export default function onOpen (self: WsState): () => boolean { return (): boolean => { + assert(!isNull(self.websocket), 'WebSocket cannot be null in onOpen'); + self.l.debug(() => ['connected to', self.endpoint]); self.isConnected = true; @@ -13,11 +18,12 @@ export default function onOpen (self: WsState): () => boolean { Object.keys(self.queued).forEach((id) => { try { + // @ts-ignore checked above self.websocket.send( - self.queued[((id: any): number)] + self.queued[id] ); - delete self.queued[((id: any): number)]; + delete self.queued[id]; } catch (error) { self.l.error(error); } diff --git a/packages/api-provider/src/ws/polyfill.ts b/packages/api-provider/src/ws/polyfill.ts index 417920bc3c80..c2e3e6c91514 100644 --- a/packages/api-provider/src/ws/polyfill.ts +++ b/packages/api-provider/src/ws/polyfill.ts @@ -3,5 +3,6 @@ // of the ISC license. See the LICENSE file for details. if (typeof WebSocket === 'undefined') { - global.WebSocket from 'websocket').w3cwebsocket; + // @ts-ignore + global.WebSocket = require('websocket').w3cwebsocket; } diff --git a/packages/api-provider/src/ws/send.spec.js b/packages/api-provider/src/ws/send.spec.js index 758b07015c72..257f95e35199 100644 --- a/packages/api-provider/src/ws/send.spec.js +++ b/packages/api-provider/src/ws/send.spec.js @@ -12,7 +12,7 @@ function createMock (requests) { } function createWs (autoConnect) { - ws from './index')(TEST_WS_URL, autoConnect); + ws = require('./index')(TEST_WS_URL, autoConnect); return ws; } diff --git a/packages/api-provider/src/ws/send.ts b/packages/api-provider/src/ws/send.ts index 6ea67c7cf84f..12a6906f5db6 100644 --- a/packages/api-provider/src/ws/send.ts +++ b/packages/api-provider/src/ws/send.ts @@ -5,12 +5,14 @@ import { ProviderInterface$Callback } from '../types'; import { WsState } from './types'; +import isNull from '@polkadot/util/is/null'; + export default async function send (self: WsState, method: string, params: Array, subscription?: ProviderInterface$Callback): Promise { return new Promise((resolve, reject): void => { try { const json = self.coder.encodeJson(method, params); const id = self.coder.getId(); - const callback = (error: ?Error, result: any) => { + const callback = (error: Error | null, result: any) => { if (error) { reject(error); } else { @@ -25,7 +27,7 @@ export default async function send (self: WsState, method: string, params: Array subscription }; - if (self.isConnected) { + if (self.isConnected && !isNull(self.websocket)) { self.websocket.send(json); } else { self.queued[id] = json; diff --git a/packages/api-provider/src/ws/state.ts b/packages/api-provider/src/ws/state.ts index 6a25c1445359..4301778068f3 100644 --- a/packages/api-provider/src/ws/state.ts +++ b/packages/api-provider/src/ws/state.ts @@ -4,26 +4,27 @@ import { WsState } from './types'; -import EventEmitter from 'eventemitter3'); -import assert from '@polkadot/util/assert'); +import E3 from 'eventemitter3'; +import assert from '@polkadot/util/assert'; import logger from '@polkadot/util/logger'; -import scoder from '../coder/json'; +import coder from '../coder/json'; const l = logger('api-ws'); -export default function state (endpoint: string, autoConnect: boolean): $Shape { +export default function state (endpoint: string, autoConnect: boolean): WsState { assert(/^(wss|ws):\/\//.test(endpoint), `Endpoint should start with 'ws://', received '${endpoint}'`); return { autoConnect, coder: coder(), - emitter: new EventEmitter(), + emitter: new E3.EventEmitter(), endpoint, handlers: {}, isConnected: false, l, queued: {}, - subscriptions: {} + subscriptions: {}, + websocket: null }; }; diff --git a/packages/api-provider/src/ws/subscribe.spec.js b/packages/api-provider/src/ws/subscribe.spec.js index 2afceca3bc95..89f759d1436e 100644 --- a/packages/api-provider/src/ws/subscribe.spec.js +++ b/packages/api-provider/src/ws/subscribe.spec.js @@ -12,7 +12,7 @@ function createMock (requests) { } function createWs (autoConnect) { - ws from './index')(TEST_WS_URL, autoConnect); + ws = require('./index')(TEST_WS_URL, autoConnect); return ws; } diff --git a/packages/api-provider/src/ws/subscribe.ts b/packages/api-provider/src/ws/subscribe.ts index 4e9155119d55..bd14edd4b311 100644 --- a/packages/api-provider/src/ws/subscribe.ts +++ b/packages/api-provider/src/ws/subscribe.ts @@ -10,5 +10,5 @@ import send from './send'; export default async function subscribe (self: WsState, method: string, params: Array, subscription: ProviderInterface$Callback): Promise { const id = await send(self, method, params, subscription); - return ((id: any): number); + return id as number; } diff --git a/packages/api-provider/src/ws/types.d.ts b/packages/api-provider/src/ws/types.d.ts index 2c650e25f161..f0c74d328ab3 100644 --- a/packages/api-provider/src/ws/types.d.ts +++ b/packages/api-provider/src/ws/types.d.ts @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -import EventEmitter from 'eventemitter3'; +import E3 from 'eventemitter3'; import { Logger } from '@polkadot/util/types'; import { RpcCoder } from '../coder/json/types'; import { ProviderInterface$Callback } from '../types'; @@ -20,17 +20,17 @@ export type WsState = { autoConnect: boolean, coder: RpcCoder, endpoint: string, - emitter: EventEmitter, + emitter: E3.EventEmitter, handlers: { [index: number]: WsState$Awaiting }, isConnected: boolean, l: Logger, queued: { - [index: number]: string + [index: string]: string }, subscriptions: { [index: number]: WsState$Subscription }, - websocket: WebSocket + websocket: WebSocket | null }; diff --git a/packages/api-provider/src/ws/unsubscribe.spec.js b/packages/api-provider/src/ws/unsubscribe.spec.js index b6e835b6701f..f7bc9dd2200e 100644 --- a/packages/api-provider/src/ws/unsubscribe.spec.js +++ b/packages/api-provider/src/ws/unsubscribe.spec.js @@ -12,7 +12,7 @@ function createMock (requests) { } function createWs (autoConnect) { - ws from './index')(TEST_WS_URL, autoConnect); + ws = require('./index')(TEST_WS_URL, autoConnect); return ws; } diff --git a/packages/api-provider/src/ws/unsubscribe.ts b/packages/api-provider/src/ws/unsubscribe.ts index 69012b521899..cd78bdb3abf3 100644 --- a/packages/api-provider/src/ws/unsubscribe.ts +++ b/packages/api-provider/src/ws/unsubscribe.ts @@ -16,5 +16,5 @@ export default async function unsubscribe (self: WsState, method: string, id: nu const result = await send(self, method, [id]); - return ((result: any): boolean); + return result as boolean; } diff --git a/packages/api-provider/test/e2e.test.ts b/packages/api-provider/test/e2e.test.ts index b6b389870abf..e5efee058f03 100644 --- a/packages/api-provider/test/e2e.test.ts +++ b/packages/api-provider/test/e2e.test.ts @@ -2,11 +2,13 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. +import { ApiInterface } from '../../api/src/types'; + import createApi from '../../api/src'; import createProvider from '../src/ws'; describe.skip('e2e', () => { - let api; + let api: ApiInterface; beforeEach(() => { jest.setTimeout(30000); @@ -17,7 +19,7 @@ describe.skip('e2e', () => { let count = 0; api.chain - .newHead((error, data) => { + .newHead((error: Error | null, data: any) => { console.log('newHead: result =', [error, data]); expect(data).toBeDefined(); diff --git a/packages/api-provider/test/mock-socket.d.ts b/packages/api-provider/test/mock-socket.d.ts new file mode 100644 index 000000000000..23b87c911206 --- /dev/null +++ b/packages/api-provider/test/mock-socket.d.ts @@ -0,0 +1,9 @@ +declare module 'mock-socket' { + export class Server { + constructor (url: string); + + on (event: 'message', body: {}): void; + send (message: string): void; + stop (): void; + } +} diff --git a/packages/api-provider/test/mockHttp.ts b/packages/api-provider/test/mockHttp.ts index 1727960fa014..a994a7b188e9 100644 --- a/packages/api-provider/test/mockHttp.ts +++ b/packages/api-provider/test/mockHttp.ts @@ -6,13 +6,13 @@ import nock from 'nock'; const TEST_HTTP_URL = 'http://localhost:9944'; -function mockHttp (requests) { +function mockHttp (requests: any[]) { nock.cleanAll(); - return requests.reduce((scope, request, index) => { + return requests.reduce((scope, request: any, index: number) => { return scope .post('/') - .reply(request.code || 200, (uri, body) => { + .reply(request.code || 200, (uri: string, body: { id: string }) => { scope.body = scope.body || {}; scope.body[request.method] = body; diff --git a/packages/api-provider/test/mockWs.ts b/packages/api-provider/test/mockWs.ts index 415ecc84c0a3..db720bea5e6e 100644 --- a/packages/api-provider/test/mockWs.ts +++ b/packages/api-provider/test/mockWs.ts @@ -6,9 +6,9 @@ import { Server } from 'mock-socket'; const TEST_WS_URL = 'ws://localhost:9955'; -let server; +let server: Server; -function createError ({ id, error: { code, message } }) { +function createError ({ id, error: { code, message } }: { id: number, error: { code: number, message: string } }) { return { id, jsonrpc: '2.0', @@ -19,7 +19,7 @@ function createError ({ id, error: { code, message } }) { }; } -function createReply ({ id, reply: { result } }) { +function createReply ({ id, reply: { result } }: { id: number, reply: { result: any }}) { return { id, jsonrpc: '2.0', @@ -27,21 +27,24 @@ function createReply ({ id, reply: { result } }) { }; } -function mockWs (requests) { +function mockWs (requests: Array<{ method: string }>) { server = new Server(TEST_WS_URL); let requestCount = 0; - const scope = { + const scope: { body: { [index: string]: {} }, requests: number, server: Server, done: any } = { body: {}, requests: 0, server, done: () => server.stop() }; - server.on('message', (body) => { + server.on('message', (body: {}) => { const request = requests[requestCount]; + // @ts-ignore Yes, SHOULD be fixed, this is a mess const response = request.error + // @ts-ignore Yes, SHOULD be fixed, this is a mess ? createError(request) + // @ts-ignore Yes, SHOULD be fixed, this is a mess : createReply(request); scope.body[request.method] = body; @@ -53,7 +56,7 @@ function mockWs (requests) { return scope; } -export default { +export { TEST_WS_URL, mockWs }; diff --git a/yarn.lock b/yarn.lock index 5139e34e2f1d..31a7e50665ae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -904,6 +904,12 @@ version "23.1.1" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.1.1.tgz#c54ab1a5f41aa693c0957222dd10414416d0c87b" +"@types/nock@^9.1.3": + version "9.1.3" + resolved "https://registry.yarnpkg.com/@types/nock/-/nock-9.1.3.tgz#1d445679375b9e25afd449dc56585f81729454e8" + dependencies: + "@types/node" "*" + "@types/node@*": version "8.5.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.2.tgz#83b8103fa9a2c2e83d78f701a9aa7c9539739aa5" From e3df0c3a0157d221391224e31de72eae3f3dd4ad Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Sat, 23 Jun 2018 12:46:49 +0200 Subject: [PATCH 5/6] And... we are TS typed, some good, some bad, some better, some worse --- packages/api-rx/package.json | 1 + packages/api-rx/src/api/connected.ts | 2 +- packages/api-rx/src/api/index.ts | 5 +- packages/api-rx/src/index.ts | 6 +- packages/api-rx/src/interface.ts | 2 +- packages/api-rx/src/observable/cached.ts | 11 ++- packages/api-rx/src/observable/index.ts | 6 +- packages/api-rx/src/observable/subject.ts | 12 ++-- packages/api-rx/src/types.d.ts | 11 +-- yarn.lock | 88 +++++++++++++++++++++++ 10 files changed, 120 insertions(+), 24 deletions(-) diff --git a/packages/api-rx/package.json b/packages/api-rx/package.json index a0f91cc7051b..32830f47ce11 100644 --- a/packages/api-rx/package.json +++ b/packages/api-rx/package.json @@ -37,6 +37,7 @@ "@babel/runtime": "^7.0.0-beta.47", "@polkadot/api": "^0.13.8", "@polkadot/api-provider": "^0.13.8", + "@types/rx": "^4.1.1", "rxjs": "^5.5.10" } } diff --git a/packages/api-rx/src/api/connected.ts b/packages/api-rx/src/api/connected.ts index c4267496fcf2..47a24375865e 100644 --- a/packages/api-rx/src/api/connected.ts +++ b/packages/api-rx/src/api/connected.ts @@ -6,7 +6,7 @@ import { ProviderInterface } from '@polkadot/api-provider/types'; import { BehaviorSubject } from 'rxjs/BehaviorSubject'; -export default function connected (provider: ProviderInterface): rxjs$BehaviorSubject { +export default function connected (provider: ProviderInterface): BehaviorSubject { const subject = new BehaviorSubject(provider.isConnected()); provider.on('connected', () => subject.next(true)); diff --git a/packages/api-rx/src/api/index.ts b/packages/api-rx/src/api/index.ts index bcf085376f9b..e63ed97c0064 100644 --- a/packages/api-rx/src/api/index.ts +++ b/packages/api-rx/src/api/index.ts @@ -5,13 +5,16 @@ import { ProviderInterface } from '@polkadot/api-provider/types'; import { RxApiInterface } from '../types'; +import { BehaviorSubject } from 'rxjs/BehaviorSubject'; + import createConnected from './connected'; export default function exposed (provider: ProviderInterface): RxApiInterface { const connected = createConnected(provider); + // @ts-ignore as in types.d.ts, not sure what to do here return { - isConnected: (): rxjs$BehaviorSubject => + isConnected: (): BehaviorSubject => connected }; } diff --git a/packages/api-rx/src/index.ts b/packages/api-rx/src/index.ts index 899839d7a912..8df5c45a26b1 100644 --- a/packages/api-rx/src/index.ts +++ b/packages/api-rx/src/index.ts @@ -5,7 +5,7 @@ import { ProviderInterface } from '@polkadot/api-provider/types'; import { RxApiInterface } from './types'; -import createApi from '@polkadot/api'; +import createApi from '@polkadot/api/index'; import interfaces from '@polkadot/jsonrpc'; import createWs from '@polkadot/api-provider/ws'; @@ -17,9 +17,7 @@ export default function rxApi (provider: ProviderInterface = createWs(defaults.W const api = createApi(provider); const exposed = createExposed(provider); - return Object - .keys(interfaces) - .reduce((result, type) => { + return [...interfaces.keys()].reduce((result, type) => { result[type] = createInterface(api, type); return result; diff --git a/packages/api-rx/src/interface.ts b/packages/api-rx/src/interface.ts index 06e34ffda4bd..d33eecdea4b6 100644 --- a/packages/api-rx/src/interface.ts +++ b/packages/api-rx/src/interface.ts @@ -18,5 +18,5 @@ export default function createInterface (api: ApiInterface, sectionName: Interfa observables[name] = observable(`${sectionName}_${name}`, name, section); return observables; - }, ({}: $Shape)); + }, ({} as RxApiInterface$Section)); } diff --git a/packages/api-rx/src/observable/cached.ts b/packages/api-rx/src/observable/cached.ts index 51fa10890a2e..45cd60dc755a 100644 --- a/packages/api-rx/src/observable/cached.ts +++ b/packages/api-rx/src/observable/cached.ts @@ -4,12 +4,11 @@ import { ApiInterface$Section } from '@polkadot/api/types'; -type Cached$Name = string; -type Cached$ParamJson = string; +import { BehaviorSubject } from 'rxjs/BehaviorSubject'; type CachedMap = { - [Cached$Name]: { - [Cached$ParamJson]: rxjs$BehaviorSubject + [index: string]: { + [index: string]: BehaviorSubject } }; @@ -17,12 +16,12 @@ import subject from './subject'; const cacheMap: CachedMap = {}; -export default function cached (subName: string, name: string, section: ApiInterface$Section): (...params: Array) => rxjs$BehaviorSubject { +export default function cached (subName: string, name: string, section: ApiInterface$Section): (...params: Array) => BehaviorSubject { if (!cacheMap[subName]) { cacheMap[subName] = {}; } - return (...params: Array): rxjs$BehaviorSubject => { + return (...params: Array): BehaviorSubject => { const paramStr = JSON.stringify(params); if (!cacheMap[subName][paramStr]) { diff --git a/packages/api-rx/src/observable/index.ts b/packages/api-rx/src/observable/index.ts index 4b7ba1623d6d..a5fed42d33b4 100644 --- a/packages/api-rx/src/observable/index.ts +++ b/packages/api-rx/src/observable/index.ts @@ -4,17 +4,19 @@ import { ApiInterface$Section } from '@polkadot/api/types'; +import { BehaviorSubject } from 'rxjs/BehaviorSubject'; +import { Observable } from 'rxjs/Observable'; import { fromPromise } from 'rxjs/observable/fromPromise'; import isFunction from '@polkadot/util/is/function'; import cached from './cached'; -export default function observable (subName: string, name: string, section: ApiInterface$Section): (...params: Array) => rxjs$Observable | rxjs$BehaviorSubject { +export default function observable (subName: string, name: string, section: ApiInterface$Section): (...params: Array) => Observable | BehaviorSubject { if (isFunction(section[name].unsubscribe)) { return cached(subName, name, section); } - return (...params: Array): rxjs$Observable => + return (...params: Array): Observable => fromPromise( section[name].apply(null, params) ); diff --git a/packages/api-rx/src/observable/subject.ts b/packages/api-rx/src/observable/subject.ts index 4143c7b8b7d4..b96d652cfbd6 100644 --- a/packages/api-rx/src/observable/subject.ts +++ b/packages/api-rx/src/observable/subject.ts @@ -6,13 +6,14 @@ import { ApiInterface$Section } from '@polkadot/api/types'; import { BehaviorSubject } from 'rxjs/BehaviorSubject'; import { Observable } from 'rxjs/Observable'; +import { Subscriber } from 'rxjs/Subscriber'; -export default function subscription (name: string, params: Array, section: ApiInterface$Section, unsubCallback?: () => void): rxjs$BehaviorSubject { - const subject = new BehaviorSubject(); +export default function subscription (name: string, params: Array, section: ApiInterface$Section, unsubCallback?: () => void): BehaviorSubject { + const subject = new BehaviorSubject(undefined); Observable - .create((observer: rxjs$IObserver): Function => { - const callback = (error, result) => { + .create((observer: Subscriber): Function => { + const callback = (error: Error | null, result: any) => { if (error) { return; } @@ -21,12 +22,13 @@ export default function subscription (name: string, params: Array, section: }; const fn = section[name]; + // @ts-ignore slicing and dicing these things in true JS fashion... well, not sure how to go about fixing the TS complaints here const subParams: Array = [].concat(params, [callback]); const subscribe = fn.apply(null, subParams); return (): void => { subscribe - .then((subscriptionId) => fn.unsubscribe(((subscriptionId: any): number))) + .then((subscriptionId: number) => fn.unsubscribe(subscriptionId)) .then(() => { if (unsubCallback) { unsubCallback(); diff --git a/packages/api-rx/src/types.d.ts b/packages/api-rx/src/types.d.ts index 79402e58d2fe..2f1fd4228b6d 100644 --- a/packages/api-rx/src/types.d.ts +++ b/packages/api-rx/src/types.d.ts @@ -2,15 +2,18 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. +import { BehaviorSubject } from 'rxjs/BehaviorSubject'; +import { Observable } from 'rxjs/Observable'; import { Interface$Sections } from '@polkadot/jsonrpc/types'; -export type RxApiInterface$Method = (...params: Array) => rxjs$Observable | rxjs$BehaviorSubject; +export type RxApiInterface$Method = (...params: Array) => Observable | BehaviorSubject; export type RxApiInterface$Section = { - [string]: RxApiInterface$Method + [index: string]: RxApiInterface$Method }; export type RxApiInterface = { - isConnected: () => rxjs$BehaviorSubject; - [Interface$Sections]: RxApiInterface$Section; + // @ts-ignore this is the odd one out... doesn't quite match index sig + isConnected: () => BehaviorSubject; + [index: string]: RxApiInterface$Section; }; diff --git a/yarn.lock b/yarn.lock index 31a7e50665ae..5257edffc402 100644 --- a/yarn.lock +++ b/yarn.lock @@ -918,6 +918,94 @@ version "10.3.4" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.3.4.tgz#c74e8aec19e555df44609b8057311052a2c84d9e" +"@types/rx-core-binding@*": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/rx-core-binding/-/rx-core-binding-4.0.4.tgz#d969d32f15a62b89e2862c17b3ee78fe329818d3" + dependencies: + "@types/rx-core" "*" + +"@types/rx-core@*": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/rx-core/-/rx-core-4.0.3.tgz#0b3354b1238cedbe2b74f6326f139dbc7a591d60" + +"@types/rx-lite-aggregates@*": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/rx-lite-aggregates/-/rx-lite-aggregates-4.0.3.tgz#6efb2b7f3d5f07183a1cb2bd4b1371d7073384c2" + dependencies: + "@types/rx-lite" "*" + +"@types/rx-lite-async@*": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/rx-lite-async/-/rx-lite-async-4.0.2.tgz#27fbf0caeff029f41e2d2aae638b05e91ceb600c" + dependencies: + "@types/rx-lite" "*" + +"@types/rx-lite-backpressure@*": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/rx-lite-backpressure/-/rx-lite-backpressure-4.0.3.tgz#05abb19bdf87cc740196c355e5d0b37bb50b5d56" + dependencies: + "@types/rx-lite" "*" + +"@types/rx-lite-coincidence@*": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/rx-lite-coincidence/-/rx-lite-coincidence-4.0.3.tgz#80bd69acc4054a15cdc1638e2dc8843498cd85c0" + dependencies: + "@types/rx-lite" "*" + +"@types/rx-lite-experimental@*": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/rx-lite-experimental/-/rx-lite-experimental-4.0.1.tgz#c532f5cbdf3f2c15da16ded8930d1b2984023cbd" + dependencies: + "@types/rx-lite" "*" + +"@types/rx-lite-joinpatterns@*": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/rx-lite-joinpatterns/-/rx-lite-joinpatterns-4.0.1.tgz#f70fe370518a8432f29158cc92ffb56b4e4afc3e" + dependencies: + "@types/rx-lite" "*" + +"@types/rx-lite-testing@*": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/rx-lite-testing/-/rx-lite-testing-4.0.1.tgz#21b19d11f4dfd6ffef5a9d1648e9c8879bfe21e9" + dependencies: + "@types/rx-lite-virtualtime" "*" + +"@types/rx-lite-time@*": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/rx-lite-time/-/rx-lite-time-4.0.3.tgz#0eda65474570237598f3448b845d2696f2dbb1c4" + dependencies: + "@types/rx-lite" "*" + +"@types/rx-lite-virtualtime@*": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/rx-lite-virtualtime/-/rx-lite-virtualtime-4.0.3.tgz#4b30cacd0fe2e53af29f04f7438584c7d3959537" + dependencies: + "@types/rx-lite" "*" + +"@types/rx-lite@*": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/rx-lite/-/rx-lite-4.0.5.tgz#b3581525dff69423798daa9a0d33c1e66a5e8c4c" + dependencies: + "@types/rx-core" "*" + "@types/rx-core-binding" "*" + +"@types/rx@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@types/rx/-/rx-4.1.1.tgz#598fc94a56baed975f194574e0f572fd8e627a48" + dependencies: + "@types/rx-core" "*" + "@types/rx-core-binding" "*" + "@types/rx-lite" "*" + "@types/rx-lite-aggregates" "*" + "@types/rx-lite-async" "*" + "@types/rx-lite-backpressure" "*" + "@types/rx-lite-coincidence" "*" + "@types/rx-lite-experimental" "*" + "@types/rx-lite-joinpatterns" "*" + "@types/rx-lite-testing" "*" + "@types/rx-lite-time" "*" + "@types/rx-lite-virtualtime" "*" + "@types/xxhashjs@^0.1.1": version "0.1.1" resolved "https://registry.yarnpkg.com/@types/xxhashjs/-/xxhashjs-0.1.1.tgz#980709096c7138713b7777f49dccd4b8f93908e5" From c0ee67d34b2d0686d66aac02a8d6f3ccccbcf923 Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Sat, 23 Jun 2018 13:29:11 +0200 Subject: [PATCH 6/6] Tests passing --- lerna.json | 2 +- packages/api-format/package.json | 2 +- packages/api-format/src/format.spec.js | 10 ++--- packages/api-provider/package.json | 2 +- packages/api-provider/src/http/index.ts | 2 +- packages/api-provider/src/mock/state.ts | 2 +- packages/api-provider/src/ws/index.ts | 10 ++++- packages/api-provider/src/ws/onClose.spec.js | 4 +- packages/api-provider/src/ws/send.spec.js | 4 +- .../api-provider/src/ws/subscribe.spec.js | 4 +- .../api-provider/src/ws/unsubscribe.spec.js | 4 +- packages/api-rx/package.json | 6 +-- packages/api-rx/src/index.spec.js | 2 +- packages/api-rx/src/index.ts | 6 +-- packages/api-rx/src/interface.spec.js | 2 +- packages/api/package.json | 6 +-- packages/api/src/create/interface.spec.js | 44 ++++++++++--------- 17 files changed, 63 insertions(+), 49 deletions(-) diff --git a/lerna.json b/lerna.json index 3a26e9c553b8..391d6caaa8d8 100644 --- a/lerna.json +++ b/lerna.json @@ -10,5 +10,5 @@ "packages": [ "packages/*" ], - "version": "0.13.8" + "version": "0.14.0" } diff --git a/packages/api-format/package.json b/packages/api-format/package.json index 545594e8cf05..688fccb1aa6a 100644 --- a/packages/api-format/package.json +++ b/packages/api-format/package.json @@ -1,6 +1,6 @@ { "name": "@polkadot/api-format", - "version": "0.13.8", + "version": "0.14.0", "description": "Input/Output formatters for JsonRPC exchange", "main": "index.js", "keywords": [ diff --git a/packages/api-format/src/format.spec.js b/packages/api-format/src/format.spec.js index baaddde7f163..8205c5809c60 100644 --- a/packages/api-format/src/format.spec.js +++ b/packages/api-format/src/format.spec.js @@ -14,12 +14,12 @@ describe('format', () => { echoSpy = jest.fn(echo); warnSpy = jest.spyOn(console, 'warn'); - formatters = { - 'Address': echoSpy, - 'Exception': () => { + formatters = new Map([ + ['Address', echoSpy], + ['Exception', () => { throw new Error('something went wrong'); - } - }; + }] + ]); }); afterEach(() => { diff --git a/packages/api-provider/package.json b/packages/api-provider/package.json index 65979405e86c..900d3ad00607 100644 --- a/packages/api-provider/package.json +++ b/packages/api-provider/package.json @@ -1,6 +1,6 @@ { "name": "@polkadot/api-provider", - "version": "0.13.8", + "version": "0.14.0", "description": "Transport providers for the API", "main": "index.js", "keywords": [ diff --git a/packages/api-provider/src/http/index.ts b/packages/api-provider/src/http/index.ts index 0af6da4f071c..d01341e29a87 100644 --- a/packages/api-provider/src/http/index.ts +++ b/packages/api-provider/src/http/index.ts @@ -4,7 +4,7 @@ import { ProviderInterface, ProviderInterface$Callback, ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; -require('./polyfill'); +import './polyfill'; import on from './on'; import send from './send'; diff --git a/packages/api-provider/src/mock/state.ts b/packages/api-provider/src/mock/state.ts index 5fc6448bac1b..8c8884dd79b6 100644 --- a/packages/api-provider/src/mock/state.ts +++ b/packages/api-provider/src/mock/state.ts @@ -43,7 +43,7 @@ export default function state (): MockState { lastValue: null }; - return subscriptions; + return subs; }, ({} as MockState$Subscriptions)); return { diff --git a/packages/api-provider/src/ws/index.ts b/packages/api-provider/src/ws/index.ts index 78bcc8041479..1dbcffa544ad 100644 --- a/packages/api-provider/src/ws/index.ts +++ b/packages/api-provider/src/ws/index.ts @@ -4,7 +4,7 @@ import { ProviderInterface, ProviderInterface$Callback, ProviderInterface$Emitted, ProviderInterface$EmitCb } from '../types'; -require('./polyfill'); +import './polyfill'; import connect from './connect'; import on from './on'; @@ -13,7 +13,11 @@ import state from './state'; import subscribe from './subscribe'; import unsubscribe from './unsubscribe'; -export default function wsProvider (endpoint: string, autoConnect: boolean = true): ProviderInterface { +type WSProviderInterface = ProviderInterface & { + connect (): void +} + +export default function wsProvider (endpoint: string, autoConnect: boolean = true): WSProviderInterface { const self = state(endpoint, autoConnect); if (autoConnect) { @@ -21,6 +25,8 @@ export default function wsProvider (endpoint: string, autoConnect: boolean = tru } return { + connect: (): void => + connect(self), isConnected: (): boolean => self.isConnected, on: (type: ProviderInterface$Emitted, sub: ProviderInterface$EmitCb): void => diff --git a/packages/api-provider/src/ws/onClose.spec.js b/packages/api-provider/src/ws/onClose.spec.js index 012a8cc6c0d7..5de32cf9cf71 100644 --- a/packages/api-provider/src/ws/onClose.spec.js +++ b/packages/api-provider/src/ws/onClose.spec.js @@ -21,7 +21,7 @@ describe('onClose', () => { }); it('reconnects after delay', () => { - require('./onClose')(createState(TEST_WS_URL, true))(); + require('./onClose').default(createState(TEST_WS_URL, true))(); expect(mockConnect).not.toHaveBeenCalled(); @@ -31,7 +31,7 @@ describe('onClose', () => { }); it('does not reconnect when autoConnect false', () => { - require('./onClose')(createState(TEST_WS_URL, false))(); + require('./onClose').default(createState(TEST_WS_URL, false))(); expect(mockConnect).not.toHaveBeenCalled(); diff --git a/packages/api-provider/src/ws/send.spec.js b/packages/api-provider/src/ws/send.spec.js index 257f95e35199..8ec8b8873a04 100644 --- a/packages/api-provider/src/ws/send.spec.js +++ b/packages/api-provider/src/ws/send.spec.js @@ -4,6 +4,8 @@ import { mockWs, TEST_WS_URL } from '../../test/mockWs'; +import index from './index'; + let ws; let mock; @@ -12,7 +14,7 @@ function createMock (requests) { } function createWs (autoConnect) { - ws = require('./index')(TEST_WS_URL, autoConnect); + ws = index(TEST_WS_URL, autoConnect); return ws; } diff --git a/packages/api-provider/src/ws/subscribe.spec.js b/packages/api-provider/src/ws/subscribe.spec.js index 89f759d1436e..e113766b9cca 100644 --- a/packages/api-provider/src/ws/subscribe.spec.js +++ b/packages/api-provider/src/ws/subscribe.spec.js @@ -4,6 +4,8 @@ import { mockWs, TEST_WS_URL } from '../../test/mockWs'; +import index from './index'; + let ws; let mock; @@ -12,7 +14,7 @@ function createMock (requests) { } function createWs (autoConnect) { - ws = require('./index')(TEST_WS_URL, autoConnect); + ws = index(TEST_WS_URL, autoConnect); return ws; } diff --git a/packages/api-provider/src/ws/unsubscribe.spec.js b/packages/api-provider/src/ws/unsubscribe.spec.js index f7bc9dd2200e..87ee48ca2a08 100644 --- a/packages/api-provider/src/ws/unsubscribe.spec.js +++ b/packages/api-provider/src/ws/unsubscribe.spec.js @@ -4,6 +4,8 @@ import { mockWs, TEST_WS_URL } from '../../test/mockWs'; +import index from './index'; + let ws; let mock; @@ -12,7 +14,7 @@ function createMock (requests) { } function createWs (autoConnect) { - ws = require('./index')(TEST_WS_URL, autoConnect); + ws = index(TEST_WS_URL, autoConnect); return ws; } diff --git a/packages/api-rx/package.json b/packages/api-rx/package.json index 32830f47ce11..b0c7ece001da 100644 --- a/packages/api-rx/package.json +++ b/packages/api-rx/package.json @@ -1,6 +1,6 @@ { "name": "@polkadot/api-rx", - "version": "0.13.8", + "version": "0.14.0", "description": "An RxJs wrapper around the Polkadot JS API", "main": "index.js", "keywords": [ @@ -35,8 +35,8 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.47", - "@polkadot/api": "^0.13.8", - "@polkadot/api-provider": "^0.13.8", + "@polkadot/api": "^0.14.0", + "@polkadot/api-provider": "^0.14.0", "@types/rx": "^4.1.1", "rxjs": "^5.5.10" } diff --git a/packages/api-rx/src/index.spec.js b/packages/api-rx/src/index.spec.js index 0e3cd831e365..370da3d9e680 100644 --- a/packages/api-rx/src/index.spec.js +++ b/packages/api-rx/src/index.spec.js @@ -9,7 +9,7 @@ jest.mock('@polkadot/api-provider/ws', () => () => ({ })); jest.mock('./interface', () => (api, sectionName) => sectionName); -const createApi = require('./index'); +const createApi = require('./index').default; describe('createApi', () => { it('creates an instance with all sections', () => { diff --git a/packages/api-rx/src/index.ts b/packages/api-rx/src/index.ts index 8df5c45a26b1..978aed4cdf04 100644 --- a/packages/api-rx/src/index.ts +++ b/packages/api-rx/src/index.ts @@ -18,8 +18,8 @@ export default function rxApi (provider: ProviderInterface = createWs(defaults.W const exposed = createExposed(provider); return [...interfaces.keys()].reduce((result, type) => { - result[type] = createInterface(api, type); + result[type] = createInterface(api, type); - return result; - }, exposed); + return result; + }, exposed); } diff --git a/packages/api-rx/src/interface.spec.js b/packages/api-rx/src/interface.spec.js index e7c3770150a7..0999e98ec1a0 100644 --- a/packages/api-rx/src/interface.spec.js +++ b/packages/api-rx/src/interface.spec.js @@ -4,7 +4,7 @@ jest.mock('./observable', () => (subName, name, section) => `${subName}_${name}_${Object.keys(section).join(':')}`); -const createInterface = require('./interface'); +const createInterface = require('./interface').default; describe('createInterface', () => { let api; diff --git a/packages/api/package.json b/packages/api/package.json index 1aca86aec854..95e931857ac1 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@polkadot/api", - "version": "0.13.8", + "version": "0.14.0", "description": "A JavaScript wrapper for the Polkadot JsonRPC interface", "main": "index.js", "keywords": [ @@ -35,8 +35,8 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.47", - "@polkadot/api-format": "^0.13.8", - "@polkadot/api-provider": "^0.13.8", + "@polkadot/api-format": "^0.14.0", + "@polkadot/api-provider": "^0.14.0", "@polkadot/jsonrpc": "^0.19.1", "@polkadot/params": "^0.19.1", "@polkadot/util": "^0.24.1" diff --git a/packages/api/src/create/interface.spec.js b/packages/api/src/create/interface.spec.js index 553034587f82..6e66e3911d5c 100644 --- a/packages/api/src/create/interface.spec.js +++ b/packages/api/src/create/interface.spec.js @@ -4,29 +4,31 @@ import isFunction from '@polkadot/util/is/function'; -jest.mock('@polkadot/jsonrpc', () => ({ - test: { - public: { - blah: { - params: [ - { name: 'foo', type: 'Address' } - ], - type: 'Address' - }, - bleh: { - params: [], - type: 'Address' - }, - pubsub: { - isSubscription: true, - params: [], - type: 'Address' +jest.mock('@polkadot/jsonrpc', () => + new Map([ + ['test', { + public: { + blah: { + params: [ + { name: 'foo', type: 'Address' } + ], + type: 'Address' + }, + bleh: { + params: [], + type: 'Address' + }, + pubsub: { + isSubscription: true, + params: [], + type: 'Address' + } } - } - } -})); + }] + ]) +); -const createInterface = require('./interface'); +const createInterface = require('./interface').default; describe('createInterface', () => { let container;