From ab40523e1eda16806cfc359f7dce7610a7f14f86 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Mon, 3 Jun 2019 18:08:40 -0700 Subject: [PATCH] Add '__spreadArrays' helper (#67) --- tslib.d.ts | 3 ++- tslib.es6.js | 8 ++++++++ tslib.js | 10 ++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/tslib.d.ts b/tslib.d.ts index c4a0e11..ad89fd7 100644 --- a/tslib.d.ts +++ b/tslib.d.ts @@ -23,7 +23,8 @@ export declare function __generator(thisArg: any, body: Function): any; export declare function __exportStar(m: any, exports: any): void; export declare function __values(o: any): any; export declare function __read(o: any, n?: number): any[]; -export declare function __spread(...args: any[]): any[]; +export declare function __spread(...args: any[][]): any[]; +export declare function __spreadArrays(...args: any[][]): any[]; export declare function __await(v: any): any; export declare function __asyncGenerator(thisArg: any, _arguments: any, generator: Function): any; export declare function __asyncDelegator(o: any): any; diff --git a/tslib.es6.js b/tslib.es6.js index 6a9aced..5055a74 100644 --- a/tslib.es6.js +++ b/tslib.es6.js @@ -140,6 +140,14 @@ export function __spread() { return ar; } +export function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; + export function __await(v) { return this instanceof __await ? (this.v = v, this) : new __await(v); } diff --git a/tslib.js b/tslib.js index 639fbcd..34615c1 100644 --- a/tslib.js +++ b/tslib.js @@ -25,6 +25,7 @@ var __exportStar; var __values; var __read; var __spread; +var __spreadArrays; var __await; var __asyncGenerator; var __asyncDelegator; @@ -176,6 +177,14 @@ var __importDefault; return ar; }; + __spreadArrays = function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + __await = function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }; @@ -235,6 +244,7 @@ var __importDefault; exporter("__values", __values); exporter("__read", __read); exporter("__spread", __spread); + exporter("__spreadArrays", __spreadArrays); exporter("__await", __await); exporter("__asyncGenerator", __asyncGenerator); exporter("__asyncDelegator", __asyncDelegator);