UNPKG

1.17 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.createHarmonyFactory = void 0;
4const versions_1 = require("./versions");
5// endregion
6/* ****************************************************************************************************************** */
7// region: Utilities
8/* ****************************************************************************************************************** */
9/**
10 * Creates a node factory compatible with TS v3+
11 */
12function createHarmonyFactory(context) {
13 var _a;
14 return new Proxy((_a = context.tsFactory) !== null && _a !== void 0 ? _a : context.tsInstance, {
15 get(target, prop) {
16 if (versions_1.TsThreeEight.predicate(context)) {
17 return versions_1.TsThreeEight.handler(context, prop);
18 }
19 else if (versions_1.TsFourSeven.predicate(context)) {
20 return versions_1.TsFourSeven.handler(context, prop);
21 }
22 else {
23 return target[prop];
24 }
25 },
26 });
27}
28exports.createHarmonyFactory = createHarmonyFactory;
29// endregion
30//# sourceMappingURL=harmony-factory.js.map
\No newline at end of file