UNPKG

@geekbears/gb-mongoose-keywords-plugin

Version:
22 lines 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extractKeywordsFromPopulatedField = void 0; const lodash_1 = require("lodash"); const extract_keywords_from_field_helper_1 = require("./extract-keywords-from-field.helper"); /** * Generates a set of keywords from a populated field, ie. an object * * @param field the source field value * @param path the path to the property from which keywords should be generated * @param omit a set of words to be omitted from the resulting keywords * @returns the resulting set of keywords, and an empty set if the value is null */ const extractKeywordsFromPopulatedField = (field, path, omit) => { if ((0, lodash_1.isNil)(field)) return []; if ((0, lodash_1.isArray)(field)) return (0, lodash_1.flatten)(field.map(element => (0, extract_keywords_from_field_helper_1.extractKeywordsFromField)(element[path], omit))); return (0, extract_keywords_from_field_helper_1.extractKeywordsFromField)(field[path], omit); }; exports.extractKeywordsFromPopulatedField = extractKeywordsFromPopulatedField; //# sourceMappingURL=extract-keywords-from-populated-field.helper.js.map