UNPKG

@etsoo/react

Version:

TypeScript ReactJs UI Independent Framework

47 lines (46 loc) 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PageState = exports.PageActionType = void 0; const State_1 = require("./State"); /** * Page action type */ var PageActionType; (function (PageActionType) { // Update data PageActionType["Data"] = "DATA"; // Update title PageActionType["Title"] = "TITLE"; })(PageActionType || (exports.PageActionType = PageActionType = {})); /** * User state */ class PageState { /** * Constructor */ constructor() { // Act const { context, provider } = State_1.State.create((state, { type, data }) => { switch (type) { case PageActionType.Data: // Set page data return { ...state, ...data }; case PageActionType.Title: // Same title if (state.title === data.title && state.subtitle === data.subtitle) return state; // Set page title return { ...state, ...data }; default: return state; } }, {}, {}); this.context = context; this.provider = provider; } } exports.PageState = PageState;