UNPKG

apollo-client-code-first-request

Version:
36 lines 1.54 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; exports.__esModule = true; exports.PickType = void 0; var decorators_1 = require("../decorators"); var utils_1 = require("../utils"); var type_helpers_util_1 = require("./type-helpers.util"); function PickType(classRef, keys) { var parentPropertyNames = utils_1.Metadata.getPropertyNames(classRef.prototype); var isInheritedPredicate = function (propertyKey) { return keys.includes(propertyKey); }; var PickObjectType = (function () { function PickObjectType() { (0, type_helpers_util_1.inheritPropertyInitializers)(this, classRef, isInheritedPredicate); } return PickObjectType; }()); parentPropertyNames .filter(function (propertyName) { return keys.includes(propertyName); }) .forEach(function (propertyName) { var fieldInfo = utils_1.Metadata.getFieldInfo(classRef.prototype, propertyName); (0, decorators_1.Field)(__assign(__assign({}, fieldInfo), (fieldInfo.isArray && { type: [fieldInfo.type] })))(PickObjectType.prototype, propertyName); }); return PickObjectType; } exports.PickType = PickType; //# sourceMappingURL=pick-type.util.js.map