diff --git a/.gitignore b/.gitignore index 514b40a..6c180a6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /node_modules dist +.idea/ diff --git a/package.json b/package.json index 0d6b857..73f570e 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "object-assign": "^4.0.1", "rollup-pluginutils": "^1.3.1", "tippex": "^2.1.1", - "typescript": "^1.8.9" + "typescript": "^2.1.4" }, "devDependencies": { "buble": "^0.13.1", diff --git a/src/index.js b/src/index.js index 425b3c2..24dec04 100644 --- a/src/index.js +++ b/src/index.js @@ -143,7 +143,7 @@ export default function typescript ( options ) { return { // Always append an import for the helpers. code: transformed.outputText + - `\nimport { __assign, __awaiter, __extends, __decorate, __metadata, __param } from '${helpersId}';`, + `\nimport { __assign, __awaiter, __extends, __decorate, __generator, __metadata, __param } from '${helpersId}';`, // Rollup expects `map` to be an object so we must parse the string map: transformed.sourceMapText ? JSON.parse(transformed.sourceMapText) : null diff --git a/src/typescript-helpers.js b/src/typescript-helpers.js index 092b99e..a0d10be 100644 --- a/src/typescript-helpers.js +++ b/src/typescript-helpers.js @@ -39,3 +39,31 @@ export function __awaiter(thisArg, _arguments, P, generator) { step((generator = generator.apply(thisArg, _arguments)).next()); }); } + +export function __generator(thisArg, body) { + var _ = { label: 0, sent: function () { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t; + return { next: verb(0), "throw": verb(1), "return": verb(2) }; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [0, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}