Socket
Book a DemoInstallSign in
Socket

angular-localforage-migrations

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

angular-localforage-migrations

Migrate localForage data in an Angular app

3.1.0
latest
Source
npmnpm
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

angular-localforage-migrations

Migrate localForage data in an Angular app

Usage

1. Depend on the angular-localforage-migrations module

// commonjs users:
var app = angular.module('my-app', [require('angular-localforage-migrations')])

// everyone else:
var app = angular.module('my-app', ['angular-localforage-migrations'])

2. Add migrations to migrationsProvider in a config block

app.config(function(migrationsProvider) {
  migrationsProvider.add({
    id: 1,
    migrate: ['dep', function(dep) {
      // migrate data here and return promise
    }]
  })
})

migration object passed to add()

Has required properties:

  • id - Number greater than zero. The id field should increase for each migration. They do not have to be sequential and do not have to start at 1.
  • migrate - An Angular injectable function. The $localForage service is injectable here along with Angular built-ins and your injectables. Should return a $q promise if doing async work.

3. Chain all data access off of migrations.migrate()

app.factory('my-data-service', function(migrations, $localForage) {
  return {
    getSomeData: function() {
      return migrations.migrate().then(function() {
        return $localForage.getItem('some-data')
      })
    }
  }
})

migrations.migrate()

Returns promise fulfilled when all pending migrations have been run.

A really basic live example

  • git clone https://github.com/psalaets/angular-localforage-migrations.git
  • cd angular-localforage-migrations/example
  • bower install
  • Open index.html in a browser

Namespacing considerations

If you are using this module in multiple apps on the same domain, you should supply a namespace for angular-localforage-migrations's internal data store.

That can be done on the migrationsProvider:

app.config(function(migrationsProvider) {
  migrationsProvider.setInternalNamespace('unique-string-for-app')
})

Install

npm

npm install angular-localforage-migrations --save

bower

bower install angular-localforage-migrations --save

Dependencies

This module can be used with browserify or by exposing global variables.

It assumes these modules are already loaded or can be required:

See of example/index.html for example of load order.

License

MIT

Keywords

angular

FAQs

Package last updated on 28 Mar 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.