UNPKG

@data-client/react

Version:

Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch

26 lines (25 loc) 4.15 kB
'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==