@data-client/react
Version:
Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch
26 lines (25 loc) • 4.15 kB
JavaScript
'use client';
import { Controller, initialState } from '@data-client/core';
import { createContext } from 'react';
export const StateContext = /*#__PURE__*/createContext(initialState);
const dispatch = value => {
/* istanbul ignore next */
if (process.env.NODE_ENV !== 'production') {
console.error('It appears you are trying to use Reactive Data Client without a provider.\nFollow instructions: https://dataclient.io/docs/getting-started/installation#add-provider-at-top-level-component');
/* istanbul ignore next */
if (process.env.NODE_ENV === 'test') {
console.error('If you are trying to test: https://dataclient.io/docs/guides/unit-testing-hooks');
}
}
return Promise.resolve();
};
export const ControllerContext = /*#__PURE__*/createContext(new Controller({
dispatch
}));
/* istanbul ignore next */
export const StoreContext = /*#__PURE__*/createContext({
subscribe: listener => () => {},
getState: () => initialState,
uninitialized: true
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250cm9sbGVyIiwiaW5pdGlhbFN0YXRlIiwiY3JlYXRlQ29udGV4dCIsIlN0YXRlQ29udGV4dCIsImRpc3BhdGNoIiwidmFsdWUiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjb25zb2xlIiwiZXJyb3IiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkNvbnRyb2xsZXJDb250ZXh0IiwiU3RvcmVDb250ZXh0Iiwic3Vic2NyaWJlIiwibGlzdGVuZXIiLCJnZXRTdGF0ZSIsInVuaW5pdGlhbGl6ZWQiXSwic291cmNlcyI6WyIuLi9zcmMvY29udGV4dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgeyBDb250cm9sbGVyLCBpbml0aWFsU3RhdGUgfSBmcm9tICdAZGF0YS1jbGllbnQvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEFjdGlvblR5cGVzLCBTdGF0ZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IENvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBjb25zdCBTdGF0ZUNvbnRleHQ6IENvbnRleHQ8U3RhdGU8dW5rbm93bj4+ID1cbiAgY3JlYXRlQ29udGV4dChpbml0aWFsU3RhdGUpO1xuXG5jb25zdCBkaXNwYXRjaCA9ICh2YWx1ZTogQWN0aW9uVHlwZXMpID0+IHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgJ0l0IGFwcGVhcnMgeW91IGFyZSB0cnlpbmcgdG8gdXNlIFJlYWN0aXZlIERhdGEgQ2xpZW50IHdpdGhvdXQgYSBwcm92aWRlci5cXG5Gb2xsb3cgaW5zdHJ1Y3Rpb25zOiBodHRwczovL2RhdGFjbGllbnQuaW8vZG9jcy9nZXR0aW5nLXN0YXJ0ZWQvaW5zdGFsbGF0aW9uI2FkZC1wcm92aWRlci1hdC10b3AtbGV2ZWwtY29tcG9uZW50JyxcbiAgICApO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAndGVzdCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdJZiB5b3UgYXJlIHRyeWluZyB0byB0ZXN0OiBodHRwczovL2RhdGFjbGllbnQuaW8vZG9jcy9ndWlkZXMvdW5pdC10ZXN0aW5nLWhvb2tzJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBDb250cm9sbGVyQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8Q29udHJvbGxlcj4oXG4gIG5ldyBDb250cm9sbGVyKHtcbiAgICBkaXNwYXRjaCxcbiAgfSksXG4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JlPFM+IHtcbiAgc3Vic2NyaWJlKGxpc3RlbmVyOiAoKSA9PiB2b2lkKTogKCkgPT4gdm9pZDtcbiAgZ2V0U3RhdGUoKTogUztcbiAgdW5pbml0aWFsaXplZD86IGJvb2xlYW47XG59XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZXhwb3J0IGNvbnN0IFN0b3JlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8U3RvcmU8U3RhdGU8dW5rbm93bj4+Pih7XG4gIHN1YnNjcmliZTogbGlzdGVuZXIgPT4gKCkgPT4ge30sXG4gIGdldFN0YXRlOiAoKSA9PiBpbml0aWFsU3RhdGUsXG4gIHVuaW5pdGlhbGl6ZWQ6IHRydWUsXG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFDWixTQUFTQSxVQUFVLEVBQUVDLFlBQVksUUFBUSxtQkFBbUI7QUFFNUQsU0FBU0MsYUFBYSxRQUFRLE9BQU87QUFHckMsT0FBTyxNQUFNQyxZQUFxQyxnQkFDaERELGFBQWEsQ0FBQ0QsWUFBWSxDQUFDO0FBRTdCLE1BQU1HLFFBQVEsR0FBSUMsS0FBa0IsSUFBSztFQUN2QztFQUNBLElBQUlDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxRQUFRLEtBQUssWUFBWSxFQUFFO0lBQ3pDQyxPQUFPLENBQUNDLEtBQUssQ0FDWCw2TEFDRixDQUFDO0lBQ0Q7SUFDQSxJQUFJSixPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLE1BQU0sRUFBRTtNQUNuQ0MsT0FBTyxDQUFDQyxLQUFLLENBQ1gsaUZBQ0YsQ0FBQztJQUNIO0VBQ0Y7RUFDQSxPQUFPQyxPQUFPLENBQUNDLE9BQU8sQ0FBQyxDQUFDO0FBQzFCLENBQUM7QUFFRCxPQUFPLE1BQU1DLGlCQUFpQixnQkFBR1gsYUFBYSxDQUM1QyxJQUFJRixVQUFVLENBQUM7RUFDYkk7QUFDRixDQUFDLENBQ0gsQ0FBQztBQU9EO0FBQ0EsT0FBTyxNQUFNVSxZQUFZLGdCQUFHWixhQUFhLENBQXdCO0VBQy9EYSxTQUFTLEVBQUVDLFFBQVEsSUFBSSxNQUFNLENBQUMsQ0FBQztFQUMvQkMsUUFBUSxFQUFFQSxDQUFBLEtBQU1oQixZQUFZO0VBQzVCaUIsYUFBYSxFQUFFO0FBQ2pCLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==