tempest.games 0.2.102 → 0.2.103
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/app/assets/{index-DgtNKk2k.js → index-D3X4KPAg.js} +27 -27
- package/app/index.html +1 -1
- package/bin/backend.bun.js +74 -62
- package/bin/backend.worker.game.bun.js +74 -62
- package/bin/backend.worker.tribunal.bun.js +74 -62
- package/bin/frontend.bun.js +74 -62
- package/package.json +3 -3
|
@@ -1099,23 +1099,23 @@ var Store = class {
|
|
|
1099
1099
|
family.install(this);
|
|
1100
1100
|
}
|
|
1101
1101
|
const mutableHelpers = /* @__PURE__ */ new Set;
|
|
1102
|
-
for (const [, atom] of store.atoms) {
|
|
1103
|
-
if (mutableHelpers.has(atom.key))
|
|
1102
|
+
for (const [, atom$1] of store.atoms) {
|
|
1103
|
+
if (mutableHelpers.has(atom$1.key))
|
|
1104
1104
|
continue;
|
|
1105
|
-
atom.install(this);
|
|
1106
|
-
if (atom.type === `mutable_atom`) {
|
|
1107
|
-
const originalJsonToken = getJsonToken(store, atom);
|
|
1108
|
-
const originalUpdateToken = getUpdateToken(atom);
|
|
1105
|
+
atom$1.install(this);
|
|
1106
|
+
if (atom$1.type === `mutable_atom`) {
|
|
1107
|
+
const originalJsonToken = getJsonToken(store, atom$1);
|
|
1108
|
+
const originalUpdateToken = getUpdateToken(atom$1);
|
|
1109
1109
|
mutableHelpers.add(originalJsonToken.key);
|
|
1110
1110
|
mutableHelpers.add(originalUpdateToken.key);
|
|
1111
1111
|
}
|
|
1112
1112
|
}
|
|
1113
|
-
for (const [, selector] of store.readonlySelectors)
|
|
1114
|
-
selector.install(this);
|
|
1115
|
-
for (const [, selector] of store.writableSelectors) {
|
|
1116
|
-
if (mutableHelpers.has(selector.key))
|
|
1113
|
+
for (const [, selector$1] of store.readonlySelectors)
|
|
1114
|
+
selector$1.install(this);
|
|
1115
|
+
for (const [, selector$1] of store.writableSelectors) {
|
|
1116
|
+
if (mutableHelpers.has(selector$1.key))
|
|
1117
1117
|
continue;
|
|
1118
|
-
selector.install(this);
|
|
1118
|
+
selector$1.install(this);
|
|
1119
1119
|
}
|
|
1120
1120
|
for (const [, tx] of store.transactions)
|
|
1121
1121
|
tx.install(this);
|
|
@@ -1793,26 +1793,26 @@ function dispatchOrDeferStateUpdate(target, state, proto, stateIsNewlyCreated, f
|
|
|
1793
1793
|
}
|
|
1794
1794
|
}
|
|
1795
1795
|
var UNSET = Symbol(`UNSET`);
|
|
1796
|
-
var setAtom = (target, atom, next) => {
|
|
1796
|
+
var setAtom = (target, atom$1, next) => {
|
|
1797
1797
|
let oldValue;
|
|
1798
1798
|
let newValue;
|
|
1799
1799
|
if (isFn(next)) {
|
|
1800
|
-
const prev = readOrComputeValue(target, atom, `mut`);
|
|
1800
|
+
const prev = readOrComputeValue(target, atom$1, `mut`);
|
|
1801
1801
|
oldValue = prev;
|
|
1802
1802
|
newValue = next(prev);
|
|
1803
1803
|
} else {
|
|
1804
|
-
if (target.valueMap.has(atom.key))
|
|
1805
|
-
oldValue = readFromCache(target, atom, `mut`);
|
|
1806
|
-
else if (atom.type === `atom` && !isFn(atom.default))
|
|
1807
|
-
oldValue = atom.default;
|
|
1804
|
+
if (target.valueMap.has(atom$1.key))
|
|
1805
|
+
oldValue = readFromCache(target, atom$1, `mut`);
|
|
1806
|
+
else if (atom$1.type === `atom` && !isFn(atom$1.default))
|
|
1807
|
+
oldValue = atom$1.default;
|
|
1808
1808
|
else
|
|
1809
1809
|
oldValue = UNSET;
|
|
1810
1810
|
newValue = next;
|
|
1811
1811
|
}
|
|
1812
|
-
target.logger.info(`\u2B50`, `atom`, atom.key, `setting value`, newValue);
|
|
1813
|
-
newValue = writeToCache(target, atom, newValue);
|
|
1814
|
-
markDone(target, atom.key);
|
|
1815
|
-
evictDownstreamFromAtom(target, atom);
|
|
1812
|
+
target.logger.info(`\u2B50`, `atom`, atom$1.key, `setting value`, newValue);
|
|
1813
|
+
newValue = writeToCache(target, atom$1, newValue);
|
|
1814
|
+
markDone(target, atom$1.key);
|
|
1815
|
+
evictDownstreamFromAtom(target, atom$1);
|
|
1816
1816
|
if (oldValue === UNSET)
|
|
1817
1817
|
return { newValue };
|
|
1818
1818
|
return {
|
|
@@ -1820,17 +1820,17 @@ var setAtom = (target, atom, next) => {
|
|
|
1820
1820
|
newValue
|
|
1821
1821
|
};
|
|
1822
1822
|
};
|
|
1823
|
-
function resetAtom(target, atom) {
|
|
1824
|
-
switch (atom.type) {
|
|
1823
|
+
function resetAtom(target, atom$1) {
|
|
1824
|
+
switch (atom$1.type) {
|
|
1825
1825
|
case `mutable_atom`:
|
|
1826
|
-
return setAtom(target, atom, new atom.class);
|
|
1826
|
+
return setAtom(target, atom$1, new atom$1.class);
|
|
1827
1827
|
case `atom`: {
|
|
1828
1828
|
let def;
|
|
1829
|
-
if (isFn(atom.default))
|
|
1830
|
-
def = safeCompute(target, atom);
|
|
1829
|
+
if (isFn(atom$1.default))
|
|
1830
|
+
def = safeCompute(target, atom$1);
|
|
1831
1831
|
else
|
|
1832
|
-
def = atom.default;
|
|
1833
|
-
return setAtom(target, atom, def);
|
|
1832
|
+
def = atom$1.default;
|
|
1833
|
+
return setAtom(target, atom$1, def);
|
|
1834
1834
|
}
|
|
1835
1835
|
}
|
|
1836
1836
|
}
|
|
@@ -1844,8 +1844,8 @@ function resetAtomOrSelector(target, state) {
|
|
|
1844
1844
|
case `writable_held_selector`:
|
|
1845
1845
|
{
|
|
1846
1846
|
const atoms = traceRootSelectorAtoms(target, state.key);
|
|
1847
|
-
for (const atom of atoms.values())
|
|
1848
|
-
dispatchOrDeferStateUpdate(target, state, resetAtom(target, atom), false);
|
|
1847
|
+
for (const atom$1 of atoms.values())
|
|
1848
|
+
dispatchOrDeferStateUpdate(target, state, resetAtom(target, atom$1), false);
|
|
1849
1849
|
const value = state.getFrom(target);
|
|
1850
1850
|
protoUpdate = {
|
|
1851
1851
|
oldValue: value,
|
|
@@ -1857,8 +1857,8 @@ function resetAtomOrSelector(target, state) {
|
|
|
1857
1857
|
{
|
|
1858
1858
|
const oldValue = safeCompute(target, state);
|
|
1859
1859
|
const atoms = traceRootSelectorAtoms(target, state.key);
|
|
1860
|
-
for (const atom of atoms.values())
|
|
1861
|
-
dispatchOrDeferStateUpdate(target, state, resetAtom(target, atom), false);
|
|
1860
|
+
for (const atom$1 of atoms.values())
|
|
1861
|
+
dispatchOrDeferStateUpdate(target, state, resetAtom(target, atom$1), false);
|
|
1862
1862
|
protoUpdate = {
|
|
1863
1863
|
oldValue,
|
|
1864
1864
|
newValue: safeCompute(target, state)
|
|
@@ -1875,26 +1875,26 @@ var RESET_STATE = Symbol(`RESET`);
|
|
|
1875
1875
|
function resetInStore(store, ...params) {
|
|
1876
1876
|
setIntoStore(store, ...[...params, RESET_STATE]);
|
|
1877
1877
|
}
|
|
1878
|
-
function setSelector(target, selector, next) {
|
|
1878
|
+
function setSelector(target, selector$1, next) {
|
|
1879
1879
|
let oldValue;
|
|
1880
1880
|
let newValue;
|
|
1881
1881
|
let constant;
|
|
1882
|
-
const { type, key } = selector;
|
|
1883
|
-
switch (selector.type) {
|
|
1882
|
+
const { type, key } = selector$1;
|
|
1883
|
+
switch (selector$1.type) {
|
|
1884
1884
|
case `writable_pure_selector`:
|
|
1885
|
-
oldValue = readOrComputeValue(target, selector, `mut`);
|
|
1885
|
+
oldValue = readOrComputeValue(target, selector$1, `mut`);
|
|
1886
1886
|
newValue = become(next, oldValue);
|
|
1887
|
-
newValue = writeToCache(target, selector, newValue);
|
|
1887
|
+
newValue = writeToCache(target, selector$1, newValue);
|
|
1888
1888
|
break;
|
|
1889
1889
|
case `writable_held_selector`:
|
|
1890
|
-
constant = selector.const;
|
|
1890
|
+
constant = selector$1.const;
|
|
1891
1891
|
become(next, constant);
|
|
1892
1892
|
oldValue = constant;
|
|
1893
1893
|
newValue = constant;
|
|
1894
1894
|
}
|
|
1895
1895
|
target.logger.info(`\u2B50`, type, key, `setting to`, newValue);
|
|
1896
1896
|
markDone(target, key);
|
|
1897
|
-
selector.setSelf(newValue);
|
|
1897
|
+
selector$1.setSelf(newValue);
|
|
1898
1898
|
return {
|
|
1899
1899
|
oldValue,
|
|
1900
1900
|
newValue
|
|
@@ -1993,8 +1993,8 @@ function traceRootSelectorAtoms(store, selectorKey, covered = /* @__PURE__ */ ne
|
|
|
1993
1993
|
continue;
|
|
1994
1994
|
covered.add(dependencyKey);
|
|
1995
1995
|
if (isAtomKey(store, dependencyKey)) {
|
|
1996
|
-
const atom = store.atoms.get(dependencyKey);
|
|
1997
|
-
roots.set(atom.key, atom);
|
|
1996
|
+
const atom$1 = store.atoms.get(dependencyKey);
|
|
1997
|
+
roots.set(atom$1.key, atom$1);
|
|
1998
1998
|
} else
|
|
1999
1999
|
dependencies.push(...getSelectorDependencyKeys(store, dependencyKey));
|
|
2000
2000
|
}
|
|
@@ -2252,13 +2252,13 @@ var recallState = (store, state) => {
|
|
|
2252
2252
|
return target.operation.prev.get(state.key);
|
|
2253
2253
|
return target.valueMap.get(state.key);
|
|
2254
2254
|
};
|
|
2255
|
-
var subscribeToRootDependency = (target, selector, atom) => {
|
|
2256
|
-
return atom.subject.subscribe(`${selector.type}:${selector.key}`, (atomChange) => {
|
|
2257
|
-
target.logger.info(`\uD83D\uDCE2`, selector.type, selector.key, `root`, atom.key, `went`, atomChange.oldValue, `->`, atomChange.newValue);
|
|
2258
|
-
const oldValue = recallState(target, selector);
|
|
2259
|
-
const newValue = readOrComputeValue(target, selector);
|
|
2260
|
-
target.logger.info(`\u2728`, selector.type, selector.key, `went`, oldValue, `->`, newValue);
|
|
2261
|
-
selector.subject.next({
|
|
2255
|
+
var subscribeToRootDependency = (target, selector$1, atom$1) => {
|
|
2256
|
+
return atom$1.subject.subscribe(`${selector$1.type}:${selector$1.key}`, (atomChange) => {
|
|
2257
|
+
target.logger.info(`\uD83D\uDCE2`, selector$1.type, selector$1.key, `root`, atom$1.key, `went`, atomChange.oldValue, `->`, atomChange.newValue);
|
|
2258
|
+
const oldValue = recallState(target, selector$1);
|
|
2259
|
+
const newValue = readOrComputeValue(target, selector$1);
|
|
2260
|
+
target.logger.info(`\u2728`, selector$1.type, selector$1.key, `went`, oldValue, `->`, newValue);
|
|
2261
|
+
selector$1.subject.next({
|
|
2262
2262
|
newValue,
|
|
2263
2263
|
oldValue
|
|
2264
2264
|
});
|
|
@@ -2278,8 +2278,8 @@ function subscribeToState(store, token, key, handleUpdate) {
|
|
|
2278
2278
|
let updateHandler = safelyHandleUpdate;
|
|
2279
2279
|
if (isSelector) {
|
|
2280
2280
|
readOrComputeValue(store, state);
|
|
2281
|
-
for (const [atomKey, atom] of traceRootSelectorAtoms(store, state.key))
|
|
2282
|
-
rootSubs.set(atomKey, subscribeToRootDependency(store, state, atom));
|
|
2281
|
+
for (const [atomKey, atom$1] of traceRootSelectorAtoms(store, state.key))
|
|
2282
|
+
rootSubs.set(atomKey, subscribeToRootDependency(store, state, atom$1));
|
|
2283
2283
|
updateHandler = function updateRootsBeforeHandlingUpdate(update) {
|
|
2284
2284
|
const dependencies = traceRootSelectorAtoms(store, state.key);
|
|
2285
2285
|
for (const [previousRootKey, unsub] of rootSubs)
|
|
@@ -2289,8 +2289,8 @@ function subscribeToState(store, token, key, handleUpdate) {
|
|
|
2289
2289
|
unsub();
|
|
2290
2290
|
rootSubs.delete(previousRootKey);
|
|
2291
2291
|
}
|
|
2292
|
-
for (const [atomKey, atom] of dependencies)
|
|
2293
|
-
rootSubs.set(atomKey, subscribeToRootDependency(store, state, atom));
|
|
2292
|
+
for (const [atomKey, atom$1] of dependencies)
|
|
2293
|
+
rootSubs.set(atomKey, subscribeToRootDependency(store, state, atom$1));
|
|
2294
2294
|
safelyHandleUpdate(update);
|
|
2295
2295
|
};
|
|
2296
2296
|
}
|
|
@@ -2625,9 +2625,9 @@ function evictCachedValue(target, key) {
|
|
|
2625
2625
|
target.valueMap.delete(key);
|
|
2626
2626
|
target.logger.info(`\uD83D\uDDD1`, `state`, key, `evicted`);
|
|
2627
2627
|
}
|
|
2628
|
-
function evictDownstreamFromAtom(store, atom) {
|
|
2628
|
+
function evictDownstreamFromAtom(store, atom$1) {
|
|
2629
2629
|
const target = newest(store);
|
|
2630
|
-
const { key, type } = atom;
|
|
2630
|
+
const { key, type } = atom$1;
|
|
2631
2631
|
const downstreamKeys = target.selectorAtoms.getRelatedKeys(key);
|
|
2632
2632
|
target.logger.info(`\uD83E\uDDF9`, type, key, downstreamKeys ? `evicting ${downstreamKeys.size} states downstream:` : `no downstream states`, downstreamKeys ?? `to evict`);
|
|
2633
2633
|
if (downstreamKeys) {
|
|
@@ -2705,10 +2705,10 @@ function createRegularAtom(store, options, family, internalRoles) {
|
|
|
2705
2705
|
store.on.atomCreation.next(token);
|
|
2706
2706
|
return token;
|
|
2707
2707
|
}
|
|
2708
|
-
function hasRole(atom, role) {
|
|
2709
|
-
if (`internalRoles` in atom === false)
|
|
2708
|
+
function hasRole(atom$1, role) {
|
|
2709
|
+
if (`internalRoles` in atom$1 === false)
|
|
2710
2710
|
return false;
|
|
2711
|
-
return atom.internalRoles.includes(role);
|
|
2711
|
+
return atom$1.internalRoles.includes(role);
|
|
2712
2712
|
}
|
|
2713
2713
|
function capitalize(string) {
|
|
2714
2714
|
return string[0].toUpperCase() + string.slice(1);
|
|
@@ -3169,7 +3169,7 @@ var SubjectSocket = class extends CustomSocket {
|
|
|
3169
3169
|
in;
|
|
3170
3170
|
out;
|
|
3171
3171
|
id = `no_id_retrieved`;
|
|
3172
|
-
|
|
3172
|
+
disposalEffects = [];
|
|
3173
3173
|
constructor(id) {
|
|
3174
3174
|
super((...args) => {
|
|
3175
3175
|
this.out.next(args);
|
|
@@ -3183,7 +3183,7 @@ var SubjectSocket = class extends CustomSocket {
|
|
|
3183
3183
|
});
|
|
3184
3184
|
}
|
|
3185
3185
|
dispose() {
|
|
3186
|
-
for (const dispose of this.
|
|
3186
|
+
for (const dispose of this.disposalEffects)
|
|
3187
3187
|
dispose();
|
|
3188
3188
|
}
|
|
3189
3189
|
};
|
|
@@ -3275,18 +3275,30 @@ var ParentSocket = class extends CustomSocket {
|
|
|
3275
3275
|
this.id = this.proc.pid?.toString();
|
|
3276
3276
|
this.on(`user-joins`, (userKey) => {
|
|
3277
3277
|
this.logger.info(`\uD83D\uDC64`, userKey, `joined`);
|
|
3278
|
-
|
|
3278
|
+
const existingRelay = this.relays.get(userKey);
|
|
3279
|
+
if (existingRelay) {
|
|
3280
|
+
this.logger.info(`\uD83D\uDD17`, `reattaching relay services for`, userKey);
|
|
3281
|
+
const cleanupRelay$1 = this.initRelay(existingRelay, userKey);
|
|
3282
|
+
if (cleanupRelay$1)
|
|
3283
|
+
existingRelay.disposalEffects.push(cleanupRelay$1);
|
|
3284
|
+
this.on(userKey, (...data) => {
|
|
3285
|
+
relay.in.next(data);
|
|
3286
|
+
});
|
|
3287
|
+
existingRelay.disposalEffects.push(existingRelay.out.subscribe(`socket`, (data) => {
|
|
3288
|
+
this.emit(userKey, ...data);
|
|
3289
|
+
}));
|
|
3279
3290
|
return;
|
|
3291
|
+
}
|
|
3280
3292
|
const relay = new SubjectSocket(userKey);
|
|
3281
3293
|
this.relays.set(userKey, relay);
|
|
3282
3294
|
this.logger.info(`\uD83D\uDD17`, `attaching relay services for`, userKey);
|
|
3283
3295
|
const cleanupRelay = this.initRelay(relay, userKey);
|
|
3284
3296
|
if (cleanupRelay)
|
|
3285
|
-
relay.
|
|
3297
|
+
relay.disposalEffects.push(cleanupRelay);
|
|
3286
3298
|
this.on(userKey, (...data) => {
|
|
3287
3299
|
relay.in.next(data);
|
|
3288
3300
|
});
|
|
3289
|
-
relay.
|
|
3301
|
+
relay.disposalEffects.push(relay.out.subscribe(`socket`, (data) => {
|
|
3290
3302
|
this.emit(userKey, ...data);
|
|
3291
3303
|
}));
|
|
3292
3304
|
});
|
package/bin/frontend.bun.js
CHANGED
|
@@ -9191,23 +9191,23 @@ var Store = class {
|
|
|
9191
9191
|
family.install(this);
|
|
9192
9192
|
}
|
|
9193
9193
|
const mutableHelpers = /* @__PURE__ */ new Set;
|
|
9194
|
-
for (const [, atom] of store.atoms) {
|
|
9195
|
-
if (mutableHelpers.has(atom.key))
|
|
9194
|
+
for (const [, atom$1] of store.atoms) {
|
|
9195
|
+
if (mutableHelpers.has(atom$1.key))
|
|
9196
9196
|
continue;
|
|
9197
|
-
atom.install(this);
|
|
9198
|
-
if (atom.type === `mutable_atom`) {
|
|
9199
|
-
const originalJsonToken = getJsonToken(store, atom);
|
|
9200
|
-
const originalUpdateToken = getUpdateToken(atom);
|
|
9197
|
+
atom$1.install(this);
|
|
9198
|
+
if (atom$1.type === `mutable_atom`) {
|
|
9199
|
+
const originalJsonToken = getJsonToken(store, atom$1);
|
|
9200
|
+
const originalUpdateToken = getUpdateToken(atom$1);
|
|
9201
9201
|
mutableHelpers.add(originalJsonToken.key);
|
|
9202
9202
|
mutableHelpers.add(originalUpdateToken.key);
|
|
9203
9203
|
}
|
|
9204
9204
|
}
|
|
9205
|
-
for (const [, selector] of store.readonlySelectors)
|
|
9206
|
-
selector.install(this);
|
|
9207
|
-
for (const [, selector] of store.writableSelectors) {
|
|
9208
|
-
if (mutableHelpers.has(selector.key))
|
|
9205
|
+
for (const [, selector$1] of store.readonlySelectors)
|
|
9206
|
+
selector$1.install(this);
|
|
9207
|
+
for (const [, selector$1] of store.writableSelectors) {
|
|
9208
|
+
if (mutableHelpers.has(selector$1.key))
|
|
9209
9209
|
continue;
|
|
9210
|
-
selector.install(this);
|
|
9210
|
+
selector$1.install(this);
|
|
9211
9211
|
}
|
|
9212
9212
|
for (const [, tx] of store.transactions)
|
|
9213
9213
|
tx.install(this);
|
|
@@ -9885,26 +9885,26 @@ function dispatchOrDeferStateUpdate(target, state, proto2, stateIsNewlyCreated,
|
|
|
9885
9885
|
}
|
|
9886
9886
|
}
|
|
9887
9887
|
var UNSET = Symbol(`UNSET`);
|
|
9888
|
-
var setAtom = (target, atom, next2) => {
|
|
9888
|
+
var setAtom = (target, atom$1, next2) => {
|
|
9889
9889
|
let oldValue;
|
|
9890
9890
|
let newValue;
|
|
9891
9891
|
if (isFn(next2)) {
|
|
9892
|
-
const prev = readOrComputeValue(target, atom, `mut`);
|
|
9892
|
+
const prev = readOrComputeValue(target, atom$1, `mut`);
|
|
9893
9893
|
oldValue = prev;
|
|
9894
9894
|
newValue = next2(prev);
|
|
9895
9895
|
} else {
|
|
9896
|
-
if (target.valueMap.has(atom.key))
|
|
9897
|
-
oldValue = readFromCache(target, atom, `mut`);
|
|
9898
|
-
else if (atom.type === `atom` && !isFn(atom.default))
|
|
9899
|
-
oldValue = atom.default;
|
|
9896
|
+
if (target.valueMap.has(atom$1.key))
|
|
9897
|
+
oldValue = readFromCache(target, atom$1, `mut`);
|
|
9898
|
+
else if (atom$1.type === `atom` && !isFn(atom$1.default))
|
|
9899
|
+
oldValue = atom$1.default;
|
|
9900
9900
|
else
|
|
9901
9901
|
oldValue = UNSET;
|
|
9902
9902
|
newValue = next2;
|
|
9903
9903
|
}
|
|
9904
|
-
target.logger.info(`\u2B50`, `atom`, atom.key, `setting value`, newValue);
|
|
9905
|
-
newValue = writeToCache(target, atom, newValue);
|
|
9906
|
-
markDone(target, atom.key);
|
|
9907
|
-
evictDownstreamFromAtom(target, atom);
|
|
9904
|
+
target.logger.info(`\u2B50`, `atom`, atom$1.key, `setting value`, newValue);
|
|
9905
|
+
newValue = writeToCache(target, atom$1, newValue);
|
|
9906
|
+
markDone(target, atom$1.key);
|
|
9907
|
+
evictDownstreamFromAtom(target, atom$1);
|
|
9908
9908
|
if (oldValue === UNSET)
|
|
9909
9909
|
return { newValue };
|
|
9910
9910
|
return {
|
|
@@ -9912,17 +9912,17 @@ var setAtom = (target, atom, next2) => {
|
|
|
9912
9912
|
newValue
|
|
9913
9913
|
};
|
|
9914
9914
|
};
|
|
9915
|
-
function resetAtom(target, atom) {
|
|
9916
|
-
switch (atom.type) {
|
|
9915
|
+
function resetAtom(target, atom$1) {
|
|
9916
|
+
switch (atom$1.type) {
|
|
9917
9917
|
case `mutable_atom`:
|
|
9918
|
-
return setAtom(target, atom, new atom.class);
|
|
9918
|
+
return setAtom(target, atom$1, new atom$1.class);
|
|
9919
9919
|
case `atom`: {
|
|
9920
9920
|
let def;
|
|
9921
|
-
if (isFn(atom.default))
|
|
9922
|
-
def = safeCompute(target, atom);
|
|
9921
|
+
if (isFn(atom$1.default))
|
|
9922
|
+
def = safeCompute(target, atom$1);
|
|
9923
9923
|
else
|
|
9924
|
-
def = atom.default;
|
|
9925
|
-
return setAtom(target, atom, def);
|
|
9924
|
+
def = atom$1.default;
|
|
9925
|
+
return setAtom(target, atom$1, def);
|
|
9926
9926
|
}
|
|
9927
9927
|
}
|
|
9928
9928
|
}
|
|
@@ -9936,8 +9936,8 @@ function resetAtomOrSelector(target, state) {
|
|
|
9936
9936
|
case `writable_held_selector`:
|
|
9937
9937
|
{
|
|
9938
9938
|
const atoms = traceRootSelectorAtoms(target, state.key);
|
|
9939
|
-
for (const atom of atoms.values())
|
|
9940
|
-
dispatchOrDeferStateUpdate(target, state, resetAtom(target, atom), false);
|
|
9939
|
+
for (const atom$1 of atoms.values())
|
|
9940
|
+
dispatchOrDeferStateUpdate(target, state, resetAtom(target, atom$1), false);
|
|
9941
9941
|
const value2 = state.getFrom(target);
|
|
9942
9942
|
protoUpdate = {
|
|
9943
9943
|
oldValue: value2,
|
|
@@ -9949,8 +9949,8 @@ function resetAtomOrSelector(target, state) {
|
|
|
9949
9949
|
{
|
|
9950
9950
|
const oldValue = safeCompute(target, state);
|
|
9951
9951
|
const atoms = traceRootSelectorAtoms(target, state.key);
|
|
9952
|
-
for (const atom of atoms.values())
|
|
9953
|
-
dispatchOrDeferStateUpdate(target, state, resetAtom(target, atom), false);
|
|
9952
|
+
for (const atom$1 of atoms.values())
|
|
9953
|
+
dispatchOrDeferStateUpdate(target, state, resetAtom(target, atom$1), false);
|
|
9954
9954
|
protoUpdate = {
|
|
9955
9955
|
oldValue,
|
|
9956
9956
|
newValue: safeCompute(target, state)
|
|
@@ -9967,26 +9967,26 @@ var RESET_STATE = Symbol(`RESET`);
|
|
|
9967
9967
|
function resetInStore(store, ...params) {
|
|
9968
9968
|
setIntoStore(store, ...[...params, RESET_STATE]);
|
|
9969
9969
|
}
|
|
9970
|
-
function setSelector(target, selector, next2) {
|
|
9970
|
+
function setSelector(target, selector$1, next2) {
|
|
9971
9971
|
let oldValue;
|
|
9972
9972
|
let newValue;
|
|
9973
9973
|
let constant;
|
|
9974
|
-
const { type: type2, key } = selector;
|
|
9975
|
-
switch (selector.type) {
|
|
9974
|
+
const { type: type2, key } = selector$1;
|
|
9975
|
+
switch (selector$1.type) {
|
|
9976
9976
|
case `writable_pure_selector`:
|
|
9977
|
-
oldValue = readOrComputeValue(target, selector, `mut`);
|
|
9977
|
+
oldValue = readOrComputeValue(target, selector$1, `mut`);
|
|
9978
9978
|
newValue = become(next2, oldValue);
|
|
9979
|
-
newValue = writeToCache(target, selector, newValue);
|
|
9979
|
+
newValue = writeToCache(target, selector$1, newValue);
|
|
9980
9980
|
break;
|
|
9981
9981
|
case `writable_held_selector`:
|
|
9982
|
-
constant = selector.const;
|
|
9982
|
+
constant = selector$1.const;
|
|
9983
9983
|
become(next2, constant);
|
|
9984
9984
|
oldValue = constant;
|
|
9985
9985
|
newValue = constant;
|
|
9986
9986
|
}
|
|
9987
9987
|
target.logger.info(`\u2B50`, type2, key, `setting to`, newValue);
|
|
9988
9988
|
markDone(target, key);
|
|
9989
|
-
selector.setSelf(newValue);
|
|
9989
|
+
selector$1.setSelf(newValue);
|
|
9990
9990
|
return {
|
|
9991
9991
|
oldValue,
|
|
9992
9992
|
newValue
|
|
@@ -10085,8 +10085,8 @@ function traceRootSelectorAtoms(store, selectorKey, covered = /* @__PURE__ */ ne
|
|
|
10085
10085
|
continue;
|
|
10086
10086
|
covered.add(dependencyKey);
|
|
10087
10087
|
if (isAtomKey(store, dependencyKey)) {
|
|
10088
|
-
const atom = store.atoms.get(dependencyKey);
|
|
10089
|
-
roots.set(atom.key, atom);
|
|
10088
|
+
const atom$1 = store.atoms.get(dependencyKey);
|
|
10089
|
+
roots.set(atom$1.key, atom$1);
|
|
10090
10090
|
} else
|
|
10091
10091
|
dependencies.push(...getSelectorDependencyKeys(store, dependencyKey));
|
|
10092
10092
|
}
|
|
@@ -10344,13 +10344,13 @@ var recallState = (store, state) => {
|
|
|
10344
10344
|
return target.operation.prev.get(state.key);
|
|
10345
10345
|
return target.valueMap.get(state.key);
|
|
10346
10346
|
};
|
|
10347
|
-
var subscribeToRootDependency = (target, selector, atom) => {
|
|
10348
|
-
return atom.subject.subscribe(`${selector.type}:${selector.key}`, (atomChange) => {
|
|
10349
|
-
target.logger.info(`\uD83D\uDCE2`, selector.type, selector.key, `root`, atom.key, `went`, atomChange.oldValue, `->`, atomChange.newValue);
|
|
10350
|
-
const oldValue = recallState(target, selector);
|
|
10351
|
-
const newValue = readOrComputeValue(target, selector);
|
|
10352
|
-
target.logger.info(`\u2728`, selector.type, selector.key, `went`, oldValue, `->`, newValue);
|
|
10353
|
-
selector.subject.next({
|
|
10347
|
+
var subscribeToRootDependency = (target, selector$1, atom$1) => {
|
|
10348
|
+
return atom$1.subject.subscribe(`${selector$1.type}:${selector$1.key}`, (atomChange) => {
|
|
10349
|
+
target.logger.info(`\uD83D\uDCE2`, selector$1.type, selector$1.key, `root`, atom$1.key, `went`, atomChange.oldValue, `->`, atomChange.newValue);
|
|
10350
|
+
const oldValue = recallState(target, selector$1);
|
|
10351
|
+
const newValue = readOrComputeValue(target, selector$1);
|
|
10352
|
+
target.logger.info(`\u2728`, selector$1.type, selector$1.key, `went`, oldValue, `->`, newValue);
|
|
10353
|
+
selector$1.subject.next({
|
|
10354
10354
|
newValue,
|
|
10355
10355
|
oldValue
|
|
10356
10356
|
});
|
|
@@ -10370,8 +10370,8 @@ function subscribeToState(store, token, key, handleUpdate) {
|
|
|
10370
10370
|
let updateHandler = safelyHandleUpdate;
|
|
10371
10371
|
if (isSelector) {
|
|
10372
10372
|
readOrComputeValue(store, state);
|
|
10373
|
-
for (const [atomKey, atom] of traceRootSelectorAtoms(store, state.key))
|
|
10374
|
-
rootSubs.set(atomKey, subscribeToRootDependency(store, state, atom));
|
|
10373
|
+
for (const [atomKey, atom$1] of traceRootSelectorAtoms(store, state.key))
|
|
10374
|
+
rootSubs.set(atomKey, subscribeToRootDependency(store, state, atom$1));
|
|
10375
10375
|
updateHandler = function updateRootsBeforeHandlingUpdate(update) {
|
|
10376
10376
|
const dependencies = traceRootSelectorAtoms(store, state.key);
|
|
10377
10377
|
for (const [previousRootKey, unsub] of rootSubs)
|
|
@@ -10381,8 +10381,8 @@ function subscribeToState(store, token, key, handleUpdate) {
|
|
|
10381
10381
|
unsub();
|
|
10382
10382
|
rootSubs.delete(previousRootKey);
|
|
10383
10383
|
}
|
|
10384
|
-
for (const [atomKey, atom] of dependencies)
|
|
10385
|
-
rootSubs.set(atomKey, subscribeToRootDependency(store, state, atom));
|
|
10384
|
+
for (const [atomKey, atom$1] of dependencies)
|
|
10385
|
+
rootSubs.set(atomKey, subscribeToRootDependency(store, state, atom$1));
|
|
10386
10386
|
safelyHandleUpdate(update);
|
|
10387
10387
|
};
|
|
10388
10388
|
}
|
|
@@ -10717,9 +10717,9 @@ function evictCachedValue(target, key) {
|
|
|
10717
10717
|
target.valueMap.delete(key);
|
|
10718
10718
|
target.logger.info(`\uD83D\uDDD1`, `state`, key, `evicted`);
|
|
10719
10719
|
}
|
|
10720
|
-
function evictDownstreamFromAtom(store, atom) {
|
|
10720
|
+
function evictDownstreamFromAtom(store, atom$1) {
|
|
10721
10721
|
const target = newest(store);
|
|
10722
|
-
const { key, type: type2 } = atom;
|
|
10722
|
+
const { key, type: type2 } = atom$1;
|
|
10723
10723
|
const downstreamKeys = target.selectorAtoms.getRelatedKeys(key);
|
|
10724
10724
|
target.logger.info(`\uD83E\uDDF9`, type2, key, downstreamKeys ? `evicting ${downstreamKeys.size} states downstream:` : `no downstream states`, downstreamKeys ?? `to evict`);
|
|
10725
10725
|
if (downstreamKeys) {
|
|
@@ -10797,10 +10797,10 @@ function createRegularAtom(store, options, family, internalRoles) {
|
|
|
10797
10797
|
store.on.atomCreation.next(token);
|
|
10798
10798
|
return token;
|
|
10799
10799
|
}
|
|
10800
|
-
function hasRole(atom, role) {
|
|
10801
|
-
if (`internalRoles` in atom === false)
|
|
10800
|
+
function hasRole(atom$1, role) {
|
|
10801
|
+
if (`internalRoles` in atom$1 === false)
|
|
10802
10802
|
return false;
|
|
10803
|
-
return atom.internalRoles.includes(role);
|
|
10803
|
+
return atom$1.internalRoles.includes(role);
|
|
10804
10804
|
}
|
|
10805
10805
|
function capitalize3(string2) {
|
|
10806
10806
|
return string2[0].toUpperCase() + string2.slice(1);
|
|
@@ -11620,7 +11620,7 @@ var SubjectSocket = class extends CustomSocket {
|
|
|
11620
11620
|
in;
|
|
11621
11621
|
out;
|
|
11622
11622
|
id = `no_id_retrieved`;
|
|
11623
|
-
|
|
11623
|
+
disposalEffects = [];
|
|
11624
11624
|
constructor(id) {
|
|
11625
11625
|
super((...args2) => {
|
|
11626
11626
|
this.out.next(args2);
|
|
@@ -11634,7 +11634,7 @@ var SubjectSocket = class extends CustomSocket {
|
|
|
11634
11634
|
});
|
|
11635
11635
|
}
|
|
11636
11636
|
dispose() {
|
|
11637
|
-
for (const dispose of this.
|
|
11637
|
+
for (const dispose of this.disposalEffects)
|
|
11638
11638
|
dispose();
|
|
11639
11639
|
}
|
|
11640
11640
|
};
|
|
@@ -11726,18 +11726,30 @@ var ParentSocket = class extends CustomSocket {
|
|
|
11726
11726
|
this.id = this.proc.pid?.toString();
|
|
11727
11727
|
this.on(`user-joins`, (userKey) => {
|
|
11728
11728
|
this.logger.info(`\uD83D\uDC64`, userKey, `joined`);
|
|
11729
|
-
|
|
11729
|
+
const existingRelay = this.relays.get(userKey);
|
|
11730
|
+
if (existingRelay) {
|
|
11731
|
+
this.logger.info(`\uD83D\uDD17`, `reattaching relay services for`, userKey);
|
|
11732
|
+
const cleanupRelay$1 = this.initRelay(existingRelay, userKey);
|
|
11733
|
+
if (cleanupRelay$1)
|
|
11734
|
+
existingRelay.disposalEffects.push(cleanupRelay$1);
|
|
11735
|
+
this.on(userKey, (...data) => {
|
|
11736
|
+
relay.in.next(data);
|
|
11737
|
+
});
|
|
11738
|
+
existingRelay.disposalEffects.push(existingRelay.out.subscribe(`socket`, (data) => {
|
|
11739
|
+
this.emit(userKey, ...data);
|
|
11740
|
+
}));
|
|
11730
11741
|
return;
|
|
11742
|
+
}
|
|
11731
11743
|
const relay = new SubjectSocket(userKey);
|
|
11732
11744
|
this.relays.set(userKey, relay);
|
|
11733
11745
|
this.logger.info(`\uD83D\uDD17`, `attaching relay services for`, userKey);
|
|
11734
11746
|
const cleanupRelay = this.initRelay(relay, userKey);
|
|
11735
11747
|
if (cleanupRelay)
|
|
11736
|
-
relay.
|
|
11748
|
+
relay.disposalEffects.push(cleanupRelay);
|
|
11737
11749
|
this.on(userKey, (...data) => {
|
|
11738
11750
|
relay.in.next(data);
|
|
11739
11751
|
});
|
|
11740
|
-
relay.
|
|
11752
|
+
relay.disposalEffects.push(relay.out.subscribe(`socket`, (data) => {
|
|
11741
11753
|
this.emit(userKey, ...data);
|
|
11742
11754
|
}));
|
|
11743
11755
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tempest.games",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.103",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"safegen": "0.8.3",
|
|
46
46
|
"socket.io": "4.8.3",
|
|
47
47
|
"socket.io-client": "4.8.3",
|
|
48
|
-
"atom.io": "0.46.
|
|
48
|
+
"atom.io": "0.46.11",
|
|
49
49
|
"safedeposit": "0.1.2",
|
|
50
50
|
"treetrunks": "0.1.5"
|
|
51
51
|
},
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"sass-embedded": "1.97.1",
|
|
70
70
|
"vite": "7.3.0",
|
|
71
71
|
"vitest": "4.0.16",
|
|
72
|
-
"flightdeck": "0.3.
|
|
72
|
+
"flightdeck": "0.3.31",
|
|
73
73
|
"varmint": "0.5.11"
|
|
74
74
|
},
|
|
75
75
|
"scripts": {
|