feat: init

This commit is contained in:
2026-02-13 22:02:30 +01:00
commit 8f9ff830fb
16711 changed files with 3307340 additions and 0 deletions

323
node_modules/alien-signals/cjs/index.cjs generated vendored Normal file
View File

@@ -0,0 +1,323 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getActiveSub = getActiveSub;
exports.setActiveSub = setActiveSub;
exports.getBatchDepth = getBatchDepth;
exports.startBatch = startBatch;
exports.endBatch = endBatch;
exports.isSignal = isSignal;
exports.isComputed = isComputed;
exports.isEffect = isEffect;
exports.isEffectScope = isEffectScope;
exports.signal = signal;
exports.computed = computed;
exports.effect = effect;
exports.effectScope = effectScope;
exports.trigger = trigger;
const system_js_1 = require("./system.cjs");
let cycle = 0;
let batchDepth = 0;
let notifyIndex = 0;
let queuedLength = 0;
let activeSub;
const queued = [];
const { link, unlink, propagate, checkDirty, shallowPropagate, } = (0, system_js_1.createReactiveSystem)({
update(node) {
if (node.depsTail !== undefined) {
return updateComputed(node);
}
else {
return updateSignal(node);
}
},
notify(effect) {
let insertIndex = queuedLength;
let firstInsertedIndex = insertIndex;
do {
queued[insertIndex++] = effect;
effect.flags &= ~2;
effect = effect.subs?.sub;
if (effect === undefined || !(effect.flags & 2)) {
break;
}
} while (true);
queuedLength = insertIndex;
while (firstInsertedIndex < --insertIndex) {
const left = queued[firstInsertedIndex];
queued[firstInsertedIndex++] = queued[insertIndex];
queued[insertIndex] = left;
}
},
unwatched(node) {
if (!(node.flags & 1)) {
effectScopeOper.call(node);
}
else if (node.depsTail !== undefined) {
node.depsTail = undefined;
node.flags = 1 | 16;
purgeDeps(node);
}
},
});
function getActiveSub() {
return activeSub;
}
function setActiveSub(sub) {
const prevSub = activeSub;
activeSub = sub;
return prevSub;
}
function getBatchDepth() {
return batchDepth;
}
function startBatch() {
++batchDepth;
}
function endBatch() {
if (!--batchDepth) {
flush();
}
}
function isSignal(fn) {
return fn.name === 'bound ' + signalOper.name;
}
function isComputed(fn) {
return fn.name === 'bound ' + computedOper.name;
}
function isEffect(fn) {
return fn.name === 'bound ' + effectOper.name;
}
function isEffectScope(fn) {
return fn.name === 'bound ' + effectScopeOper.name;
}
function signal(initialValue) {
return signalOper.bind({
currentValue: initialValue,
pendingValue: initialValue,
subs: undefined,
subsTail: undefined,
flags: 1,
});
}
function computed(getter) {
return computedOper.bind({
value: undefined,
subs: undefined,
subsTail: undefined,
deps: undefined,
depsTail: undefined,
flags: 0,
getter: getter,
});
}
function effect(fn) {
const e = {
fn,
subs: undefined,
subsTail: undefined,
deps: undefined,
depsTail: undefined,
flags: 2 | 4,
};
const prevSub = setActiveSub(e);
if (prevSub !== undefined) {
link(e, prevSub, 0);
}
try {
e.fn();
}
finally {
activeSub = prevSub;
e.flags &= ~4;
}
return effectOper.bind(e);
}
function effectScope(fn) {
const e = {
deps: undefined,
depsTail: undefined,
subs: undefined,
subsTail: undefined,
flags: 0,
};
const prevSub = setActiveSub(e);
if (prevSub !== undefined) {
link(e, prevSub, 0);
}
try {
fn();
}
finally {
activeSub = prevSub;
}
return effectScopeOper.bind(e);
}
function trigger(fn) {
const sub = {
deps: undefined,
depsTail: undefined,
flags: 2,
};
const prevSub = setActiveSub(sub);
try {
fn();
}
finally {
activeSub = prevSub;
let link = sub.deps;
while (link !== undefined) {
const dep = link.dep;
link = unlink(link, sub);
const subs = dep.subs;
if (subs !== undefined) {
sub.flags = 0;
propagate(subs);
shallowPropagate(subs);
}
}
if (!batchDepth) {
flush();
}
}
}
function updateComputed(c) {
++cycle;
c.depsTail = undefined;
c.flags = 1 | 4;
const prevSub = setActiveSub(c);
try {
const oldValue = c.value;
return oldValue !== (c.value = c.getter(oldValue));
}
finally {
activeSub = prevSub;
c.flags &= ~4;
purgeDeps(c);
}
}
function updateSignal(s) {
s.flags = 1;
return s.currentValue !== (s.currentValue = s.pendingValue);
}
function run(e) {
const flags = e.flags;
if (flags & 16
|| (flags & 32
&& checkDirty(e.deps, e))) {
++cycle;
e.depsTail = undefined;
e.flags = 2 | 4;
const prevSub = setActiveSub(e);
try {
e.fn();
}
finally {
activeSub = prevSub;
e.flags &= ~4;
purgeDeps(e);
}
}
else {
e.flags = 2;
}
}
function flush() {
try {
while (notifyIndex < queuedLength) {
const effect = queued[notifyIndex];
queued[notifyIndex++] = undefined;
run(effect);
}
}
finally {
while (notifyIndex < queuedLength) {
const effect = queued[notifyIndex];
queued[notifyIndex++] = undefined;
effect.flags |= 2 | 8;
}
notifyIndex = 0;
queuedLength = 0;
}
}
function computedOper() {
const flags = this.flags;
if (flags & 16
|| (flags & 32
&& (checkDirty(this.deps, this)
|| (this.flags = flags & ~32, false)))) {
if (updateComputed(this)) {
const subs = this.subs;
if (subs !== undefined) {
shallowPropagate(subs);
}
}
}
else if (!flags) {
this.flags = 1 | 4;
const prevSub = setActiveSub(this);
try {
this.value = this.getter();
}
finally {
activeSub = prevSub;
this.flags &= ~4;
}
}
const sub = activeSub;
if (sub !== undefined) {
link(this, sub, cycle);
}
return this.value;
}
function signalOper(...value) {
if (value.length) {
if (this.pendingValue !== (this.pendingValue = value[0])) {
this.flags = 1 | 16;
const subs = this.subs;
if (subs !== undefined) {
propagate(subs);
if (!batchDepth) {
flush();
}
}
}
}
else {
if (this.flags & 16) {
if (updateSignal(this)) {
const subs = this.subs;
if (subs !== undefined) {
shallowPropagate(subs);
}
}
}
let sub = activeSub;
while (sub !== undefined) {
if (sub.flags & (1 | 2)) {
link(this, sub, cycle);
break;
}
sub = sub.subs?.sub;
}
return this.currentValue;
}
}
function effectOper() {
effectScopeOper.call(this);
}
function effectScopeOper() {
this.depsTail = undefined;
this.flags = 0;
purgeDeps(this);
const sub = this.subs;
if (sub !== undefined) {
unlink(sub);
}
}
function purgeDeps(sub) {
const depsTail = sub.depsTail;
let dep = depsTail !== undefined ? depsTail.nextDep : sub.deps;
while (dep !== undefined) {
dep = unlink(dep, sub);
}
}

