Skip to content

Commit 63975fd

Browse files
fix(proxy-state-tree): remove experimental revertable logic
1 parent c7bf63d commit 63975fd

File tree

4 files changed

+2
-89
lines changed

4 files changed

+2
-89
lines changed

packages/node_modules/overmind/src/index.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -505,15 +505,6 @@ export class Overmind<ThisConfig extends IConfiguration>
505505
execution,
506506
proxyStateTree: this.proxyStateTree,
507507
effects: this.trackEffects(this.effects, execution),
508-
revertable: (cb: () => void) => {
509-
const mutations: IMutation[] = []
510-
const dispose = this.addMutationListener((mutation) => {
511-
mutations.unshift(mutation)
512-
})
513-
cb()
514-
dispose()
515-
return () => mutations.forEach((mutation) => mutation.revert())
516-
},
517508
}
518509
}
519510
private scopeValue(value: any, tree: TTree) {

packages/node_modules/proxy-state-tree/src/Proxyfier.ts

Lines changed: 1 addition & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -23,50 +23,6 @@ const getValue = (proxyOrValue) =>
2323

2424
const isClass = (value) => typeof value === 'object' && value !== null && !Array.isArray(value) && value.constructor.name !== 'Object' && Object.isExtensible(value)
2525

26-
const getArrayMutationRevert = (method: string, target: any[], args: any[]) => {
27-
switch (method) {
28-
case 'push': {
29-
return () => {
30-
target.splice(target.indexOf(args[0]), 1)
31-
}
32-
}
33-
case 'shift': {
34-
const value = target[0]
35-
return () => {
36-
target.unshift(value)
37-
}
38-
}
39-
case 'pop': {
40-
const index = target.length - 1
41-
const value = target[index]
42-
43-
return () => {
44-
target.splice(index, 1, value)
45-
}
46-
}
47-
case 'unshift': {
48-
return () => {
49-
target.splice(target.indexOf(args[0]), 1)
50-
}
51-
}
52-
case 'splice': {
53-
const removedValues = target.slice(args[0], args[1])
54-
const addedValues = args.slice(2)
55-
return () =>
56-
target.splice(args[0], args[1] + addedValues.length, ...removedValues)
57-
}
58-
case 'reverse': {
59-
return () => target.reverse()
60-
}
61-
case 'sort': {
62-
return () => target.sort((a, b) => -1 * args[0](a, b))
63-
}
64-
case 'copyWithin': {
65-
return () => target
66-
}
67-
}
68-
}
69-
7026
export class Proxifier {
7127
CACHED_PROXY = Symbol('CACHED_PROXY')
7228
delimiter: string
@@ -217,7 +173,6 @@ export class Proxifier {
217173
delimiter: proxifier.delimiter,
218174
args: args,
219175
hasChangedValue: true,
220-
revert: getArrayMutationRevert(method, proxy, args),
221176
})
222177

223178
return result
@@ -248,13 +203,6 @@ export class Proxifier {
248203
args: [value],
249204
delimiter: proxifier.delimiter,
250205
hasChangedValue: true,
251-
revert: () => {
252-
if (existingValue === undefined) {
253-
delete proxy[prop]
254-
} else {
255-
proxy[prop] = existingValue
256-
}
257-
},
258206
})
259207

260208
return result
@@ -372,14 +320,7 @@ export class Proxifier {
372320
path: nestedPath,
373321
args: [value],
374322
delimiter: proxifier.delimiter,
375-
hasChangedValue,
376-
revert: () => {
377-
if (existingValue === undefined) {
378-
delete proxy[prop]
379-
} else {
380-
proxy[prop] = existingValue
381-
}
382-
},
323+
hasChangedValue
383324
},
384325
objectChangePath
385326
)
@@ -409,9 +350,6 @@ export class Proxifier {
409350
args: [],
410351
delimiter: proxifier.delimiter,
411352
hasChangedValue: true,
412-
revert: () => {
413-
proxy[prop] = existingValue
414-
},
415353
},
416354
objectChangePath
417355
)

packages/node_modules/proxy-state-tree/src/index.test.ts

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ describe('TrackStateAccessTree', () => {
6161
args: ['bar2'],
6262
hasChangedValue: true,
6363
delimiter: '.',
64-
revert: mutation.revert,
6564
})
6665
})
6766

