UNPKG

@vepler/http-sdk

Version:

The definitive TypeScript SDK for UK property technology. Access comprehensive property data, school metrics, demographics, planning applications, and more through a single, powerful API.

52 lines 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateRequiredParameters = validateRequiredParameters; exports.filterUndefined = filterUndefined; exports.processArrayParameter = processArrayParameter; var errors_1 = require("./errors"); /** * Validation utilities for parameter checking */ /** * Validates that required parameters are provided * @param params - Object containing parameters * @param requiredParams - Array of parameter names that are required * @throws Error if any required parameter is missing */ function validateRequiredParameters(params, requiredParams) { for (var _i = 0, requiredParams_1 = requiredParams; _i < requiredParams_1.length; _i++) { var param = requiredParams_1[_i]; if (!params[param]) { throw new Error((0, errors_1.createRequiredParameterError)(param)); } } } /** * Filters undefined values from an object, useful for API request bodies * @param obj - Object to filter * @returns New object with undefined values removed */ function filterUndefined(obj) { var result = {}; for (var _i = 0, _a = Object.entries(obj); _i < _a.length; _i++) { var _b = _a[_i], key = _b[0], value = _b[1]; if (value !== undefined && value !== null) { result[key] = value; } } return result; } /** * Processes array parameters for API requests (e.g., joins arrays to strings) * @param value - The value to process * @param separator - Separator to use for joining arrays (default: ',') * @returns Processed value */ function processArrayParameter(value, separator) { if (separator === void 0) { separator = ','; } if (Array.isArray(value)) { return value.join(separator); } return value; } //# sourceMappingURL=validation.js.map