Compare commits

..

1 Commits

Author SHA1 Message Date
viet-anh.n
5f65a0d674 [TSC-8] Implement Application State Manager
Add state.js ES module with in-memory state (operand1, operand2,
selectedOperation, result, error), getters/setters for each property,
and a reset() function. Update CLAUDE.md project structure listing.
2026-07-08 07:57:25 +00:00
2 changed files with 27 additions and 0 deletions

View File

@ -8,6 +8,7 @@ Greenfield project. Implementation is driven by the Vexa AI-SDLC pipeline (Jira
/ /
├── index.html # Calculator UI (semantic HTML5) ├── index.html # Calculator UI (semantic HTML5)
├── styles.css # Responsive CSS layout and styling ├── styles.css # Responsive CSS layout and styling
├── state.js # In-memory application state manager (ES module)
├── README.md # Project overview ├── README.md # Project overview
└── CLAUDE.md # This file └── CLAUDE.md # This file
``` ```

26
state.js Normal file
View File

@ -0,0 +1,26 @@
const initialState = {
operand1: null,
operand2: null,
selectedOperation: null,
result: null,
error: null,
};
const state = { ...initialState };
export function getOperand1() { return state.operand1; }
export function setOperand1(value) { state.operand1 = value; }
export function getOperand2() { return state.operand2; }
export function setOperand2(value) { state.operand2 = value; }
export function getSelectedOperation() { return state.selectedOperation; }
export function setSelectedOperation(value) { state.selectedOperation = value; }
export function getResult() { return state.result; }
export function setResult(value) { state.result = value; }
export function getError() { return state.error; }
export function setError(value) { state.error = value; }
export function reset() { Object.assign(state, initialState); }