UNPKG

@sap-cloud-sdk/odata-common

Version:

SAP Cloud SDK for JavaScript common functions of OData client generator and OpenAPI clint generator.

46 lines 1.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.numberReturnTypeMapping = void 0; exports.filterFunction = filterFunction; exports.createFilterFunction = createFilterFunction; const boolean_filter_function_1 = require("./boolean-filter-function"); const number_filter_function_1 = require("./number-filter-function"); const string_filter_function_1 = require("./string-filter-function"); /** * Build a custom filter function. * @param functionName - The name of the function, e.g., `substring`. * @param returnType - The return type of the filter function. * @param parameters - The parameter(s) used in the function. * @returns An instance of filter function suited for the given return type. */ function filterFunction(functionName, returnType, ...parameters) { return createFilterFunction(functionName, returnType, ...parameters); } /** * @param functionName - functionName * @param returnType - returnType * @param parameters - parameters * @returns A filter function * @internal */ function createFilterFunction(functionName, returnType, ...parameters) { switch (returnType) { case 'boolean': return new boolean_filter_function_1.BooleanFilterFunction(functionName, parameters); case 'string': return new string_filter_function_1.StringFilterFunction(functionName, parameters); case 'int': case 'double': case 'decimal': return new number_filter_function_1.NumberFilterFunction(functionName, parameters, exports.numberReturnTypeMapping[returnType]); } } /** * @internal */ exports.numberReturnTypeMapping = { int: 'Edm.Int32', double: 'Edm.Double', decimal: 'Edm.Decimal' }; //# sourceMappingURL=filter-function.js.map