UNPKG

2.36 kBJavaScriptView Raw
1"use strict";
2var __read = (this && this.__read) || function (o, n) {
3 var m = typeof Symbol === "function" && o[Symbol.iterator];
4 if (!m) return o;
5 var i = m.call(o), r, ar = [], e;
6 try {
7 while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8 }
9 catch (error) { e = { error: error }; }
10 finally {
11 try {
12 if (r && !r.done && (m = i["return"])) m.call(i);
13 }
14 finally { if (e) throw e.error; }
15 }
16 return ar;
17};
18var __spread = (this && this.__spread) || function () {
19 for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
20 return ar;
21};
22var __importDefault = (this && this.__importDefault) || function (mod) {
23 return (mod && mod.__esModule) ? mod : { "default": mod };
24};
25Object.defineProperty(exports, "__esModule", { value: true });
26var util_1 = __importDefault(require("util"));
27var GeneratedExpression = /** @class */ (function () {
28 function GeneratedExpression(expressionTemplate, parameterTypes) {
29 this.expressionTemplate = expressionTemplate;
30 this.parameterTypes = parameterTypes;
31 }
32 Object.defineProperty(GeneratedExpression.prototype, "source", {
33 get: function () {
34 return util_1.default.format.apply(util_1.default, __spread([this.expressionTemplate], this.parameterTypes.map(function (t) { return t.name; })));
35 },
36 enumerable: true,
37 configurable: true
38 });
39 Object.defineProperty(GeneratedExpression.prototype, "parameterNames", {
40 /**
41 * Returns an array of parameter names to use in generated function/method signatures
42 *
43 * @returns {Array.<String>}
44 */
45 get: function () {
46 var usageByTypeName = {};
47 return this.parameterTypes.map(function (t) {
48 return getParameterName(t.name, usageByTypeName);
49 });
50 },
51 enumerable: true,
52 configurable: true
53 });
54 return GeneratedExpression;
55}());
56exports.default = GeneratedExpression;
57function getParameterName(typeName, usageByTypeName) {
58 var count = usageByTypeName[typeName];
59 count = count ? count + 1 : 1;
60 usageByTypeName[typeName] = count;
61 return count === 1 ? typeName : "" + typeName + count;
62}
63//# sourceMappingURL=GeneratedExpression.js.map
\No newline at end of file