UNPKG

@snipsonian/redux-first-router

Version:

Redux-first-router snippets

26 lines (25 loc) 938 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const VIRTUAL_PAGE_CONFIG = { PARTS_DELIMITER: '_', EMPTY_STATE_SELECTOR_PLACEHOLDER: '-', }; function parseVirtualPage(state, virtualPageConfig) { if (Array.isArray(virtualPageConfig)) { return joinVirtualPagePartsAndSelectStateVarParts(state, virtualPageConfig); } return virtualPageConfig; } exports.default = parseVirtualPage; function joinVirtualPagePartsAndSelectStateVarParts(state, virtualPageConfigParts) { return virtualPageConfigParts .map((virtualPageConfigPart) => { if (typeof virtualPageConfigPart === 'function') { const part = (virtualPageConfigPart(state) || VIRTUAL_PAGE_CONFIG.EMPTY_STATE_SELECTOR_PLACEHOLDER); return `${part}`.toLowerCase(); } return virtualPageConfigPart; }) .join(VIRTUAL_PAGE_CONFIG.PARTS_DELIMITER); }