diff options
author | kumavis <kumavis@users.noreply.github.com> | 2017-02-04 07:36:45 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-04 07:36:45 +0800 |
commit | eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4 (patch) | |
tree | e14cff922e86f97423e07acfe3d17556e99e1005 /app/scripts/lib/migrator/index.js | |
parent | 66be5ff2756e611c7af6973e704d27ce9bbd0d45 (diff) | |
parent | e1719191f488ab1d842a5e55ddd9f70038329f09 (diff) | |
download | tangerine-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.js | 13 |
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: { |