@@ -240,7 +239,6 @@ describe('CLASSES', () => {
240239
args: ['bar'],
241240
hasChangedValue: true,
242241
delimiter: '.',
243-
revert: mutationTree.mutations[0].revert,
244242
},
245243
])
246244
expect(renderCount).toBe(0)
@@ -262,7 +260,6 @@ describe('CLASSES', () => {
262260
args: ['bar2'],
263261
hasChangedValue: true,
264262
delimiter: '.',
265-
revert: mutationTree.mutations[0].revert,
266263
},
267264
])
268265
expect(mutationTree.state.user.name).toBe('bar2')
@@ -286,7 +283,6 @@ describe('CLASSES', () => {
286283
args: ['bar2'],
287284
hasChangedValue: true,
288285
delimiter: ' ',
289-
revert: mutationTree.mutations[0].revert,
290286
},
291287
])
292288
expect(mutationTree.state.user.name).toBe('bar2')
@@ -313,7 +309,6 @@ describe('CLASSES', () => {
313309
args: ['Bob2'],
314310
hasChangedValue: true,
315311
delimiter: '.',
316-
revert: mutationTree.mutations[0].revert,
317312
},
318313
])
319314
expect(mutationTree.state.user.name).toBe('Bob2')
@@ -403,7 +398,7 @@ describe('OBJECTS', () => {
403398
args: ['bar'],
404399
hasChangedValue: false,
405400
delimiter: '.',
406-
revert: mutationTree.mutations[0].revert,
401+
407402
},
408403
])
409404
expect(renderCount).toBe(0)
@@ -422,7 +417,6 @@ describe('OBJECTS', () => {
422417
args: ['bar2'],
423418
hasChangedValue: true,
424419
delimiter: '.',
425-
revert: mutationTree.mutations[0].revert,
426420
},
427421
])
428422
expect(mutationTree.state.foo).toBe('bar2')
@@ -443,7 +437,6 @@ describe('OBJECTS', () => {
443437
args: [],
444438
hasChangedValue: true,
445439
delimiter: '.',
446-
revert: mutationTree.mutations[0].revert,
447440
},
448441
])
449442
expect(mutationTree.state.foo).toBe(undefined)
@@ -626,7 +619,6 @@ describe('ARRAYS', () => {
626619
args: ['bar'],
627620
hasChangedValue: true,
628621
delimiter: '.',
629-
revert: mutationTree.mutations[0].revert,
630622
},
631623
])
632624

@@ -647,7 +639,6 @@ describe('ARRAYS', () => {
647639
args: [],
648640
hasChangedValue: true,
649641
delimiter: '.',
650-
revert: mutationTree.mutations[0].revert,
651642
},
652643
])
653644

@@ -669,7 +660,6 @@ describe('ARRAYS', () => {
669660
args: [],
670661
hasChangedValue: true,
671662
delimiter: '.',
672-
revert: mutationTree.mutations[0].revert,
673663
},
674664
])
675665

@@ -690,7 +680,6 @@ describe('ARRAYS', () => {
690680
args: ['foo'],
691681
hasChangedValue: true,
692682
delimiter: '.',
693-
revert: mutationTree.mutations[0].revert,
694683
},
695684
])
696685

@@ -711,7 +700,6 @@ describe('ARRAYS', () => {
711700
args: [0, 1, 'bar'],
712701
hasChangedValue: true,
713702
delimiter: '.',
714-
revert: mutationTree.mutations[0].revert,
715703
},
716704
])
717705

@@ -844,7 +832,6 @@ describe('REACTIONS', () => {
844832
args: ['bar2'],
845833
hasChangedValue: true,
846834
delimiter: '.',
847-
revert: mutation.revert,
848835
})
849836
})
850837

@@ -952,15 +939,13 @@ describe('REACTIONS', () => {
952939
args: ['bar2'],
953940
hasChangedValue: true,
954941
delimiter: '.',
955-
revert: flushResult.mutations[0].revert,
956942
},
957943
{
958944
path: 'foo',
959945
method: 'set',
960946
args: ['bar3'],
961947
hasChangedValue: true,
962948
delimiter: '.',
963-
revert: flushResult.mutations[1].revert,
964949
},
965950
],
966951
})

packages/node_modules/proxy-state-tree/src/types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ export interface IMutation {
99
path: string
1010
args: any[]
1111
hasChangedValue: boolean
12-
revert: () => void
1312
}
1413

1514
export interface IMutationCallback {

0 commit comments

Comments
 (0)