ngx-snotifire
Version: 
Demo project at [https://ccpatrut.github.io/ngx-snotifire/](https://ccpatrut.github.io/ngx-snotifire/) Github repo: [https://github.com/ccpatrut/ngx-snotifire](https://github.com/ccpatrut/ngx-snotifire)
88 lines • 8.63 kB
JavaScript
import { SnotifireType } from '../models';
//todo: cp check if async
/**
 * Transform arguments to Snotify object
 * @param target any
 * @param propertyKey SnotifyTypeType
 * @param descriptor PropertyDescriptor
 * @returns Snotify
 */
export function TransformArgument(target, propertyKey, descriptor) {
    if (propertyKey === SnotifireType.ASYNC) {
        return {
            value(...args) {
                let result;
                if (args.length === 2) {
                    result = {
                        title: null,
                        body: args[0],
                        config: null,
                        action: args[1],
                    };
                }
                else if (args.length === 3) {
                    if (typeof args[1] === 'string') {
                        result = {
                            title: args[1],
                            body: args[0],
                            config: null,
                            action: args[2],
                        };
                    }
                    else {
                        result = {
                            title: null,
                            body: args[0],
                            config: args[2],
                            action: args[1],
                        };
                    }
                }
                else {
                    result = {
                        title: args[1],
                        body: args[0],
                        config: args[3],
                        action: args[2],
                    };
                }
                return descriptor.value.apply(this, [
                    result,
                ]);
            },
        };
    }
    else {
        return {
            value(...args) {
                let result;
                if (args.length === 1) {
                    result = {
                        title: null,
                        body: args[0],
                        config: null,
                    };
                }
                else if (args.length === 3) {
                    result = {
                        title: args[1],
                        body: args[0],
                        config: args[2],
                    };
                }
                else {
                    result = {
                        title: null,
                        config: null,
                        body: args[0],
                        [typeof args[1] === 'string' ? 'title' : 'config']: args[1],
                    };
                }
                return descriptor.value.apply(this, [
                    result,
                ]);
            },
        };
    }
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLWFyZ3VtZW50LmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbm90aWZpcmUvc3JjL2xpYi9kZWNvcmF0b3JzL3RyYW5zZm9ybS1hcmd1bWVudC5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQyxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFM0UseUJBQXlCO0FBQ3pCOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsTUFBVyxFQUNYLFdBQW1CLEVBQ25CLFVBQThCO0lBRTlCLElBQUksV0FBVyxLQUFLLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QyxPQUFPO1lBQ0wsS0FBSyxDQUFDLEdBQUcsSUFBVztnQkFDbEIsSUFBSSxNQUFNLENBQUM7Z0JBQ1gsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN0QixNQUFNLEdBQUc7d0JBQ1AsS0FBSyxFQUFFLElBQUk7d0JBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7d0JBQ2IsTUFBTSxFQUFFLElBQUk7d0JBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7cUJBQ2hCLENBQUM7Z0JBQ0osQ0FBQztxQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQzdCLElBQUksT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7d0JBQ2hDLE1BQU0sR0FBRzs0QkFDUCxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQzs0QkFDZCxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQzs0QkFDYixNQUFNLEVBQUUsSUFBSTs0QkFDWixNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQzt5QkFDaEIsQ0FBQztvQkFDSixDQUFDO3lCQUFNLENBQUM7d0JBQ04sTUFBTSxHQUFHOzRCQUNQLEtBQUssRUFBRSxJQUFJOzRCQUNYLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDOzRCQUNiLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDOzRCQUNmLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO3lCQUNoQixDQUFDO29CQUNKLENBQUM7Z0JBQ0gsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sR0FBRzt3QkFDUCxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDZCxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztxQkFDaEIsQ0FBQztnQkFDSixDQUFDO2dCQUNELE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO29CQUNsQyxNQUFpQztpQkFDbEMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU87WUFDTCxLQUFLLENBQUMsR0FBRyxJQUFXO2dCQUNsQixJQUFJLE1BQU0sQ0FBQztnQkFDWCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3RCLE1BQU0sR0FBRzt3QkFDUCxLQUFLLEVBQUUsSUFBSTt3QkFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDYixNQUFNLEVBQUUsSUFBSTtxQkFDYixDQUFDO2dCQUNKLENBQUM7cUJBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUM3QixNQUFNLEdBQUc7d0JBQ1AsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7d0JBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7d0JBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7cUJBQ2hCLENBQUM7Z0JBQ0osQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sR0FBRzt3QkFDUCxLQUFLLEVBQUUsSUFBSTt3QkFDWCxNQUFNLEVBQUUsSUFBSTt3QkFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDYixDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO3FCQUM1RCxDQUFDO2dCQUNKLENBQUM7Z0JBQ0QsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7b0JBQ2xDLE1BQWlDO2lCQUNsQyxDQUFDLENBQUM7WUFDTCxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU25vdGlmaXJlQ29uZmlnLCBTbm90aWZpcmVNb2RlbCwgU25vdGlmaXJlVHlwZSB9IGZyb20gJy4uL21vZGVscyc7XG5cbi8vdG9kbzogY3AgY2hlY2sgaWYgYXN5bmNcbi8qKlxuICogVHJhbnNmb3JtIGFyZ3VtZW50cyB0byBTbm90aWZ5IG9iamVjdFxuICogQHBhcmFtIHRhcmdldCBhbnlcbiAqIEBwYXJhbSBwcm9wZXJ0eUtleSBTbm90aWZ5VHlwZVR5cGVcbiAqIEBwYXJhbSBkZXNjcmlwdG9yIFByb3BlcnR5RGVzY3JpcHRvclxuICogQHJldHVybnMgU25vdGlmeVxuICovXG5leHBvcnQgZnVuY3Rpb24gVHJhbnNmb3JtQXJndW1lbnQoXG4gIHRhcmdldDogYW55LFxuICBwcm9wZXJ0eUtleTogc3RyaW5nLFxuICBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3Jcbikge1xuICBpZiAocHJvcGVydHlLZXkgPT09IFNub3RpZmlyZVR5cGUuQVNZTkMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWUoLi4uYXJnczogYW55W10pIHtcbiAgICAgICAgbGV0IHJlc3VsdDtcbiAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgdGl0bGU6IG51bGwsXG4gICAgICAgICAgICBib2R5OiBhcmdzWzBdLFxuICAgICAgICAgICAgY29uZmlnOiBudWxsLFxuICAgICAgICAgICAgYWN0aW9uOiBhcmdzWzFdLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAoYXJncy5sZW5ndGggPT09IDMpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGFyZ3NbMV0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiBhcmdzWzFdLFxuICAgICAgICAgICAgICBib2R5OiBhcmdzWzBdLFxuICAgICAgICAgICAgICBjb25maWc6IG51bGwsXG4gICAgICAgICAgICAgIGFjdGlvbjogYXJnc1syXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6IG51bGwsXG4gICAgICAgICAgICAgIGJvZHk6IGFyZ3NbMF0sXG4gICAgICAgICAgICAgIGNvbmZpZzogYXJnc1syXSxcbiAgICAgICAgICAgICAgYWN0aW9uOiBhcmdzWzFdLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgdGl0bGU6IGFyZ3NbMV0sXG4gICAgICAgICAgICBib2R5OiBhcmdzWzBdLFxuICAgICAgICAgICAgY29uZmlnOiBhcmdzWzNdLFxuICAgICAgICAgICAgYWN0aW9uOiBhcmdzWzJdLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3IudmFsdWUuYXBwbHkodGhpcywgW1xuICAgICAgICAgIHJlc3VsdCBhcyB1bmtub3duIGFzIE5vdGlmaWNhdGlvbixcbiAgICAgICAgXSk7XG4gICAgICB9LFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICAgIGxldCByZXN1bHQ7XG4gICAgICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIHRpdGxlOiBudWxsLFxuICAgICAgICAgICAgYm9keTogYXJnc1swXSxcbiAgICAgICAgICAgIGNvbmZpZzogbnVsbCxcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2UgaWYgKGFyZ3MubGVuZ3RoID09PSAzKSB7XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgdGl0bGU6IGFyZ3NbMV0sXG4gICAgICAgICAgICBib2R5OiBhcmdzWzBdLFxuICAgICAgICAgICAgY29uZmlnOiBhcmdzWzJdLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgdGl0bGU6IG51bGwsXG4gICAgICAgICAgICBjb25maWc6IG51bGwsXG4gICAgICAgICAgICBib2R5OiBhcmdzWzBdLFxuICAgICAgICAgICAgW3R5cGVvZiBhcmdzWzFdID09PSAnc3RyaW5nJyA/ICd0aXRsZScgOiAnY29uZmlnJ106IGFyZ3NbMV0sXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVzY3JpcHRvci52YWx1ZS5hcHBseSh0aGlzLCBbXG4gICAgICAgICAgcmVzdWx0IGFzIHVua25vd24gYXMgTm90aWZpY2F0aW9uLFxuICAgICAgICBdKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19