@decohere/forge 0.0.1-dev.64 → 0.0.1-dev.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/commonjs/src/actions/index.js +2 -1
  2. package/commonjs/src/actions/typecheck.action.js +69 -0
  3. package/commonjs/src/commands/index.js +2 -1
  4. package/commonjs/src/commands/typecheck.command.js +26 -0
  5. package/commonjs/src/factories/swc-config.factory.js +13 -19
  6. package/commonjs/src/forge.module.js +4 -1
  7. package/commonjs/src/services/ts-program-host.js +3 -3
  8. package/commonjs/src/services/type-emission-program.js +24 -7
  9. package/commonjs/src/services/type-emitter.js +34 -4
  10. package/es6/src/actions/index.js +2 -1
  11. package/es6/src/actions/typecheck.action.js +56 -0
  12. package/es6/src/commands/index.js +2 -1
  13. package/es6/src/commands/typecheck.command.js +16 -0
  14. package/es6/src/factories/swc-config.factory.js +13 -19
  15. package/es6/src/forge.module.js +4 -1
  16. package/es6/src/services/ts-program-host.js +3 -3
  17. package/es6/src/services/type-emission-program.js +24 -7
  18. package/es6/src/services/type-emitter.js +31 -4
  19. package/package.json +5 -5
  20. package/types/src/actions/index.d.ts +1 -0
  21. package/types/src/actions/typecheck.action.d.ts +14 -0
  22. package/types/src/commands/index.d.ts +1 -0
  23. package/types/src/commands/typecheck.command.d.ts +6 -0
  24. package/types/src/factories/swc-config.factory.d.ts +1 -6
  25. package/types/src/forge.module.d.ts +2 -0
  26. package/types/src/services/ts-program-host.d.ts +1 -1
  27. package/types/src/services/type-emission-program.d.ts +6 -1
  28. package/types/src/services/type-emitter.d.ts +14 -0
  29. package/commonjs/src/workspace-package-aliases.js +0 -65
  30. package/es6/src/workspace-package-aliases.js +0 -43
  31. package/types/src/workspace-package-aliases.d.ts +0 -10
@@ -13,6 +13,7 @@ _export_star(require("./link.action.js"), exports);
13
13
  _export_star(require("./publish.action.js"), exports);
14
14
  _export_star(require("./sync-lock-file.action.js"), exports);
15
15
  _export_star(require("./tag.action.js"), exports);
16
+ _export_star(require("./typecheck.action.js"), exports);
16
17
  _export_star(require("./unlink.action.js"), exports);
17
18
  _export_star(require("./version.action.js"), exports);
18
19
  _export_star(require("./watch.action.js"), exports);
@@ -30,4 +31,4 @@ function _export_star(from, to) {
30
31
  return from;
31
32
  }
32
33
 
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2J1aWxkLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2xlYW4uYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21taXQuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3B5LmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVwZW5kZW5jeS1yZXBvcnQuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZXBlbmRlbmN5LXN5bmMuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kb2NrZXIuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saW5rLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHVibGlzaC5hY3Rpb24uanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N5bmMtbG9jay1maWxlLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFnLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdW5saW5rLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVyc2lvbi5hY3Rpb24uanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dhdGNoLmFjdGlvbi5qc1wiO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWM7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0EifQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2J1aWxkLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2xlYW4uYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21taXQuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3B5LmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVwZW5kZW5jeS1yZXBvcnQuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZXBlbmRlbmN5LXN5bmMuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kb2NrZXIuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saW5rLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHVibGlzaC5hY3Rpb24uanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N5bmMtbG9jay1maWxlLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFnLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZWNoZWNrLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdW5saW5rLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVyc2lvbi5hY3Rpb24uanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dhdGNoLmFjdGlvbi5qc1wiO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWM7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0EifQ==
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "TypeCheck", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return TypeCheck;
9
+ }
10
+ });
11
+ const _decorators = require("@decohere/crucible/decorators");
12
+ const _mesh = require("@decohere/mesh");
13
+ const _cli = require("@decohere/nexus/cli");
14
+ const _diagnostics = require("@decohere/nexus/diagnostics");
15
+ const _scribe = require("@decohere/scribe");
16
+ const _typescript = /*#__PURE__*/ _interop_require_default(require("typescript"));
17
+ const _errors = require("../errors.js");
18
+ const _typeemitter = require("../services/type-emitter.js");
19
+ function _interop_require_default(obj) {
20
+ return obj && obj.__esModule ? obj : {
21
+ default: obj
22
+ };
23
+ }
24
+ function _ts_decorate(decorators, target, key, desc) {
25
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
26
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
27
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
28
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
29
+ }
30
+ function _ts_metadata(k, v) {
31
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
32
+ }
33
+ class TypeCheck {
34
+ workspace;
35
+ typeEmitter;
36
+ #logger = _scribe.scribe.logger(TypeCheck.name);
37
+ constructor(workspace, typeEmitter){
38
+ this.workspace = workspace;
39
+ this.typeEmitter = typeEmitter;
40
+ }
41
+ run = async (options)=>{
42
+ const projects = this.workspace.getProjects(options.configuration);
43
+ for (const project of projects){
44
+ this.#logger.info(`Type-checking ${project.name}`);
45
+ }
46
+ const { diagnostics, formatted } = await this.typeEmitter.checkProject([
47
+ ...projects
48
+ ]);
49
+ const errors = diagnostics.filter((diagnostic)=>diagnostic.category === _typescript.default.DiagnosticCategory.Error);
50
+ if (errors.length > 0) {
51
+ throw new _errors.ForgeError(formatted || "Type check failed");
52
+ }
53
+ if (formatted.length > 0) {
54
+ this.#logger.info(formatted);
55
+ }
56
+ return _cli.ActionResponse.Success(TypeCheck.name);
57
+ };
58
+ }
59
+ TypeCheck = _ts_decorate([
60
+ _diagnostics.Trace,
61
+ (0, _decorators.injectable)(),
62
+ _ts_metadata("design:type", Function),
63
+ _ts_metadata("design:paramtypes", [
64
+ typeof _mesh.Workspace === "undefined" ? Object : _mesh.Workspace,
65
+ typeof _typeemitter.TypeEmitter === "undefined" ? Object : _typeemitter.TypeEmitter
66
+ ])
67
+ ], TypeCheck);
68
+
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL3R5cGVjaGVjay5hY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0YWJsZSB9IGZyb20gXCJAZGVjb2hlcmUvY3J1Y2libGUvZGVjb3JhdG9yc1wiO1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlSW1wb3J0VHlwZTogPERJPlxuaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZGlhZ25vc3RpY3NcIjtcbmltcG9ydCB7IHNjcmliZSB9IGZyb20gXCJAZGVjb2hlcmUvc2NyaWJlXCI7XG5pbXBvcnQgdHMgZnJvbSBcInR5cGVzY3JpcHRcIjtcbmltcG9ydCB7IEZvcmdlRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzLmpzXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBUeXBlRW1pdHRlciB9IGZyb20gXCIuLi9zZXJ2aWNlcy90eXBlLWVtaXR0ZXIuanNcIjtcblxuZXhwb3J0IHR5cGUgVHlwZUNoZWNrT3B0aW9ucyA9IHtcblx0Y29uZmlndXJhdGlvbjogc3RyaW5nO1xufTtcblxuQFRyYWNlXG5AaW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHlwZUNoZWNrIGltcGxlbWVudHMgQWN0aW9uPFR5cGVDaGVja09wdGlvbnM+IHtcblx0I2xvZ2dlciA9IHNjcmliZS5sb2dnZXIoVHlwZUNoZWNrLm5hbWUpO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IHdvcmtzcGFjZTogV29ya3NwYWNlLFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgdHlwZUVtaXR0ZXI6IFR5cGVFbWl0dGVyLFxuXHQpIHt9XG5cblx0cHVibGljIHJ1biA9IGFzeW5jIChvcHRpb25zOiBUeXBlQ2hlY2tPcHRpb25zKTogUHJvbWlzZTxBY3Rpb25SZXNwb25zZT4gPT4ge1xuXHRcdGNvbnN0IHByb2plY3RzID0gdGhpcy53b3Jrc3BhY2UuZ2V0UHJvamVjdHMob3B0aW9ucy5jb25maWd1cmF0aW9uKTtcblx0XHRmb3IgKGNvbnN0IHByb2plY3Qgb2YgcHJvamVjdHMpIHtcblx0XHRcdHRoaXMuI2xvZ2dlci5pbmZvKGBUeXBlLWNoZWNraW5nICR7cHJvamVjdC5uYW1lfWApO1xuXHRcdH1cblxuXHRcdGNvbnN0IHsgZGlhZ25vc3RpY3MsIGZvcm1hdHRlZCB9ID0gYXdhaXQgdGhpcy50eXBlRW1pdHRlci5jaGVja1Byb2plY3QoWy4uLnByb2plY3RzXSk7XG5cdFx0Y29uc3QgZXJyb3JzID0gZGlhZ25vc3RpY3MuZmlsdGVyKFxuXHRcdFx0KGRpYWdub3N0aWMpID0+IGRpYWdub3N0aWMuY2F0ZWdvcnkgPT09IHRzLkRpYWdub3N0aWNDYXRlZ29yeS5FcnJvcixcblx0XHQpO1xuXG5cdFx0aWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG5cdFx0XHR0aHJvdyBuZXcgRm9yZ2VFcnJvcihmb3JtYXR0ZWQgfHwgXCJUeXBlIGNoZWNrIGZhaWxlZFwiKTtcblx0XHR9XG5cblx0XHRpZiAoZm9ybWF0dGVkLmxlbmd0aCA+IDApIHtcblx0XHRcdHRoaXMuI2xvZ2dlci5pbmZvKGZvcm1hdHRlZCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlN1Y2Nlc3MoVHlwZUNoZWNrLm5hbWUpO1xuXHR9O1xufVxuIl0sIm5hbWVzIjpbIlR5cGVDaGVjayIsInNjcmliZSIsImxvZ2dlciIsIm5hbWUiLCJ3b3Jrc3BhY2UiLCJ0eXBlRW1pdHRlciIsInJ1biIsIm9wdGlvbnMiLCJwcm9qZWN0cyIsImdldFByb2plY3RzIiwiY29uZmlndXJhdGlvbiIsInByb2plY3QiLCJpbmZvIiwiZGlhZ25vc3RpY3MiLCJmb3JtYXR0ZWQiLCJjaGVja1Byb2plY3QiLCJlcnJvcnMiLCJmaWx0ZXIiLCJkaWFnbm9zdGljIiwiY2F0ZWdvcnkiLCJ0cyIsIkRpYWdub3N0aWNDYXRlZ29yeSIsIkVycm9yIiwibGVuZ3RoIiwiRm9yZ2VFcnJvciIsIkFjdGlvblJlc3BvbnNlIiwiU3VjY2VzcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFrQmFBOzs7ZUFBQUE7Ozs0QkFsQmM7c0JBRUQ7cUJBRUs7NkJBQ1Q7d0JBQ0M7bUVBQ1I7d0JBQ1k7NkJBRUM7Ozs7Ozs7Ozs7Ozs7OztBQVFyQixNQUFNQTs7O0lBQ1osQ0FBQSxNQUFPLEdBQUdDLGNBQU0sQ0FBQ0MsTUFBTSxDQUFDRixVQUFVRyxJQUFJLEVBQUU7SUFFeEMsWUFDQyxBQUFpQkMsU0FBb0IsRUFDckMsQUFBaUJDLFdBQXdCLENBQ3hDO2FBRmdCRCxZQUFBQTthQUNBQyxjQUFBQTtJQUNmO0lBRUlDLE1BQU0sT0FBT0M7UUFDbkIsTUFBTUMsV0FBVyxJQUFJLENBQUNKLFNBQVMsQ0FBQ0ssV0FBVyxDQUFDRixRQUFRRyxhQUFhO1FBQ2pFLEtBQUssTUFBTUMsV0FBV0gsU0FBVTtZQUMvQixJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUNJLElBQUksQ0FBQyxDQUFDLGNBQWMsRUFBRUQsUUFBUVIsSUFBSSxFQUFFO1FBQ2xEO1FBRUEsTUFBTSxFQUFFVSxXQUFXLEVBQUVDLFNBQVMsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDVCxXQUFXLENBQUNVLFlBQVksQ0FBQztlQUFJUDtTQUFTO1FBQ3BGLE1BQU1RLFNBQVNILFlBQVlJLE1BQU0sQ0FDaEMsQ0FBQ0MsYUFBZUEsV0FBV0MsUUFBUSxLQUFLQyxtQkFBRSxDQUFDQyxrQkFBa0IsQ0FBQ0MsS0FBSztRQUdwRSxJQUFJTixPQUFPTyxNQUFNLEdBQUcsR0FBRztZQUN0QixNQUFNLElBQUlDLGtCQUFVLENBQUNWLGFBQWE7UUFDbkM7UUFFQSxJQUFJQSxVQUFVUyxNQUFNLEdBQUcsR0FBRztZQUN6QixJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUNYLElBQUksQ0FBQ0U7UUFDbkI7UUFFQSxPQUFPVyxtQkFBYyxDQUFDQyxPQUFPLENBQUMxQixVQUFVRyxJQUFJO0lBQzdDLEVBQUU7QUFDSCJ9
@@ -9,6 +9,7 @@ _export_star(require("./forge.command.js"), exports);
9
9
  _export_star(require("./link.command.js"), exports);
10
10
  _export_star(require("./publish.command.js"), exports);
11
11
  _export_star(require("./tag.command.js"), exports);
12
+ _export_star(require("./typecheck.command.js"), exports);
12
13
  _export_star(require("./version.command.js"), exports);
13
14
  function _export_star(from, to) {
14
15
  Object.keys(from).forEach(function(k) {
@@ -24,4 +25,4 @@ function _export_star(from, to) {
24
25
  return from;
25
26
  }
26
27
 
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb21tYW5kcy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9idWlsZC5jb21tYW5kLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZXBlbmRlbmN5LmNvbW1hbmQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RvY2tlci5jb21tYW5kLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3JnZS5jb21tYW5kLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saW5rLmNvbW1hbmQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3B1Ymxpc2guY29tbWFuZC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFnLmNvbW1hbmQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZlcnNpb24uY29tbWFuZC5qc1wiO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWM7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0EifQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb21tYW5kcy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9idWlsZC5jb21tYW5kLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZXBlbmRlbmN5LmNvbW1hbmQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RvY2tlci5jb21tYW5kLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3JnZS5jb21tYW5kLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saW5rLmNvbW1hbmQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3B1Ymxpc2guY29tbWFuZC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFnLmNvbW1hbmQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVjaGVjay5jb21tYW5kLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92ZXJzaW9uLmNvbW1hbmQuanNcIjtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O3FCQUFjO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBIn0=
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "TypeCheckCommand", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return TypeCheckCommand;
9
+ }
10
+ });
11
+ const _cli = require("@decohere/nexus/cli");
12
+ const _typecheckaction = require("../actions/typecheck.action.js");
13
+ class TypeCheckCommand extends _cli.DecohereCommand {
14
+ get actions() {
15
+ return [
16
+ _typecheckaction.TypeCheck
17
+ ];
18
+ }
19
+ constructor(name){
20
+ super(name);
21
+ this.description("Type-check workspace projects without emitting files");
22
+ this.addOption(new _cli.ConfigurationOption("debug"));
23
+ }
24
+ }
25
+
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb21tYW5kcy90eXBlY2hlY2suY29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWd1cmF0aW9uT3B0aW9uLCBEZWNvaGVyZUNvbW1hbmQgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgVHlwZUNoZWNrIH0gZnJvbSBcIi4uL2FjdGlvbnMvdHlwZWNoZWNrLmFjdGlvbi5qc1wiO1xuXG5leHBvcnQgY2xhc3MgVHlwZUNoZWNrQ29tbWFuZCBleHRlbmRzIERlY29oZXJlQ29tbWFuZCB7XG5cdHB1YmxpYyBvdmVycmlkZSBnZXQgYWN0aW9ucygpIHtcblx0XHRyZXR1cm4gW1R5cGVDaGVja107XG5cdH1cblxuXHRwdWJsaWMgY29uc3RydWN0b3IobmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIobmFtZSk7XG5cdFx0dGhpcy5kZXNjcmlwdGlvbihcIlR5cGUtY2hlY2sgd29ya3NwYWNlIHByb2plY3RzIHdpdGhvdXQgZW1pdHRpbmcgZmlsZXNcIik7XG5cdFx0dGhpcy5hZGRPcHRpb24obmV3IENvbmZpZ3VyYXRpb25PcHRpb24oXCJkZWJ1Z1wiKSk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJUeXBlQ2hlY2tDb21tYW5kIiwiRGVjb2hlcmVDb21tYW5kIiwiYWN0aW9ucyIsIlR5cGVDaGVjayIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImFkZE9wdGlvbiIsIkNvbmZpZ3VyYXRpb25PcHRpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2FBOzs7ZUFBQUE7OztxQkFId0M7aUNBQzNCO0FBRW5CLE1BQU1BLHlCQUF5QkMsb0JBQWU7SUFDcEQsSUFBb0JDLFVBQVU7UUFDN0IsT0FBTztZQUFDQywwQkFBUztTQUFDO0lBQ25CO0lBRUEsWUFBbUJDLElBQVksQ0FBRTtRQUNoQyxLQUFLLENBQUNBO1FBQ04sSUFBSSxDQUFDQyxXQUFXLENBQUM7UUFDakIsSUFBSSxDQUFDQyxTQUFTLENBQUMsSUFBSUMsd0JBQW1CLENBQUM7SUFDeEM7QUFDRCJ9
@@ -9,10 +9,10 @@ Object.defineProperty(exports, "SwcConfigFactory", {
9
9
  }
10
10
  });
11
11
  const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
12
+ const _mesh = require("@decohere/mesh");
12
13
  const _diagnostics = require("@decohere/nexus/diagnostics");
13
14
  const _objects = require("@decohere/nexus/objects");
14
15
  const _errors = require("../errors.js");
