UNPKG

@radixdlt/atom-transaction-mapping

Version:
20 lines 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeParticleReducer = exports.reduceFromInitialState = void 0; const neverthrow_1 = require("neverthrow"); const reduceFromInitialState = (input) => input.upParticles.reduce((state, upParticle) => { if (state.isOk()) { return input.reduce({ state: state.value, upParticle }); } else { return state; } }, neverthrow_1.ok(input.initialState)); exports.reduceFromInitialState = reduceFromInitialState; const makeParticleReducer = (input) => { if (input.applicationStateType !== input.initialState.stateType) throw new Error('Incorrect implementation, mismatch between application state types.'); return Object.assign(Object.assign({}, input), { reduceFromInitialState: (upParticles) => exports.reduceFromInitialState(Object.assign(Object.assign({}, input), { upParticles })) }); }; exports.makeParticleReducer = makeParticleReducer; //# sourceMappingURL=particleReducer.js.map