Files
SBPanel-Backend/frontend/admin/node_modules/computeds/out/computed.js
CN-JS-HuiBai db7f1ba82f
Some checks failed
build / build (api, amd64, linux) (push) Failing after -51s
build / build (api, arm64, linux) (push) Failing after -52s
build / build (api.exe, amd64, windows) (push) Failing after -51s
使用VUE重构项目
2026-04-20 00:19:11 +08:00

22 lines
757 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.computed = void 0;
const tracker_1 = require("./tracker");
const system_1 = require("./system");
const dep_1 = require("./dep");
function computed(getter) {
let oldValue;
const tracker = new tracker_1.Tracker(() => (0, system_1.trigger)(dep, 1 /* DirtyLevels.ComputedValueMaybeDirty */));
const fn = () => {
(0, system_1.track)(dep);
if (tracker.dirty
&& !Object.is(oldValue, oldValue = tracker.track(() => getter(oldValue)))) {
(0, system_1.trigger)(dep, 2 /* DirtyLevels.ComputedValueDirty */);
}
return oldValue;
};
const dep = new dep_1.Dep(fn);
return fn;
}
exports.computed = computed;