15
- const _workspacepackagealiases = require("../workspace-package-aliases.js");
16
16
  function _interop_require_default(obj) {
17
17
  return obj && obj.__esModule ? obj : {
18
18
  default: obj
@@ -50,8 +50,13 @@ class SwcConfigFactory {
50
50
  */ createBaseConfig(buildTarget, configOptions) {
51
51
  const { userConfig, tsConfig, aliasPaths, workspace, projects } = configOptions;
52
52
  const { compilerOptions } = tsConfig ?? {};
53
- const paths = aliasPaths ? this.buildAliasPaths(compilerOptions?.paths, workspace, projects, this.resolveAliasBaseUrl(tsConfig, workspace)) : undefined;
54
- const baseUrl = this.resolveAliasBaseUrl(tsConfig, workspace) ?? (paths != null ? _nodepath.default.resolve(".") : undefined);
53
+ const aliases = aliasPaths ? workspace != null ? workspace.getPackageAliases(projects?.[0]?.configuration.name ?? "debug") : projects != null && projects.length > 0 ? _mesh.packageAliases.build(projects, {
54
+ baseUrl: SwcConfigFactory.getBaseUrl(tsConfig) ?? _nodepath.default.resolve(projects[0].rootDir),
55
+ tsconfigPaths: compilerOptions?.paths
56
+ }) : undefined : undefined;
57
+ const tsconfigOnlyPaths = aliasPaths && aliases == null ? compilerOptions?.paths : undefined;
58
+ const paths = SwcConfigFactory.nonemptyPaths(aliases?.paths ?? tsconfigOnlyPaths);
59
+ const baseUrl = aliases?.baseUrl ?? SwcConfigFactory.getBaseUrl(tsConfig) ?? (workspace != null ? _nodepath.default.resolve(workspace.rootDir) : undefined) ?? (paths != null ? _nodepath.default.resolve(".") : undefined);
55
60
  const options = {
56
61
  jsc: {
57
62
  baseUrl,
@@ -73,6 +78,10 @@ class SwcConfigFactory {
73
78
  this.validate(config);
74
79
  return config;
75
80
  }
81
+ static nonemptyPaths(paths) {
82
+ if (paths == null || Object.keys(paths).length === 0) return undefined;
83
+ return paths;
84
+ }
76
85
  /**
77
86
  * Validates SWC options against known causes of Rust/NAPI process crashes.
78
87
  * Throws a ForgeError with a descriptive message instead of letting the
@@ -86,21 +95,6 @@ class SwcConfigFactory {
86
95
  throw new _errors.ForgeError(`SWC config: jsc.baseUrl must be an absolute path to avoid a process crash, got: "${baseUrl}". Use path.resolve() to convert it.`);
87
96
  }
88
97
  }
89
- /**
90
- * Convention aliases from workspace packages, then `tsconfig` `paths` overrides.
91
- * Empty maps are omitted so SWC is not given a useless `jsc.paths`.
92
- */ buildAliasPaths(tsconfigPaths, workspace, projects, baseUrl) {
93
- const resolvedBase = baseUrl ?? _nodepath.default.resolve(".");
94
- const convention = (0, _workspacepackagealiases.buildWorkspaceAliasPaths)((0, _workspacepackagealiases.resolveAliasProjects)(workspace, projects), resolvedBase);
95
- const merged = (0, _workspacepackagealiases.mergeAliasPaths)(convention, tsconfigPaths);
96
- return Object.keys(merged).length > 0 ? merged : undefined;
97
- }
98
- resolveAliasBaseUrl(tsConfig, workspace) {
99
- const fromTs = SwcConfigFactory.getBaseUrl(tsConfig);
100
- if (fromTs != null) return fromTs;
101
- if (workspace != null) return _nodepath.default.resolve(workspace.rootDir);
102
- return undefined;
103
- }
104
98
  /** Resolves tsconfig baseUrl to an absolute path. Returns undefined if not set. */ static getBaseUrl(tsConfig) {
105
99
  const baseUrl = tsConfig?.compilerOptions?.baseUrl;
106
100
  if (baseUrl == null) return undefined;
@@ -111,4 +105,4 @@ SwcConfigFactory = _ts_decorate([
111
105
  _diagnostics.Trace
112
106
  ], SwcConfigFactory);
113
107
 
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mYWN0b3JpZXMvc3djLWNvbmZpZy5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgVHNjb25maWcgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9kaWFnbm9zdGljc1wiO1xuaW1wb3J0IHR5cGUgeyBGaWxlRXggfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvb2JqZWN0c1wiO1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIH0gZnJvbSBcIkBzd2MvY29yZVwiO1xuaW1wb3J0IHsgRm9yZ2VFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNwaWxlVGFyZ2V0IH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN3Y0NvbmZpZ09wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMvc3djLWNvbmZpZy50eXBlLmpzXCI7XG5pbXBvcnQge1xuXHRidWlsZFdvcmtzcGFjZUFsaWFzUGF0aHMsXG5cdG1lcmdlQWxpYXNQYXRocyxcblx0cmVzb2x2ZUFsaWFzUHJvamVjdHMsXG59IGZyb20gXCIuLi93b3Jrc3BhY2UtcGFja2FnZS1hbGlhc2VzLmpzXCI7XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuXHRqc2M6IHtcblx0XHRwYXJzZXI6IHtcblx0XHRcdHN5bnRheDogXCJ0eXBlc2NyaXB0XCIsXG5cdFx0XHRkZWNvcmF0b3JzOiB0cnVlLFxuXHRcdH0sXG5cdFx0dGFyZ2V0OiBcImVzbmV4dFwiLFxuXHRcdHRyYW5zZm9ybToge1xuXHRcdFx0ZGVjb3JhdG9yTWV0YWRhdGE6IHRydWUsXG5cdFx0fSxcblx0XHRleHBlcmltZW50YWw6IHsga2VlcEltcG9ydEF0dHJpYnV0ZXM6IHRydWUgfSxcblx0fSxcblx0bW9kdWxlOiB7XG5cdFx0cmVzb2x2ZUZ1bGx5OiB0cnVlLFxuXHR9LFxuXHRzb3VyY2VNYXBzOiBcImlubGluZVwiLFxufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgU3djQ29uZmlnRmFjdG9yeSB7XG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgYmFzZSBjb25maWcgZm9yIGEgcHJvamVjdCt0YXJnZXQgY29tYmluYXRpb24sIHdpdGhvdXQgYSBmaWxlbmFtZS5cblx0ICogQ2FsbCBvbmNlIHBlciAocHJvamVjdCwgdGFyZ2V0KSBhbmQgdGhlbiB1c2UgY3JlYXRlRmlsZUNvbmZpZygpIHBlciBmaWxlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUJhc2VDb25maWcoXG5cdFx0YnVpbGRUYXJnZXQ6IFRyYW5zcGlsZVRhcmdldCxcblx0XHRjb25maWdPcHRpb25zOiBTd2NDb25maWdPcHRpb25zLFxuXHQpOiBPcHRpb25zIHtcblx0XHRjb25zdCB7IHVzZXJDb25maWcsIHRzQ29uZmlnLCBhbGlhc1BhdGhzLCB3b3Jrc3BhY2UsIHByb2plY3RzIH0gPSBjb25maWdPcHRpb25zO1xuXHRcdGNvbnN0IHsgY29tcGlsZXJPcHRpb25zIH0gPSB0c0NvbmZpZyA/PyB7fTtcblx0XHRjb25zdCBwYXRocyA9IGFsaWFzUGF0aHNcblx0XHRcdD8gdGhpcy5idWlsZEFsaWFzUGF0aHMoXG5cdFx0XHRcdFx0Y29tcGlsZXJPcHRpb25zPy5wYXRocyxcblx0XHRcdFx0XHR3b3Jrc3BhY2UsXG5cdFx0XHRcdFx0cHJvamVjdHMsXG5cdFx0XHRcdFx0dGhpcy5yZXNvbHZlQWxpYXNCYXNlVXJsKHRzQ29uZmlnLCB3b3Jrc3BhY2UpLFxuXHRcdFx0XHQpXG5cdFx0XHQ6IHVuZGVmaW5lZDtcblx0XHRjb25zdCBiYXNlVXJsID1cblx0XHRcdHRoaXMucmVzb2x2ZUFsaWFzQmFzZVVybCh0c0NvbmZpZywgd29ya3NwYWNlKSA/P1xuXHRcdFx0KHBhdGhzICE9IG51bGwgPyBwYXRoLnJlc29sdmUoXCIuXCIpIDogdW5kZWZpbmVkKTtcblxuXHRcdGNvbnN0IG9wdGlvbnM6IE9wdGlvbnMgPSB7XG5cdFx0XHRqc2M6IHtcblx0XHRcdFx0YmFzZVVybCxcblx0XHRcdFx0cGF0aHMsXG5cdFx0XHR9LFxuXHRcdFx0bW9kdWxlOiB7XG5cdFx0XHRcdHR5cGU6IGJ1aWxkVGFyZ2V0LFxuXHRcdFx0fSxcblx0XHR9O1xuXG5cdFx0cmV0dXJuIG1lcmdlLndpdGhPcHRpb25zPE9wdGlvbnM+KFxuXHRcdFx0eyBtZXJnZUFycmF5czogZmFsc2UgfSxcblx0XHRcdGRlZmF1bHRPcHRpb25zLFxuXHRcdFx0b3B0aW9ucyxcblx0XHRcdHVzZXJDb25maWcgPz8ge30sXG5cdFx0KTtcblx0fVxuXG5cdC8qKiBTdGFtcHMgYSBwZXItZmlsZSBmaWxlbmFtZSBvbnRvIGEgcHJlLWJ1aWx0IGJhc2UgY29uZmlnLiAqL1xuXHRwdWJsaWMgY3JlYXRlRmlsZUNvbmZpZyhmaWxlOiBGaWxlRXgsIGJhc2VDb25maWc6IE9wdGlvbnMpOiBPcHRpb25zIHtcblx0XHRjb25zdCBjb25maWcgPSB7IC4uLmJhc2VDb25maWcsIGZpbGVuYW1lOiBmaWxlLmZ1bGxQYXRoIH07XG5cdFx0dGhpcy52YWxpZGF0ZShjb25maWcpO1xuXHRcdHJldHVybiBjb25maWc7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIFNXQyBvcHRpb25zIGFnYWluc3Qga25vd24gY2F1c2VzIG9mIFJ1c3QvTkFQSSBwcm9jZXNzIGNyYXNoZXMuXG5cdCAqIFRocm93cyBhIEZvcmdlRXJyb3Igd2l0aCBhIGRlc2NyaXB0aXZlIG1lc3NhZ2UgaW5zdGVhZCBvZiBsZXR0aW5nIHRoZVxuXHQgKiBOQVBJIGxheWVyIGFib3J0IHRoZSBwcm9jZXNzLlxuXHQgKlxuXHQgKiBLbm93biBjcmFzaCBjYXVzZXM6XG5cdCAqIC0gYGpzYy5iYXNlVXJsYCBzZXQgdG8gYSByZWxhdGl2ZSBwYXRoIChTV0MgcmVxdWlyZXMgYW4gYWJzb2x1dGUgcGF0aClcblx0ICovXG5cdHB1YmxpYyB2YWxpZGF0ZShvcHRpb25zOiBPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgYmFzZVVybCA9IG9wdGlvbnMuanNjPy5iYXNlVXJsO1xuXHRcdGlmIChiYXNlVXJsICE9IG51bGwgJiYgIXBhdGguaXNBYnNvbHV0ZShiYXNlVXJsKSkge1xuXHRcdFx0dGhyb3cgbmV3IEZvcmdlRXJyb3IoXG5cdFx0XHRcdGBTV0MgY29uZmlnOiBqc2MuYmFzZVVybCBtdXN0IGJlIGFuIGFic29sdXRlIHBhdGggdG8gYXZvaWQgYSBwcm9jZXNzIGNyYXNoLCBnb3Q6IFwiJHtiYXNlVXJsfVwiLiBVc2UgcGF0aC5yZXNvbHZlKCkgdG8gY29udmVydCBpdC5gLFxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ29udmVudGlvbiBhbGlhc2VzIGZyb20gd29ya3NwYWNlIHBhY2thZ2VzLCB0aGVuIGB0c2NvbmZpZ2AgYHBhdGhzYCBvdmVycmlkZXMuXG5cdCAqIEVtcHR5IG1hcHMgYXJlIG9taXR0ZWQgc28gU1dDIGlzIG5vdCBnaXZlbiBhIHVzZWxlc3MgYGpzYy5wYXRoc2AuXG5cdCAqL1xuXHRwcml2YXRlIGJ1aWxkQWxpYXNQYXRocyhcblx0XHR0c2NvbmZpZ1BhdGhzOiBUc2NvbmZpZ1tcImNvbXBpbGVyT3B0aW9uc1wiXVtcInBhdGhzXCJdLFxuXHRcdHdvcmtzcGFjZTogU3djQ29uZmlnT3B0aW9uc1tcIndvcmtzcGFjZVwiXSxcblx0XHRwcm9qZWN0czogU3djQ29uZmlnT3B0aW9uc1tcInByb2plY3RzXCJdLFxuXHRcdGJhc2VVcmw6IHN0cmluZyB8IHVuZGVmaW5lZCxcblx0KTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCByZXNvbHZlZEJhc2UgPSBiYXNlVXJsID8/IHBhdGgucmVzb2x2ZShcIi5cIik7XG5cdFx0Y29uc3QgY29udmVudGlvbiA9IGJ1aWxkV29ya3NwYWNlQWxpYXNQYXRocyhcblx0XHRcdHJlc29sdmVBbGlhc1Byb2plY3RzKHdvcmtzcGFjZSwgcHJvamVjdHMpLFxuXHRcdFx0cmVzb2x2ZWRCYXNlLFxuXHRcdCk7XG5cdFx0Y29uc3QgbWVyZ2VkID0gbWVyZ2VBbGlhc1BhdGhzKFxuXHRcdFx0Y29udmVudGlvbixcblx0XHRcdHRzY29uZmlnUGF0aHMgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkLFxuXHRcdCk7XG5cdFx0cmV0dXJuIE9iamVjdC5rZXlzKG1lcmdlZCkubGVuZ3RoID4gMCA/IG1lcmdlZCA6IHVuZGVmaW5lZDtcblx0fVxuXG5cdHByaXZhdGUgcmVzb2x2ZUFsaWFzQmFzZVVybChcblx0XHR0c0NvbmZpZzogVHNjb25maWcgfCB1bmRlZmluZWQsXG5cdFx0d29ya3NwYWNlOiBTd2NDb25maWdPcHRpb25zW1wid29ya3NwYWNlXCJdLFxuXHQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IGZyb21UcyA9IFN3Y0NvbmZpZ0ZhY3RvcnkuZ2V0QmFzZVVybCh0c0NvbmZpZyk7XG5cdFx0aWYgKGZyb21UcyAhPSBudWxsKSByZXR1cm4gZnJvbVRzO1xuXHRcdGlmICh3b3Jrc3BhY2UgIT0gbnVsbCkgcmV0dXJuIHBhdGgucmVzb2x2ZSh3b3Jrc3BhY2Uucm9vdERpcik7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKiBSZXNvbHZlcyB0c2NvbmZpZyBiYXNlVXJsIHRvIGFuIGFic29sdXRlIHBhdGguIFJldHVybnMgdW5kZWZpbmVkIGlmIG5vdCBzZXQuICovXG5cdHByaXZhdGUgc3RhdGljIGdldEJhc2VVcmwodHNDb25maWc6IFRzY29uZmlnIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gdHNDb25maWc/LmNvbXBpbGVyT3B0aW9ucz8uYmFzZVVybDtcblx0XHRpZiAoYmFzZVVybCA9PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdHJldHVybiBwYXRoLnJlc29sdmUoYmFzZVVybCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJTd2NDb25maWdGYWN0b3J5IiwiZGVmYXVsdE9wdGlvbnMiLCJqc2MiLCJwYXJzZXIiLCJzeW50YXgiLCJkZWNvcmF0b3JzIiwidGFyZ2V0IiwidHJhbnNmb3JtIiwiZGVjb3JhdG9yTWV0YWRhdGEiLCJleHBlcmltZW50YWwiLCJrZWVwSW1wb3J0QXR0cmlidXRlcyIsIm1vZHVsZSIsInJlc29sdmVGdWxseSIsInNvdXJjZU1hcHMiLCJjcmVhdGVCYXNlQ29uZmlnIiwiYnVpbGRUYXJnZXQiLCJjb25maWdPcHRpb25zIiwidXNlckNvbmZpZyIsInRzQ29uZmlnIiwiYWxpYXNQYXRocyIsIndvcmtzcGFjZSIsInByb2plY3RzIiwiY29tcGlsZXJPcHRpb25zIiwicGF0aHMiLCJidWlsZEFsaWFzUGF0aHMiLCJyZXNvbHZlQWxpYXNCYXNlVXJsIiwidW5kZWZpbmVkIiwiYmFzZVVybCIsInBhdGgiLCJyZXNvbHZlIiwib3B0aW9ucyIsInR5cGUiLCJtZXJnZSIsIndpdGhPcHRpb25zIiwibWVyZ2VBcnJheXMiLCJjcmVhdGVGaWxlQ29uZmlnIiwiZmlsZSIsImJhc2VDb25maWciLCJjb25maWciLCJmaWxlbmFtZSIsImZ1bGxQYXRoIiwidmFsaWRhdGUiLCJpc0Fic29sdXRlIiwiRm9yZ2VFcnJvciIsInRzY29uZmlnUGF0aHMiLCJyZXNvbHZlZEJhc2UiLCJjb252ZW50aW9uIiwiYnVpbGRXb3Jrc3BhY2VBbGlhc1BhdGhzIiwicmVzb2x2ZUFsaWFzUHJvamVjdHMiLCJtZXJnZWQiLCJtZXJnZUFsaWFzUGF0aHMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwiZnJvbVRzIiwiZ2V0QmFzZVVybCIsInJvb3REaXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBa0NhQTs7O2VBQUFBOzs7aUVBbENJ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
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mYWN0b3JpZXMvc3djLWNvbmZpZy5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IHBhY2thZ2VBbGlhc2VzLCB0eXBlIFRzY29uZmlnIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZGlhZ25vc3RpY3NcIjtcbmltcG9ydCB0eXBlIHsgRmlsZUV4IH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL29iamVjdHNcIjtcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyB9IGZyb20gXCJAc3djL2NvcmVcIjtcbmltcG9ydCB7IEZvcmdlRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFRyYW5zcGlsZVRhcmdldCB9IGZyb20gXCIuLi90eXBlcy9idWlsZC10YXJnZXQudHlwZS5qc1wiO1xuaW1wb3J0IHR5cGUgeyBTd2NDb25maWdPcHRpb25zIH0gZnJvbSBcIi4uL3R5cGVzL3N3Yy1jb25maWcudHlwZS5qc1wiO1xuXG5jb25zdCBkZWZhdWx0T3B0aW9ucyA9IHtcblx0anNjOiB7XG5cdFx0cGFyc2VyOiB7XG5cdFx0XHRzeW50YXg6IFwidHlwZXNjcmlwdFwiLFxuXHRcdFx0ZGVjb3JhdG9yczogdHJ1ZSxcblx0XHR9LFxuXHRcdHRhcmdldDogXCJlc25leHRcIixcblx0XHR0cmFuc2Zvcm06IHtcblx0XHRcdGRlY29yYXRvck1ldGFkYXRhOiB0cnVlLFxuXHRcdH0sXG5cdFx0ZXhwZXJpbWVudGFsOiB7IGtlZXBJbXBvcnRBdHRyaWJ1dGVzOiB0cnVlIH0sXG5cdH0sXG5cdG1vZHVsZToge1xuXHRcdHJlc29sdmVGdWxseTogdHJ1ZSxcblx0fSxcblx0c291cmNlTWFwczogXCJpbmxpbmVcIixcbn07XG5cbkBUcmFjZVxuZXhwb3J0IGNsYXNzIFN3Y0NvbmZpZ0ZhY3Rvcnkge1xuXHQvKipcblx0ICogQ3JlYXRlcyBhIGJhc2UgY29uZmlnIGZvciBhIHByb2plY3QrdGFyZ2V0IGNvbWJpbmF0aW9uLCB3aXRob3V0IGEgZmlsZW5hbWUuXG5cdCAqIENhbGwgb25jZSBwZXIgKHByb2plY3QsIHRhcmdldCkgYW5kIHRoZW4gdXNlIGNyZWF0ZUZpbGVDb25maWcoKSBwZXIgZmlsZS5cblx0ICovXG5cdHB1YmxpYyBjcmVhdGVCYXNlQ29uZmlnKFxuXHRcdGJ1aWxkVGFyZ2V0OiBUcmFuc3BpbGVUYXJnZXQsXG5cdFx0Y29uZmlnT3B0aW9uczogU3djQ29uZmlnT3B0aW9ucyxcblx0KTogT3B0aW9ucyB7XG5cdFx0Y29uc3QgeyB1c2VyQ29uZmlnLCB0c0NvbmZpZywgYWxpYXNQYXRocywgd29ya3NwYWNlLCBwcm9qZWN0cyB9ID0gY29uZmlnT3B0aW9ucztcblx0XHRjb25zdCB7IGNvbXBpbGVyT3B0aW9ucyB9ID0gdHNDb25maWcgPz8ge307XG5cdFx0Y29uc3QgYWxpYXNlcyA9IGFsaWFzUGF0aHNcblx0XHRcdD8gd29ya3NwYWNlICE9IG51bGxcblx0XHRcdFx0PyB3b3Jrc3BhY2UuZ2V0UGFja2FnZUFsaWFzZXMocHJvamVjdHM/LlswXT8uY29uZmlndXJhdGlvbi5uYW1lID8/IFwiZGVidWdcIilcblx0XHRcdFx0OiBwcm9qZWN0cyAhPSBudWxsICYmIHByb2plY3RzLmxlbmd0aCA+IDBcblx0XHRcdFx0XHQ/IHBhY2thZ2VBbGlhc2VzLmJ1aWxkKHByb2plY3RzLCB7XG5cdFx0XHRcdFx0XHRcdGJhc2VVcmw6XG5cdFx0XHRcdFx0XHRcdFx0U3djQ29uZmlnRmFjdG9yeS5nZXRCYXNlVXJsKHRzQ29uZmlnKSA/PyBwYXRoLnJlc29sdmUocHJvamVjdHNbMF0ucm9vdERpciksXG5cdFx0XHRcdFx0XHRcdHRzY29uZmlnUGF0aHM6IGNvbXBpbGVyT3B0aW9ucz8ucGF0aHMgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkLFxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQ6IHVuZGVmaW5lZFxuXHRcdFx0OiB1bmRlZmluZWQ7XG5cdFx0Y29uc3QgdHNjb25maWdPbmx5UGF0aHMgPVxuXHRcdFx0YWxpYXNQYXRocyAmJiBhbGlhc2VzID09IG51bGxcblx0XHRcdFx0PyAoY29tcGlsZXJPcHRpb25zPy5wYXRocyBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gfCB1bmRlZmluZWQpXG5cdFx0XHRcdDogdW5kZWZpbmVkO1xuXHRcdGNvbnN0IHBhdGhzID0gU3djQ29uZmlnRmFjdG9yeS5ub25lbXB0eVBhdGhzKGFsaWFzZXM/LnBhdGhzID8/IHRzY29uZmlnT25seVBhdGhzKTtcblx0XHRjb25zdCBiYXNlVXJsID1cblx0XHRcdGFsaWFzZXM/LmJhc2VVcmwgPz9cblx0XHRcdFN3Y0NvbmZpZ0ZhY3RvcnkuZ2V0QmFzZVVybCh0c0NvbmZpZykgPz9cblx0XHRcdCh3b3Jrc3BhY2UgIT0gbnVsbCA/IHBhdGgucmVzb2x2ZSh3b3Jrc3BhY2Uucm9vdERpcikgOiB1bmRlZmluZWQpID8/XG5cdFx0XHQocGF0aHMgIT0gbnVsbCA/IHBhdGgucmVzb2x2ZShcIi5cIikgOiB1bmRlZmluZWQpO1xuXG5cdFx0Y29uc3Qgb3B0aW9uczogT3B0aW9ucyA9IHtcblx0XHRcdGpzYzoge1xuXHRcdFx0XHRiYXNlVXJsLFxuXHRcdFx0XHRwYXRocyxcblx0XHRcdH0sXG5cdFx0XHRtb2R1bGU6IHtcblx0XHRcdFx0dHlwZTogYnVpbGRUYXJnZXQsXG5cdFx0XHR9LFxuXHRcdH07XG5cblx0XHRyZXR1cm4gbWVyZ2Uud2l0aE9wdGlvbnM8T3B0aW9ucz4oXG5cdFx0XHR7IG1lcmdlQXJyYXlzOiBmYWxzZSB9LFxuXHRcdFx0ZGVmYXVsdE9wdGlvbnMsXG5cdFx0XHRvcHRpb25zLFxuXHRcdFx0dXNlckNvbmZpZyA/PyB7fSxcblx0XHQpO1xuXHR9XG5cblx0LyoqIFN0YW1wcyBhIHBlci1maWxlIGZpbGVuYW1lIG9udG8gYSBwcmUtYnVpbHQgYmFzZSBjb25maWcuICovXG5cdHB1YmxpYyBjcmVhdGVGaWxlQ29uZmlnKGZpbGU6IEZpbGVFeCwgYmFzZUNvbmZpZzogT3B0aW9ucyk6IE9wdGlvbnMge1xuXHRcdGNvbnN0IGNvbmZpZyA9IHsgLi4uYmFzZUNvbmZpZywgZmlsZW5hbWU6IGZpbGUuZnVsbFBhdGggfTtcblx0XHR0aGlzLnZhbGlkYXRlKGNvbmZpZyk7XG5cdFx0cmV0dXJuIGNvbmZpZztcblx0fVxuXG5cdHByaXZhdGUgc3RhdGljIG5vbmVtcHR5UGF0aHMoXG5cdFx0cGF0aHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiB8IHVuZGVmaW5lZCxcblx0KTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkIHtcblx0XHRpZiAocGF0aHMgPT0gbnVsbCB8fCBPYmplY3Qua2V5cyhwYXRocykubGVuZ3RoID09PSAwKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdHJldHVybiBwYXRocztcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgU1dDIG9wdGlvbnMgYWdhaW5zdCBrbm93biBjYXVzZXMgb2YgUnVzdC9OQVBJIHByb2Nlc3MgY3Jhc2hlcy5cblx0ICogVGhyb3dzIGEgRm9yZ2VFcnJvciB3aXRoIGEgZGVzY3JpcHRpdmUgbWVzc2FnZSBpbnN0ZWFkIG9mIGxldHRpbmcgdGhlXG5cdCAqIE5BUEkgbGF5ZXIgYWJvcnQgdGhlIHByb2Nlc3MuXG5cdCAqXG5cdCAqIEtub3duIGNyYXNoIGNhdXNlczpcblx0ICogLSBganNjLmJhc2VVcmxgIHNldCB0byBhIHJlbGF0aXZlIHBhdGggKFNXQyByZXF1aXJlcyBhbiBhYnNvbHV0ZSBwYXRoKVxuXHQgKi9cblx0cHVibGljIHZhbGlkYXRlKG9wdGlvbnM6IE9wdGlvbnMpOiB2b2lkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gb3B0aW9ucy5qc2M/LmJhc2VVcmw7XG5cdFx0aWYgKGJhc2VVcmwgIT0gbnVsbCAmJiAhcGF0aC5pc0Fic29sdXRlKGJhc2VVcmwpKSB7XG5cdFx0XHR0aHJvdyBuZXcgRm9yZ2VFcnJvcihcblx0XHRcdFx0YFNXQyBjb25maWc6IGpzYy5iYXNlVXJsIG11c3QgYmUgYW4gYWJzb2x1dGUgcGF0aCB0byBhdm9pZCBhIHByb2Nlc3MgY3Jhc2gsIGdvdDogXCIke2Jhc2VVcmx9XCIuIFVzZSBwYXRoLnJlc29sdmUoKSB0byBjb252ZXJ0IGl0LmAsXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBSZXNvbHZlcyB0c2NvbmZpZyBiYXNlVXJsIHRvIGFuIGFic29sdXRlIHBhdGguIFJldHVybnMgdW5kZWZpbmVkIGlmIG5vdCBzZXQuICovXG5cdHByaXZhdGUgc3RhdGljIGdldEJhc2VVcmwodHNDb25maWc6IFRzY29uZmlnIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gdHNDb25maWc/LmNvbXBpbGVyT3B0aW9ucz8uYmFzZVVybDtcblx0XHRpZiAoYmFzZVVybCA9PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdHJldHVybiBwYXRoLnJlc29sdmUoYmFzZVVybCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJTd2NDb25maWdGYWN0b3J5IiwiZGVmYXVsdE9wdGlvbnMiLCJqc2MiLCJwYXJzZXIiLCJzeW50YXgiLCJkZWNvcmF0b3JzIiwidGFyZ2V0IiwidHJhbnNmb3JtIiwiZGVjb3JhdG9yTWV0YWRhdGEiLCJleHBlcmltZW50YWwiLCJrZWVwSW1wb3J0QXR0cmlidXRlcyIsIm1vZHVsZSIsInJlc29sdmVGdWxseSIsInNvdXJjZU1hcHMiLCJjcmVhdGVCYXNlQ29uZmlnIiwiYnVpbGRUYXJnZXQiLCJjb25maWdPcHRpb25zIiwidXNlckNvbmZpZyIsInRzQ29uZmlnIiwiYWxpYXNQYXRocyIsIndvcmtzcGFjZSIsInByb2plY3RzIiwiY29tcGlsZXJPcHRpb25zIiwiYWxpYXNlcyIsImdldFBhY2thZ2VBbGlhc2VzIiwiY29uZmlndXJhdGlvbiIsIm5hbWUiLCJsZW5ndGgiLCJwYWNrYWdlQWxpYXNlcyIsImJ1aWxkIiwiYmFzZVVybCIsImdldEJhc2VVcmwiLCJwYXRoIiwicmVzb2x2ZSIsInJvb3REaXIiLCJ0c2NvbmZpZ1BhdGhzIiwicGF0aHMiLCJ1bmRlZmluZWQiLCJ0c2NvbmZpZ09ubHlQYXRocyIsIm5vbmVtcHR5UGF0aHMiLCJvcHRpb25zIiwidHlwZSIsIm1lcmdlIiwid2l0aE9wdGlvbnMiLCJtZXJnZUFycmF5cyIsImNyZWF0ZUZpbGVDb25maWciLCJmaWxlIiwiYmFzZUNvbmZpZyIsImNvbmZpZyIsImZpbGVuYW1lIiwiZnVsbFBhdGgiLCJ2YWxpZGF0ZSIsIk9iamVjdCIsImtleXMiLCJpc0Fic29sdXRlIiwiRm9yZ2VFcnJvciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkE2QmFBOzs7ZUFBQUE7OztpRUE3Qkk7c0JBQzZCOzZCQUN4Qjt5QkFFQTt3QkFFSzs7Ozs7Ozs7Ozs7O0FBSTNCLE1BQU1DLGlCQUFpQjtJQUN0QkMsS0FBSztRQUNKQyxRQUFRO1lBQ1BDLFFBQVE7WUFDUkMsWUFBWTtRQUNiO1FBQ0FDLFFBQVE7UUFDUkMsV0FBVztZQUNWQyxtQkFBbUI7UUFDcEI7UUFDQUMsY0FBYztZQUFFQyxzQkFBc0I7UUFBSztJQUM1QztJQUNBQyxRQUFRO1FBQ1BDLGNBQWM7SUFDZjtJQUNBQyxZQUFZO0FBQ2I7QUFHTyxNQUFNYjtJQUNaOzs7RUFHQyxHQUNELEFBQU9jLGlCQUNOQyxXQUE0QixFQUM1QkMsYUFBK0IsRUFDckI7UUFDVixNQUFNLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxVQUFVLEVBQUVDLFNBQVMsRUFBRUMsUUFBUSxFQUFFLEdBQUdMO1FBQ2xFLE1BQU0sRUFBRU0sZUFBZSxFQUFFLEdBQUdKLFlBQVksQ0FBQztRQUN6QyxNQUFNSyxVQUFVSixhQUNiQyxhQUFhLE9BQ1pBLFVBQVVJLGlCQUFpQixDQUFDSCxVQUFVLENBQUMsRUFBRSxFQUFFSSxjQUFjQyxRQUFRLFdBQ2pFTCxZQUFZLFFBQVFBLFNBQVNNLE1BQU0sR0FBRyxJQUNyQ0Msb0JBQWMsQ0FBQ0MsS0FBSyxDQUFDUixVQUFVO1lBQy9CUyxTQUNDOUIsaUJBQWlCK0IsVUFBVSxDQUFDYixhQUFhYyxpQkFBSSxDQUFDQyxPQUFPLENBQUNaLFFBQVEsQ0FBQyxFQUFFLENBQUNhLE9BQU87WUFDMUVDLGVBQWViLGlCQUFpQmM7UUFDakMsS0FDQ0MsWUFDRkE7UUFDSCxNQUFNQyxvQkFDTG5CLGNBQWNJLFdBQVcsT0FDckJELGlCQUFpQmMsUUFDbEJDO1FBQ0osTUFBTUQsUUFBUXBDLGlCQUFpQnVDLGFBQWEsQ0FBQ2hCLFNBQVNhLFNBQVNFO1FBQy9ELE1BQU1SLFVBQ0xQLFNBQVNPLFdBQ1Q5QixpQkFBaUIrQixVQUFVLENBQUNiLGFBQzNCRSxDQUFBQSxhQUFhLE9BQU9ZLGlCQUFJLENBQUNDLE9BQU8sQ0FBQ2IsVUFBVWMsT0FBTyxJQUFJRyxTQUFRLEtBQzlERCxDQUFBQSxTQUFTLE9BQU9KLGlCQUFJLENBQUNDLE9BQU8sQ0FBQyxPQUFPSSxTQUFRO1FBRTlDLE1BQU1HLFVBQW1CO1lBQ3hCdEMsS0FBSztnQkFDSjRCO2dCQUNBTTtZQUNEO1lBQ0F6QixRQUFRO2dCQUNQOEIsTUFBTTFCO1lBQ1A7UUFDRDtRQUVBLE9BQU8yQixjQUFLLENBQUNDLFdBQVcsQ0FDdkI7WUFBRUMsYUFBYTtRQUFNLEdBQ3JCM0MsZ0JBQ0F1QyxTQUNBdkIsY0FBYyxDQUFDO0lBRWpCO0lBRUEsNkRBQTZELEdBQzdELEFBQU80QixpQkFBaUJDLElBQVksRUFBRUMsVUFBbUIsRUFBVztRQUNuRSxNQUFNQyxTQUFTO1lBQUUsR0FBR0QsVUFBVTtZQUFFRSxVQUFVSCxLQUFLSSxRQUFRO1FBQUM7UUFDeEQsSUFBSSxDQUFDQyxRQUFRLENBQUNIO1FBQ2QsT0FBT0E7SUFDUjtJQUVBLE9BQWVULGNBQ2RILEtBQTJDLEVBQ0o7UUFDdkMsSUFBSUEsU0FBUyxRQUFRZ0IsT0FBT0MsSUFBSSxDQUFDakIsT0FBT1QsTUFBTSxLQUFLLEdBQUcsT0FBT1U7UUFDN0QsT0FBT0Q7SUFDUjtJQUVBOzs7Ozs7O0VBT0MsR0FDRCxBQUFPZSxTQUFTWCxPQUFnQixFQUFRO1FBQ3ZDLE1BQU1WLFVBQVVVLFFBQVF0QyxHQUFHLEVBQUU0QjtRQUM3QixJQUFJQSxXQUFXLFFBQVEsQ0FBQ0UsaUJBQUksQ0FBQ3NCLFVBQVUsQ0FBQ3hCLFVBQVU7WUFDakQsTUFBTSxJQUFJeUIsa0JBQVUsQ0FDbkIsQ0FBQyxpRkFBaUYsRUFBRXpCLFFBQVEsb0NBQW9DLENBQUM7UUFFbkk7SUFDRDtJQUVBLGlGQUFpRixHQUNqRixPQUFlQyxXQUFXYixRQUE4QixFQUFzQjtRQUM3RSxNQUFNWSxVQUFVWixVQUFVSSxpQkFBaUJRO1FBQzNDLElBQUlBLFdBQVcsTUFBTSxPQUFPTztRQUM1QixPQUFPTCxpQkFBSSxDQUFDQyxPQUFPLENBQUNIO0lBQ3JCO0FBQ0QifQ==
@@ -74,6 +74,7 @@ class ForgeModule extends _cli.ModuleManifest {
74
74
  reportDependencies: _index.ReportDependencies,
75
75
  version: _index.Version,
76
76
  tag: _index.Tag,
77
+ typecheck: _index.TypeCheck,
77
78
  commitFiles: _index.CommitFiles,
78
79
  link: _index.Link,
79
80
  unlink: _index.Unlink
@@ -85,10 +86,12 @@ class ForgeModule extends _cli.ModuleManifest {
85
86
  docker: _index1.DockerCommand,
86
87
  version: _index1.VersionCommand,
87
88
  tag: _index1.TagCommand,
89
+ typecheck: _index1.TypeCheckCommand,
88
90
  link: _index1.LinkCommand,
89
91
  unlink: _index1.UnlinkCommand
90
92
  };
91
93
  registerServices(builder) {
94
+ builder.registerSingleton(_typeemitter.TypeEmitter);
92
95
  builder.registerSingleton(_transformertype.TransformerKey, _swctranspiler.SwcTranspiler);
93
96
  builder.registerSingleton(_transformertype.TransformerKey, _typeemitter.TypeEmitter);
94
97
  builder.registerSingleton(_dependencyresolverservice.DependencyResolver);
@@ -112,4 +115,4 @@ class ForgeModule extends _cli.ModuleManifest {
112
115
  }
113
116
  }
114
117
 
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mb3JnZS5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlckNvbmZpZ0ZhY3RvcnksIFdvcmtzcGFjZUZhY3RvcnkgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgV29ya3NwYWNlRmFjdG9yeU9wdGlvbnMgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgTW9kdWxlTWFuaWZlc3QgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHR5cGUgeyBDb250YWluZXJCdWlsZGVyIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jb21wb3NpdGlvblwiO1xuaW1wb3J0ICogYXMgQWN0aW9ucyBmcm9tIFwiLi9hY3Rpb25zL2luZGV4LmpzXCI7XG5pbXBvcnQgKiBhcyBDb21tYW5kcyBmcm9tIFwiLi9jb21tYW5kcy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgRGVwZW5kZW5jeVJlc29sdmVyIH0gZnJvbSBcIi4vc2VydmljZXMvZGVwZW5kZW5jeS1yZXNvbHZlci5zZXJ2aWNlLmpzXCI7XG5pbXBvcnQgeyBGaWxlV3JpdGVyU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL2ZpbGUtd3JpdGVyLnNlcnZpY2UuanNcIjtcbmltcG9ydCB7IFN3Y1RyYW5zcGlsZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuaW1wb3J0IHsgVHlwZUVtaXR0ZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy90eXBlLWVtaXR0ZXIuanNcIjtcbmltcG9ydCB7IFRyYW5zZm9ybWVyS2V5IH0gZnJvbSBcIi4vdHlwZXMvdHJhbnNmb3JtZXIudHlwZS5qc1wiO1xuaW1wb3J0IHsgRGVmYXVsdENvbmZpZ3VyYXRpb25zLCBXb3Jrc3BhY2VEZWZhdWx0cyB9IGZyb20gXCIuL3dvcmtzcGFjZS5jb25maWcuanNcIjtcblxuZXhwb3J0IGNsYXNzIEZvcmdlTW9kdWxlIGV4dGVuZHMgTW9kdWxlTWFuaWZlc3Qge1xuXHRwdWJsaWMgcmVhZG9ubHkgaWQgPSBcImZvcmdlXCI7XG5cdHB1YmxpYyByZWFkb25seSBjb21tYW5kID0gQ29tbWFuZHMuRm9yZ2VDb21tYW5kO1xuXHRwdWJsaWMgcmVhZG9ubHkgYWN0aW9ucyA9IHtcblx0XHRjbGVhbjogQWN0aW9ucy5DbGVhbixcblx0XHRjb3B5OiBBY3Rpb25zLkNvcHksXG5cdFx0ZG9ja2VyOiBBY3Rpb25zLkRvY2tlcixcblx0XHRidWlsZDogQWN0aW9ucy5CdWlsZCxcblx0XHR3YXRjaDogQWN0aW9ucy5XYXRjaCxcblx0XHRwdWJsaXNoOiBBY3Rpb25zLlB1Ymxpc2gsXG5cdFx0c3luY0RlcGVuZGVuY2llczogQWN0aW9ucy5TeW5jRGVwZW5kZW5jaWVzLFxuXHRcdHN5bmNMb2NrRmlsZTogQWN0aW9ucy5TeW5jTG9ja0ZpbGUsXG5cdFx0cmVwb3J0RGVwZW5kZW5jaWVzOiBBY3Rpb25zLlJlcG9ydERlcGVuZGVuY2llcyxcblx0XHR2ZXJzaW9uOiBBY3Rpb25zLlZlcnNpb24sXG5cdFx0dGFnOiBBY3Rpb25zLlRhZyxcblx0XHRjb21taXRGaWxlczogQWN0aW9ucy5Db21taXRGaWxlcyxcblx0XHRsaW5rOiBBY3Rpb25zLkxpbmssXG5cdFx0dW5saW5rOiBBY3Rpb25zLlVubGluayxcblx0fTtcblx0cHVibGljIHJlYWRvbmx5IGNvbW1hbmRzID0ge1xuXHRcdGJ1aWxkOiBDb21tYW5kcy5CdWlsZENvbW1hbmQsXG5cdFx0cHVibGlzaDogQ29tbWFuZHMuUHVibGlzaENvbW1hbmQsXG5cdFx0ZGVwZW5kZW5jaWVzOiBDb21tYW5kcy5EZXBlbmRlbmN5Q29tbWFuZCxcblx0XHRkb2NrZXI6IENvbW1hbmRzLkRvY2tlckNvbW1hbmQsXG5cdFx0dmVyc2lvbjogQ29tbWFuZHMuVmVyc2lvbkNvbW1hbmQsXG5cdFx0dGFnOiBDb21tYW5kcy5UYWdDb21tYW5kLFxuXHRcdGxpbms6IENvbW1hbmRzLkxpbmtDb21tYW5kLFxuXHRcdHVubGluazogQ29tbWFuZHMuVW5saW5rQ29tbWFuZCxcblx0fTtcblxuXHRwdWJsaWMgcmVnaXN0ZXJTZXJ2aWNlcyhidWlsZGVyOiBDb250YWluZXJCdWlsZGVyKSB7XG5cdFx0YnVpbGRlci5yZWdpc3RlclNpbmdsZXRvbihUcmFuc2Zvcm1lcktleSwgU3djVHJhbnNwaWxlcik7XG5cdFx0YnVpbGRlci5yZWdpc3RlclNpbmdsZXRvbihUcmFuc2Zvcm1lcktleSwgVHlwZUVtaXR0ZXIpO1xuXHRcdGJ1aWxkZXIucmVnaXN0ZXJTaW5nbGV0b24oRGVwZW5kZW5jeVJlc29sdmVyKTtcblx0XHRidWlsZGVyLnJlZ2lzdGVyU2luZ2xldG9uKEZpbGVXcml0ZXJTZXJ2aWNlKTtcblx0fVxuXG5cdHB1YmxpYyBvdmVycmlkZSBhc3luYyBjcmVhdGVXb3Jrc3BhY2Uob3B0aW9uczogV29ya3NwYWNlRmFjdG9yeU9wdGlvbnMpIHtcblx0XHRjb25zdCB7IGNvbmZpZ3VyYXRpb25zOiBfLCAuLi5mb3JnZURlZmF1bHRzIH0gPSBXb3Jrc3BhY2VEZWZhdWx0cztcblx0XHRjb25zdCB1c2VyQ29uZmlnID0gYXdhaXQgVXNlckNvbmZpZ0ZhY3RvcnkuZ2V0VXNlckNvbmZpZyhvcHRpb25zLmNvbmZpZ0ZpbGUpO1xuXHRcdC8vIE9ubHkgYXBwbHkgZm9yZ2UgZGVmYXVsdCBjb25maWd1cmF0aW9ucyB3aGVuIHVzZXIgY29uZmlnIGRvZXNuJ3QgcHJvdmlkZSBhbnkuXG5cdFx0Ly8gVGhpcyBlbnN1cmVzIHVzZXItZGVmaW5lZCBjb25maWd1cmF0aW9ucyB0YWtlIHByaW9yaXR5IHdoaWxlIHN0aWxsIHByb3ZpZGluZ1xuXHRcdC8vIHNlbnNpYmxlIGRlZmF1bHRzIChkZWJ1ZyArIHJlbGVhc2UpIHdoZW4gbm8gY29uZmlnIGZpbGUgaXMgcHJlc2VudC5cblx0XHRjb25zdCBjb25maWd1cmF0aW9ucyA9IHVzZXJDb25maWcuY29uZmlndXJhdGlvbnM/Lmxlbmd0aFxuXHRcdFx0PyB1bmRlZmluZWRcblx0XHRcdDogRGVmYXVsdENvbmZpZ3VyYXRpb25zO1xuXHRcdHJldHVybiBXb3Jrc3BhY2VGYWN0b3J5LmNyZWF0ZSh7XG5cdFx0XHQuLi5mb3JnZURlZmF1bHRzLFxuXHRcdFx0Li4uKGNvbmZpZ3VyYXRpb25zID8geyBjb25maWd1cmF0aW9ucyB9IDoge30pLFxuXHRcdFx0Y29uZmlnRmlsZTogb3B0aW9ucy5jb25maWdGaWxlLFxuXHRcdFx0cm9vdERpcjogb3B0aW9ucy5yb290RGlyID8/IFdvcmtzcGFjZURlZmF1bHRzLnJvb3REaXIsXG5cdFx0fSk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJGb3JnZU1vZHVsZSIsIk1vZHVsZU1hbmlmZXN0IiwiaWQiLCJjb21tYW5kIiwiQ29tbWFuZHMiLCJGb3JnZUNvbW1hbmQiLCJhY3Rpb25zIiwiY2xlYW4iLCJBY3Rpb25zIiwiQ2xlYW4iLCJjb3B5IiwiQ29weSIsImRvY2tlciIsIkRvY2tlciIsImJ1aWxkIiwiQnVpbGQiLCJ3YXRjaCIsIldhdGNoIiwicHVibGlzaCIsIlB1Ymxpc2giLCJzeW5jRGVwZW5kZW5jaWVzIiwiU3luY0RlcGVuZGVuY2llcyIsInN5bmNMb2NrRmlsZSIsIlN5bmNMb2NrRmlsZSIsInJlcG9ydERlcGVuZGVuY2llcyIsIlJlcG9ydERlcGVuZGVuY2llcyIsInZlcnNpb24iLCJWZXJzaW9uIiwidGFnIiwiVGFnIiwiY29tbWl0RmlsZXMiLCJDb21taXRGaWxlcyIsImxpbmsiLCJMaW5rIiwidW5saW5rIiwiVW5saW5rIiwiY29tbWFuZHMiLCJCdWlsZENvbW1hbmQiLCJQdWJsaXNoQ29tbWFuZCIsImRlcGVuZGVuY2llcyIsIkRlcGVuZGVuY3lDb21tYW5kIiwiRG9ja2VyQ29tbWFuZCIsIlZlcnNpb25Db21tYW5kIiwiVGFnQ29tbWFuZCIsIkxpbmtDb21tYW5kIiwiVW5saW5rQ29tbWFuZCIsInJlZ2lzdGVyU2VydmljZXMiLCJidWlsZGVyIiwicmVnaXN0ZXJTaW5nbGV0b24iLCJUcmFuc2Zvcm1lcktleSIsIlN3Y1RyYW5zcGlsZXIiLCJUeXBlRW1pdHRlciIsIkRlcGVuZGVuY3lSZXNvbHZlciIsIkZpbGVXcml0ZXJTZXJ2aWNlIiwiY3JlYXRlV29ya3NwYWNlIiwib3B0aW9ucyIsImNvbmZpZ3VyYXRpb25zIiwiXyIsImZvcmdlRGVmYXVsdHMiLCJXb3Jrc3BhY2VEZWZhdWx0cyIsInVzZXJDb25maWciLCJVc2VyQ29uZmlnRmFjdG9yeSIsImdldFVzZXJDb25maWciLCJjb25maWdGaWxlIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiRGVmYXVsdENvbmZpZ3VyYXRpb25zIiwiV29ya3NwYWNlRmFjdG9yeSIsImNyZWF0ZSIsInJvb3REaXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBYWFBOzs7ZUFBQUE7OztzQkFidUM7cUJBRXJCOytEQUVOO2dFQUNDOzJDQUNTO21DQUNEOytCQUNKOzZCQUNGO2lDQUNHO2lDQUMwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWxELE1BQU1BLG9CQUFvQkMsbUJBQWM7SUFDOUJDLEtBQUssUUFBUTtJQUNiQyxVQUFVQyxRQUFTQyxZQUFZLENBQUM7SUFDaENDLFVBQVU7UUFDekJDLE9BQU9DLE9BQVFDLEtBQUs7UUFDcEJDLE1BQU1GLE9BQVFHLElBQUk7UUFDbEJDLFFBQVFKLE9BQVFLLE1BQU07UUFDdEJDLE9BQU9OLE9BQVFPLEtBQUs7UUFDcEJDLE9BQU9SLE9BQVFTLEtBQUs7UUFDcEJDLFNBQVNWLE9BQVFXLE9BQU87UUFDeEJDLGtCQUFrQlosT0FBUWEsZ0JBQWdCO1FBQzFDQyxjQUFjZCxPQUFRZSxZQUFZO1FBQ2xDQyxvQkFBb0JoQixPQUFRaUIsa0JBQWtCO1FBQzlDQyxTQUFTbEIsT0FBUW1CLE9BQU87UUFDeEJDLEtBQUtwQixPQUFRcUIsR0FBRztRQUNoQkMsYUFBYXRCLE9BQVF1QixXQUFXO1FBQ2hDQyxNQUFNeEIsT0FBUXlCLElBQUk7UUFDbEJDLFFBQVExQixPQUFRMkIsTUFBTTtJQUN2QixFQUFFO0lBQ2NDLFdBQVc7UUFDMUJ0QixPQUFPVixRQUFTaUMsWUFBWTtRQUM1Qm5CLFNBQVNkLFFBQVNrQyxjQUFjO1FBQ2hDQyxjQUFjbkMsUUFBU29DLGlCQUFpQjtRQUN4QzVCLFFBQVFSLFFBQVNxQyxhQUFhO1FBQzlCZixTQUFTdEIsUUFBU3NDLGNBQWM7UUFDaENkLEtBQUt4QixRQUFTdUMsVUFBVTtRQUN4QlgsTUFBTTVCLFFBQVN3QyxXQUFXO1FBQzFCVixRQUFROUIsUUFBU3lDLGFBQWE7SUFDL0IsRUFBRTtJQUVLQyxpQkFBaUJDLE9BQXlCLEVBQUU7UUFDbERBLFFBQVFDLGlCQUFpQixDQUFDQywrQkFBYyxFQUFFQyw0QkFBYTtRQUN2REgsUUFBUUMsaUJBQWlCLENBQUNDLCtCQUFjLEVBQUVFLHdCQUFXO1FBQ3JESixRQUFRQyxpQkFBaUIsQ0FBQ0ksNkNBQWtCO1FBQzVDTCxRQUFRQyxpQkFBaUIsQ0FBQ0ssb0NBQWlCO0lBQzVDO0lBRUEsTUFBc0JDLGdCQUFnQkMsT0FBZ0MsRUFBRTtRQUN2RSxNQUFNLEVBQUVDLGdCQUFnQkMsQ0FBQyxFQUFFLEdBQUdDLGVBQWUsR0FBR0Msa0NBQWlCO1FBQ2pFLE1BQU1DLGFBQWEsTUFBTUMsdUJBQWlCLENBQUNDLGFBQWEsQ0FBQ1AsUUFBUVEsVUFBVTtRQUMzRSxnRkFBZ0Y7UUFDaEYsK0VBQStFO1FBQy9FLHNFQUFzRTtRQUN0RSxNQUFNUCxpQkFBaUJJLFdBQVdKLGNBQWMsRUFBRVEsU0FDL0NDLFlBQ0FDLHNDQUFxQjtRQUN4QixPQUFPQyxzQkFBZ0IsQ0FBQ0MsTUFBTSxDQUFDO1lBQzlCLEdBQUdWLGFBQWE7WUFDaEIsR0FBSUYsaUJBQWlCO2dCQUFFQTtZQUFlLElBQUksQ0FBQyxDQUFDO1lBQzVDTyxZQUFZUixRQUFRUSxVQUFVO1lBQzlCTSxTQUFTZCxRQUFRYyxPQUFPLElBQUlWLGtDQUFpQixDQUFDVSxPQUFPO1FBQ3REO0lBQ0Q7QUFDRCJ9
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mb3JnZS5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlckNvbmZpZ0ZhY3RvcnksIFdvcmtzcGFjZUZhY3RvcnkgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgV29ya3NwYWNlRmFjdG9yeU9wdGlvbnMgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgTW9kdWxlTWFuaWZlc3QgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHR5cGUgeyBDb250YWluZXJCdWlsZGVyIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jb21wb3NpdGlvblwiO1xuaW1wb3J0ICogYXMgQWN0aW9ucyBmcm9tIFwiLi9hY3Rpb25zL2luZGV4LmpzXCI7XG5pbXBvcnQgKiBhcyBDb21tYW5kcyBmcm9tIFwiLi9jb21tYW5kcy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgRGVwZW5kZW5jeVJlc29sdmVyIH0gZnJvbSBcIi4vc2VydmljZXMvZGVwZW5kZW5jeS1yZXNvbHZlci5zZXJ2aWNlLmpzXCI7XG5pbXBvcnQgeyBGaWxlV3JpdGVyU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL2ZpbGUtd3JpdGVyLnNlcnZpY2UuanNcIjtcbmltcG9ydCB7IFN3Y1RyYW5zcGlsZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuaW1wb3J0IHsgVHlwZUVtaXR0ZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy90eXBlLWVtaXR0ZXIuanNcIjtcbmltcG9ydCB7IFRyYW5zZm9ybWVyS2V5IH0gZnJvbSBcIi4vdHlwZXMvdHJhbnNmb3JtZXIudHlwZS5qc1wiO1xuaW1wb3J0IHsgRGVmYXVsdENvbmZpZ3VyYXRpb25zLCBXb3Jrc3BhY2VEZWZhdWx0cyB9IGZyb20gXCIuL3dvcmtzcGFjZS5jb25maWcuanNcIjtcblxuZXhwb3J0IGNsYXNzIEZvcmdlTW9kdWxlIGV4dGVuZHMgTW9kdWxlTWFuaWZlc3Qge1xuXHRwdWJsaWMgcmVhZG9ubHkgaWQgPSBcImZvcmdlXCI7XG5cdHB1YmxpYyByZWFkb25seSBjb21tYW5kID0gQ29tbWFuZHMuRm9yZ2VDb21tYW5kO1xuXHRwdWJsaWMgcmVhZG9ubHkgYWN0aW9ucyA9IHtcblx0XHRjbGVhbjogQWN0aW9ucy5DbGVhbixcblx0XHRjb3B5OiBBY3Rpb25zLkNvcHksXG5cdFx0ZG9ja2VyOiBBY3Rpb25zLkRvY2tlcixcblx0XHRidWlsZDogQWN0aW9ucy5CdWlsZCxcblx0XHR3YXRjaDogQWN0aW9ucy5XYXRjaCxcblx0XHRwdWJsaXNoOiBBY3Rpb25zLlB1Ymxpc2gsXG5cdFx0c3luY0RlcGVuZGVuY2llczogQWN0aW9ucy5TeW5jRGVwZW5kZW5jaWVzLFxuXHRcdHN5bmNMb2NrRmlsZTogQWN0aW9ucy5TeW5jTG9ja0ZpbGUsXG5cdFx0cmVwb3J0RGVwZW5kZW5jaWVzOiBBY3Rpb25zLlJlcG9ydERlcGVuZGVuY2llcyxcblx0XHR2ZXJzaW9uOiBBY3Rpb25zLlZlcnNpb24sXG5cdFx0dGFnOiBBY3Rpb25zLlRhZyxcblx0XHR0eXBlY2hlY2s6IEFjdGlvbnMuVHlwZUNoZWNrLFxuXHRcdGNvbW1pdEZpbGVzOiBBY3Rpb25zLkNvbW1pdEZpbGVzLFxuXHRcdGxpbms6IEFjdGlvbnMuTGluayxcblx0XHR1bmxpbms6IEFjdGlvbnMuVW5saW5rLFxuXHR9O1xuXHRwdWJsaWMgcmVhZG9ubHkgY29tbWFuZHMgPSB7XG5cdFx0YnVpbGQ6IENvbW1hbmRzLkJ1aWxkQ29tbWFuZCxcblx0XHRwdWJsaXNoOiBDb21tYW5kcy5QdWJsaXNoQ29tbWFuZCxcblx0XHRkZXBlbmRlbmNpZXM6IENvbW1hbmRzLkRlcGVuZGVuY3lDb21tYW5kLFxuXHRcdGRvY2tlcjogQ29tbWFuZHMuRG9ja2VyQ29tbWFuZCxcblx0XHR2ZXJzaW9uOiBDb21tYW5kcy5WZXJzaW9uQ29tbWFuZCxcblx0XHR0YWc6IENvbW1hbmRzLlRhZ0NvbW1hbmQsXG5cdFx0dHlwZWNoZWNrOiBDb21tYW5kcy5UeXBlQ2hlY2tDb21tYW5kLFxuXHRcdGxpbms6IENvbW1hbmRzLkxpbmtDb21tYW5kLFxuXHRcdHVubGluazogQ29tbWFuZHMuVW5saW5rQ29tbWFuZCxcblx0fTtcblxuXHRwdWJsaWMgcmVnaXN0ZXJTZXJ2aWNlcyhidWlsZGVyOiBDb250YWluZXJCdWlsZGVyKSB7XG5cdFx0YnVpbGRlci5yZWdpc3RlclNpbmdsZXRvbihUeXBlRW1pdHRlcik7XG5cdFx0YnVpbGRlci5yZWdpc3RlclNpbmdsZXRvbihUcmFuc2Zvcm1lcktleSwgU3djVHJhbnNwaWxlcik7XG5cdFx0YnVpbGRlci5yZWdpc3RlclNpbmdsZXRvbihUcmFuc2Zvcm1lcktleSwgVHlwZUVtaXR0ZXIpO1xuXHRcdGJ1aWxkZXIucmVnaXN0ZXJTaW5nbGV0b24oRGVwZW5kZW5jeVJlc29sdmVyKTtcblx0XHRidWlsZGVyLnJlZ2lzdGVyU2luZ2xldG9uKEZpbGVXcml0ZXJTZXJ2aWNlKTtcblx0fVxuXG5cdHB1YmxpYyBvdmVycmlkZSBhc3luYyBjcmVhdGVXb3Jrc3BhY2Uob3B0aW9uczogV29ya3NwYWNlRmFjdG9yeU9wdGlvbnMpIHtcblx0XHRjb25zdCB7IGNvbmZpZ3VyYXRpb25zOiBfLCAuLi5mb3JnZURlZmF1bHRzIH0gPSBXb3Jrc3BhY2VEZWZhdWx0cztcblx0XHRjb25zdCB1c2VyQ29uZmlnID0gYXdhaXQgVXNlckNvbmZpZ0ZhY3RvcnkuZ2V0VXNlckNvbmZpZyhvcHRpb25zLmNvbmZpZ0ZpbGUpO1xuXHRcdC8vIE9ubHkgYXBwbHkgZm9yZ2UgZGVmYXVsdCBjb25maWd1cmF0aW9ucyB3aGVuIHVzZXIgY29uZmlnIGRvZXNuJ3QgcHJvdmlkZSBhbnkuXG5cdFx0Ly8gVGhpcyBlbnN1cmVzIHVzZXItZGVmaW5lZCBjb25maWd1cmF0aW9ucyB0YWtlIHByaW9yaXR5IHdoaWxlIHN0aWxsIHByb3ZpZGluZ1xuXHRcdC8vIHNlbnNpYmxlIGRlZmF1bHRzIChkZWJ1ZyArIHJlbGVhc2UpIHdoZW4gbm8gY29uZmlnIGZpbGUgaXMgcHJlc2VudC5cblx0XHRjb25zdCBjb25maWd1cmF0aW9ucyA9IHVzZXJDb25maWcuY29uZmlndXJhdGlvbnM/Lmxlbmd0aFxuXHRcdFx0PyB1bmRlZmluZWRcblx0XHRcdDogRGVmYXVsdENvbmZpZ3VyYXRpb25zO1xuXHRcdHJldHVybiBXb3Jrc3BhY2VGYWN0b3J5LmNyZWF0ZSh7XG5cdFx0XHQuLi5mb3JnZURlZmF1bHRzLFxuXHRcdFx0Li4uKGNvbmZpZ3VyYXRpb25zID8geyBjb25maWd1cmF0aW9ucyB9IDoge30pLFxuXHRcdFx0Y29uZmlnRmlsZTogb3B0aW9ucy5jb25maWdGaWxlLFxuXHRcdFx0cm9vdERpcjogb3B0aW9ucy5yb290RGlyID8/IFdvcmtzcGFjZURlZmF1bHRzLnJvb3REaXIsXG5cdFx0fSk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJGb3JnZU1vZHVsZSIsIk1vZHVsZU1hbmlmZXN0IiwiaWQiLCJjb21tYW5kIiwiQ29tbWFuZHMiLCJGb3JnZUNvbW1hbmQiLCJhY3Rpb25zIiwiY2xlYW4iLCJBY3Rpb25zIiwiQ2xlYW4iLCJjb3B5IiwiQ29weSIsImRvY2tlciIsIkRvY2tlciIsImJ1aWxkIiwiQnVpbGQiLCJ3YXRjaCIsIldhdGNoIiwicHVibGlzaCIsIlB1Ymxpc2giLCJzeW5jRGVwZW5kZW5jaWVzIiwiU3luY0RlcGVuZGVuY2llcyIsInN5bmNMb2NrRmlsZSIsIlN5bmNMb2NrRmlsZSIsInJlcG9ydERlcGVuZGVuY2llcyIsIlJlcG9ydERlcGVuZGVuY2llcyIsInZlcnNpb24iLCJWZXJzaW9uIiwidGFnIiwiVGFnIiwidHlwZWNoZWNrIiwiVHlwZUNoZWNrIiwiY29tbWl0RmlsZXMiLCJDb21taXRGaWxlcyIsImxpbmsiLCJMaW5rIiwidW5saW5rIiwiVW5saW5rIiwiY29tbWFuZHMiLCJCdWlsZENvbW1hbmQiLCJQdWJsaXNoQ29tbWFuZCIsImRlcGVuZGVuY2llcyIsIkRlcGVuZGVuY3lDb21tYW5kIiwiRG9ja2VyQ29tbWFuZCIsIlZlcnNpb25Db21tYW5kIiwiVGFnQ29tbWFuZCIsIlR5cGVDaGVja0NvbW1hbmQiLCJMaW5rQ29tbWFuZCIsIlVubGlua0NvbW1hbmQiLCJyZWdpc3RlclNlcnZpY2VzIiwiYnVpbGRlciIsInJlZ2lzdGVyU2luZ2xldG9uIiwiVHlwZUVtaXR0ZXIiLCJUcmFuc2Zvcm1lcktleSIsIlN3Y1RyYW5zcGlsZXIiLCJEZXBlbmRlbmN5UmVzb2x2ZXIiLCJGaWxlV3JpdGVyU2VydmljZSIsImNyZWF0ZVdvcmtzcGFjZSIsIm9wdGlvbnMiLCJjb25maWd1cmF0aW9ucyIsIl8iLCJmb3JnZURlZmF1bHRzIiwiV29ya3NwYWNlRGVmYXVsdHMiLCJ1c2VyQ29uZmlnIiwiVXNlckNvbmZpZ0ZhY3RvcnkiLCJnZXRVc2VyQ29uZmlnIiwiY29uZmlnRmlsZSIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkRlZmF1bHRDb25maWd1cmF0aW9ucyIsIldvcmtzcGFjZUZhY3RvcnkiLCJjcmVhdGUiLCJyb290RGlyIl0sIm1hcHBpbmdzIjoiOzs7OytCQWFhQTs7O2VBQUFBOzs7c0JBYnVDO3FCQUVyQjsrREFFTjtnRUFDQzsyQ0FDUzttQ0FDRDsrQkFDSjs2QkFDRjtpQ0FDRztpQ0FDMEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRCxNQUFNQSxvQkFBb0JDLG1CQUFjO0lBQzlCQyxLQUFLLFFBQVE7SUFDYkMsVUFBVUMsUUFBU0MsWUFBWSxDQUFDO0lBQ2hDQyxVQUFVO1FBQ3pCQyxPQUFPQyxPQUFRQyxLQUFLO1FBQ3BCQyxNQUFNRixPQUFRRyxJQUFJO1FBQ2xCQyxRQUFRSixPQUFRSyxNQUFNO1FBQ3RCQyxPQUFPTixPQUFRTyxLQUFLO1FBQ3BCQyxPQUFPUixPQUFRUyxLQUFLO1FBQ3BCQyxTQUFTVixPQUFRVyxPQUFPO1FBQ3hCQyxrQkFBa0JaLE9BQVFhLGdCQUFnQjtRQUMxQ0MsY0FBY2QsT0FBUWUsWUFBWTtRQUNsQ0Msb0JBQW9CaEIsT0FBUWlCLGtCQUFrQjtRQUM5Q0MsU0FBU2xCLE9BQVFtQixPQUFPO1FBQ3hCQyxLQUFLcEIsT0FBUXFCLEdBQUc7UUFDaEJDLFdBQVd0QixPQUFRdUIsU0FBUztRQUM1QkMsYUFBYXhCLE9BQVF5QixXQUFXO1FBQ2hDQyxNQUFNMUIsT0FBUTJCLElBQUk7UUFDbEJDLFFBQVE1QixPQUFRNkIsTUFBTTtJQUN2QixFQUFFO0lBQ2NDLFdBQVc7UUFDMUJ4QixPQUFPVixRQUFTbUMsWUFBWTtRQUM1QnJCLFNBQVNkLFFBQVNvQyxjQUFjO1FBQ2hDQyxjQUFjckMsUUFBU3NDLGlCQUFpQjtRQUN4QzlCLFFBQVFSLFFBQVN1QyxhQUFhO1FBQzlCakIsU0FBU3RCLFFBQVN3QyxjQUFjO1FBQ2hDaEIsS0FBS3hCLFFBQVN5QyxVQUFVO1FBQ3hCZixXQUFXMUIsUUFBUzBDLGdCQUFnQjtRQUNwQ1osTUFBTTlCLFFBQVMyQyxXQUFXO1FBQzFCWCxRQUFRaEMsUUFBUzRDLGFBQWE7SUFDL0IsRUFBRTtJQUVLQyxpQkFBaUJDLE9BQXlCLEVBQUU7UUFDbERBLFFBQVFDLGlCQUFpQixDQUFDQyx3QkFBVztRQUNyQ0YsUUFBUUMsaUJBQWlCLENBQUNFLCtCQUFjLEVBQUVDLDRCQUFhO1FBQ3ZESixRQUFRQyxpQkFBaUIsQ0FBQ0UsK0JBQWMsRUFBRUQsd0JBQVc7UUFDckRGLFFBQVFDLGlCQUFpQixDQUFDSSw2Q0FBa0I7UUFDNUNMLFFBQVFDLGlCQUFpQixDQUFDSyxvQ0FBaUI7SUFDNUM7SUFFQSxNQUFzQkMsZ0JBQWdCQyxPQUFnQyxFQUFFO1FBQ3ZFLE1BQU0sRUFBRUMsZ0JBQWdCQyxDQUFDLEVBQUUsR0FBR0MsZUFBZSxHQUFHQyxrQ0FBaUI7UUFDakUsTUFBTUMsYUFBYSxNQUFNQyx1QkFBaUIsQ0FBQ0MsYUFBYSxDQUFDUCxRQUFRUSxVQUFVO1FBQzNFLGdGQUFnRjtRQUNoRiwrRUFBK0U7UUFDL0Usc0VBQXNFO1FBQ3RFLE1BQU1QLGlCQUFpQkksV0FBV0osY0FBYyxFQUFFUSxTQUMvQ0MsWUFDQUMsc0NBQXFCO1FBQ3hCLE9BQU9DLHNCQUFnQixDQUFDQyxNQUFNLENBQUM7WUFDOUIsR0FBR1YsYUFBYTtZQUNoQixHQUFJRixpQkFBaUI7Z0JBQUVBO1lBQWUsSUFBSSxDQUFDLENBQUM7WUFDNUNPLFlBQVlSLFFBQVFRLFVBQVU7WUFDOUJNLFNBQVNkLFFBQVFjLE9BQU8sSUFBSVYsa0NBQWlCLENBQUNVLE9BQU87UUFDdEQ7SUFDRDtBQUNEIn0=
@@ -57,13 +57,13 @@ class TsProgramHost {
57
57
  host.getDirectories = (directoryName)=>this.getDirectories(directoryName);
58
58
  return host;
59
59
  }
60
- createProgram(files, compilerOptions, host, oldProgram) {
60
+ createProgram(files, compilerOptions, host, oldProgram, requiredOptions = _typeemitter.REQUIRED_TYPE_EMITTER_OPTIONS) {
61
61
  const filePaths = files.map((f)=>f.fullPath);
62
62
  this.#invalidated.clear();
63
63
  return (0, _typescript.createProgram)(filePaths, {
64
64
  ..._typeemitter.DEFAULT_TYPE_EMITTER_OPTIONS,
65
65
  ...compilerOptions,
66
- ..._typeemitter.REQUIRED_TYPE_EMITTER_OPTIONS
66
+ ...requiredOptions
67
67
  }, host, oldProgram);
68
68
  }
69
69
  readFileFromDisk(fileName) {
@@ -132,4 +132,4 @@ TsProgramHost = _ts_decorate([
132
132
  _diagnostics.Trace
133
133
  ], TsProgramHost);
134
134
 
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9zZXJ2aWNlcy90cy1wcm9ncmFtLWhvc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyBjYWNoZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2FjaGluZ1wiO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2RpYWdub3N0aWNzXCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB0eXBlIHRzIGZyb20gXCJ0eXBlc2NyaXB0XCI7XG5pbXBvcnQgeyBjcmVhdGVDb21waWxlckhvc3QsIGNyZWF0ZVByb2dyYW0gfSBmcm9tIFwidHlwZXNjcmlwdFwiO1xuaW1wb3J0IHtcblx0REVGQVVMVF9UWVBFX0VNSVRURVJfT1BUSU9OUyxcblx0UkVRVUlSRURfVFlQRV9FTUlUVEVSX09QVElPTlMsXG59IGZyb20gXCIuLi9zZXJ2aWNlcy90eXBlLWVtaXR0ZXIuanNcIjtcblxuLyoqXG4gKiBXcmFwcyBhIFR5cGVTY3JpcHQgQ29tcGlsZXJIb3N0IHdpdGggY2FjaGVkIGZpbGUtc3lzdGVtIGNhbGxzIHNvIHRoYXRcbiAqIHJlcGVhdGVkIHJlYWRzIGR1cmluZyBhIHNpbmdsZSBidWlsZCBkbyBub3QgaGl0IHRoZSBkaXNrIG11bHRpcGxlIHRpbWVzLlxuICpcbiAqIFNlcGFyYXRpbmcgdGhpcyBmcm9tIFR5cGVFbWl0dGVyIGtlZXBzIHRoZSB0cmFuc2Zvcm1lciBsb2dpYyByZWFkYWJsZSBhbmRcbiAqIGxldHMgdGhlIGNhY2hpbmcvcHJvZ3JhbS1jcmVhdGlvbiBjb25jZXJucyBsaXZlIGluIG9uZSBmb2N1c2VkIHBsYWNlLlxuICovXG5AVHJhY2VcbmV4cG9ydCBjbGFzcyBUc1Byb2dyYW1Ib3N0IHtcblx0I2ludmFsaWRhdGVkID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cblx0cHVibGljIGludmFsaWRhdGVTb3VyY2VGaWxlKGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLiNpbnZhbGlkYXRlZC5hZGQoZmlsZU5hbWUpO1xuXHR9XG5cblx0cHVibGljIGhhc0ludmFsaWRhdGVkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLiNpbnZhbGlkYXRlZC5zaXplID4gMDtcblx0fVxuXG5cdC8qKiBSZXR1cm5zIGEgc3RhYmxlIHN0cmluZyBrZXkgZm9yIGEgc2V0IG9mIGNvbXBpbGVyIG9wdGlvbnMgdGhhdCBhZmZlY3QgaG9zdCBiZWhhdmlvdXIuICovXG5cdHB1YmxpYyBob3N0S2V5KG9wdHM6IHRzLkNvbXBpbGVyT3B0aW9ucyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcblx0XHRcdHRhcmdldDogb3B0cy50YXJnZXQsXG5cdFx0XHRsaWI6IG9wdHMubGliLFxuXHRcdFx0dHlwZVJvb3RzOiBvcHRzLnR5cGVSb290cyxcblx0XHRcdHR5cGVzOiBvcHRzLnR5cGVzLFxuXHRcdFx0bW9kdWxlUmVzb2x1dGlvbjogb3B0cy5tb2R1bGVSZXNvbHV0aW9uLFxuXHRcdFx0YmFzZVVybDogb3B0cy5iYXNlVXJsLFxuXHRcdFx0cGF0aHM6IG9wdHMucGF0aHMsXG5cdFx0XHRtb2R1bGU6IG9wdHMubW9kdWxlLFxuXHRcdFx0cm9vdERpcjogb3B0cy5yb290RGlyLFxuXHRcdFx0cm9vdERpcnM6IG9wdHMucm9vdERpcnMsXG5cdFx0fSk7XG5cdH1cblxuXHRwdWJsaWMgY3JlYXRlSG9zdChjb21waWxlck9wdGlvbnM6IHRzLkNvbXBpbGVyT3B0aW9ucyk6IHRzLkNvbXBpbGVySG9zdCB7XG5cdFx0Y29uc3QgaG9zdCA9IGNyZWF0ZUNvbXBpbGVySG9zdChjb21waWxlck9wdGlvbnMpO1xuXHRcdGhvc3QuZmlsZUV4aXN0cyA9IChmaWxlTmFtZSkgPT4gdGhpcy5maWxlRXhpc3RzT25EaXNrKGZpbGVOYW1lKTtcblx0XHRob3N0LnJlYWRGaWxlID0gKGZpbGVOYW1lKSA9PiB0aGlzLnJlYWRGaWxlRnJvbURpc2soZmlsZU5hbWUpO1xuXHRcdGhvc3QuZGlyZWN0b3J5RXhpc3RzID0gKGRpcmVjdG9yeU5hbWUpID0+IHRoaXMuZGlyZWN0b3J5RXhpc3RzKGRpcmVjdG9yeU5hbWUpO1xuXHRcdGhvc3QuZ2V0RGlyZWN0b3JpZXMgPSAoZGlyZWN0b3J5TmFtZSkgPT4gdGhpcy5nZXREaXJlY3RvcmllcyhkaXJlY3RvcnlOYW1lKTtcblx0XHRyZXR1cm4gaG9zdDtcblx0fVxuXG5cdHB1YmxpYyBjcmVhdGVQcm9ncmFtKFxuXHRcdGZpbGVzOiBGaWxlRXhbXSxcblx0XHRjb21waWxlck9wdGlvbnM6IHRzLkNvbXBpbGVyT3B0aW9ucyxcblx0XHRob3N0OiB0cy5Db21waWxlckhvc3QsXG5cdFx0b2xkUHJvZ3JhbT86IHRzLlByb2dyYW0sXG5cdCk6IHRzLlByb2dyYW0ge1xuXHRcdGNvbnN0IGZpbGVQYXRocyA9IGZpbGVzLm1hcCgoZikgPT4gZi5mdWxsUGF0aCk7XG5cdFx0dGhpcy4jaW52YWxpZGF0ZWQuY2xlYXIoKTtcblx0XHRyZXR1cm4gY3JlYXRlUHJvZ3JhbShcblx0XHRcdGZpbGVQYXRocyxcblx0XHRcdHtcblx0XHRcdFx0Li4uREVGQVVMVF9UWVBFX0VNSVRURVJfT1BUSU9OUyxcblx0XHRcdFx0Li4uY29tcGlsZXJPcHRpb25zLFxuXHRcdFx0XHQuLi5SRVFVSVJFRF9UWVBFX0VNSVRURVJfT1BUSU9OUyxcblx0XHRcdH0sXG5cdFx0XHRob3N0LFxuXHRcdFx0b2xkUHJvZ3JhbSxcblx0XHQpO1xuXHR9XG5cblx0QGNhY2hlKHsgbmFtZTogXCJGSUxFX0NPTlRFTlRcIiwga2V5Rm46ICguLi5hcmdzKSA9PiBhcmdzWzBdIGFzIHN0cmluZyB9KVxuXHRwdWJsaWMgcmVhZEZpbGVGcm9tRGlzayhmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHR0cnkge1xuXHRcdFx0cmV0dXJuIGZzLnJlYWRGaWxlU3luYyhmaWxlTmFtZSwgXCJ1dGY4XCIpO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cdH1cblxuXHRAY2FjaGUoKVxuXHRwdWJsaWMgZmlsZUV4aXN0c09uRGlzayhmaWxlTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIGZzLmV4aXN0c1N5bmMoZmlsZU5hbWUpO1xuXHR9XG5cblx0QGNhY2hlKClcblx0cHVibGljIGRpcmVjdG9yeUV4aXN0cyhkaXJlY3RvcnlOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHR0cnkge1xuXHRcdFx0cmV0dXJuIGZzLnN0YXRTeW5jKGRpcmVjdG9yeU5hbWUpLmlzRGlyZWN0b3J5KCk7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHR9XG5cblx0QGNhY2hlKClcblx0cHVibGljIGdldERpcmVjdG9yaWVzKGRpcmVjdG9yeU5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcblx0XHR0cnkge1xuXHRcdFx0cmV0dXJuIGZzXG5cdFx0XHRcdC5yZWFkZGlyU3luYyhkaXJlY3RvcnlOYW1lLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSlcblx0XHRcdFx0LmZpbHRlcigoZW50cnkpID0+IGVudHJ5LmlzRGlyZWN0b3J5KCkpXG5cdFx0XHRcdC5tYXAoKGVudHJ5KSA9PiBlbnRyeS5uYW1lKTtcblx0XHR9IGNhdGNoIHtcblx0XHRcdHJldHVybiBbXTtcblx0XHR9XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJUc1Byb2dyYW1Ib3N0IiwiU2V0IiwiaW52YWxpZGF0ZVNvdXJjZUZpbGUiLCJmaWxlTmFtZSIsImFkZCIsImhhc0ludmFsaWRhdGVkIiwic2l6ZSIsImhvc3RLZXkiLCJvcHRzIiwiSlNPTiIsInN0cmluZ2lmeSIsInRhcmdldCIsImxpYiIsInR5cGVSb290cyIsInR5cGVzIiwibW9kdWxlUmVzb2x1dGlvbiIsImJhc2VVcmwiLCJwYXRocyIsIm1vZHVsZSIsInJvb3REaXIiLCJyb290RGlycyIsImNyZWF0ZUhvc3QiLCJjb21waWxlck9wdGlvbnMiLCJob3N0IiwiY3JlYXRlQ29tcGlsZXJIb3N0IiwiZmlsZUV4aXN0cyIsImZpbGVFeGlzdHNPbkRpc2siLCJyZWFkRmlsZSIsInJlYWRGaWxlRnJvbURpc2siLCJkaXJlY3RvcnlFeGlzdHMiLCJkaXJlY3RvcnlOYW1lIiwiZ2V0RGlyZWN0b3JpZXMiLCJjcmVhdGVQcm9ncmFtIiwiZmlsZXMiLCJvbGRQcm9ncmFtIiwiZmlsZVBhdGhzIiwibWFwIiwiZiIsImZ1bGxQYXRoIiwiY2xlYXIiLCJERUZBVUxUX1RZUEVfRU1JVFRFUl9PUFRJT05TIiwiUkVRVUlSRURfVFlQRV9FTUlUVEVSX09QVElPTlMiLCJmcyIsInJlYWRGaWxlU3luYyIsInVuZGVmaW5lZCIsImV4aXN0c1N5bmMiLCJzdGF0U3luYyIsImlzRGlyZWN0b3J5IiwicmVhZGRpclN5bmMiLCJ3aXRoRmlsZVR5cGVzIiwiZmlsdGVyIiwiZW50cnkiLCJuYW1lIiwia2V5Rm4iLCJhcmdzIl0sIm1hcHBpbmdzIjoiOzs7OytCQW1CYUE7OztlQUFBQTs7OytEQW5CRTt5QkFDTzs2QkFDQTs0QkFHNEI7NkJBSTNDOzs7Ozs7Ozs7Ozs7Ozs7QUFVQSxNQUFNQTtJQUNaLENBQUEsV0FBWSxHQUFHLElBQUlDLE1BQWM7SUFFMUJDLHFCQUFxQkMsUUFBZ0IsRUFBUTtRQUNuRCxJQUFJLENBQUMsQ0FBQSxXQUFZLENBQUNDLEdBQUcsQ0FBQ0Q7SUFDdkI7SUFFT0UsaUJBQTBCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLENBQUEsV0FBWSxDQUFDQyxJQUFJLEdBQUc7SUFDakM7SUFFQSwwRkFBMEYsR0FDMUYsQUFBT0MsUUFBUUMsSUFBd0IsRUFBVTtRQUNoRCxPQUFPQyxLQUFLQyxTQUFTLENBQUM7WUFDckJDLFFBQVFILEtBQUtHLE1BQU07WUFDbkJDLEtBQUtKLEtBQUtJLEdBQUc7WUFDYkMsV0FBV0wsS0FBS0ssU0FBUztZQUN6QkMsT0FBT04sS0FBS00sS0FBSztZQUNqQkMsa0JBQWtCUCxLQUFLTyxnQkFBZ0I7WUFDdkNDLFNBQVNSLEtBQUtRLE9BQU87WUFDckJDLE9BQU9ULEtBQUtTLEtBQUs7WUFDakJDLFFBQVFWLEtBQUtVLE1BQU07WUFDbkJDLFNBQVNYLEtBQUtXLE9BQU87WUFDckJDLFVBQVVaLEtBQUtZLFFBQVE7UUFDeEI7SUFDRDtJQUVPQyxXQUFXQyxlQUFtQyxFQUFtQjtRQUN2RSxNQUFNQyxPQUFPQyxJQUFBQSw4QkFBa0IsRUFBQ0Y7UUFDaENDLEtBQUtFLFVBQVUsR0FBRyxDQUFDdEIsV0FBYSxJQUFJLENBQUN1QixnQkFBZ0IsQ0FBQ3ZCO1FBQ3REb0IsS0FBS0ksUUFBUSxHQUFHLENBQUN4QixXQUFhLElBQUksQ0FBQ3lCLGdCQUFnQixDQUFDekI7UUFDcERvQixLQUFLTSxlQUFlLEdBQUcsQ0FBQ0MsZ0JBQWtCLElBQUksQ0FBQ0QsZUFBZSxDQUFDQztRQUMvRFAsS0FBS1EsY0FBYyxHQUFHLENBQUNELGdCQUFrQixJQUFJLENBQUNDLGNBQWMsQ0FBQ0Q7UUFDN0QsT0FBT1A7SUFDUjtJQUVPUyxjQUNOQyxLQUFlLEVBQ2ZYLGVBQW1DLEVBQ25DQyxJQUFxQixFQUNyQlcsVUFBdUIsRUFDVjtRQUNiLE1BQU1DLFlBQVlGLE1BQU1HLEdBQUcsQ0FBQyxDQUFDQyxJQUFNQSxFQUFFQyxRQUFRO1FBQzdDLElBQUksQ0FBQyxDQUFBLFdBQVksQ0FBQ0MsS0FBSztRQUN2QixPQUFPUCxJQUFBQSx5QkFBYSxFQUNuQkcsV0FDQTtZQUNDLEdBQUdLLHlDQUE0QjtZQUMvQixHQUFHbEIsZUFBZTtZQUNsQixHQUFHbUIsMENBQTZCO1FBQ2pDLEdBQ0FsQixNQUNBVztJQUVGO0lBR09OLGlCQUFpQnpCLFFBQWdCLEVBQXNCO1FBQzdELElBQUk7WUFDSCxPQUFPdUMsZUFBRSxDQUFDQyxZQUFZLENBQUN4QyxVQUFVO1FBQ2xDLEVBQUUsT0FBTTtZQUNQLE9BQU95QztRQUNSO0lBQ0Q7SUFHT2xCLGlCQUFpQnZCLFFBQWdCLEVBQVc7UUFDbEQsT0FBT3VDLGVBQUUsQ0FBQ0csVUFBVSxDQUFDMUM7SUFDdEI7SUFHTzBCLGdCQUFnQkMsYUFBcUIsRUFBVztRQUN0RCxJQUFJO1lBQ0gsT0FBT1ksZUFBRSxDQUFDSSxRQUFRLENBQUNoQixlQUFlaUIsV0FBVztRQUM5QyxFQUFFLE9BQU07WUFDUCxPQUFPO1FBQ1I7SUFDRDtJQUdPaEIsZUFBZUQsYUFBcUIsRUFBWTtRQUN0RCxJQUFJO1lBQ0gsT0FBT1ksZUFBRSxDQUNQTSxXQUFXLENBQUNsQixlQUFlO2dCQUFFbUIsZUFBZTtZQUFLLEdBQ2pEQyxNQUFNLENBQUMsQ0FBQ0MsUUFBVUEsTUFBTUosV0FBVyxJQUNuQ1gsR0FBRyxDQUFDLENBQUNlLFFBQVVBLE1BQU1DLElBQUk7UUFDNUIsRUFBRSxPQUFNO1lBQ1AsT0FBTyxFQUFFO1FBQ1Y7SUFDRDtBQUNEOzs7UUFsQ1VBLE1BQU07UUFBZ0JDLE9BQU8sQ0FBQyxHQUFHQyxPQUFTQSxJQUFJLENBQUMsRUFBRSJ9
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9zZXJ2aWNlcy90cy1wcm9ncmFtLWhvc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyBjYWNoZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2FjaGluZ1wiO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2RpYWdub3N0aWNzXCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB0eXBlIHRzIGZyb20gXCJ0eXBlc2NyaXB0XCI7XG5pbXBvcnQgeyBjcmVhdGVDb21waWxlckhvc3QsIGNyZWF0ZVByb2dyYW0gfSBmcm9tIFwidHlwZXNjcmlwdFwiO1xuaW1wb3J0IHtcblx0REVGQVVMVF9UWVBFX0VNSVRURVJfT1BUSU9OUyxcblx0UkVRVUlSRURfVFlQRV9FTUlUVEVSX09QVElPTlMsXG59IGZyb20gXCIuLi9zZXJ2aWNlcy90eXBlLWVtaXR0ZXIuanNcIjtcblxuLyoqXG4gKiBXcmFwcyBhIFR5cGVTY3JpcHQgQ29tcGlsZXJIb3N0IHdpdGggY2FjaGVkIGZpbGUtc3lzdGVtIGNhbGxzIHNvIHRoYXRcbiAqIHJlcGVhdGVkIHJlYWRzIGR1cmluZyBhIHNpbmdsZSBidWlsZCBkbyBub3QgaGl0IHRoZSBkaXNrIG11bHRpcGxlIHRpbWVzLlxuICpcbiAqIFNlcGFyYXRpbmcgdGhpcyBmcm9tIFR5cGVFbWl0dGVyIGtlZXBzIHRoZSB0cmFuc2Zvcm1lciBsb2dpYyByZWFkYWJsZSBhbmRcbiAqIGxldHMgdGhlIGNhY2hpbmcvcHJvZ3JhbS1jcmVhdGlvbiBjb25jZXJucyBsaXZlIGluIG9uZSBmb2N1c2VkIHBsYWNlLlxuICovXG5AVHJhY2VcbmV4cG9ydCBjbGFzcyBUc1Byb2dyYW1Ib3N0IHtcblx0I2ludmFsaWRhdGVkID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cblx0cHVibGljIGludmFsaWRhdGVTb3VyY2VGaWxlKGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLiNpbnZhbGlkYXRlZC5hZGQoZmlsZU5hbWUpO1xuXHR9XG5cblx0cHVibGljIGhhc0ludmFsaWRhdGVkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLiNpbnZhbGlkYXRlZC5zaXplID4gMDtcblx0fVxuXG5cdC8qKiBSZXR1cm5zIGEgc3RhYmxlIHN0cmluZyBrZXkgZm9yIGEgc2V0IG9mIGNvbXBpbGVyIG9wdGlvbnMgdGhhdCBhZmZlY3QgaG9zdCBiZWhhdmlvdXIuICovXG5cdHB1YmxpYyBob3N0S2V5KG9wdHM6IHRzLkNvbXBpbGVyT3B0aW9ucyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcblx0XHRcdHRhcmdldDogb3B0cy50YXJnZXQsXG5cdFx0XHRsaWI6IG9wdHMubGliLFxuXHRcdFx0dHlwZVJvb3RzOiBvcHRzLnR5cGVSb290cyxcblx0XHRcdHR5cGVzOiBvcHRzLnR5cGVzLFxuXHRcdFx0bW9kdWxlUmVzb2x1dGlvbjogb3B0cy5tb2R1bGVSZXNvbHV0aW9uLFxuXHRcdFx0YmFzZVVybDogb3B0cy5iYXNlVXJsLFxuXHRcdFx0cGF0aHM6IG9wdHMucGF0aHMsXG5cdFx0XHRtb2R1bGU6IG9wdHMubW9kdWxlLFxuXHRcdFx0cm9vdERpcjogb3B0cy5yb290RGlyLFxuXHRcdFx0cm9vdERpcnM6IG9wdHMucm9vdERpcnMsXG5cdFx0fSk7XG5cdH1cblxuXHRwdWJsaWMgY3JlYXRlSG9zdChjb21waWxlck9wdGlvbnM6IHRzLkNvbXBpbGVyT3B0aW9ucyk6IHRzLkNvbXBpbGVySG9zdCB7XG5cdFx0Y29uc3QgaG9zdCA9IGNyZWF0ZUNvbXBpbGVySG9zdChjb21waWxlck9wdGlvbnMpO1xuXHRcdGhvc3QuZmlsZUV4aXN0cyA9IChmaWxlTmFtZSkgPT4gdGhpcy5maWxlRXhpc3RzT25EaXNrKGZpbGVOYW1lKTtcblx0XHRob3N0LnJlYWRGaWxlID0gKGZpbGVOYW1lKSA9PiB0aGlzLnJlYWRGaWxlRnJvbURpc2soZmlsZU5hbWUpO1xuXHRcdGhvc3QuZGlyZWN0b3J5RXhpc3RzID0gKGRpcmVjdG9yeU5hbWUpID0+IHRoaXMuZGlyZWN0b3J5RXhpc3RzKGRpcmVjdG9yeU5hbWUpO1xuXHRcdGhvc3QuZ2V0RGlyZWN0b3JpZXMgPSAoZGlyZWN0b3J5TmFtZSkgPT4gdGhpcy5nZXREaXJlY3RvcmllcyhkaXJlY3RvcnlOYW1lKTtcblx0XHRyZXR1cm4gaG9zdDtcblx0fVxuXG5cdHB1YmxpYyBjcmVhdGVQcm9ncmFtKFxuXHRcdGZpbGVzOiBGaWxlRXhbXSxcblx0XHRjb21waWxlck9wdGlvbnM6IHRzLkNvbXBpbGVyT3B0aW9ucyxcblx0XHRob3N0OiB0cy5Db21waWxlckhvc3QsXG5cdFx0b2xkUHJvZ3JhbT86IHRzLlByb2dyYW0sXG5cdFx0cmVxdWlyZWRPcHRpb25zOiB0cy5Db21waWxlck9wdGlvbnMgPSBSRVFVSVJFRF9UWVBFX0VNSVRURVJfT1BUSU9OUyxcblx0KTogdHMuUHJvZ3JhbSB7XG5cdFx0Y29uc3QgZmlsZVBhdGhzID0gZmlsZXMubWFwKChmKSA9PiBmLmZ1bGxQYXRoKTtcblx0XHR0aGlzLiNpbnZhbGlkYXRlZC5jbGVhcigpO1xuXHRcdHJldHVybiBjcmVhdGVQcm9ncmFtKFxuXHRcdFx0ZmlsZVBhdGhzLFxuXHRcdFx0e1xuXHRcdFx0XHQuLi5ERUZBVUxUX1RZUEVfRU1JVFRFUl9PUFRJT05TLFxuXHRcdFx0XHQuLi5jb21waWxlck9wdGlvbnMsXG5cdFx0XHRcdC4uLnJlcXVpcmVkT3B0aW9ucyxcblx0XHRcdH0sXG5cdFx0XHRob3N0LFxuXHRcdFx0b2xkUHJvZ3JhbSxcblx0XHQpO1xuXHR9XG5cblx0QGNhY2hlKHsgbmFtZTogXCJGSUxFX0NPTlRFTlRcIiwga2V5Rm46ICguLi5hcmdzKSA9PiBhcmdzWzBdIGFzIHN0cmluZyB9KVxuXHRwdWJsaWMgcmVhZEZpbGVGcm9tRGlzayhmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHR0cnkge1xuXHRcdFx0cmV0dXJuIGZzLnJlYWRGaWxlU3luYyhmaWxlTmFtZSwgXCJ1dGY4XCIpO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cdH1cblxuXHRAY2FjaGUoKVxuXHRwdWJsaWMgZmlsZUV4aXN0c09uRGlzayhmaWxlTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIGZzLmV4aXN0c1N5bmMoZmlsZU5hbWUpO1xuXHR9XG5cblx0QGNhY2hlKClcblx0cHVibGljIGRpcmVjdG9yeUV4aXN0cyhkaXJlY3RvcnlOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHR0cnkge1xuXHRcdFx0cmV0dXJuIGZzLnN0YXRTeW5jKGRpcmVjdG9yeU5hbWUpLmlzRGlyZWN0b3J5KCk7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHR9XG5cblx0QGNhY2hlKClcblx0cHVibGljIGdldERpcmVjdG9yaWVzKGRpcmVjdG9yeU5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcblx0XHR0cnkge1xuXHRcdFx0cmV0dXJuIGZzXG5cdFx0XHRcdC5yZWFkZGlyU3luYyhkaXJlY3RvcnlOYW1lLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSlcblx0XHRcdFx0LmZpbHRlcigoZW50cnkpID0+IGVudHJ5LmlzRGlyZWN0b3J5KCkpXG5cdFx0XHRcdC5tYXAoKGVudHJ5KSA9PiBlbnRyeS5uYW1lKTtcblx0XHR9IGNhdGNoIHtcblx0XHRcdHJldHVybiBbXTtcblx0XHR9XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJUc1Byb2dyYW1Ib3N0IiwiU2V0IiwiaW52YWxpZGF0ZVNvdXJjZUZpbGUiLCJmaWxlTmFtZSIsImFkZCIsImhhc0ludmFsaWRhdGVkIiwic2l6ZSIsImhvc3RLZXkiLCJvcHRzIiwiSlNPTiIsInN0cmluZ2lmeSIsInRhcmdldCIsImxpYiIsInR5cGVSb290cyIsInR5cGVzIiwibW9kdWxlUmVzb2x1dGlvbiIsImJhc2VVcmwiLCJwYXRocyIsIm1vZHVsZSIsInJvb3REaXIiLCJyb290RGlycyIsImNyZWF0ZUhvc3QiLCJjb21waWxlck9wdGlvbnMiLCJob3N0IiwiY3JlYXRlQ29tcGlsZXJIb3N0IiwiZmlsZUV4aXN0cyIsImZpbGVFeGlzdHNPbkRpc2siLCJyZWFkRmlsZSIsInJlYWRGaWxlRnJvbURpc2siLCJkaXJlY3RvcnlFeGlzdHMiLCJkaXJlY3RvcnlOYW1lIiwiZ2V0RGlyZWN0b3JpZXMiLCJjcmVhdGVQcm9ncmFtIiwiZmlsZXMiLCJvbGRQcm9ncmFtIiwicmVxdWlyZWRPcHRpb25zIiwiUkVRVUlSRURfVFlQRV9FTUlUVEVSX09QVElPTlMiLCJmaWxlUGF0aHMiLCJtYXAiLCJmIiwiZnVsbFBhdGgiLCJjbGVhciIsIkRFRkFVTFRfVFlQRV9FTUlUVEVSX09QVElPTlMiLCJmcyIsInJlYWRGaWxlU3luYyIsInVuZGVmaW5lZCIsImV4aXN0c1N5bmMiLCJzdGF0U3luYyIsImlzRGlyZWN0b3J5IiwicmVhZGRpclN5bmMiLCJ3aXRoRmlsZVR5cGVzIiwiZmlsdGVyIiwiZW50cnkiLCJuYW1lIiwia2V5Rm4iLCJhcmdzIl0sIm1hcHBpbmdzIjoiOzs7OytCQW1CYUE7OztlQUFBQTs7OytEQW5CRTt5QkFDTzs2QkFDQTs0QkFHNEI7NkJBSTNDOzs7Ozs7Ozs7Ozs7Ozs7QUFVQSxNQUFNQTtJQUNaLENBQUEsV0FBWSxHQUFHLElBQUlDLE1BQWM7SUFFMUJDLHFCQUFxQkMsUUFBZ0IsRUFBUTtRQUNuRCxJQUFJLENBQUMsQ0FBQSxXQUFZLENBQUNDLEdBQUcsQ0FBQ0Q7SUFDdkI7SUFFT0UsaUJBQTBCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLENBQUEsV0FBWSxDQUFDQyxJQUFJLEdBQUc7SUFDakM7SUFFQSwwRkFBMEYsR0FDMUYsQUFBT0MsUUFBUUMsSUFBd0IsRUFBVTtRQUNoRCxPQUFPQyxLQUFLQyxTQUFTLENBQUM7WUFDckJDLFFBQVFILEtBQUtHLE1BQU07WUFDbkJDLEtBQUtKLEtBQUtJLEdBQUc7WUFDYkMsV0FBV0wsS0FBS0ssU0FBUztZQUN6QkMsT0FBT04sS0FBS00sS0FBSztZQUNqQkMsa0JBQWtCUCxLQUFLTyxnQkFBZ0I7WUFDdkNDLFNBQVNSLEtBQUtRLE9BQU87WUFDckJDLE9BQU9ULEtBQUtTLEtBQUs7WUFDakJDLFFBQVFWLEtBQUtVLE1BQU07WUFDbkJDLFNBQVNYLEtBQUtXLE9BQU87WUFDckJDLFVBQVVaLEtBQUtZLFFBQVE7UUFDeEI7SUFDRDtJQUVPQyxXQUFXQyxlQUFtQyxFQUFtQjtRQUN2RSxNQUFNQyxPQUFPQyxJQUFBQSw4QkFBa0IsRUFBQ0Y7UUFDaENDLEtBQUtFLFVBQVUsR0FBRyxDQUFDdEIsV0FBYSxJQUFJLENBQUN1QixnQkFBZ0IsQ0FBQ3ZCO1FBQ3REb0IsS0FBS0ksUUFBUSxHQUFHLENBQUN4QixXQUFhLElBQUksQ0FBQ3lCLGdCQUFnQixDQUFDekI7UUFDcERvQixLQUFLTSxlQUFlLEdBQUcsQ0FBQ0MsZ0JBQWtCLElBQUksQ0FBQ0QsZUFBZSxDQUFDQztRQUMvRFAsS0FBS1EsY0FBYyxHQUFHLENBQUNELGdCQUFrQixJQUFJLENBQUNDLGNBQWMsQ0FBQ0Q7UUFDN0QsT0FBT1A7SUFDUjtJQUVPUyxjQUNOQyxLQUFlLEVBQ2ZYLGVBQW1DLEVBQ25DQyxJQUFxQixFQUNyQlcsVUFBdUIsRUFDdkJDLGtCQUFzQ0MsMENBQTZCLEVBQ3REO1FBQ2IsTUFBTUMsWUFBWUosTUFBTUssR0FBRyxDQUFDLENBQUNDLElBQU1BLEVBQUVDLFFBQVE7UUFDN0MsSUFBSSxDQUFDLENBQUEsV0FBWSxDQUFDQyxLQUFLO1FBQ3ZCLE9BQU9ULElBQUFBLHlCQUFhLEVBQ25CSyxXQUNBO1lBQ0MsR0FBR0sseUNBQTRCO1lBQy9CLEdBQUdwQixlQUFlO1lBQ2xCLEdBQUdhLGVBQWU7UUFDbkIsR0FDQVosTUFDQVc7SUFFRjtJQUdPTixpQkFBaUJ6QixRQUFnQixFQUFzQjtRQUM3RCxJQUFJO1lBQ0gsT0FBT3dDLGVBQUUsQ0FBQ0MsWUFBWSxDQUFDekMsVUFBVTtRQUNsQyxFQUFFLE9BQU07WUFDUCxPQUFPMEM7UUFDUjtJQUNEO0lBR09uQixpQkFBaUJ2QixRQUFnQixFQUFXO1FBQ2xELE9BQU93QyxlQUFFLENBQUNHLFVBQVUsQ0FBQzNDO0lBQ3RCO0lBR08wQixnQkFBZ0JDLGFBQXFCLEVBQVc7UUFDdEQsSUFBSTtZQUNILE9BQU9hLGVBQUUsQ0FBQ0ksUUFBUSxDQUFDakIsZUFBZWtCLFdBQVc7UUFDOUMsRUFBRSxPQUFNO1lBQ1AsT0FBTztRQUNSO0lBQ0Q7SUFHT2pCLGVBQWVELGFBQXFCLEVBQVk7UUFDdEQsSUFBSTtZQUNILE9BQU9hLGVBQUUsQ0FDUE0sV0FBVyxDQUFDbkIsZUFBZTtnQkFBRW9CLGVBQWU7WUFBSyxHQUNqREMsTUFBTSxDQUFDLENBQUNDLFFBQVVBLE1BQU1KLFdBQVcsSUFDbkNWLEdBQUcsQ0FBQyxDQUFDYyxRQUFVQSxNQUFNQyxJQUFJO1FBQzVCLEVBQUUsT0FBTTtZQUNQLE9BQU8sRUFBRTtRQUNWO0lBQ0Q7QUFDRDs7O1FBbENVQSxNQUFNO1FBQWdCQyxPQUFPLENBQUMsR0FBR0MsT0FBU0EsSUFBSSxDQUFDLEVBQUUifQ==
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "TypeEmissionProgram", {
10
10
  });
11
11
  const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
12
12
  const _diagnostics = require("@decohere/nexus/diagnostics");
13
+ const _typescript = /*#__PURE__*/ _interop_require_default(require("typescript"));
13
14
  const _transformresponsemodel = require("../types/transform-response.model.js");
14
15
  function _interop_require_default(obj) {
15
16
  return obj && obj.__esModule ? obj : {
@@ -34,16 +35,25 @@ class TypeEmissionProgram {
34
35
  #compilerHost;
35
36
  #allFiles;
36
37
  #compilerOptions;
37
- constructor(group, hostFactory){
38
+ #requiredOptions;
39
+ constructor(group, hostFactory, requiredOptions){
38
40
  this.#group = group;
39
41
  const targets = this.buildTargetMaps(group);
40
42
  this.#targetsByDtsPath = targets.byDtsPath;
41
43
  this.#targetsByEmittedPath = targets.byEmittedPath;
42
44
  this.#host = hostFactory;
43
45
  this.#compilerOptions = group[0].tsconfig.compilerOptions;
46
+ this.#requiredOptions = requiredOptions;
44
47
  this.#allFiles = group.flatMap(({ files })=>files);
45
48
  this.#compilerHost = hostFactory.createHost(this.#compilerOptions);
46
- this.#program = hostFactory.createProgram(this.#allFiles, this.#compilerOptions, this.#compilerHost);
49
+ this.#program = this.createProgram();
50
+ }
51
+ check() {
52
+ this.refreshProgramIfNeeded();
53
+ return _typescript.default.getPreEmitDiagnostics(this.#program);
54
+ }
55
+ formatDiagnostics(diagnostics) {
56
+ return _typescript.default.formatDiagnosticsWithColorAndContext(diagnostics, this.#compilerHost);
47
57
  }
48
58
  toEmissionTarget(groupProject, file, outBaseDir) {
49
59
  const extName = _nodepath.default.extname(file.relativePath);
@@ -89,14 +99,20 @@ class TypeEmissionProgram {
89
99
  this.#host.invalidateSourceFile(file.fullPath);
90
100
  }
91
101
  async emit(fileFilter, onOutput) {
92
- if (this.#host.hasInvalidated()) {
93
- this.#program = this.#host.createProgram(this.#allFiles, this.#compilerOptions, this.#compilerHost, this.#program);
94
- }
102
+ this.refreshProgramIfNeeded();
95
103
  if (fileFilter == null) {
96
104
  return this.emitAll(onOutput);
97
105
  }
98
106
  return this.emitFiltered(fileFilter, onOutput);
99
107
  }
108
+ createProgram(oldProgram) {
109
+ return this.#host.createProgram(this.#allFiles, this.#compilerOptions, this.#compilerHost, oldProgram, this.#requiredOptions);
110
+ }
111
+ refreshProgramIfNeeded() {
112
+ if (this.#host.hasInvalidated()) {
113
+ this.#program = this.createProgram(this.#program);
114
+ }
115
+ }
100
116
  emitAll(onOutput) {
101
117
  const responses = [];
102
118
  this.#program.emit(undefined, (emittedPath, content)=>{
@@ -153,8 +169,9 @@ TypeEmissionProgram = _ts_decorate([
153
169
  _ts_metadata("design:type", Function),
154
170
  _ts_metadata("design:paramtypes", [
155
171
  Array,
156
- typeof TsProgramHost === "undefined" ? Object : TsProgramHost
172
+ typeof TsProgramHost === "undefined" ? Object : TsProgramHost,
173
+ typeof _typescript.default === "undefined" || typeof _typescript.default.CompilerOptions === "undefined" ? Object : _typescript.default.CompilerOptions
157
174
  ])
158
175
  ], TypeEmissionProgram);
159
176
 
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9zZXJ2aWNlcy90eXBlLWVtaXNzaW9uLXByb2dyYW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0LCBUc2NvbmZpZyB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2RpYWdub3N0aWNzXCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB0eXBlIHRzIGZyb20gXCJ0eXBlc2NyaXB0XCI7XG5pbXBvcnQgdHlwZSB7IFRzUHJvZ3JhbUhvc3QgfSBmcm9tIFwiLi4vc2VydmljZXMvdHMtcHJvZ3JhbS1ob3N0LmpzXCI7XG5pbXBvcnQgeyBUcmFuc2Zvcm1SZXNwb25zZSB9IGZyb20gXCIuLi90eXBlcy90cmFuc2Zvcm0tcmVzcG9uc2UubW9kZWwuanNcIjtcblxuZXhwb3J0IHR5cGUgVHlwZVByb2dyYW1Qcm9qZWN0ID0ge1xuXHRwcm9qZWN0OiBQcm9qZWN0O1xuXHRmaWxlczogRmlsZUV4W107XG5cdHRzY29uZmlnOiBUc2NvbmZpZztcbn07XG5cbnR5cGUgRW1pc3Npb25UYXJnZXQgPSB7XG5cdGZpbGU6IEZpbGVFeDtcblx0dHNjb25maWc6IFRzY29uZmlnO1xuXHRwcm9qZWN0OiBQcm9qZWN0O1xuXHRvdXRwdXRQYXRoOiBzdHJpbmc7XG5cdG91dHB1dERpcjogc3RyaW5nO1xuXHRkdHNSZWxhdGl2ZTogc3RyaW5nO1xufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgVHlwZUVtaXNzaW9uUHJvZ3JhbSB7XG5cdCNwcm9ncmFtOiB0cy5Qcm9ncmFtO1xuXHQjZ3JvdXA6IFR5cGVQcm9ncmFtUHJvamVjdFtdO1xuXHQjdGFyZ2V0c0J5RHRzUGF0aDogTWFwPHN0cmluZywgRW1pc3Npb25UYXJnZXQ+O1xuXHQjdGFyZ2V0c0J5RW1pdHRlZFBhdGg6IE1hcDxzdHJpbmcsIEVtaXNzaW9uVGFyZ2V0Pjtcblx0I2hvc3Q6IFRzUHJvZ3JhbUhvc3Q7XG5cdCNjb21waWxlckhvc3Q6IHRzLkNvbXBpbGVySG9zdDtcblx0I2FsbEZpbGVzOiBGaWxlRXhbXTtcblx0I2NvbXBpbGVyT3B0aW9uczogdHMuQ29tcGlsZXJPcHRpb25zO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihncm91cDogVHlwZVByb2dyYW1Qcm9qZWN0W10sIGhvc3RGYWN0b3J5OiBUc1Byb2dyYW1Ib3N0KSB7XG5cdFx0dGhpcy4jZ3JvdXAgPSBncm91cDtcblx0XHRjb25zdCB0YXJnZXRzID0gdGhpcy5idWlsZFRhcmdldE1hcHMoZ3JvdXApO1xuXHRcdHRoaXMuI3RhcmdldHNCeUR0c1BhdGggPSB0YXJnZXRzLmJ5RHRzUGF0aDtcblx0XHR0aGlzLiN0YXJnZXRzQnlFbWl0dGVkUGF0aCA9IHRhcmdldHMuYnlFbWl0dGVkUGF0aDtcblx0XHR0aGlzLiNob3N0ID0gaG9zdEZhY3Rvcnk7XG5cdFx0dGhpcy4jY29tcGlsZXJPcHRpb25zID0gZ3JvdXBbMF0udHNjb25maWcuY29tcGlsZXJPcHRpb25zO1xuXHRcdHRoaXMuI2FsbEZpbGVzID0gZ3JvdXAuZmxhdE1hcCgoeyBmaWxlcyB9KSA9PiBmaWxlcyk7XG5cdFx0dGhpcy4jY29tcGlsZXJIb3N0ID0gaG9zdEZhY3RvcnkuY3JlYXRlSG9zdCh0aGlzLiNjb21waWxlck9wdGlvbnMpO1xuXHRcdHRoaXMuI3Byb2dyYW0gPSBob3N0RmFjdG9yeS5jcmVhdGVQcm9ncmFtKFxuXHRcdFx0dGhpcy4jYWxsRmlsZXMsXG5cdFx0XHR0aGlzLiNjb21waWxlck9wdGlvbnMsXG5cdFx0XHR0aGlzLiNjb21waWxlckhvc3QsXG5cdFx0KTtcblx0fVxuXG5cdHByaXZhdGUgdG9FbWlzc2lvblRhcmdldChcblx0XHRncm91cFByb2plY3Q6IFR5cGVQcm9ncmFtUHJvamVjdCxcblx0XHRmaWxlOiBGaWxlRXgsXG5cdFx0b3V0QmFzZURpcjogc3RyaW5nLFxuXHQpOiBFbWlzc2lvblRhcmdldCB7XG5cdFx0Y29uc3QgZXh0TmFtZSA9IHBhdGguZXh0bmFtZShmaWxlLnJlbGF0aXZlUGF0aCk7XG5cdFx0Y29uc3QgZHRzUmVsYXRpdmUgPSBmaWxlLnJlbGF0aXZlUGF0aC5yZXBsYWNlKG5ldyBSZWdFeHAoYCR7ZXh0TmFtZX0kYCksIFwiLmQudHNcIik7XG5cdFx0Y29uc3Qgb3V0cHV0UGF0aCA9IHBhdGguam9pbihvdXRCYXNlRGlyLCBkdHNSZWxhdGl2ZSk7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGZpbGUsXG5cdFx0XHR0c2NvbmZpZzogZ3JvdXBQcm9qZWN0LnRzY29uZmlnLFxuXHRcdFx0cHJvamVjdDogZ3JvdXBQcm9qZWN0LnByb2plY3QsXG5cdFx0XHRvdXRwdXRQYXRoLFxuXHRcdFx0b3V0cHV0RGlyOiBwYXRoLmRpcm5hbWUob3V0cHV0UGF0aCksXG5cdFx0XHRkdHNSZWxhdGl2ZSxcblx0XHR9O1xuXHR9XG5cblx0cHJpdmF0ZSBlbWl0dGVkS2V5KGZpbGU6IEZpbGVFeCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGZpbGUuZnVsbFBhdGgucmVwbGFjZSgvXFwuW14uXSskLywgXCIuZC50c1wiKTtcblx0fVxuXG5cdHByaXZhdGUgYnVpbGRUYXJnZXRNYXBzKGdyb3VwOiBUeXBlUHJvZ3JhbVByb2plY3RbXSk6IHtcblx0XHRieUR0c1BhdGg6IE1hcDxzdHJpbmcsIEVtaXNzaW9uVGFyZ2V0Pjtcblx0XHRieUVtaXR0ZWRQYXRoOiBNYXA8c3RyaW5nLCBFbWlzc2lvblRhcmdldD47XG5cdH0ge1xuXHRcdGNvbnN0IGJ5RHRzUGF0aCA9IG5ldyBNYXA8c3RyaW5nLCBFbWlzc2lvblRhcmdldD4oKTtcblx0XHRjb25zdCBieUVtaXR0ZWRQYXRoID0gbmV3IE1hcDxzdHJpbmcsIEVtaXNzaW9uVGFyZ2V0PigpO1xuXG5cdFx0Zm9yIChjb25zdCBncm91cFByb2plY3Qgb2YgZ3JvdXApIHtcblx0XHRcdGNvbnN0IG91dEJhc2VEaXIgPSBncm91cFByb2plY3QucHJvamVjdC5nZXRPdXREaXIoXCJ0eXBlc1wiKTtcblx0XHRcdGZvciAoY29uc3QgZmlsZSBvZiBncm91cFByb2plY3QuZmlsZXMpIHtcblx0XHRcdFx0Y29uc3QgdGFyZ2V0ID0gdGhpcy50b0VtaXNzaW9uVGFyZ2V0KGdyb3VwUHJvamVjdCwgZmlsZSwgb3V0QmFzZURpcik7XG5cdFx0XHRcdGJ5RHRzUGF0aC5zZXQodGFyZ2V0LmR0c1JlbGF0aXZlLCB0YXJnZXQpO1xuXHRcdFx0XHRieUVtaXR0ZWRQYXRoLnNldCh0aGlzLmVtaXR0ZWRLZXkoZmlsZSksIHRhcmdldCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHsgYnlEdHNQYXRoLCBieUVtaXR0ZWRQYXRoIH07XG5cdH1cblxuXHRwdWJsaWMgYWRkRmlsZShmaWxlOiBGaWxlRXgsIHByb2plY3Q6IFByb2plY3QpOiB2b2lkIHtcblx0XHRjb25zdCBncm91cFByb2plY3QgPSB0aGlzLiNncm91cC5maW5kKChnKSA9PiBnLnByb2plY3QgPT09IHByb2plY3QpO1xuXHRcdGlmIChncm91cFByb2plY3QgPT0gbnVsbCkgcmV0dXJuO1xuXG5cdFx0Z3JvdXBQcm9qZWN0LmZpbGVzLnB1c2goZmlsZSk7XG5cdFx0dGhpcy4jYWxsRmlsZXMucHVzaChmaWxlKTtcblxuXHRcdGNvbnN0IG91dEJhc2VEaXIgPSBncm91cFByb2plY3QucHJvamVjdC5nZXRPdXREaXIoXCJ0eXBlc1wiKTtcblx0XHRjb25zdCB0YXJnZXQgPSB0aGlzLnRvRW1pc3Npb25UYXJnZXQoZ3JvdXBQcm9qZWN0LCBmaWxlLCBvdXRCYXNlRGlyKTtcblx0XHR0aGlzLiN0YXJnZXRzQnlEdHNQYXRoLnNldCh0YXJnZXQuZHRzUmVsYXRpdmUsIHRhcmdldCk7XG5cdFx0dGhpcy4jdGFyZ2V0c0J5RW1pdHRlZFBhdGguc2V0KHRoaXMuZW1pdHRlZEtleShmaWxlKSwgdGFyZ2V0KTtcblx0XHR0aGlzLiNob3N0LmludmFsaWRhdGVTb3VyY2VGaWxlKGZpbGUuZnVsbFBhdGgpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIGVtaXQoXG5cdFx0ZmlsZUZpbHRlcj86IChwcm9qZWN0OiBQcm9qZWN0KSA9PiBQcm9taXNlPEZpbGVFeFtdPixcblx0XHRvbk91dHB1dD86IChyZXNwb25zZTogVHJhbnNmb3JtUmVzcG9uc2UpID0+IHZvaWQsXG5cdCk6IFByb21pc2U8VHJhbnNmb3JtUmVzcG9uc2VbXT4ge1xuXHRcdGlmICh0aGlzLiNob3N0Lmhhc0ludmFsaWRhdGVkKCkpIHtcblx0XHRcdHRoaXMuI3Byb2dyYW0gPSB0aGlzLiNob3N0LmNyZWF0ZVByb2dyYW0oXG5cdFx0XHRcdHRoaXMuI2FsbEZpbGVzLFxuXHRcdFx0XHR0aGlzLiNjb21waWxlck9wdGlvbnMsXG5cdFx0XHRcdHRoaXMuI2NvbXBpbGVySG9zdCxcblx0XHRcdFx0dGhpcy4jcHJvZ3JhbSxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdGlmIChmaWxlRmlsdGVyID09IG51bGwpIHtcblx0XHRcdHJldHVybiB0aGlzLmVtaXRBbGwob25PdXRwdXQpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5lbWl0RmlsdGVyZWQoZmlsZUZpbHRlciwgb25PdXRwdXQpO1xuXHR9XG5cblx0cHJpdmF0ZSBlbWl0QWxsKG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCk6IFRyYW5zZm9ybVJlc3BvbnNlW10ge1xuXHRcdGNvbnN0IHJlc3BvbnNlczogVHJhbnNmb3JtUmVzcG9uc2VbXSA9IFtdO1xuXHRcdHRoaXMuI3Byb2dyYW0uZW1pdCh1bmRlZmluZWQsIChlbWl0dGVkUGF0aCwgY29udGVudCkgPT4ge1xuXHRcdFx0aWYgKCFlbWl0dGVkUGF0aC5lbmRzV2l0aChcIi5kLnRzXCIpKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdGNvbnN0IHJlc3BvbnNlID0gdGhpcy50b1RyYW5zZm9ybVJlc3BvbnNlKGVtaXR0ZWRQYXRoLCBjb250ZW50KTtcblx0XHRcdHJlc3BvbnNlcy5wdXNoKHJlc3BvbnNlKTtcblx0XHRcdG9uT3V0cHV0Py4ocmVzcG9uc2UpO1xuXHRcdH0pO1xuXHRcdHJldHVybiByZXNwb25zZXM7XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIGVtaXRGaWx0ZXJlZChcblx0XHRmaWxlRmlsdGVyOiAocHJvamVjdDogUHJvamVjdCkgPT4gUHJvbWlzZTxGaWxlRXhbXT4sXG5cdFx0b25PdXRwdXQ/OiAocmVzcG9uc2U6IFRyYW5zZm9ybVJlc3BvbnNlKSA9PiB2b2lkLFxuXHQpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3BvbnNlW10+IHtcblx0XHRjb25zdCBmaWxlcyA9IGF3YWl0IFByb21pc2UuYWxsKHRoaXMuI2dyb3VwLm1hcCgoeyBwcm9qZWN0IH0pID0+IGZpbGVGaWx0ZXIocHJvamVjdCkpKTtcblx0XHRjb25zdCBzb3VyY2VGaWxlcyA9IGZpbGVzXG5cdFx0XHQuZmxhdCgpXG5cdFx0XHQubWFwKChmaWxlKSA9PiB0aGlzLiNwcm9ncmFtLmdldFNvdXJjZUZpbGUoZmlsZS5mdWxsUGF0aCkpXG5cdFx0XHQuZmlsdGVyKChzZik6IHNmIGlzIHRzLlNvdXJjZUZpbGUgPT4gc2YgIT0gbnVsbCk7XG5cblx0XHRjb25zdCByZXNwb25zZXM6IFRyYW5zZm9ybVJlc3BvbnNlW10gPSBbXTtcblxuXHRcdGZvciAoY29uc3Qgc291cmNlRmlsZSBvZiBzb3VyY2VGaWxlcykge1xuXHRcdFx0dGhpcy4jcHJvZ3JhbS5lbWl0KHNvdXJjZUZpbGUsIChlbWl0dGVkUGF0aCwgY29udGVudCkgPT4ge1xuXHRcdFx0XHRpZiAoIWVtaXR0ZWRQYXRoLmVuZHNXaXRoKFwiLmQudHNcIikpIHtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgcmVzcG9uc2UgPSB0aGlzLnRvVHJhbnNmb3JtUmVzcG9uc2UoZW1pdHRlZFBhdGgsIGNvbnRlbnQpO1xuXHRcdFx0XHRyZXNwb25zZXMucHVzaChyZXNwb25zZSk7XG5cdFx0XHRcdG9uT3V0cHV0Py4ocmVzcG9uc2UpO1xuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJlc3BvbnNlcztcblx0fVxuXG5cdHByaXZhdGUgdG9UcmFuc2Zvcm1SZXNwb25zZShlbWl0dGVkUGF0aDogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcpOiBUcmFuc2Zvcm1SZXNwb25zZSB7XG5cdFx0Y29uc3QgdGFyZ2V0ID0gdGhpcy4jdGFyZ2V0c0J5RW1pdHRlZFBhdGguZ2V0KGVtaXR0ZWRQYXRoKTtcblx0XHRpZiAodGFyZ2V0ID09IG51bGwpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgTm8gbWF0Y2hpbmcgZW1pc3Npb24gdGFyZ2V0IGZvcjogJHtlbWl0dGVkUGF0aH1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMudG9UcmFuc2Zvcm1SZXNwb25zZUZyb21UYXJnZXQodGFyZ2V0LCBjb250ZW50KTtcblx0fVxuXG5cdHByaXZhdGUgdG9UcmFuc2Zvcm1SZXNwb25zZUZyb21UYXJnZXQoXG5cdFx0dGFyZ2V0OiBFbWlzc2lvblRhcmdldCxcblx0XHRjb250ZW50OiBzdHJpbmcsXG5cdCk6IFRyYW5zZm9ybVJlc3BvbnNlIHtcblx0XHRjb25zdCB7IGZpbGUsIHRzY29uZmlnLCBwcm9qZWN0LCBvdXRwdXRQYXRoLCBvdXRwdXREaXIsIGR0c1JlbGF0aXZlIH0gPSB0YXJnZXQ7XG5cdFx0cmV0dXJuIFRyYW5zZm9ybVJlc3BvbnNlLmZyb20oe1xuXHRcdFx0ZmlsZSxcblx0XHRcdGNvbmZpZzogdHNjb25maWcsXG5cdFx0XHRvdXRjb21lOiBcInN1Y2Nlc3NcIixcblx0XHRcdGZpbGVOYW1lOiBkdHNSZWxhdGl2ZSxcblx0XHRcdGNvZGU6IGNvbnRlbnQsXG5cdFx0XHR0YXJnZXQ6IFwidHlwZXNcIixcblx0XHRcdG1lc3NhZ2VzOiBbXSxcblx0XHRcdHByb2plY3QsXG5cdFx0XHRvdXRwdXREaXIsXG5cdFx0XHRvdXRwdXRQYXRoLFxuXHRcdH0pO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiVHlwZUVtaXNzaW9uUHJvZ3JhbSIsImdyb3VwIiwiaG9zdEZhY3RvcnkiLCJ0YXJnZXRzIiwiYnVpbGRUYXJnZXRNYXBzIiwiYnlEdHNQYXRoIiwiYnlFbWl0dGVkUGF0aCIsInRzY29uZmlnIiwiY29tcGlsZXJPcHRpb25zIiwiZmxhdE1hcCIsImZpbGVzIiwiY3JlYXRlSG9zdCIsImNyZWF0ZVByb2dyYW0iLCJ0b0VtaXNzaW9uVGFyZ2V0IiwiZ3JvdXBQcm9qZWN0IiwiZmlsZSIsIm91dEJhc2VEaXIiLCJleHROYW1lIiwicGF0aCIsImV4dG5hbWUiLCJyZWxhdGl2ZVBhdGgiLCJkdHNSZWxhdGl2ZSIsInJlcGxhY2UiLCJSZWdFeHAiLCJvdXRwdXRQYXRoIiwiam9pbiIsInByb2plY3QiLCJvdXRwdXREaXIiLCJkaXJuYW1lIiwiZW1pdHRlZEtleSIsImZ1bGxQYXRoIiwiTWFwIiwiZ2V0T3V0RGlyIiwidGFyZ2V0Iiwic2V0IiwiYWRkRmlsZSIsImZpbmQiLCJnIiwicHVzaCIsImludmFsaWRhdGVTb3VyY2VGaWxlIiwiZW1pdCIsImZpbGVGaWx0ZXIiLCJvbk91dHB1dCIsImhhc0ludmFsaWRhdGVkIiwiZW1pdEFsbCIsImVtaXRGaWx0ZXJlZCIsInJlc3BvbnNlcyIsInVuZGVmaW5lZCIsImVtaXR0ZWRQYXRoIiwiY29udGVudCIsImVuZHNXaXRoIiwicmVzcG9uc2UiLCJ0b1RyYW5zZm9ybVJlc3BvbnNlIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsInNvdXJjZUZpbGVzIiwiZmxhdCIsImdldFNvdXJjZUZpbGUiLCJmaWx0ZXIiLCJzZiIsInNvdXJjZUZpbGUiLCJnZXQiLCJFcnJvciIsInRvVHJhbnNmb3JtUmVzcG9uc2VGcm9tVGFyZ2V0IiwiVHJhbnNmb3JtUmVzcG9uc2UiLCJmcm9tIiwiY29uZmlnIiwib3V0Y29tZSIsImZpbGVOYW1lIiwiY29kZSIsIm1lc3NhZ2VzIl0sIm1h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
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9zZXJ2aWNlcy90eXBlLWVtaXNzaW9uLXByb2dyYW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0LCBUc2NvbmZpZyB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2RpYWdub3N0aWNzXCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB0cyBmcm9tIFwidHlwZXNjcmlwdFwiO1xuaW1wb3J0IHR5cGUgeyBUc1Byb2dyYW1Ib3N0IH0gZnJvbSBcIi4uL3NlcnZpY2VzL3RzLXByb2dyYW0taG9zdC5qc1wiO1xuaW1wb3J0IHsgVHJhbnNmb3JtUmVzcG9uc2UgfSBmcm9tIFwiLi4vdHlwZXMvdHJhbnNmb3JtLXJlc3BvbnNlLm1vZGVsLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFR5cGVQcm9ncmFtUHJvamVjdCA9IHtcblx0cHJvamVjdDogUHJvamVjdDtcblx0ZmlsZXM6IEZpbGVFeFtdO1xuXHR0c2NvbmZpZzogVHNjb25maWc7XG59O1xuXG50eXBlIEVtaXNzaW9uVGFyZ2V0ID0ge1xuXHRmaWxlOiBGaWxlRXg7XG5cdHRzY29uZmlnOiBUc2NvbmZpZztcblx0cHJvamVjdDogUHJvamVjdDtcblx0b3V0cHV0UGF0aDogc3RyaW5nO1xuXHRvdXRwdXREaXI6IHN0cmluZztcblx0ZHRzUmVsYXRpdmU6IHN0cmluZztcbn07XG5cbkBUcmFjZVxuZXhwb3J0IGNsYXNzIFR5cGVFbWlzc2lvblByb2dyYW0ge1xuXHQjcHJvZ3JhbTogdHMuUHJvZ3JhbTtcblx0I2dyb3VwOiBUeXBlUHJvZ3JhbVByb2plY3RbXTtcblx0I3RhcmdldHNCeUR0c1BhdGg6IE1hcDxzdHJpbmcsIEVtaXNzaW9uVGFyZ2V0Pjtcblx0I3RhcmdldHNCeUVtaXR0ZWRQYXRoOiBNYXA8c3RyaW5nLCBFbWlzc2lvblRhcmdldD47XG5cdCNob3N0OiBUc1Byb2dyYW1Ib3N0O1xuXHQjY29tcGlsZXJIb3N0OiB0cy5Db21waWxlckhvc3Q7XG5cdCNhbGxGaWxlczogRmlsZUV4W107XG5cdCNjb21waWxlck9wdGlvbnM6IHRzLkNvbXBpbGVyT3B0aW9ucztcblx0I3JlcXVpcmVkT3B0aW9uczogdHMuQ29tcGlsZXJPcHRpb25zO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihcblx0XHRncm91cDogVHlwZVByb2dyYW1Qcm9qZWN0W10sXG5cdFx0aG9zdEZhY3Rvcnk6IFRzUHJvZ3JhbUhvc3QsXG5cdFx0cmVxdWlyZWRPcHRpb25zOiB0cy5Db21waWxlck9wdGlvbnMsXG5cdCkge1xuXHRcdHRoaXMuI2dyb3VwID0gZ3JvdXA7XG5cdFx0Y29uc3QgdGFyZ2V0cyA9IHRoaXMuYnVpbGRUYXJnZXRNYXBzKGdyb3VwKTtcblx0XHR0aGlzLiN0YXJnZXRzQnlEdHNQYXRoID0gdGFyZ2V0cy5ieUR0c1BhdGg7XG5cdFx0dGhpcy4jdGFyZ2V0c0J5RW1pdHRlZFBhdGggPSB0YXJnZXRzLmJ5RW1pdHRlZFBhdGg7XG5cdFx0dGhpcy4jaG9zdCA9IGhvc3RGYWN0b3J5O1xuXHRcdHRoaXMuI2NvbXBpbGVyT3B0aW9ucyA9IGdyb3VwWzBdLnRzY29uZmlnLmNvbXBpbGVyT3B0aW9ucztcblx0XHR0aGlzLiNyZXF1aXJlZE9wdGlvbnMgPSByZXF1aXJlZE9wdGlvbnM7XG5cdFx0dGhpcy4jYWxsRmlsZXMgPSBncm91cC5mbGF0TWFwKCh7IGZpbGVzIH0pID0+IGZpbGVzKTtcblx0XHR0aGlzLiNjb21waWxlckhvc3QgPSBob3N0RmFjdG9yeS5jcmVhdGVIb3N0KHRoaXMuI2NvbXBpbGVyT3B0aW9ucyk7XG5cdFx0dGhpcy4jcHJvZ3JhbSA9IHRoaXMuY3JlYXRlUHJvZ3JhbSgpO1xuXHR9XG5cblx0cHVibGljIGNoZWNrKCk6IHJlYWRvbmx5IHRzLkRpYWdub3N0aWNbXSB7XG5cdFx0dGhpcy5yZWZyZXNoUHJvZ3JhbUlmTmVlZGVkKCk7XG5cdFx0cmV0dXJuIHRzLmdldFByZUVtaXREaWFnbm9zdGljcyh0aGlzLiNwcm9ncmFtKTtcblx0fVxuXG5cdHB1YmxpYyBmb3JtYXREaWFnbm9zdGljcyhkaWFnbm9zdGljczogcmVhZG9ubHkgdHMuRGlhZ25vc3RpY1tdKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdHMuZm9ybWF0RGlhZ25vc3RpY3NXaXRoQ29sb3JBbmRDb250ZXh0KGRpYWdub3N0aWNzLCB0aGlzLiNjb21waWxlckhvc3QpO1xuXHR9XG5cblx0cHJpdmF0ZSB0b0VtaXNzaW9uVGFyZ2V0KFxuXHRcdGdyb3VwUHJvamVjdDogVHlwZVByb2dyYW1Qcm9qZWN0LFxuXHRcdGZpbGU6IEZpbGVFeCxcblx0XHRvdXRCYXNlRGlyOiBzdHJpbmcsXG5cdCk6IEVtaXNzaW9uVGFyZ2V0IHtcblx0XHRjb25zdCBleHROYW1lID0gcGF0aC5leHRuYW1lKGZpbGUucmVsYXRpdmVQYXRoKTtcblx0XHRjb25zdCBkdHNSZWxhdGl2ZSA9IGZpbGUucmVsYXRpdmVQYXRoLnJlcGxhY2UobmV3IFJlZ0V4cChgJHtleHROYW1lfSRgKSwgXCIuZC50c1wiKTtcblx0XHRjb25zdCBvdXRwdXRQYXRoID0gcGF0aC5qb2luKG91dEJhc2VEaXIsIGR0c1JlbGF0aXZlKTtcblx0XHRyZXR1cm4ge1xuXHRcdFx0ZmlsZSxcblx0XHRcdHRzY29uZmlnOiBncm91cFByb2plY3QudHNjb25maWcsXG5cdFx0XHRwcm9qZWN0OiBncm91cFByb2plY3QucHJvamVjdCxcblx0XHRcdG91dHB1dFBhdGgsXG5cdFx0XHRvdXRwdXREaXI6IHBhdGguZGlybmFtZShvdXRwdXRQYXRoKSxcblx0XHRcdGR0c1JlbGF0aXZlLFxuXHRcdH07XG5cdH1cblxuXHRwcml2YXRlIGVtaXR0ZWRLZXkoZmlsZTogRmlsZUV4KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gZmlsZS5mdWxsUGF0aC5yZXBsYWNlKC9cXC5bXi5dKyQvLCBcIi5kLnRzXCIpO1xuXHR9XG5cblx0cHJpdmF0ZSBidWlsZFRhcmdldE1hcHMoZ3JvdXA6IFR5cGVQcm9ncmFtUHJvamVjdFtdKToge1xuXHRcdGJ5RHRzUGF0aDogTWFwPHN0cmluZywgRW1pc3Npb25UYXJnZXQ+O1xuXHRcdGJ5RW1pdHRlZFBhdGg6IE1hcDxzdHJpbmcsIEVtaXNzaW9uVGFyZ2V0Pjtcblx0fSB7XG5cdFx0Y29uc3QgYnlEdHNQYXRoID0gbmV3IE1hcDxzdHJpbmcsIEVtaXNzaW9uVGFyZ2V0PigpO1xuXHRcdGNvbnN0IGJ5RW1pdHRlZFBhdGggPSBuZXcgTWFwPHN0cmluZywgRW1pc3Npb25UYXJnZXQ+KCk7XG5cblx0XHRmb3IgKGNvbnN0IGdyb3VwUHJvamVjdCBvZiBncm91cCkge1xuXHRcdFx0Y29uc3Qgb3V0QmFzZURpciA9IGdyb3VwUHJvamVjdC5wcm9qZWN0LmdldE91dERpcihcInR5cGVzXCIpO1xuXHRcdFx0Zm9yIChjb25zdCBmaWxlIG9mIGdyb3VwUHJvamVjdC5maWxlcykge1xuXHRcdFx0XHRjb25zdCB0YXJnZXQgPSB0aGlzLnRvRW1pc3Npb25UYXJnZXQoZ3JvdXBQcm9qZWN0LCBmaWxlLCBvdXRCYXNlRGlyKTtcblx0XHRcdFx0YnlEdHNQYXRoLnNldCh0YXJnZXQuZHRzUmVsYXRpdmUsIHRhcmdldCk7XG5cdFx0XHRcdGJ5RW1pdHRlZFBhdGguc2V0KHRoaXMuZW1pdHRlZEtleShmaWxlKSwgdGFyZ2V0KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4geyBieUR0c1BhdGgsIGJ5RW1pdHRlZFBhdGggfTtcblx0fVxuXG5cdHB1YmxpYyBhZGRGaWxlKGZpbGU6IEZpbGVFeCwgcHJvamVjdDogUHJvamVjdCk6IHZvaWQge1xuXHRcdGNvbnN0IGdyb3VwUHJvamVjdCA9IHRoaXMuI2dyb3VwLmZpbmQoKGcpID0+IGcucHJvamVjdCA9PT0gcHJvamVjdCk7XG5cdFx0aWYgKGdyb3VwUHJvamVjdCA9PSBudWxsKSByZXR1cm47XG5cblx0XHRncm91cFByb2plY3QuZmlsZXMucHVzaChmaWxlKTtcblx0XHR0aGlzLiNhbGxGaWxlcy5wdXNoKGZpbGUpO1xuXG5cdFx0Y29uc3Qgb3V0QmFzZURpciA9IGdyb3VwUHJvamVjdC5wcm9qZWN0LmdldE91dERpcihcInR5cGVzXCIpO1xuXHRcdGNvbnN0IHRhcmdldCA9IHRoaXMudG9FbWlzc2lvblRhcmdldChncm91cFByb2plY3QsIGZpbGUsIG91dEJhc2VEaXIpO1xuXHRcdHRoaXMuI3RhcmdldHNCeUR0c1BhdGguc2V0KHRhcmdldC5kdHNSZWxhdGl2ZSwgdGFyZ2V0KTtcblx0XHR0aGlzLiN0YXJnZXRzQnlFbWl0dGVkUGF0aC5zZXQodGhpcy5lbWl0dGVkS2V5KGZpbGUpLCB0YXJnZXQpO1xuXHRcdHRoaXMuI2hvc3QuaW52YWxpZGF0ZVNvdXJjZUZpbGUoZmlsZS5mdWxsUGF0aCk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgZW1pdChcblx0XHRmaWxlRmlsdGVyPzogKHByb2plY3Q6IFByb2plY3QpID0+IFByb21pc2U8RmlsZUV4W10+LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0dGhpcy5yZWZyZXNoUHJvZ3JhbUlmTmVlZGVkKCk7XG5cdFx0aWYgKGZpbGVGaWx0ZXIgPT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZW1pdEFsbChvbk91dHB1dCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLmVtaXRGaWx0ZXJlZChmaWxlRmlsdGVyLCBvbk91dHB1dCk7XG5cdH1cblxuXHRwcml2YXRlIGNyZWF0ZVByb2dyYW0ob2xkUHJvZ3JhbT86IHRzLlByb2dyYW0pOiB0cy5Qcm9ncmFtIHtcblx0XHRyZXR1cm4gdGhpcy4jaG9zdC5jcmVhdGVQcm9ncmFtKFxuXHRcdFx0dGhpcy4jYWxsRmlsZXMsXG5cdFx0XHR0aGlzLiNjb21waWxlck9wdGlvbnMsXG5cdFx0XHR0aGlzLiNjb21waWxlckhvc3QsXG5cdFx0XHRvbGRQcm9ncmFtLFxuXHRcdFx0dGhpcy4jcmVxdWlyZWRPcHRpb25zLFxuXHRcdCk7XG5cdH1cblxuXHRwcml2YXRlIHJlZnJlc2hQcm9ncmFtSWZOZWVkZWQoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuI2hvc3QuaGFzSW52YWxpZGF0ZWQoKSkge1xuXHRcdFx0dGhpcy4jcHJvZ3JhbSA9IHRoaXMuY3JlYXRlUHJvZ3JhbSh0aGlzLiNwcm9ncmFtKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGVtaXRBbGwob25PdXRwdXQ/OiAocmVzcG9uc2U6IFRyYW5zZm9ybVJlc3BvbnNlKSA9PiB2b2lkKTogVHJhbnNmb3JtUmVzcG9uc2VbXSB7XG5cdFx0Y29uc3QgcmVzcG9uc2VzOiBUcmFuc2Zvcm1SZXNwb25zZVtdID0gW107XG5cdFx0dGhpcy4jcHJvZ3JhbS5lbWl0KHVuZGVmaW5lZCwgKGVtaXR0ZWRQYXRoLCBjb250ZW50KSA9PiB7XG5cdFx0XHRpZiAoIWVtaXR0ZWRQYXRoLmVuZHNXaXRoKFwiLmQudHNcIikpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgcmVzcG9uc2UgPSB0aGlzLnRvVHJhbnNmb3JtUmVzcG9uc2UoZW1pdHRlZFBhdGgsIGNvbnRlbnQpO1xuXHRcdFx0cmVzcG9uc2VzLnB1c2gocmVzcG9uc2UpO1xuXHRcdFx0b25PdXRwdXQ/LihyZXNwb25zZSk7XG5cdFx0fSk7XG5cdFx0cmV0dXJuIHJlc3BvbnNlcztcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgZW1pdEZpbHRlcmVkKFxuXHRcdGZpbGVGaWx0ZXI6IChwcm9qZWN0OiBQcm9qZWN0KSA9PiBQcm9taXNlPEZpbGVFeFtdPixcblx0XHRvbk91dHB1dD86IChyZXNwb25zZTogVHJhbnNmb3JtUmVzcG9uc2UpID0+IHZvaWQsXG5cdCk6IFByb21pc2U8VHJhbnNmb3JtUmVzcG9uc2VbXT4ge1xuXHRcdGNvbnN0IGZpbGVzID0gYXdhaXQgUHJvbWlzZS5hbGwodGhpcy4jZ3JvdXAubWFwKCh7IHByb2plY3QgfSkgPT4gZmlsZUZpbHRlcihwcm9qZWN0KSkpO1xuXHRcdGNvbnN0IHNvdXJjZUZpbGVzID0gZmlsZXNcblx0XHRcdC5mbGF0KClcblx0XHRcdC5tYXAoKGZpbGUpID0+IHRoaXMuI3Byb2dyYW0uZ2V0U291cmNlRmlsZShmaWxlLmZ1bGxQYXRoKSlcblx0XHRcdC5maWx0ZXIoKHNmKTogc2YgaXMgdHMuU291cmNlRmlsZSA9PiBzZiAhPSBudWxsKTtcblxuXHRcdGNvbnN0IHJlc3BvbnNlczogVHJhbnNmb3JtUmVzcG9uc2VbXSA9IFtdO1xuXG5cdFx0Zm9yIChjb25zdCBzb3VyY2VGaWxlIG9mIHNvdXJjZUZpbGVzKSB7XG5cdFx0XHR0aGlzLiNwcm9ncmFtLmVtaXQoc291cmNlRmlsZSwgKGVtaXR0ZWRQYXRoLCBjb250ZW50KSA9PiB7XG5cdFx0XHRcdGlmICghZW1pdHRlZFBhdGguZW5kc1dpdGgoXCIuZC50c1wiKSkge1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zdCByZXNwb25zZSA9IHRoaXMudG9UcmFuc2Zvcm1SZXNwb25zZShlbWl0dGVkUGF0aCwgY29udGVudCk7XG5cdFx0XHRcdHJlc3BvbnNlcy5wdXNoKHJlc3BvbnNlKTtcblx0XHRcdFx0b25PdXRwdXQ/LihyZXNwb25zZSk7XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVzcG9uc2VzO1xuXHR9XG5cblx0cHJpdmF0ZSB0b1RyYW5zZm9ybVJlc3BvbnNlKGVtaXR0ZWRQYXRoOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZyk6IFRyYW5zZm9ybVJlc3BvbnNlIHtcblx0XHRjb25zdCB0YXJnZXQgPSB0aGlzLiN0YXJnZXRzQnlFbWl0dGVkUGF0aC5nZXQoZW1pdHRlZFBhdGgpO1xuXHRcdGlmICh0YXJnZXQgPT0gbnVsbCkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBObyBtYXRjaGluZyBlbWlzc2lvbiB0YXJnZXQgZm9yOiAke2VtaXR0ZWRQYXRofWApO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy50b1RyYW5zZm9ybVJlc3BvbnNlRnJvbVRhcmdldCh0YXJnZXQsIGNvbnRlbnQpO1xuXHR9XG5cblx0cHJpdmF0ZSB0b1RyYW5zZm9ybVJlc3BvbnNlRnJvbVRhcmdldChcblx0XHR0YXJnZXQ6IEVtaXNzaW9uVGFyZ2V0LFxuXHRcdGNvbnRlbnQ6IHN0cmluZyxcblx0KTogVHJhbnNmb3JtUmVzcG9uc2Uge1xuXHRcdGNvbnN0IHsgZmlsZSwgdHNjb25maWcsIHByb2plY3QsIG91dHB1dFBhdGgsIG91dHB1dERpciwgZHRzUmVsYXRpdmUgfSA9IHRhcmdldDtcblx0XHRyZXR1cm4gVHJhbnNmb3JtUmVzcG9uc2UuZnJvbSh7XG5cdFx0XHRmaWxlLFxuXHRcdFx0Y29uZmlnOiB0c2NvbmZpZyxcblx0XHRcdG91dGNvbWU6IFwic3VjY2Vzc1wiLFxuXHRcdFx0ZmlsZU5hbWU6IGR0c1JlbGF0aXZlLFxuXHRcdFx0Y29kZTogY29udGVudCxcblx0XHRcdHRhcmdldDogXCJ0eXBlc1wiLFxuXHRcdFx0bWVzc2FnZXM6IFtdLFxuXHRcdFx0cHJvamVjdCxcblx0XHRcdG91dHB1dERpcixcblx0XHRcdG91dHB1dFBhdGgsXG5cdFx0fSk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJUeXBlRW1pc3Npb25Qcm9ncmFtIiwiZ3JvdXAiLCJob3N0RmFjdG9yeSIsInJlcXVpcmVkT3B0aW9ucyIsInRhcmdldHMiLCJidWlsZFRhcmdldE1hcHMiLCJieUR0c1BhdGgiLCJieUVtaXR0ZWRQYXRoIiwidHNjb25maWciLCJjb21waWxlck9wdGlvbnMiLCJmbGF0TWFwIiwiZmlsZXMiLCJjcmVhdGVIb3N0IiwiY3JlYXRlUHJvZ3JhbSIsImNoZWNrIiwicmVmcmVzaFByb2dyYW1JZk5lZWRlZCIsInRzIiwiZ2V0UHJlRW1pdERpYWdub3N0aWNzIiwiZm9ybWF0RGlhZ25vc3RpY3MiLCJkaWFnbm9zdGljcyIsImZvcm1hdERpYWdub3N0aWNzV2l0aENvbG9yQW5kQ29udGV4dCIsInRvRW1pc3Npb25UYXJnZXQiLCJncm91cFByb2plY3QiLCJmaWxlIiwib3V0QmFzZURpciIsImV4dE5hbWUiLCJwYXRoIiwiZXh0bmFtZSIsInJlbGF0aXZlUGF0aCIsImR0c1JlbGF0aXZlIiwicmVwbGFjZSIsIlJlZ0V4cCIsIm91dHB1dFBhdGgiLCJqb2luIiwicHJvamVjdCIsIm91dHB1dERpciIsImRpcm5hbWUiLCJlbWl0dGVkS2V5IiwiZnVsbFBhdGgiLCJNYXAiLCJnZXRPdXREaXIiLCJ0YXJnZXQiLCJzZXQiLCJhZGRGaWxlIiwiZmluZCIsImciLCJwdXNoIiwiaW52YWxpZGF0ZVNvdXJjZUZpbGUiLCJlbWl0IiwiZmlsZUZpbHRlciIsIm9uT3V0cHV0IiwiZW1pdEFsbCIsImVtaXRGaWx0ZXJlZCIsIm9sZFByb2dyYW0iLCJoYXNJbnZhbGlkYXRlZCIsInJlc3BvbnNlcyIsInVuZGVmaW5lZCIsImVtaXR0ZWRQYXRoIiwiY29udGVudCIsImVuZHNXaXRoIiwicmVzcG9uc2UiLCJ0b1RyYW5zZm9ybVJlc3BvbnNlIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsInNvdXJjZUZpbGVzIiwiZmxhdCIsImdldFNvdXJjZUZpbGUiLCJmaWx0ZXIiLCJzZiIsInNvdXJjZUZpbGUiLCJnZXQiLCJFcnJvciIsInRvVHJhbnNmb3JtUmVzcG9uc2VGcm9tVGFyZ2V0IiwiVHJhbnNmb3JtUmVzcG9uc2UiLCJmcm9tIiwiY29uZmlnIiwib3V0Y29tZSIsImZpbGVOYW1lIiwiY29kZSIsIm1lc3NhZ2VzIl0sIm1hcHBpbmdzIjoiOzs7OytCQXdCYUE7OztlQUFBQTs7O2lFQXhCSTs2QkFFSzttRUFFUDt3Q0FFbUI7Ozs7Ozs7Ozs7Ozs7OztBQWtCM0IsTUFBTUE7SUFDWixDQUFBLE9BQVEsQ0FBYTtJQUNyQixDQUFBLEtBQU0sQ0FBdUI7SUFDN0IsQ0FBQSxnQkFBaUIsQ0FBOEI7SUFD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