UNPKG

respond-framework

Version:
127 lines (126 loc) 3.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.testsList = exports.tests = exports.tab = exports.stack = exports.sort = exports.settings = exports.searched = exports.open = exports.loading = exports.focusedBranch = exports.filter = exports.config = void 0; var _addToCache = require("../../createModule/methods/addToCache.js"); var _cascadeSetting = require("./helpers/cascadeSetting.js"); const open = (state = false, e, { events }) => { switch (e.event) { case events.toggle: return !state; case events.settings: case events.tests: case events.events: case events.test: return true; } return state; }; exports.open = open; const tab = (state = 'settings', e, { events }) => { switch (e.event) { case events.settings: return 'settings'; case events.tests: return 'tests'; case events.events: case events.test: return 'events'; } return state; }; exports.tab = tab; const loading = (_, e, state) => { if (state.testsList?.length > 0) return false; return !!e.event.fetch; }; exports.loading = loading; const settings = (state = {}, e, { events, focusedBranch, configs }) => { if (e.event !== events.edit) return state; Object.assign(state[focusedBranch], e.payload); (0, _cascadeSetting.default)(state, e, focusedBranch, configs); }; exports.settings = settings; const config = (state = {}, e, { events }) => { if (e.event !== events.editConfig) return state; Object.assign(state, e.payload); }; exports.config = config; const focusedBranch = (state = '', e, { events }) => { if (e.event !== events.changeBranch) return state; return e.focusedBranch; }; exports.focusedBranch = focusedBranch; const tests = (state = {}, e, { events }) => { switch (e.event) { case events.deleteTest.done: { delete state[e.id]; return state; } } if (e.tests) return (0, _addToCache.default)(state, e.tests); return state; }; exports.tests = tests; const testsList = (state = [], e, st) => { const { events } = st; switch (e.event) { case events.changeBranch.done: case events.sortTests.done: case events.searchTests.done: case events.toggleFilter.done: case events.tests.done: { const ids = e.tests.map(t => t.id); return st.sort === 'recent' || e.meta.from?.sort === 'recent' ? ids.sort((a, b) => st.tests[b].updatedAt - st.tests[a].updatedAt) : ids.sort((a, b) => a.localeCompare(b)); } case events.deleteTest.done: return state.filter(id => id !== e.meta.from.id); } return state; }; exports.testsList = testsList; const searched = (state = '', e, { events }) => e.event === events.searchTests ? e.value ?? '' : state; exports.searched = searched; const sort = (state = 'az', e, { events }) => { switch (e.event) { case events.tests: case events.sortTests: return e.sort || state; } return state; }; exports.sort = sort; const filter = (state = 'tests', e, { events }) => { switch (e.event) { case events.toggleFilter: return state === 'tests' ? 'snaps' : 'tests'; } return state; }; exports.filter = filter; const stack = exports.stack = null;