UNPKG

ngrx-rtk-query

Version:
39 lines 6.57 kB
import { buildCreateApi, coreModule, } from '@reduxjs/toolkit/query'; import { angularHooksModule, } from './module'; export const createApi = (options) => { const next = (action) => { if (typeof action === 'function') { return action(dispatch, getState, { injector: getInjector() }); } return store.hooks.dispatch(action); }; const dispatch = (action) => { if (!store) { const reducerPath = options.reducerPath; throw new Error(`Provide the API (${reducerPath}) is necessary to use the queries. Did you forget to provide the queries api?`); } return middleware(next)(action); }; const getState = () => store.hooks.getState(); const useSelector = (mapFn, options) => store?.hooks.useSelector(mapFn, options); const createSelector = (...input) => store.createSelector(...input); const getInjector = () => store.getInjector(); const createApi = /* @__PURE__ */ buildCreateApi(coreModule(), angularHooksModule({ hooks: { dispatch: dispatch, getState, useSelector, }, createSelector, getInjector, })); const api = createApi(options); let store; const initApiStore = (setupFn) => { store = setupFn(); }; Object.assign(api, { initApiStore }); const middleware = api.middleware({ dispatch, getState }); return api; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25ncngtcnRrLXF1ZXJ5L2NvcmUvc3JjL2NyZWF0ZS1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUlMLGNBQWMsRUFDZCxVQUFVLEdBRVgsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLEVBSUwsa0JBQWtCLEdBRW5CLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBcUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtJQUNyRyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQWUsRUFBVyxFQUFFO1FBQ3hDLElBQUksT0FBTyxNQUFNLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDakMsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBZ0IsQ0FBQyxDQUFDO0lBQ2hELENBQUMsQ0FBQztJQUNGLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBZSxFQUFXLEVBQUU7UUFDNUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztZQUN4QyxNQUFNLElBQUksS0FBSyxDQUNiLG9CQUFvQixXQUFXLCtFQUErRSxDQUMvRyxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUMsQ0FBQztJQUVGLE1BQU0sUUFBUSxHQUFtRCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlGLE1BQU0sV0FBVyxHQUFzRCxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUN4RixLQUFLLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0MsTUFBTSxjQUFjLEdBQWdELENBQUMsR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUNqSCxNQUFNLFdBQVcsR0FBNkMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRXhGLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQzlDLFVBQVUsRUFBRSxFQUNaLGtCQUFrQixDQUFDO1FBQ2pCLEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRSxRQUFvQjtZQUM5QixRQUFRO1lBQ1IsV0FBVztTQUNaO1FBQ0QsY0FBYztRQUNkLFdBQVc7S0FDWixDQUFDLENBQ0gsQ0FBQztJQUNGLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUUvQixJQUFJLEtBQWdDLENBQUM7SUFDckMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUF3QyxFQUFFLEVBQUU7UUFDaEUsS0FBSyxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQ3BCLENBQUMsQ0FBQztJQUNGLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUVyQyxNQUFNLFVBQVUsR0FDZCxHQUNELENBQUMsVUFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFckMsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEFjdGlvbiB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHtcbiAgdHlwZSBBcGksXG4gIHR5cGUgQ29yZU1vZHVsZSxcbiAgdHlwZSBDcmVhdGVBcGksXG4gIGJ1aWxkQ3JlYXRlQXBpLFxuICBjb3JlTW9kdWxlLFxuICB0eXBlIGNvcmVNb2R1bGVOYW1lLFxufSBmcm9tICdAcmVkdXhqcy90b29sa2l0L3F1ZXJ5JztcblxuaW1wb3J0IHtcbiAgdHlwZSBBbmd1bGFySG9va3NNb2R1bGUsXG4gIHR5cGUgQW5ndWxhckhvb2tzTW9kdWxlT3B0aW9ucyxcbiAgdHlwZSBEaXNwYXRjaCxcbiAgYW5ndWxhckhvb2tzTW9kdWxlLFxuICB0eXBlIGFuZ3VsYXJIb29rc01vZHVsZU5hbWUsXG59IGZyb20gJy4vbW9kdWxlJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUFwaTogQ3JlYXRlQXBpPHR5cGVvZiBjb3JlTW9kdWxlTmFtZSB8IHR5cGVvZiBhbmd1bGFySG9va3NNb2R1bGVOYW1lPiA9IChvcHRpb25zKSA9PiB7XG4gIGNvbnN0IG5leHQgPSAoYWN0aW9uOiB1bmtub3duKTogdW5rbm93biA9PiB7XG4gICAgaWYgKHR5cGVvZiBhY3Rpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBhY3Rpb24oZGlzcGF0Y2gsIGdldFN0YXRlLCB7IGluamVjdG9yOiBnZXRJbmplY3RvcigpIH0pO1xuICAgIH1cbiAgICByZXR1cm4gc3RvcmUuaG9va3MuZGlzcGF0Y2goYWN0aW9uIGFzIEFjdGlvbik7XG4gIH07XG4gIGNvbnN0IGRpc3BhdGNoID0gKGFjdGlvbjogdW5rbm93bik6IHVua25vd24gPT4ge1xuICAgIGlmICghc3RvcmUpIHtcbiAgICAgIGNvbnN0IHJlZHVjZXJQYXRoID0gb3B0aW9ucy5yZWR1Y2VyUGF0aDtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFByb3ZpZGUgdGhlIEFQSSAoJHtyZWR1Y2VyUGF0aH0pIGlzIG5lY2Vzc2FyeSB0byB1c2UgdGhlIHF1ZXJpZXMuIERpZCB5b3UgZm9yZ2V0IHRvIHByb3ZpZGUgdGhlIHF1ZXJpZXMgYXBpP2AsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gbWlkZGxld2FyZShuZXh0KShhY3Rpb24pO1xuICB9O1xuXG4gIGNvbnN0IGdldFN0YXRlOiBBbmd1bGFySG9va3NNb2R1bGVPcHRpb25zWydob29rcyddWydnZXRTdGF0ZSddID0gKCkgPT4gc3RvcmUuaG9va3MuZ2V0U3RhdGUoKTtcbiAgY29uc3QgdXNlU2VsZWN0b3I6IEFuZ3VsYXJIb29rc01vZHVsZU9wdGlvbnNbJ2hvb2tzJ11bJ3VzZVNlbGVjdG9yJ10gPSAobWFwRm4sIG9wdGlvbnMpID0+XG4gICAgc3RvcmU/Lmhvb2tzLnVzZVNlbGVjdG9yKG1hcEZuLCBvcHRpb25zKTtcbiAgY29uc3QgY3JlYXRlU2VsZWN0b3I6IEFuZ3VsYXJIb29rc01vZHVsZU9wdGlvbnNbJ2NyZWF0ZVNlbGVjdG9yJ10gPSAoLi4uaW5wdXQpID0+IHN0b3JlLmNyZWF0ZVNlbGVjdG9yKC4uLmlucHV0KTtcbiAgY29uc3QgZ2V0SW5qZWN0b3I6IEFuZ3VsYXJIb29rc01vZHVsZU9wdGlvbnNbJ2dldEluamVjdG9yJ10gPSAoKSA9PiBzdG9yZS5nZXRJbmplY3RvcigpO1xuXG4gIGNvbnN0IGNyZWF0ZUFwaSA9IC8qIEBfX1BVUkVfXyAqLyBidWlsZENyZWF0ZUFwaShcbiAgICBjb3JlTW9kdWxlKCksXG4gICAgYW5ndWxhckhvb2tzTW9kdWxlKHtcbiAgICAgIGhvb2tzOiB7XG4gICAgICAgIGRpc3BhdGNoOiBkaXNwYXRjaCBhcyBEaXNwYXRjaCxcbiAgICAgICAgZ2V0U3RhdGUsXG4gICAgICAgIHVzZVNlbGVjdG9yLFxuICAgICAgfSxcbiAgICAgIGNyZWF0ZVNlbGVjdG9yLFxuICAgICAgZ2V0SW5qZWN0b3IsXG4gICAgfSksXG4gICk7XG4gIGNvbnN0IGFwaSA9IGNyZWF0ZUFwaShvcHRpb25zKTtcblxuICBsZXQgc3RvcmU6IEFuZ3VsYXJIb29rc01vZHVsZU9wdGlvbnM7XG4gIGNvbnN0IGluaXRBcGlTdG9yZSA9IChzZXR1cEZuOiAoKSA9PiBBbmd1bGFySG9va3NNb2R1bGVPcHRpb25zKSA9PiB7XG4gICAgc3RvcmUgPSBzZXR1cEZuKCk7XG4gIH07XG4gIE9iamVjdC5hc3NpZ24oYXBpLCB7IGluaXRBcGlTdG9yZSB9KTtcblxuICBjb25zdCBtaWRkbGV3YXJlID0gKFxuICAgIGFwaSBhcyB1bmtub3duIGFzIEFwaTxhbnksIFJlY29yZDxzdHJpbmcsIGFueT4sIHN0cmluZywgc3RyaW5nLCBBbmd1bGFySG9va3NNb2R1bGUgfCBDb3JlTW9kdWxlPlxuICApLm1pZGRsZXdhcmUoeyBkaXNwYXRjaCwgZ2V0U3RhdGUgfSk7XG5cbiAgcmV0dXJuIGFwaTtcbn07XG4iXX0=