aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/lib/migrator/index.js
diff options
context:
space:
mode:
authorkumavis <kumavis@users.noreply.github.com>2017-02-04 07:36:45 +0800
committerGitHub <noreply@github.com>2017-02-04 07:36:45 +0800
commiteb08a4f41f3fc341bfd3eaf8fafe9309129e97e4 (patch)
treee14cff922e86f97423e07acfe3d17556e99e1005 /app/scripts/lib/migrator/index.js
parent66be5ff2756e611c7af6973e704d27ce9bbd0d45 (diff)
parente1719191f488ab1d842a5e55ddd9f70038329f09 (diff)
downloadtangerine-wallet-browser-eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4.tar
tangerine-wallet-browser-eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4.tar.gz
tangerine-wallet-browser-eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4.tar.bz2
tangerine-wallet-browser-eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4.tar.lz
tangerine-wallet-browser-eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4.tar.xz
tangerine-wallet-browser-eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4.tar.zst
tangerine-wallet-browser-eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4.zip
Merge pull request #1086 from MetaMask/kumavis-refactor7
Refactor round 7
Diffstat (limited to 'app/scripts/lib/migrator/index.js')
-rw-r--r--app/scripts/lib/migrator/index.js13
1 files changed, 12 insertions, 1 deletions
diff --git a/app/scripts/lib/migrator/index.js b/app/scripts/lib/migrator/index.js
index ab5a757b3..312345263 100644
--- a/app/scripts/lib/migrator/index.js
+++ b/app/scripts/lib/migrator/index.js
@@ -15,7 +15,7 @@ class Migrator {
let remaining = this.migrations.filter(migrationIsPending)
return (
- asyncQ.eachSeries(remaining, (migration) => migration.migrate(versionedData))
+ asyncQ.eachSeries(remaining, (migration) => this.runMigration(versionedData, migration))
.then(() => versionedData)
)
@@ -26,6 +26,17 @@ class Migrator {
}
}
+ runMigration(versionedData, migration) {
+ return (
+ migration.migrate(versionedData)
+ .then((versionedData) => {
+ if (!versionedData.data) return Promise.reject(new Error('Migrator - Migration returned empty data'))
+ if (migration.version !== undefined && versionedData.meta.version !== migration.version) return Promise.reject(new Error('Migrator - Migration did not update version number correctly'))
+ return Promise.resolve(versionedData)
+ })
+ )
+ }
+
generateInitialState (initState) {
return {
meta: {