ngrx-run
Version:
Return side-effects as data from your NgRx reducers
39 lines • 8.43 kB
JavaScript
export function inject(token) {
return token;
}
/* General */
export function createEffect(type, config) {
// tslint:disable-next-line:only-arrow-functions typedef
return function (params) {
const hasParams = arguments.length > 0;
const hasDependencies = config.using;
if (hasParams && hasDependencies) {
return {
__isEffect: true,
type,
call: (...deps) => config.call(...deps)(params),
using: config.using,
params
};
}
else if (!hasParams) {
return {
__isEffect: true,
type,
call: (...deps) => config.call(...deps),
using: config.using,
params
};
}
else {
return {
__isEffect: true,
type,
call: () => config.call(params),
using: config.using,
params
};
}
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWVmZmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21vZHVsZXMvbGliL3NyYy9jcmVhdGUtZWZmZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sVUFBVSxNQUFNLENBQUksS0FBMEI7SUFDbEQsT0FBUSxLQUE0QixDQUFDO0FBQ3ZDLENBQUM7QUFxRkQsYUFBYTtBQUNiLE1BQU0sVUFBVSxZQUFZLENBQzFCLElBQVksRUFDWixNQU1DO0lBRUQsd0RBQXdEO0lBQ3hELE9BQU8sVUFBUyxNQUFnQjtRQUM5QixNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN2QyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3JDLElBQUksU0FBUyxJQUFJLGVBQWUsRUFBRTtZQUNoQyxPQUFPO2dCQUNMLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixJQUFJO2dCQUNKLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBc0IsRUFBRSxFQUFFLENBQ2pDLE1BQU0sQ0FBQyxJQUFnRSxDQUN0RSxHQUFHLElBQUksQ0FDUixDQUFDLE1BQU0sQ0FBQztnQkFDWCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7Z0JBQ25CLE1BQU07YUFDUCxDQUFDO1NBQ0g7YUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3JCLE9BQU87Z0JBQ0wsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLElBQUk7Z0JBQ0osSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFzQixFQUFFLEVBQUUsQ0FDakMsTUFBTSxDQUFDLElBQTBDLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQzdELEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztnQkFDbkIsTUFBTTthQUNQLENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTztnQkFDTCxVQUFVLEVBQUUsSUFBSTtnQkFDaEIsSUFBSTtnQkFDSixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUUsTUFBTSxDQUFDLElBQWlDLENBQUUsTUFBa0IsQ0FBQztnQkFDMUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO2dCQUNuQixNQUFNO2FBQ1AsQ0FBQztTQUNIO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0luamVjdGlvblRva2VuLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGVwZW5kZW5jaWVzLCBJbW1lZGlhdGVFZmZlY3REZWZpbml0aW9uLCBJbnN0YW5jZXMsIElzRWZmZWN0LCBPYnNlcnZhYmxlRWZmZWN0RGVmaW5pdGlvbiwgUHJvbWlzZUVmZmVjdERlZmluaXRpb259IGZyb20gJy4vZWZmZWN0JztcblxudHlwZSBEZXBFeHRyYXM8VD4gPSB7XG4gIFtQIGluIGtleW9mIFRdPzogRGVwRXh0cmFzPFRbUF0+O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdDxUPih0b2tlbjogSW5qZWN0aW9uVG9rZW48YW55Pik6IFR5cGU8VD4ge1xuICByZXR1cm4gKHRva2VuIGFzIHVua25vd24pIGFzIFR5cGU8VD47XG59XG5cbi8qIE9ic2VydmFibGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFZmZlY3Q8VFBhcmFtcywgVERlcHMgZXh0ZW5kcyBEZXBlbmRlbmNpZXMsIFRSZXN1bHQ+KFxuICB0eXBlOiBzdHJpbmcsXG4gIGNvbmZpZzoge1xuICAgIGNhbGw6ICguLi5kZXA6IEluc3RhbmNlczxURGVwcz4pID0+IChwYXJhbXM6IFRQYXJhbXMpID0+IE9ic2VydmFibGU8VFJlc3VsdD47XG4gICAgdXNpbmc6IHJlYWRvbmx5IFsuLi5URGVwc107XG4gIH1cbik6IChwYXJhbXM6IFRQYXJhbXMpID0+IE9ic2VydmFibGVFZmZlY3REZWZpbml0aW9uPFREZXBzLCBUUmVzdWx0PjtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFZmZlY3Q8VERlcHMgZXh0ZW5kcyBEZXBlbmRlbmNpZXMsIFRSZXN1bHQ+KFxuICB0eXBlOiBzdHJpbmcsXG4gIGNvbmZpZzoge1xuICAgIGNhbGw6ICguLi5kZXA6IEluc3RhbmNlczxURGVwcz4pID0+IE9ic2VydmFibGU8VFJlc3VsdD47XG4gICAgdXNpbmc6IHJlYWRvbmx5IFsuLi5URGVwc107XG4gIH1cbik6ICgpID0+IE9ic2VydmFibGVFZmZlY3REZWZpbml0aW9uPFREZXBzLCBUUmVzdWx0PjtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFZmZlY3Q8VFJlc3VsdD4oXG4gIHR5cGU6IHN0cmluZyxcbiAgY29uZmlnOiB7XG4gICAgY2FsbDogKCkgPT4gT2JzZXJ2YWJsZTxUUmVzdWx0PjtcbiAgfVxuKTogKCkgPT4gT2JzZXJ2YWJsZUVmZmVjdERlZmluaXRpb248W10sIFRSZXN1bHQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVmZmVjdDxUUGFyYW1zLCBUUmVzdWx0PihcbiAgdHlwZTogc3RyaW5nLFxuICBjb25maWc6IHtcbiAgICBjYWxsOiAocGFyYW1zOiBUUGFyYW1zKSA9PiBPYnNlcnZhYmxlPFRSZXN1bHQ+O1xuICB9XG4pOiAocGFyYW1zOiBUUGFyYW1zKSA9PiBPYnNlcnZhYmxlRWZmZWN0RGVmaW5pdGlvbjxbXSwgVFJlc3VsdD47XG4vKiBQcm9taXNlICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWZmZWN0PFRQYXJhbXMsIFREZXBzIGV4dGVuZHMgRGVwZW5kZW5jaWVzLCBUUmVzdWx0PihcbiAgdHlwZTogc3RyaW5nLFxuICBjb25maWc6IHtcbiAgICBjYWxsOiAoLi4uZGVwOiBJbnN0YW5jZXM8VERlcHM+KSA9PiAocGFyYW1zOiBUUGFyYW1zKSA9PiBQcm9taXNlPFRSZXN1bHQ+O1xuICAgIHVzaW5nPzogcmVhZG9ubHkgWy4uLlREZXBzXTtcbiAgfVxuKTogKHBhcmFtczogVFBhcmFtcykgPT4gUHJvbWlzZUVmZmVjdERlZmluaXRpb248VERlcHMsIFRSZXN1bHQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVmZmVjdDxURGVwcyBleHRlbmRzIERlcGVuZGVuY2llcywgVFJlc3VsdD4oXG4gIHR5cGU6IHN0cmluZyxcbiAgY29uZmlnOiB7XG4gICAgY2FsbDogKC4uLmRlcDogSW5zdGFuY2VzPFREZXBzPikgPT4gUHJvbWlzZTxUUmVzdWx0PjtcbiAgICB1c2luZzogcmVhZG9ubHkgWy4uLlREZXBzXTtcbiAgfVxuKTogKCkgPT4gUHJvbWlzZUVmZmVjdERlZmluaXRpb248VERlcHMsIFRSZXN1bHQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVmZmVjdDxUUmVzdWx0PihcbiAgdHlwZTogc3RyaW5nLFxuICBjb25maWc6IHtcbiAgICBjYWxsOiAoKSA9PiBQcm9taXNlPFRSZXN1bHQ+O1xuICB9XG4pOiAoKSA9PiBQcm9taXNlRWZmZWN0RGVmaW5pdGlvbjxbXSwgVFJlc3VsdD47XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWZmZWN0PFRQYXJhbXMsIFRSZXN1bHQ+KFxuICB0eXBlOiBzdHJpbmcsXG4gIGNvbmZpZzoge1xuICAgIGNhbGw6IChwYXJhbXM6IFRQYXJhbXMpID0+IFByb21pc2U8VFJlc3VsdD47XG4gIH1cbik6IChwYXJhbXM6IFRQYXJhbXMpID0+IFByb21pc2VFZmZlY3REZWZpbml0aW9uPFtdLCBUUmVzdWx0PjtcblxuLyogSW1tZWRpYXRlICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWZmZWN0PFRQYXJhbXMsIFREZXBzIGV4dGVuZHMgRGVwZW5kZW5jaWVzPihcbiAgdHlwZTogc3RyaW5nLFxuICBjb25maWc6IHtcbiAgICBjYWxsOiAoLi4uZGVwOiBJbnN0YW5jZXM8VERlcHM+KSA9PiAocGFyYW1zOiBUUGFyYW1zKSA9PiB2b2lkO1xuICAgIHVzaW5nOiByZWFkb25seSBbLi4uVERlcHNdO1xuICB9XG4pOiAocGFyYW1zOiBUUGFyYW1zKSA9PiBJbW1lZGlhdGVFZmZlY3REZWZpbml0aW9uPFREZXBzPjtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFZmZlY3Q8VERlcHMgZXh0ZW5kcyBEZXBlbmRlbmNpZXM+KFxuICB0eXBlOiBzdHJpbmcsXG4gIGNvbmZpZzoge1xuICAgIGNhbGw6ICguLi5kZXA6IEluc3RhbmNlczxURGVwcz4pID0+IHZvaWQ7XG4gICAgdXNpbmc6IHJlYWRvbmx5IFsuLi5URGVwc107XG4gIH1cbik6ICgpID0+IEltbWVkaWF0ZUVmZmVjdERlZmluaXRpb248VERlcHM+O1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVmZmVjdDxUUGFyYW1zPihcbiAgdHlwZTogc3RyaW5nLFxuICBjb25maWc6IHtcbiAgICBjYWxsOiAoKSA9PiB2b2lkO1xuICB9XG4pOiAoKSA9PiBJbW1lZGlhdGVFZmZlY3REZWZpbml0aW9uPFtdPjtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFZmZlY3Q8VFBhcmFtcz4oXG4gIHR5cGU6IHN0cmluZyxcbiAgY29uZmlnOiB7XG4gICAgY2FsbDogKHBhcmFtczogVFBhcmFtcykgPT4gdm9pZDtcbiAgfVxuKTogKHBhcmFtczogVFBhcmFtcykgPT4gSW1tZWRpYXRlRWZmZWN0RGVmaW5pdGlvbjxbXT47XG5cbi8qIEdlbmVyYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFZmZlY3Q8VFBhcmFtcywgVERlcHMgZXh0ZW5kcyBhbnlbXSwgVFJlc3VsdD4oXG4gIHR5cGU6IHN0cmluZyxcbiAgY29uZmlnOiB7XG4gICAgY2FsbDpcbiAgICAgIHwgKCguLi5kZXA6IEluc3RhbmNlczxURGVwcz4pID0+IChwYXJhbXM/OiBUUGFyYW1zKSA9PiBhbnkpXG4gICAgICB8ICgocGFyYW1zPzogVFBhcmFtcykgPT4gYW55KVxuICAgICAgfCAoKC4uLmRlcDogSW5zdGFuY2VzPFREZXBzPikgPT4gYW55KTtcbiAgICB1c2luZz86IHJlYWRvbmx5IFsuLi5URGVwc107XG4gIH1cbik6IChwYXJhbXM/OiBUUGFyYW1zKSA9PiBJc0VmZmVjdCB7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpvbmx5LWFycm93LWZ1bmN0aW9ucyB0eXBlZGVmXG4gIHJldHVybiBmdW5jdGlvbihwYXJhbXM/OiBUUGFyYW1zKSB7XG4gICAgY29uc3QgaGFzUGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDA7XG4gICAgY29uc3QgaGFzRGVwZW5kZW5jaWVzID0gY29uZmlnLnVzaW5nO1xuICAgIGlmIChoYXNQYXJhbXMgJiYgaGFzRGVwZW5kZW5jaWVzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBfX2lzRWZmZWN0OiB0cnVlLFxuICAgICAgICB0eXBlLFxuICAgICAgICBjYWxsOiAoLi4uZGVwczogSW5zdGFuY2VzPFREZXBzPikgPT5cbiAgICAgICAgICAoY29uZmlnLmNhbGwgYXMgKC4uLmRlcDogSW5zdGFuY2VzPFREZXBzPikgPT4gKHBhcmFtcz86IFRQYXJhbXMpID0+IGFueSkoXG4gICAgICAgICAgICAuLi5kZXBzXG4gICAgICAgICAgKShwYXJhbXMpLFxuICAgICAgICB1c2luZzogY29uZmlnLnVzaW5nLFxuICAgICAgICBwYXJhbXNcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICghaGFzUGFyYW1zKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBfX2lzRWZmZWN0OiB0cnVlLFxuICAgICAgICB0eXBlLFxuICAgICAgICBjYWxsOiAoLi4uZGVwczogSW5zdGFuY2VzPFREZXBzPikgPT5cbiAgICAgICAgICAoY29uZmlnLmNhbGwgYXMgKC4uLmRlcDogSW5zdGFuY2VzPFREZXBzPikgPT4gYW55KSguLi5kZXBzKSxcbiAgICAgICAgdXNpbmc6IGNvbmZpZy51c2luZyxcbiAgICAgICAgcGFyYW1zXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBfX2lzRWZmZWN0OiB0cnVlLFxuICAgICAgICB0eXBlLFxuICAgICAgICBjYWxsOiAoKSA9PiAoY29uZmlnLmNhbGwgYXMgKHBhcmFtczogVFBhcmFtcykgPT4gYW55KSgocGFyYW1zIGFzIFRQYXJhbXMpKSxcbiAgICAgICAgdXNpbmc6IGNvbmZpZy51c2luZyxcbiAgICAgICAgcGFyYW1zXG4gICAgICB9O1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==