UNPKG

typia

Version:

Superfast runtime validators with only one line

43 lines 2.2 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); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.iterate_metadata_map = void 0; var ArrayUtil_1 = require("../../../utils/ArrayUtil"); var TypeFactory_1 = require("../../TypeFactory"); var explore_metadata_1 = require("./explore_metadata"); var iterate_metadata_map = function (checker) { return function (options) { return function (collection) { return function (errors) { return function (meta, type, explore) { type = checker.getApparentType(type); var name = TypeFactory_1.TypeFactory.getFullName(checker)(type, type.getSymbol()); var generic = type.aliasSymbol ? type.aliasTypeArguments : checker.getTypeArguments(type); if (name.substring(0, 4) !== "Map<" || (generic === null || generic === void 0 ? void 0 : generic.length) !== 2) return false; var key = generic[0]; var value = generic[1]; ArrayUtil_1.ArrayUtil.set(meta.maps, { key: (0, explore_metadata_1.explore_metadata)(checker)(options)(collection)(errors)(key, __assign(__assign({}, explore), { escaped: false, aliased: false })), value: (0, explore_metadata_1.explore_metadata)(checker)(options)(collection)(errors)(value, __assign(__assign({}, explore), { escaped: false, aliased: false })), }, function (elem) { return "Map<".concat(elem.key.getName(), ", ").concat(elem.value.getName(), ">"); }); return true; }; }; }; }; }; exports.iterate_metadata_map = iterate_metadata_map; //# sourceMappingURL=iterate_metadata_map.js.map