Skip to content

Commit af5ba5e

Browse files
committed
frontend: clean up assertions
1 parent c3adcde commit af5ba5e

6 files changed

+15
-32
lines changed

frontend/ts/components/TodoList.tsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,8 @@ class TodoList extends React.Component<Props> {
4141
);
4242
};
4343
renderTodos() {
44-
if (!this.props.viewer.todos || !this.props.viewer.todos.edges) {
45-
throw new Error('assertion failed');
46-
}
47-
return this.props.viewer.todos.edges.map(edge => {
48-
const node = edge && edge.node;
49-
if (!node) throw new Error('assertion failed');
44+
return this.props.viewer.todos!.edges!.map(edge => {
45+
const node = edge!.node!;
5046
return <Todo
5147
key={node.id}
5248
todo={node}

frontend/ts/mutations/AddTodoMutation.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,7 @@ function commit(environment: Environment, text: string, user: TodoApp_viewer) {
6666
},
6767
},
6868
updater: store => {
69-
const payload = store.getRootField("addTodo")
70-
if (!payload) throw new Error("assertion failed")
69+
const payload = store.getRootField("addTodo")!
7170
const newEdge = payload.getLinkedRecord("todoEdge")
7271
sharedUpdater(store, user, newEdge)
7372
},
@@ -79,8 +78,7 @@ function commit(environment: Environment, text: string, user: TodoApp_viewer) {
7978
const newEdge = store.create("client:newEdge:" + tempID++, "TodoEdge")
8079
newEdge.setLinkedRecord(node, "node")
8180
sharedUpdater(store, user, newEdge)
82-
const userProxy = store.get(user.id)
83-
if (!userProxy) throw new Error("assertion failed")
81+
const userProxy = store.get(user.id)!
8482
userProxy.setValue(
8583
(userProxy.getValue("totalCount") as number) + 1,
8684
"totalCount",

frontend/ts/mutations/ChangeTodoStatusMutation.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ function sharedUpdater(
4343
) {
4444
// In principle this could add to the active connection, but such an
4545
// interaction is not possible from the front end.
46-
const userProxy = store.get(user.id);
47-
if (!userProxy) throw new Error("assertion failed")
46+
const userProxy = store.get(user.id)!;
4847
const status = todoProxy.getValue('complete') ? 'active' : 'completed';
4948
const connection = ConnectionHandler.getConnection(
5049
userProxy,
@@ -93,8 +92,7 @@ function commit(
9392
input: { complete, id: todo.id },
9493
},
9594
updater: store => {
96-
const payload = store.getRootField("changeTodoStatus")
97-
if (!payload) throw new Error("assertion failed")
95+
const payload = store.getRootField("changeTodoStatus")!
9896
sharedUpdater(store, user, payload.getLinkedRecord("todo"))
9997
},
10098
optimisticResponse: getOptimisticResponse(complete, todo, user),

frontend/ts/mutations/MarkAllTodosMutation.ts

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,12 @@ function commit(
5858
},
5959

6060
updater: store => {
61-
const userProxy = store.get(user.id);
62-
if (!userProxy) throw new Error("assertion failed")
61+
const userProxy = store.get(user.id)!;
6362
const connection = ConnectionHandler.getConnection(
6463
userProxy,
6564
'TodoList_todos',
6665
{ status },
67-
);
68-
if (!connection) throw new Error("assertion failed")
66+
)!;
6967
const todoEdges = store
7068
.getRootField('markAllTodos')
7169
.getLinkedRecord('viewer')
@@ -75,14 +73,12 @@ function commit(
7573
},
7674

7775
optimisticUpdater(store) {
78-
const userProxy = store.get(user.id);
79-
if (!userProxy) throw new Error("assertion failed")
76+
const userProxy = store.get(user.id)!;
8077
const connection = ConnectionHandler.getConnection(
8178
userProxy,
8279
'TodoList_todos',
8380
{ status },
84-
);
85-
if (!connection) throw new Error("assertion failed")
81+
)!;
8682

8783
if (
8884
(complete && status === 'active') ||

frontend/ts/mutations/RemoveCompletedTodosMutation.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,20 +60,18 @@ function commit(
6060
input: {},
6161
},
6262
updater: store => {
63-
const payload = store.getRootField("removeCompletedTodos")
64-
if (!payload) throw new Error("assertion failed")
63+
const payload = store.getRootField("removeCompletedTodos")!
6564
sharedUpdater(store, user, payload.getValue("deletedTodoIds") as string[])
6665
},
6766
optimisticUpdater: store => {
68-
const userProxy = store.get(user.id)
67+
const userProxy = store.get(user.id)!
6968
let deletedIDs
7069
if (todos && todos.edges) {
7170
deletedIDs = todos.edges
7271
.filter(edge => edge && edge.node && edge.node.complete)
7372
.map(edge => (edge && edge.node && edge.node.id) as string)
7473
sharedUpdater(store, user, deletedIDs)
7574
}
76-
if (!userProxy) throw new Error("assertion failed")
7775
const numTodos = (userProxy.getValue('numTodos') as number);
7876
if (deletedIDs) {
7977
userProxy.setValue(numTodos - deletedIDs.length, 'numTodos');

frontend/ts/mutations/RemoveTodoMutation.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ function sharedUpdater(
3838
user: Todo_viewer,
3939
deletedID: string,
4040
) {
41-
const userProxy = store.get(user.id)
42-
if (!userProxy) throw new Error("assertion failed");
41+
const userProxy = store.get(user.id)!;
4342
['any', 'active', 'completed'].forEach((status) => {
4443
const conn = ConnectionHandler.getConnection(userProxy, "TodoList_todos", { status })
4544
if (conn) {
@@ -55,15 +54,13 @@ function commit(environment: Environment, todo: Todo_todo, user: Todo_viewer) {
5554
input: { id: todo.id },
5655
},
5756
updater: store => {
58-
const payload = store.getRootField("removeTodo")
59-
if (!payload) throw new Error("assertion failed")
57+
const payload = store.getRootField("removeTodo")!
6058
sharedUpdater(store, user, payload.getValue("deletedTodoId") as string)
6159
},
6260
optimisticUpdater: store => {
6361
sharedUpdater(store, user, todo.id)
6462

65-
const userProxy = store.get(user.id)
66-
if (!userProxy) throw new Error("assertion failed")
63+
const userProxy = store.get(user.id)!
6764
const numTodos = userProxy.getValue('numTodos')
6865
if (numTodos != null) {
6966
userProxy.setValue((numTodos as number) - 1, 'numTodos')

0 commit comments

Comments
 (0)