1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
metamask-extension/app/scripts/lib/tx-state-history-helper.js
Daijiro Wachi 43b1cb9100 Fix lint warnings
Fixed warnings:
```md
app/scripts/controllers/computed-balances.js
+ 35:27  warning  Missing space before function parentheses            space-before-function-paren
+ 41:14  warning  'address' is never reassigned. Use 'const' instead   prefer-const
+ 61:9   warning  'updater' is never reassigned. Use 'const' instead   prefer-const
+ 68:11  warning  'newState' is never reassigned. Use 'const' instead  prefer-const

app/scripts/controllers/network.js
+ 104:29  warning  Missing space before function parentheses  space-before-function-paren

app/scripts/lib/createLoggerMiddleware.js
+ 4:32  warning  Missing space before function parentheses      space-before-function-paren
+ 15:2   warning  Newline required at end of file but not found  eol-last

app/scripts/lib/createOriginMiddleware.js
+ 4:32  warning  Missing space before function parentheses      space-before-function-paren
+ 9:2   warning  Newline required at end of file but not found  eol-last

app/scripts/lib/createProviderMiddleware.js
+ 5:34  warning  Missing space before function parentheses      space-before-function-paren
+ 13:2   warning  Newline required at end of file but not found  eol-last

app/scripts/lib/events-proxy.js
+ 1:50  warning  Missing space before function parentheses      space-before-function-paren
+ 31:2   warning  Newline required at end of file but not found  eol-last

app/scripts/lib/nodeify.js
+ 2:22  warning  Missing space before function parentheses  space-before-function-paren
+ 2:24  warning  Missing space before opening brace         space-before-blocks
+ 5:18  warning  Missing space before function parentheses  space-before-function-paren
+ 5:20  warning  Missing space before opening brace         space-before-blocks

app/scripts/lib/pending-balance-calculator.js
+ 16:19  warning  Missing space before function parentheses  space-before-function-paren

app/scripts/lib/pending-tx-tracker.js
+ 85:11  warning  '||' should be placed at the end of the line  operator-linebreak
+ 87:11  warning  '||' should be placed at the end of the line  operator-linebreak
+ 88:11  warning  '||' should be placed at the end of the line  operator-linebreak
+ 90:11  warning  '||' should be placed at the end of the line  operator-linebreak
+ 91:11  warning  '||' should be placed at the end of the line  operator-linebreak

app/scripts/lib/port-stream.js
+ 3:22  warning  Missing space before function parentheses  space-before-function-paren
+ 3:24  warning  Missing space before opening brace         space-before-blocks

app/scripts/lib/tx-gas-utils.js
+ 84:2  warning  Newline required at end of file but not found  eol-last

app/scripts/lib/tx-state-history-helper.js
+ 12:37  warning  Missing space before function parentheses      space-before-function-paren
+ 23:30  warning  Missing space before function parentheses      space-before-function-paren
+ 30:23  warning  Missing space before function parentheses      space-before-function-paren
+ 35:28  warning  Missing space before function parentheses      space-before-function-paren
+ 41:2   warning  Newline required at end of file but not found  eol-last

app/scripts/lib/tx-state-manager.js
+ 94:13  warning  'value' is never reassigned. Use 'const' instead  prefer-const

ui/app/reducers.js
+ 45:7  warning  'state' is never reassigned. Use 'const' instead        prefer-const
+ 53:7  warning  'stateString' is never reassigned. Use 'const' instead  prefer-const

ui/lib/tx-helper.js
+ 27:2  warning  Newline required at end of file but not found  eol-last

ui/app/components/account-dropdowns.js
+ 163:1  warning  More than 2 blank lines not allowed  no-multiple-empty-lines

ui/app/components/menu-droppo.js
+ 22:7  warning  'style' is never reassigned. Use 'const' instead  prefer-const

ui/app/components/shapeshift-form.js
+ 135:11  warning  '&&' should be placed at the end of the line  operator-linebreak

ui/app/components/typed-message-renderer.js
+ 35:25  warning  Missing space before function parentheses      space-before-function-paren
+ 42:2   warning  Newline required at end of file but not found  eol-last

mascara/server/index.js
+ 11:42  warning  Use path.join() or path.resolve() instead of + to create paths  no-path-concat
+ 12:36  warning  Use path.join() or path.resolve() instead of + to create paths  no-path-concat
+ 13:33  warning  Use path.join() or path.resolve() instead of + to create paths  no-path-concat
+ 14:40  warning  Use path.join() or path.resolve() instead of + to create paths  no-path-concat
+ 20:29  warning  Use path.join() or path.resolve() instead of + to create paths  no-path-concat
+ 21:29  warning  Use path.join() or path.resolve() instead of + to create paths  no-path-concat
+ 26:40  warning  Use path.join() or path.resolve() instead of + to create paths  no-path-concat
```
2017-10-21 21:06:39 +02:00

42 lines
1.1 KiB
JavaScript

const jsonDiffer = require('fast-json-patch')
const clone = require('clone')
module.exports = {
generateHistoryEntry,
replayHistory,
snapshotFromTxMeta,
migrateFromSnapshotsToDiffs,
}
function migrateFromSnapshotsToDiffs (longHistory) {
return (
longHistory
// convert non-initial history entries into diffs
.map((entry, index) => {
if (index === 0) return entry
return generateHistoryEntry(longHistory[index - 1], entry)
})
)
}
function generateHistoryEntry (previousState, newState, note) {
const entry = jsonDiffer.compare(previousState, newState)
// Add a note to the first op, since it breaks if we append it to the entry
if (note && entry[0]) entry[0].note = note
return entry
}
function replayHistory (_shortHistory) {
const shortHistory = clone(_shortHistory)
return shortHistory.reduce((val, entry) => jsonDiffer.applyPatch(val, entry).newDocument)
}
function snapshotFromTxMeta (txMeta) {
// create txMeta snapshot for history
const snapshot = clone(txMeta)
// dont include previous history in this snapshot
delete snapshot.history
return snapshot
}