MCPcopy
hub / github.com/tinyplex/tinybase / setContent

Function setContent

test/unit/core/other/checkpoints.test.ts:12–83  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

10let checkpoints: Checkpoints;
11
12const setContent = () => {
13 const getState = (first?: boolean): [Id, Tables, Values] => [
14 first
15 ? (checkpoints.getCheckpointIds()[1] as Id)
16 : checkpoints.addCheckpoint(),
17 store.getTables(),
18 store.getValues(),
19 ];
20 const listener = createCheckpointsListener(checkpoints);
21 const listenerId = listener.listenToCheckpoints('setContent');
22 const c0 = getState(true);
23
24 store.setTables({t1: {r1: {c1: 1}}}).setValues({v1: 1});
25 expect(checkpoints.getCheckpointIds()).toEqual([[c0[0]], undefined, []]);
26 expectChanges(listener, 'setContent', [[c0[0]], undefined, []]);
27 store.setCell('t1', 'r1', 'c2', 2);
28 store.delCell('t1', 'r1', 'c1');
29 store.setCell('t1', 'r1', 'c2', '2');
30 store.setValue('v2', 2);
31 store.delValue('v1');
32 store.setValue('v2', '2');
33 const c1 = getState();
34
35 expectChanges(listener, 'setContent', [[c0[0]], c1[0], []]);
36 store.setRow('t1', 'r1', {c1: '1'});
37 expectChanges(listener, 'setContent', [[c0[0], c1[0]], undefined, []]);
38 store.delRow('t1', 'r1');
39 store.setRow('t1', 'r1', {c2: 2});
40 store.setRow('t1', 'r1', {c1: 1});
41 store.setPartialRow('t1', 'r1', {c2: 2});
42 store.addRow('t2', {c2: 2});
43 store.delValues();
44 store.setValues({v3: 3});
45 store.setPartialValues({v4: 4});
46 const c2 = getState();
47
48 expectChanges(listener, 'setContent', [[c0[0], c1[0]], c2[0], []]);
49 store.setTable('t1', {r1: {c1: 1}});
50 expectChanges(listener, 'setContent', [[c0[0], c1[0], c2[0]], undefined, []]);
51 store.delTable('t1');
52 store.setTable('t1', {r1: {c1: 1}});
53 store.setTable('t1', {r2: {c2: 1}});
54 store.setTable('t2', {r2: {c2: 2}});
55 const c3 = getState();
56
57 expectChanges(listener, 'setContent', [[c0[0], c1[0], c2[0]], c3[0], []]);
58 store.setTables({t1: {r1: {c1: 1}}});
59 expectChanges(listener, 'setContent', [
60 [c0[0], c1[0], c2[0], c3[0]],
61 undefined,
62 [],
63 ]);
64 store.delTables();
65 store.setTables({t1: {r1: {c1: 1}}});
66 store.setTables({t2: {r2: {c2: 2}}});
67 const c4 = getState();
68
69 expectChanges(listener, 'setContent', [

Callers 1

Calls 15

expectChangesFunction · 0.90
expectNoChangesFunction · 0.90
getStateFunction · 0.85
setValuesMethod · 0.65
setTablesMethod · 0.65
getCheckpointIdsMethod · 0.65
setCellMethod · 0.65
delCellMethod · 0.65
setValueMethod · 0.65
delValueMethod · 0.65
setRowMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…