UNPKG

fastify-mongoose-rest

Version:

Rest API generator tools for fastify and mongoose

72 lines 1.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.updatePropertiesRecursive = exports.createResponseSchema = exports.parseInput = void 0; /** * Try safely to parse input to object. Return string if not possible. */ function parseInput(input) { try { const result = JSON.parse(input); return result; } catch (error) { return input; } } exports.parseInput = parseInput; function createResponseSchema(schema, type) { let successResponse; if (type === 'object') { successResponse = { type: 'object', properties: schema }; } if (type === 'array') { successResponse = { type: 'array', items: { type: 'object', properties: schema, }, }; } return { 200: { description: 'Success', ...successResponse, }, 400: { description: 'Validation error', type: 'object', properties: { error: { type: 'string' }, message: { type: 'string' }, }, }, 500: { description: 'Server error', type: 'object', properties: { error: { type: 'string' }, message: { type: 'string' }, }, }, }; } exports.createResponseSchema = createResponseSchema; /** * Update properties of object recursively. */ function updatePropertiesRecursive(obj, changes) { Object.keys(changes).map(key => { if (typeof obj[key] === 'object' && typeof changes[key] === 'object') { if (changes[key] !== null) { obj[key] = updatePropertiesRecursive(obj[key], changes[key]); } } else { obj[key] = changes[key]; } }); return obj; } exports.updatePropertiesRecursive = updatePropertiesRecursive; //# sourceMappingURL=helpers.js.map