UNPKG

@decorators/server

Version:

node decorators - decorators for express library

31 lines 4.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.pick = exports.getValidationMeta = exports.isObjectLike = exports.replaceUrlParameters = exports.isStandardType = exports.typeToContentType = void 0; const class_validator_1 = require("class-validator"); function typeToContentType(type) { return isObjectLike(type) ? 'application/json' : 'text/plain'; } exports.typeToContentType = typeToContentType; function isStandardType(type) { const standardTypes = ['object', 'number', 'boolean', 'string']; return standardTypes.includes(type.name.toLowerCase()); } exports.isStandardType = isStandardType; function replaceUrlParameters(url) { return url.replace(/:(\w+)/g, '{$1}'); } exports.replaceUrlParameters = replaceUrlParameters; function isObjectLike(value) { return (typeof value === 'object' && value !== null) || (value === null || value === void 0 ? void 0 : value.prototype.toString()) === '[object Object]'; } exports.isObjectLike = isObjectLike; function getValidationMeta(type) { const metadataStorage = (0, class_validator_1.getMetadataStorage)(); return metadataStorage.getTargetValidationMetadatas(type, null, null, null); } exports.getValidationMeta = getValidationMeta; function pick(obj, ...keys) { return keys.reduce((acc, key) => ({ ...acc, [key]: obj[key] }), {}); } exports.pick = pick; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm1zL3N3YWdnZXIvaGVscGVycy9zd2FnZ2VyLXVpL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFxRDtBQUlyRCxTQUFnQixpQkFBaUIsQ0FBQyxJQUFnQztJQUNoRSxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztBQUNoRSxDQUFDO0FBRkQsOENBRUM7QUFFRCxTQUFnQixjQUFjLENBQUMsSUFBZ0M7SUFDN0QsTUFBTSxhQUFhLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUVoRSxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFKRCx3Q0FJQztBQUVELFNBQWdCLG9CQUFvQixDQUFDLEdBQVc7SUFDOUMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRkQsb0RBRUM7QUFFRCxTQUFnQixZQUFZLENBQUMsS0FBaUM7SUFDNUQsT0FBTyxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxNQUFLLGlCQUFpQixDQUFDO0FBQzVHLENBQUM7QUFGRCxvQ0FFQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLElBQWdDO0lBQ2hFLE1BQU0sZUFBZSxHQUFHLElBQUEsb0NBQWtCLEdBQUUsQ0FBQztJQUU3QyxPQUFPLGVBQWUsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM5RSxDQUFDO0FBSkQsOENBSUM7QUFFRCxTQUFnQixJQUFJLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBYztJQUNqRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3RFLENBQUM7QUFGRCxvQkFFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldE1ldGFkYXRhU3RvcmFnZSB9IGZyb20gJ2NsYXNzLXZhbGlkYXRvcic7XG5cbmltcG9ydCB7IENsYXNzQ29uc3RydWN0b3IsIEhhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVUb0NvbnRlbnRUeXBlKHR5cGU6IEhhbmRsZXIgfCBDbGFzc0NvbnN0cnVjdG9yKSB7XG4gIHJldHVybiBpc09iamVjdExpa2UodHlwZSkgPyAnYXBwbGljYXRpb24vanNvbicgOiAndGV4dC9wbGFpbic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0YW5kYXJkVHlwZSh0eXBlOiBIYW5kbGVyIHwgQ2xhc3NDb25zdHJ1Y3Rvcikge1xuICBjb25zdCBzdGFuZGFyZFR5cGVzID0gWydvYmplY3QnLCAnbnVtYmVyJywgJ2Jvb2xlYW4nLCAnc3RyaW5nJ107XG5cbiAgcmV0dXJuIHN0YW5kYXJkVHlwZXMuaW5jbHVkZXModHlwZS5uYW1lLnRvTG93ZXJDYXNlKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZVVybFBhcmFtZXRlcnModXJsOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHVybC5yZXBsYWNlKC86KFxcdyspL2csICd7JDF9Jyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdExpa2UodmFsdWU6IEhhbmRsZXIgfCBDbGFzc0NvbnN0cnVjdG9yKSB7XG4gIHJldHVybiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkgfHwgdmFsdWU/LnByb3RvdHlwZS50b1N0cmluZygpID09PSAnW29iamVjdCBPYmplY3RdJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbGlkYXRpb25NZXRhKHR5cGU6IEhhbmRsZXIgfCBDbGFzc0NvbnN0cnVjdG9yKSB7XG4gIGNvbnN0IG1ldGFkYXRhU3RvcmFnZSA9IGdldE1ldGFkYXRhU3RvcmFnZSgpO1xuXG4gIHJldHVybiBtZXRhZGF0YVN0b3JhZ2UuZ2V0VGFyZ2V0VmFsaWRhdGlvbk1ldGFkYXRhcyh0eXBlLCBudWxsLCBudWxsLCBudWxsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBpY2sob2JqOiBvYmplY3QsIC4uLmtleXM6IHN0cmluZ1tdKSB7XG4gIHJldHVybiBrZXlzLnJlZHVjZSgoYWNjLCBrZXkpID0+ICh7IC4uLmFjYywgW2tleV06IG9ialtrZXldIH0pLCB7fSk7XG59XG4iXX0=