UNPKG

@zedux/atoms

Version:

A Molecular State Engine for React

17 lines (16 loc) 714 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.injectMemo = void 0; const createInjector_1 = require("../factories/createInjector"); const index_1 = require("../utils/index"); exports.injectMemo = (0, createInjector_1.createInjector)('injectMemo', (instance, valueFactory, deps) => ({ type: `${index_1.prefix}/memo`, deps, result: valueFactory(), }), (prevDescriptor, instance, valueFactory, deps) => { const depsHaveChanged = (0, index_1.haveDepsChanged)(prevDescriptor.deps, deps); const result = depsHaveChanged ? valueFactory() : prevDescriptor.result; prevDescriptor.deps = deps; prevDescriptor.result = result; return prevDescriptor; });