UNPKG

@gorpacrate/core-graphics

Version:

A core library for creating shape-based graphic editors

57 lines 1.89 kB
"use strict"; exports.__esModule = true; var i = require("icepick"); var context_menu_1 = require("./context-menu"); var cursor_1 = require("./cursor"); var draw_1 = require("./draw"); var graphical_context_1 = require("./graphical-context"); var grid_1 = require("./grid"); var history_1 = require("./history"); var input_1 = require("./input"); var mode_1 = require("./mode"); var move_1 = require("./move"); var move_viewport_1 = require("./move-viewport"); var preview_1 = require("./preview"); var resize_1 = require("./resize"); var rubber_band_select_1 = require("./rubber-band-select"); var select_1 = require("./select"); var shapes_1 = require("./shapes"); // order important here // TODO return on independant portions if changed? var REDUCERS = [ input_1["default"], grid_1["default"], graphical_context_1["default"], shapes_1["default"], select_1["default"], move_viewport_1["default"], rubber_band_select_1["default"], move_1["default"], resize_1["default"], history_1["default"], context_menu_1["default"], draw_1["default"], preview_1["default"], mode_1["default"], cursor_1["default"] ]; function editorStateReducer(currentState, ev) { var persistedScene = currentState.persistedScene; var resetState = i.chain(currentState) .assoc('scene', persistedScene) .assoc('previewedHistoryEvents', []) .assoc('editorActionsQueue', []) .value(); return REDUCERS.reduce(function (resultState, fn) { return fn(resultState, ev); }, resetState); // return REDUCERS.reduce( // (resultState, fn) => { // const res = fn(resultState, ev); // if (res.mode !== resultState.mode) { // console.log(fn.name); // } // return res; // }, resetState // ); } exports["default"] = editorStateReducer; //# sourceMappingURL=index.js.map