UNPKG

@ngx-resource/core

Version:
19 lines 3.66 kB
import { ResourceRequestMethod } from './Declarations'; export function ResourceAction(methodOptions) { methodOptions = methodOptions || {}; if (methodOptions.method === undefined) { methodOptions.method = ResourceRequestMethod.Get; } // tslint:disable-next-line: only-arrow-functions return function (target, propertyKey) { target[propertyKey] = function (...args) { const callbacks = args.filter((arg) => typeof arg === 'function'); const data = args.filter((arg) => typeof arg !== 'function'); const [body, query, params] = data; const [onSuccess, onError] = callbacks; const actionOptions = { ...this.getResourceOptions(), ...methodOptions }; return this.$restAction({ actionAttributes: { body, query, params, onSuccess, onError }, actionOptions }); }; }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzb3VyY2VBY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVzb3VyY2UvY29yZS9zcmMvbGliL1Jlc291cmNlQWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBbUIscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4RSxNQUFNLFVBQVUsY0FBYyxDQUFDLGFBQStCO0lBRTVELGFBQWEsR0FBRyxhQUFhLElBQUksRUFBRSxDQUFDO0lBRXBDLElBQUksYUFBYSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUU7UUFDdEMsYUFBYSxDQUFDLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLENBQUM7S0FDbEQ7SUFFRCxpREFBaUQ7SUFDakQsT0FBTyxVQUFTLE1BQWdCLEVBQUUsV0FBbUI7UUFFbEQsTUFBYyxDQUFDLFdBQVcsQ0FBQyxHQUFHLFVBQVMsR0FBRyxJQUFXO1lBRXBELE1BQU0sU0FBUyxHQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLE9BQU8sR0FBRyxLQUFLLFVBQVUsQ0FBQyxDQUFDO1lBQzVFLE1BQU0sSUFBSSxHQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLE9BQU8sR0FBRyxLQUFLLFVBQVUsQ0FBQyxDQUFDO1lBRXZFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNuQyxNQUFNLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQztZQUV2QyxNQUFNLGFBQWEsR0FBb0IsRUFBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLEdBQUcsYUFBYSxFQUFDLENBQUM7WUFFeEYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUMsZ0JBQWdCLEVBQUUsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFDLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQztRQUV4RyxDQUFDLENBQUM7SUFFSixDQUFDLENBQUM7QUFFSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb3VyY2UgfSBmcm9tICcuL1Jlc291cmNlJztcbmltcG9ydCB7IElSZXNvdXJjZUFjdGlvbiwgUmVzb3VyY2VSZXF1ZXN0TWV0aG9kIH0gZnJvbSAnLi9EZWNsYXJhdGlvbnMnO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBSZXNvdXJjZUFjdGlvbihtZXRob2RPcHRpb25zPzogSVJlc291cmNlQWN0aW9uKSB7XG5cbiAgbWV0aG9kT3B0aW9ucyA9IG1ldGhvZE9wdGlvbnMgfHwge307XG5cbiAgaWYgKG1ldGhvZE9wdGlvbnMubWV0aG9kID09PSB1bmRlZmluZWQpIHtcbiAgICBtZXRob2RPcHRpb25zLm1ldGhvZCA9IFJlc291cmNlUmVxdWVzdE1ldGhvZC5HZXQ7XG4gIH1cblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG9ubHktYXJyb3ctZnVuY3Rpb25zXG4gIHJldHVybiBmdW5jdGlvbih0YXJnZXQ6IFJlc291cmNlLCBwcm9wZXJ0eUtleTogc3RyaW5nKSB7XG5cbiAgICAodGFyZ2V0IGFzIGFueSlbcHJvcGVydHlLZXldID0gZnVuY3Rpb24oLi4uYXJnczogYW55W10pOiBhbnkge1xuXG4gICAgICBjb25zdCBjYWxsYmFja3M6IGFueSA9IGFyZ3MuZmlsdGVyKChhcmc6IGFueSkgPT4gdHlwZW9mIGFyZyA9PT0gJ2Z1bmN0aW9uJyk7XG4gICAgICBjb25zdCBkYXRhOiBhbnkgPSBhcmdzLmZpbHRlcigoYXJnOiBhbnkpID0+IHR5cGVvZiBhcmcgIT09ICdmdW5jdGlvbicpO1xuXG4gICAgICBjb25zdCBbYm9keSwgcXVlcnksIHBhcmFtc10gPSBkYXRhO1xuICAgICAgY29uc3QgW29uU3VjY2Vzcywgb25FcnJvcl0gPSBjYWxsYmFja3M7XG5cbiAgICAgIGNvbnN0IGFjdGlvbk9wdGlvbnM6IElSZXNvdXJjZUFjdGlvbiA9IHsuLi50aGlzLmdldFJlc291cmNlT3B0aW9ucygpLCAuLi5tZXRob2RPcHRpb25zfTtcblxuICAgICAgcmV0dXJuIHRoaXMuJHJlc3RBY3Rpb24oe2FjdGlvbkF0dHJpYnV0ZXM6IHtib2R5LCBxdWVyeSwgcGFyYW1zLCBvblN1Y2Nlc3MsIG9uRXJyb3J9LCBhY3Rpb25PcHRpb25zfSk7XG5cbiAgICB9O1xuXG4gIH07XG5cbn1cbiJdfQ==