1 | "use strict";
|
2 | var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
3 | if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
4 | if (ar || !(i in from)) {
|
5 | if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
6 | ar[i] = from[i];
|
7 | }
|
8 | }
|
9 | return to.concat(ar || Array.prototype.slice.call(from));
|
10 | };
|
11 | Object.defineProperty(exports, "__esModule", { value: true });
|
12 | exports.numberReturnTypeMapping = exports.createFilterFunction = exports.filterFunction = void 0;
|
13 | var boolean_filter_function_1 = require("./boolean-filter-function");
|
14 | var number_filter_function_1 = require("./number-filter-function");
|
15 | var string_filter_function_1 = require("./string-filter-function");
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 | function filterFunction(functionName, returnType) {
|
24 | var parameters = [];
|
25 | for (var _i = 2; _i < arguments.length; _i++) {
|
26 | parameters[_i - 2] = arguments[_i];
|
27 | }
|
28 | return createFilterFunction.apply(void 0, __spreadArray([functionName, returnType], parameters, false));
|
29 | }
|
30 | exports.filterFunction = filterFunction;
|
31 |
|
32 |
|
33 |
|
34 |
|
35 | function createFilterFunction(functionName, returnType) {
|
36 | var parameters = [];
|
37 | for (var _i = 2; _i < arguments.length; _i++) {
|
38 | parameters[_i - 2] = arguments[_i];
|
39 | }
|
40 | switch (returnType) {
|
41 | case 'boolean':
|
42 | return new boolean_filter_function_1.BooleanFilterFunction(functionName, parameters);
|
43 | case 'string':
|
44 | return new string_filter_function_1.StringFilterFunction(functionName, parameters);
|
45 | case 'int':
|
46 | case 'double':
|
47 | case 'decimal':
|
48 | return new number_filter_function_1.NumberFilterFunction(functionName, parameters, exports.numberReturnTypeMapping[returnType]);
|
49 | }
|
50 | }
|
51 | exports.createFilterFunction = createFilterFunction;
|
52 | exports.numberReturnTypeMapping = {
|
53 | int: 'Edm.Int32',
|
54 | double: 'Edm.Double',
|
55 | decimal: 'Edm.Decimal'
|
56 | };
|
57 |
|
\ | No newline at end of file |