natty-fetch-plugin-offline

1.1.2 • Public • Published

natty-fetch-plugin-offline

npm npm

The offline plugin for natty-fetch.

install width npm:

npm install --save natty-fetch-plugin-offline

Configuration

Typical Usage:

import nattyFetch from 'natty-fetch';
import NattyFetchPluginOffline from 'natty-fetch-plugin-offline';
import { DRIVERS } from 'a-storage';
 
const offlinePlugin = NattyFetchPluginOffline({
  driver: DRIVERS.SESSIONSTORAGE,
});
 
const context = nattyFetch.context();
context.create({
  foo: {
    url: 'foo.json',
    method: 'GET',
    plugin: [
      offlinePlugin,
    ]
  }
});

driver

  • Select the usage of particular driver, which is defined in a-storage.

  • type: String

  • default: LOCALSTORAGE

  • available drivers:

    driver description
    MEMORY Use JavaScript Object
    LOCALSTORAGE Use native localStorage
    SESSIONSTORAGE Use native sessionStorage
    DOMAINSTORAGE domainStorage provide by dingtalk

offlineEnv

  • Define the offline environment. When the page or device is in the offline environment, the request will response with the data which is stored in the local storage.
  • type: Array
  • default: ['2g', '3g', 'unknown', 'none']

getEnvType

  • Define the method which get the environment type. Always return the promise object that can be resolved.

  • type: Function

  • default: built-in function

  • example:

    getEnvType() {
      return Promise.resolve('4g');
    }

autoResendRequest

  • Save the request sent in offline, and resend it when the network is online.
  • type: Boolean
  • default: false

pollingInterval

  • Used with autoResendRequest set true, the plugin will polling the network status at intervals.
  • type: Number
  • default: 1e3 * 10

HOW TO

How to clear stored data in the local storage manually?

When used with this plugin, this context object will add a property named storage which is the instance of a-storage. You can clear the storage data with it.

const context = nattyFetch.context();
context.create({
  ...,
  foo: {
    plugin: [ offlinePlugin ]
  }
});
context.foo.storage.clear();
 

Readme

Keywords

none

Package Sidebar

Install

npm i natty-fetch-plugin-offline

Weekly Downloads

2

Version

1.1.2

License

MIT

Last publish

Collaborators

  • vincent.bian