@geekbears/gb-mongoose-keywords-plugin
Version:
A Mongoose plugin for keyword generation
22 lines • 1.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.extractKeywordsFromPopulatedField = void 0;
var lodash_1 = require("lodash");
var 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
*/
var extractKeywordsFromPopulatedField = function (field, path, omit) {
if ((0, lodash_1.isNil)(field))
return [];
if ((0, lodash_1.isArray)(field))
return (0, lodash_1.flatten)(field.map(function (element) { return (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