@geekbears/gb-mongoose-keywords-plugin
Version:
A Mongoose plugin for keyword generation
22 lines • 1.17 kB
JavaScript
;
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