atom.io 0.24.1 → 0.24.2
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/dist/index.d.ts
CHANGED
|
@@ -204,6 +204,9 @@ type MoleculeTransactors<K extends Json.Serializable> = Flat$1<Omit<TransactorsW
|
|
|
204
204
|
bond<T>(family: ReadonlySelectorFamilyToken$1<T, K>): ReadonlySelectorToken$1<T>;
|
|
205
205
|
bond<T>(family: WritableFamilyToken$1<T, K>): WritableToken$1<T>;
|
|
206
206
|
bond<T>(family: ReadableFamilyToken$1<T, K>): ReadableToken$1<T>;
|
|
207
|
+
claim(below: MoleculeToken<any>, options: {
|
|
208
|
+
exclusive: boolean;
|
|
209
|
+
}): any;
|
|
207
210
|
join(joinToken: JoinToken<any, any, any, any>): void;
|
|
208
211
|
spawn<Key extends Json.Serializable, Ctor extends MoleculeConstructor>(family: MoleculeFamilyToken<Ctor>, key: Key, ...params: MoleculeParams<Ctor>): MoleculeToken<Ctor>;
|
|
209
212
|
}>;
|
package/internal/dist/index.cjs
CHANGED
|
@@ -1136,6 +1136,23 @@ function makeMoleculeInStore(store, context, familyToken, key, ...params) {
|
|
|
1136
1136
|
withdraw(f, store),
|
|
1137
1137
|
newest(store)
|
|
1138
1138
|
),
|
|
1139
|
+
claim: (below, options) => {
|
|
1140
|
+
const { exclusive } = options;
|
|
1141
|
+
const belowMolecule = newest(store).molecules.get(json.stringifyJson(below.key));
|
|
1142
|
+
if (belowMolecule) {
|
|
1143
|
+
if (exclusive) {
|
|
1144
|
+
for (const value of belowMolecule.above.values()) {
|
|
1145
|
+
value.below.delete(belowMolecule.stringKey);
|
|
1146
|
+
}
|
|
1147
|
+
belowMolecule.above.clear();
|
|
1148
|
+
belowMolecule.above.set(molecule.stringKey, molecule);
|
|
1149
|
+
molecule.below.set(belowMolecule.stringKey, belowMolecule);
|
|
1150
|
+
} else {
|
|
1151
|
+
belowMolecule.above.set(molecule.stringKey, molecule);
|
|
1152
|
+
molecule.below.set(belowMolecule.stringKey, belowMolecule);
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1155
|
+
},
|
|
1139
1156
|
join: (joinToken) => {
|
|
1140
1157
|
const join = data.getJoin(joinToken, store);
|
|
1141
1158
|
join.molecules.set(json.stringifyJson(key), molecule);
|
|
@@ -1540,6 +1557,20 @@ function disposeMolecule(token, store) {
|
|
|
1540
1557
|
return;
|
|
1541
1558
|
}
|
|
1542
1559
|
const { family } = token;
|
|
1560
|
+
for (const state of molecule.tokens.values()) {
|
|
1561
|
+
disposeFromStore(state, store);
|
|
1562
|
+
}
|
|
1563
|
+
for (const child of molecule.below.values()) {
|
|
1564
|
+
if (((_a = child.family) == null ? void 0 : _a.dependsOn) === `all`) {
|
|
1565
|
+
disposeMolecule(child, store);
|
|
1566
|
+
} else {
|
|
1567
|
+
child.above.delete(molecule.stringKey);
|
|
1568
|
+
if (child.above.size === 0) {
|
|
1569
|
+
disposeMolecule(child, store);
|
|
1570
|
+
}
|
|
1571
|
+
}
|
|
1572
|
+
}
|
|
1573
|
+
molecule.below.clear();
|
|
1543
1574
|
if (family) {
|
|
1544
1575
|
const Formula = withdraw(family, store);
|
|
1545
1576
|
const disposalEvent = {
|
|
@@ -1563,19 +1594,6 @@ function disposeMolecule(token, store) {
|
|
|
1563
1594
|
}
|
|
1564
1595
|
store.molecules.delete(molecule.stringKey);
|
|
1565
1596
|
}
|
|
1566
|
-
for (const state of molecule.tokens.values()) {
|
|
1567
|
-
disposeFromStore(state, store);
|
|
1568
|
-
}
|
|
1569
|
-
for (const child of molecule.below.values()) {
|
|
1570
|
-
if (((_a = child.family) == null ? void 0 : _a.dependsOn) === `all`) {
|
|
1571
|
-
disposeMolecule(child, store);
|
|
1572
|
-
} else {
|
|
1573
|
-
child.above.delete(molecule.stringKey);
|
|
1574
|
-
if (child.above.size === 0) {
|
|
1575
|
-
disposeMolecule(child, store);
|
|
1576
|
-
}
|
|
1577
|
-
}
|
|
1578
|
-
}
|
|
1579
1597
|
for (const join of molecule.joins.values()) {
|
|
1580
1598
|
join.molecules.delete(molecule.stringKey);
|
|
1581
1599
|
}
|
package/internal/dist/index.js
CHANGED
|
@@ -858,6 +858,23 @@ function makeMoleculeInStore(store, context, familyToken, key, ...params) {
|
|
|
858
858
|
withdraw(f, store),
|
|
859
859
|
newest(store)
|
|
860
860
|
),
|
|
861
|
+
claim: (below, options) => {
|
|
862
|
+
const { exclusive } = options;
|
|
863
|
+
const belowMolecule = newest(store).molecules.get(stringifyJson(below.key));
|
|
864
|
+
if (belowMolecule) {
|
|
865
|
+
if (exclusive) {
|
|
866
|
+
for (const value of belowMolecule.above.values()) {
|
|
867
|
+
value.below.delete(belowMolecule.stringKey);
|
|
868
|
+
}
|
|
869
|
+
belowMolecule.above.clear();
|
|
870
|
+
belowMolecule.above.set(molecule.stringKey, molecule);
|
|
871
|
+
molecule.below.set(belowMolecule.stringKey, belowMolecule);
|
|
872
|
+
} else {
|
|
873
|
+
belowMolecule.above.set(molecule.stringKey, molecule);
|
|
874
|
+
molecule.below.set(belowMolecule.stringKey, belowMolecule);
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
},
|
|
861
878
|
join: (joinToken) => {
|
|
862
879
|
const join = getJoin(joinToken, store);
|
|
863
880
|
join.molecules.set(stringifyJson(key), molecule);
|
|
@@ -1262,6 +1279,20 @@ function disposeMolecule(token, store) {
|
|
|
1262
1279
|
return;
|
|
1263
1280
|
}
|
|
1264
1281
|
const { family } = token;
|
|
1282
|
+
for (const state of molecule.tokens.values()) {
|
|
1283
|
+
disposeFromStore(state, store);
|
|
1284
|
+
}
|
|
1285
|
+
for (const child of molecule.below.values()) {
|
|
1286
|
+
if (((_a = child.family) == null ? void 0 : _a.dependsOn) === `all`) {
|
|
1287
|
+
disposeMolecule(child, store);
|
|
1288
|
+
} else {
|
|
1289
|
+
child.above.delete(molecule.stringKey);
|
|
1290
|
+
if (child.above.size === 0) {
|
|
1291
|
+
disposeMolecule(child, store);
|
|
1292
|
+
}
|
|
1293
|
+
}
|
|
1294
|
+
}
|
|
1295
|
+
molecule.below.clear();
|
|
1265
1296
|
if (family) {
|
|
1266
1297
|
const Formula = withdraw(family, store);
|
|
1267
1298
|
const disposalEvent = {
|
|
@@ -1285,19 +1316,6 @@ function disposeMolecule(token, store) {
|
|
|
1285
1316
|
}
|
|
1286
1317
|
store.molecules.delete(molecule.stringKey);
|
|
1287
1318
|
}
|
|
1288
|
-
for (const state of molecule.tokens.values()) {
|
|
1289
|
-
disposeFromStore(state, store);
|
|
1290
|
-
}
|
|
1291
|
-
for (const child of molecule.below.values()) {
|
|
1292
|
-
if (((_a = child.family) == null ? void 0 : _a.dependsOn) === `all`) {
|
|
1293
|
-
disposeMolecule(child, store);
|
|
1294
|
-
} else {
|
|
1295
|
-
child.above.delete(molecule.stringKey);
|
|
1296
|
-
if (child.above.size === 0) {
|
|
1297
|
-
disposeMolecule(child, store);
|
|
1298
|
-
}
|
|
1299
|
-
}
|
|
1300
|
-
}
|
|
1301
1319
|
for (const join of molecule.joins.values()) {
|
|
1302
1320
|
join.molecules.delete(molecule.stringKey);
|
|
1303
1321
|
}
|
|
@@ -30,6 +30,21 @@ export function disposeMolecule<M extends MoleculeConstructor>(
|
|
|
30
30
|
return
|
|
31
31
|
}
|
|
32
32
|
const { family } = token
|
|
33
|
+
|
|
34
|
+
for (const state of molecule.tokens.values()) {
|
|
35
|
+
disposeFromStore(state, store)
|
|
36
|
+
}
|
|
37
|
+
for (const child of molecule.below.values()) {
|
|
38
|
+
if (child.family?.dependsOn === `all`) {
|
|
39
|
+
disposeMolecule(child, store)
|
|
40
|
+
} else {
|
|
41
|
+
child.above.delete(molecule.stringKey)
|
|
42
|
+
if (child.above.size === 0) {
|
|
43
|
+
disposeMolecule(child, store)
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
molecule.below.clear()
|
|
33
48
|
if (family) {
|
|
34
49
|
const Formula = withdraw(family, store)
|
|
35
50
|
const disposalEvent: MoleculeDisposal = {
|
|
@@ -54,19 +69,6 @@ export function disposeMolecule<M extends MoleculeConstructor>(
|
|
|
54
69
|
store.molecules.delete(molecule.stringKey)
|
|
55
70
|
}
|
|
56
71
|
|
|
57
|
-
for (const state of molecule.tokens.values()) {
|
|
58
|
-
disposeFromStore(state, store)
|
|
59
|
-
}
|
|
60
|
-
for (const child of molecule.below.values()) {
|
|
61
|
-
if (child.family?.dependsOn === `all`) {
|
|
62
|
-
disposeMolecule(child, store)
|
|
63
|
-
} else {
|
|
64
|
-
child.above.delete(molecule.stringKey)
|
|
65
|
-
if (child.above.size === 0) {
|
|
66
|
-
disposeMolecule(child, store)
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
72
|
for (const join of molecule.joins.values()) {
|
|
71
73
|
join.molecules.delete(molecule.stringKey)
|
|
72
74
|
}
|
|
@@ -84,6 +84,23 @@ export function makeMoleculeInStore<M extends MoleculeConstructor>(
|
|
|
84
84
|
withdraw(f, store),
|
|
85
85
|
newest(store),
|
|
86
86
|
)) as MoleculeTransactors<MK<M>>[`bond`],
|
|
87
|
+
claim: (below, options) => {
|
|
88
|
+
const { exclusive } = options
|
|
89
|
+
const belowMolecule = newest(store).molecules.get(stringifyJson(below.key))
|
|
90
|
+
if (belowMolecule) {
|
|
91
|
+
if (exclusive) {
|
|
92
|
+
for (const value of belowMolecule.above.values()) {
|
|
93
|
+
value.below.delete(belowMolecule.stringKey)
|
|
94
|
+
}
|
|
95
|
+
belowMolecule.above.clear()
|
|
96
|
+
belowMolecule.above.set(molecule.stringKey, molecule)
|
|
97
|
+
molecule.below.set(belowMolecule.stringKey, belowMolecule)
|
|
98
|
+
} else {
|
|
99
|
+
belowMolecule.above.set(molecule.stringKey, molecule)
|
|
100
|
+
molecule.below.set(belowMolecule.stringKey, belowMolecule)
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
},
|
|
87
104
|
join: (joinToken: JoinToken<any, any, any, any>) => {
|
|
88
105
|
const join = getJoin(joinToken, store)
|
|
89
106
|
join.molecules.set(stringifyJson(key), molecule)
|
package/package.json
CHANGED
package/src/molecule.ts
CHANGED
|
@@ -37,6 +37,8 @@ export type MoleculeTransactors<K extends Json.Serializable> = Flat<
|
|
|
37
37
|
bond<T>(family: WritableFamilyToken<T, K>): WritableToken<T>
|
|
38
38
|
bond<T>(family: ReadableFamilyToken<T, K>): ReadableToken<T>
|
|
39
39
|
|
|
40
|
+
claim(below: MoleculeToken<any>, options: { exclusive: boolean })
|
|
41
|
+
|
|
40
42
|
join(joinToken: JoinToken<any, any, any, any>): void
|
|
41
43
|
|
|
42
44
|
spawn<Key extends Json.Serializable, Ctor extends MoleculeConstructor>(
|