237
node_modules/alien-signals/cjs/system.cjs generated vendored Normal file
View File

@@ -0,0 +1,237 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReactiveFlags = void 0;
exports.createReactiveSystem = createReactiveSystem;
exports.ReactiveFlags = {
None: 0,
Mutable: 1,
Watching: 2,
RecursedCheck: 4,
Recursed: 8,
Dirty: 16,
Pending: 32,
};
function createReactiveSystem({ update, notify, unwatched, }) {
return {
link,
unlink,
propagate,
checkDirty,
shallowPropagate,
};
function link(dep, sub, version) {
const prevDep = sub.depsTail;
if (prevDep !== undefined && prevDep.dep === dep) {
return;
}
const nextDep = prevDep !== undefined ? prevDep.nextDep : sub.deps;
if (nextDep !== undefined && nextDep.dep === dep) {
nextDep.version = version;
sub.depsTail = nextDep;
return;
}
const prevSub = dep.subsTail;
if (prevSub !== undefined && prevSub.version === version && prevSub.sub === sub) {
return;
}
const newLink = sub.depsTail
= dep.subsTail
= {
version,
dep,
sub,
prevDep,
nextDep,
prevSub,
nextSub: undefined,
};
if (nextDep !== undefined) {
nextDep.prevDep = newLink;
}
if (prevDep !== undefined) {
prevDep.nextDep = newLink;
}
else {
sub.deps = newLink;
}
if (prevSub !== undefined) {
prevSub.nextSub = newLink;
}
else {
dep.subs = newLink;
}
}
function unlink(link, sub = link.sub) {
const dep = link.dep;
const prevDep = link.prevDep;
const nextDep = link.nextDep;
const nextSub = link.nextSub;
const prevSub = link.prevSub;
if (nextDep !== undefined) {
nextDep.prevDep = prevDep;
}
else {
sub.depsTail = prevDep;
}
if (prevDep !== undefined) {
prevDep.nextDep = nextDep;
}
else {
sub.deps = nextDep;
}
if (nextSub !== undefined) {
nextSub.prevSub = prevSub;
}
else {
dep.subsTail = prevSub;
}
if (prevSub !== undefined) {
prevSub.nextSub = nextSub;
}
else if ((dep.subs = nextSub) === undefined) {
unwatched(dep);
}
return nextDep;
}
function propagate(link) {
let next = link.nextSub;
let stack;
top: do {
const sub = link.sub;
let flags = sub.flags;
if (!(flags & (4 | 8 | 16 | 32))) {
sub.flags = flags | 32;
}
else if (!(flags & (4 | 8))) {
flags = 0;
}
else if (!(flags & 4)) {
sub.flags = (flags & ~8) | 32;
}
else if (!(flags & (16 | 32)) && isValidLink(link, sub)) {
sub.flags = flags | (8 | 32);
flags &= 1;
}
else {
flags = 0;
}
if (flags & 2) {
notify(sub);
}
if (flags & 1) {
const subSubs = sub.subs;
if (subSubs !== undefined) {
const nextSub = (link = subSubs).nextSub;
if (nextSub !== undefined) {
stack = { value: next, prev: stack };
next = nextSub;
}
continue;
}
}
if ((link = next) !== undefined) {
next = link.nextSub;
continue;
}
while (stack !== undefined) {
link = stack.value;
stack = stack.prev;
if (link !== undefined) {
next = link.nextSub;
continue top;
}
}
break;
} while (true);
}
function checkDirty(link, sub) {
let stack;
let checkDepth = 0;
let dirty = false;
top: do {
const dep = link.dep;
const flags = dep.flags;
if (sub.flags & 16) {
dirty = true;
}
else if ((flags & (1 | 16)) === (1 | 16)) {
if (update(dep)) {
const subs = dep.subs;
if (subs.nextSub !== undefined) {
shallowPropagate(subs);
}
dirty = true;
}
}
else if ((flags & (1 | 32)) === (1 | 32)) {
if (link.nextSub !== undefined || link.prevSub !== undefined) {
stack = { value: link, prev: stack };
}
link = dep.deps;
sub = dep;
++checkDepth;
continue;
}
if (!dirty) {
const nextDep = link.nextDep;
if (nextDep !== undefined) {
link = nextDep;
continue;
}
}
while (checkDepth--) {
const firstSub = sub.subs;
const hasMultipleSubs = firstSub.nextSub !== undefined;
if (hasMultipleSubs) {
link = stack.value;
stack = stack.prev;
}
else {
link = firstSub;
}
if (dirty) {
if (update(sub)) {
if (hasMultipleSubs) {
shallowPropagate(firstSub);
}
sub = link.sub;
continue;
}
dirty = false;
}
else {
sub.flags &= ~32;
}
sub = link.sub;
const nextDep = link.nextDep;
if (nextDep !== undefined) {
link = nextDep;
continue top;
}
}
return dirty;
} while (true);
}
function shallowPropagate(link) {
do {
const sub = link.sub;
const flags = sub.flags;
if ((flags & (32 | 16)) === 32) {
sub.flags = flags | 16;
if ((flags & (2 | 4)) === 2) {
notify(sub);
}
}
} while ((link = link.nextSub) !== undefined);
}
function isValidLink(checkLink, sub) {
let link = sub.depsTail;
while (link !== undefined) {
if (link === checkLink) {
return true;
}
link = link.prevDep;
}
return false;
}
}