UNPKG

nestjs-auto-reflect-metadata-emitter

Version:

[![Actions Status](https://github.com/Codibre/nestjs-auto-reflect-metadata-emitter/workflows/build/badge.svg)](https://github.com/Codibre/nestjs-auto-reflect-metadata-emitter/actions) [![Actions Status](https://github.com/Codibre/nestjs-auto-reflect-metad

22 lines 960 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.removeUnknownProperties = removeUnknownProperties; const fluent_iterable_1 = require("@codibre/fluent-iterable"); const meta_info_1 = require("../meta-info"); const noKeys = new Set(); function removeUnknownProperties(obj, prohibitedKeyList = noKeys) { if (Array.isArray(obj)) { return obj.map((x) => removeUnknownProperties(x, prohibitedKeyList)); } if (typeof obj !== 'object' || obj === null) { return obj; } const meta = (0, meta_info_1.getClassMetadata)(obj.constructor); const result = (0, fluent_iterable_1.fluentObject)(obj) .filter(([k]) => !prohibitedKeyList.has(k) && (meta?.properties.has(k) ?? true)) .toObject(0, (x) => removeUnknownProperties(x[1], prohibitedKeyList)); Object.setPrototypeOf(result, obj.constructor); return result; } //# sourceMappingURL=remove-unknown-properties.js.map