export function iconGeneratorPipe()

in ui-modules/utils/icon-generator/icon-generator.js [72:98]


export function iconGeneratorPipe(iconGenerator) {
    return function (input, opts) {
        let field, doNotAutogenerate=false;
        if (opts) {
            if (typeof opts === 'string') {
                field = opts;
            } else {
                field = opts.field;
                doNotAutogenerate = opts.doNotAutogenerate;
            }
        }
        let generateFrom = input;
        if (input && typeof(input) === 'object') {
            if (input.hasOwnProperty('iconUrl') && input.iconUrl) {
                return input.iconUrl;
            } else if (input.hasOwnProperty('links') && input.links.hasOwnProperty('iconUrl') && input.links.iconUrl) {
                return input.links.iconUrl;
            } else if (input.hasOwnProperty(field || 'id')) {
                generateFrom = input[field || 'id'];
            }
        }
        if (doNotAutogenerate) {
            return null;
        }
        return iconGenerator(generateFrom);
    }
}