UNPKG

@data-client/react

Version:

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

17 lines (16 loc) 2.41 kB
import { NetworkManager } from '@data-client/core'; import { InteractionManager } from 'react-native'; /** Can help prevent stuttering by waiting for idle for sideEffect free fetches */ export default class NativeIdlingNetworkManager extends NetworkManager { /** Calls the callback when client is not 'busy' with high priority interaction tasks * * Override for platform-specific implementations */ idleCallback(callback, options) { InteractionManager.runAfterInteractions(callback); if (options != null && options.timeout) { InteractionManager.setDeadline(options.timeout); } } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOZXR3b3JrTWFuYWdlciIsIkludGVyYWN0aW9uTWFuYWdlciIsIk5hdGl2ZUlkbGluZ05ldHdvcmtNYW5hZ2VyIiwiaWRsZUNhbGxiYWNrIiwiY2FsbGJhY2siLCJvcHRpb25zIiwicnVuQWZ0ZXJJbnRlcmFjdGlvbnMiLCJ0aW1lb3V0Iiwic2V0RGVhZGxpbmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFuYWdlcnMvSWRsaW5nTmV0d29ya01hbmFnZXIubmF0aXZlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5ldHdvcmtNYW5hZ2VyIH0gZnJvbSAnQGRhdGEtY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25NYW5hZ2VyIH0gZnJvbSAncmVhY3QtbmF0aXZlJztcblxuLyoqIENhbiBoZWxwIHByZXZlbnQgc3R1dHRlcmluZyBieSB3YWl0aW5nIGZvciBpZGxlIGZvciBzaWRlRWZmZWN0IGZyZWUgZmV0Y2hlcyAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmF0aXZlSWRsaW5nTmV0d29ya01hbmFnZXIgZXh0ZW5kcyBOZXR3b3JrTWFuYWdlciB7XG4gIC8qKiBDYWxscyB0aGUgY2FsbGJhY2sgd2hlbiBjbGllbnQgaXMgbm90ICdidXN5JyB3aXRoIGhpZ2ggcHJpb3JpdHkgaW50ZXJhY3Rpb24gdGFza3NcbiAgICpcbiAgICogT3ZlcnJpZGUgZm9yIHBsYXRmb3JtLXNwZWNpZmljIGltcGxlbWVudGF0aW9uc1xuICAgKi9cbiAgcHJvdGVjdGVkIGlkbGVDYWxsYmFjayhcbiAgICBjYWxsYmFjazogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkLFxuICAgIG9wdGlvbnM/OiBJZGxlUmVxdWVzdE9wdGlvbnMsXG4gICkge1xuICAgIEludGVyYWN0aW9uTWFuYWdlci5ydW5BZnRlckludGVyYWN0aW9ucyhjYWxsYmFjayk7XG4gICAgaWYgKG9wdGlvbnM/LnRpbWVvdXQpIHtcbiAgICAgIEludGVyYWN0aW9uTWFuYWdlci5zZXREZWFkbGluZShvcHRpb25zLnRpbWVvdXQpO1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxjQUFjLFFBQVEsbUJBQW1CO0FBQ2xELFNBQVNDLGtCQUFrQixRQUFRLGNBQWM7O0FBRWpEO0FBQ0EsZUFBZSxNQUFNQywwQkFBMEIsU0FBU0YsY0FBYyxDQUFDO0VBQ3JFO0FBQ0Y7QUFDQTtBQUNBO0VBQ1lHLFlBQVlBLENBQ3BCQyxRQUFrQyxFQUNsQ0MsT0FBNEIsRUFDNUI7SUFDQUosa0JBQWtCLENBQUNLLG9CQUFvQixDQUFDRixRQUFRLENBQUM7SUFDakQsSUFBSUMsT0FBTyxZQUFQQSxPQUFPLENBQUVFLE9BQU8sRUFBRTtNQUNwQk4sa0JBQWtCLENBQUNPLFdBQVcsQ0FBQ0gsT0FBTyxDQUFDRSxPQUFPLENBQUM7SUFDakQ7RUFDRjtBQUNGIiwiaWdub3JlTGlzdCI6W119