From 8d317ae0e3fc773609b85c35dbce15145947d0fd Mon Sep 17 00:00:00 2001 From: Joey Yakimowich-Payne Date: Sat, 15 Feb 2020 18:41:59 -0700 Subject: [PATCH] Get rid of casts --- src/frontend/categorypicker.nim | 3 ++- src/frontend/delete.nim | 3 ++- src/frontend/editbox.nim | 3 ++- src/frontend/login.nim | 3 ++- src/frontend/postbutton.nim | 5 +++-- src/frontend/profilesettings.nim | 3 ++- src/frontend/replybox.nim | 5 +++-- src/frontend/resetpassword.nim | 3 ++- src/frontend/signup.nim | 3 ++- 9 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/frontend/categorypicker.nim b/src/frontend/categorypicker.nim index 0ea771f..98adde1 100644 --- a/src/frontend/categorypicker.nim +++ b/src/frontend/categorypicker.nim @@ -1,6 +1,7 @@ when defined(js): import sugar, httpcore, options, json, strutils, algorithm import dom except Event + import jsffi except `&` include karax/prelude import karax / [kajax, kdom, vstyles, vdom] @@ -108,7 +109,7 @@ when defined(js): let form = dom.document.getElementById("add-category-form") let formData = newFormData(form) - ajaxPost(uri, @[], cast[cstring](formData), + ajaxPost(uri, @[], formData.to(cstring), (s: int, r: kstring) => onAddCategoryPost(s, r, state)) proc onClose(ev: Event, n: VNode, state: CategoryPicker) = diff --git a/src/frontend/delete.nim b/src/frontend/delete.nim index 37446e5..d5415cf 100644 --- a/src/frontend/delete.nim +++ b/src/frontend/delete.nim @@ -1,6 +1,7 @@ when defined(js): import sugar, httpcore, options, json import dom except Event + import jsffi except `&` include karax/prelude import karax / [kajax, kdom] @@ -59,7 +60,7 @@ when defined(js): formData.append("id", $state.post.id) of DeleteThread: formData.append("id", $state.thread.id) - ajaxPost(uri, @[], cast[cstring](formData), + ajaxPost(uri, @[], formData.to(cstring), (s: int, r: kstring) => onDeletePost(s, r, state)) proc onClose(ev: Event, n: VNode, state: DeleteModal) = diff --git a/src/frontend/editbox.nim b/src/frontend/editbox.nim index d461f90..61d2a1c 100644 --- a/src/frontend/editbox.nim +++ b/src/frontend/editbox.nim @@ -1,5 +1,6 @@ when defined(js): import httpcore, options, sugar, json + import jsffi except `&` include karax/prelude import karax/kajax @@ -54,7 +55,7 @@ when defined(js): formData.append("postId", $state.post.id) # TODO: Subject let uri = makeUri("/updatePost") - ajaxPost(uri, @[], cast[cstring](formData), + ajaxPost(uri, @[], formData.to(cstring), (s: int, r: kstring) => onEditPost(s, r, state)) proc render*(state: EditBox, post: Post): VNode = diff --git a/src/frontend/login.nim b/src/frontend/login.nim index c19088e..1bc9e30 100644 --- a/src/frontend/login.nim +++ b/src/frontend/login.nim @@ -1,6 +1,7 @@ when defined(js): import sugar, httpcore, options, json import dom except Event, KeyboardEvent + import jsffi except `&` include karax/prelude import karax / [kajax, kdom] @@ -30,7 +31,7 @@ when defined(js): let form = dom.document.getElementById("login-form") # TODO: This is a hack, karax should support this. let formData = newFormData(form) - ajaxPost(uri, @[], cast[cstring](formData), + ajaxPost(uri, @[], formData.to(cstring), (s: int, r: kstring) => onLogInPost(s, r, state)) proc onClose(ev: Event, n: VNode, state: LoginModal) = diff --git a/src/frontend/postbutton.nim b/src/frontend/postbutton.nim index b76f6a0..8bd9c34 100644 --- a/src/frontend/postbutton.nim +++ b/src/frontend/postbutton.nim @@ -7,6 +7,7 @@ import options, httpcore, json, sugar, sequtils, strutils when defined(js): include karax/prelude import karax/[kajax, kdom] + import jsffi except `&` import error, karaxutils, post, user, threadlist @@ -116,7 +117,7 @@ when defined(js): makeUri("/unlike") else: makeUri("/like") - ajaxPost(uri, @[], cast[cstring](formData), + ajaxPost(uri, @[], formData.to(cstring), (s: int, r: kstring) => onPost(s, r, state, post, currentUser.get())) @@ -172,7 +173,7 @@ when defined(js): makeUri("/unlock") else: makeUri("/lock") - ajaxPost(uri, @[], cast[cstring](formData), + ajaxPost(uri, @[], formData.to(cstring), (s: int, r: kstring) => onPost(s, r, state, thread)) diff --git a/src/frontend/profilesettings.nim b/src/frontend/profilesettings.nim index 56ea7b2..5c2e1eb 100644 --- a/src/frontend/profilesettings.nim +++ b/src/frontend/profilesettings.nim @@ -1,5 +1,6 @@ when defined(js): import httpcore, options, sugar, json, strutils, strformat + import jsffi except `&` include karax/prelude import karax/[kajax, kdom] @@ -68,7 +69,7 @@ when defined(js): formData.append("rank", $state.rank) formData.append("username", $state.profile.user.name) let uri = makeUri("/saveProfile") - ajaxPost(uri, @[], cast[cstring](formData), + ajaxPost(uri, @[], formData.to(cstring), (s: int, r: kstring) => onProfilePost(s, r, state)) proc needsSave(state: ProfileSettings): bool = diff --git a/src/frontend/replybox.nim b/src/frontend/replybox.nim index e386dcb..64e5864 100644 --- a/src/frontend/replybox.nim +++ b/src/frontend/replybox.nim @@ -1,5 +1,6 @@ when defined(js): import strformat, options, httpcore, json, sugar + import jsffi except `&` from dom import getElementById, scrollIntoView, setTimeout @@ -56,7 +57,7 @@ when defined(js): let formData = newFormData() formData.append("msg", state.text) let uri = makeUri("/preview") - ajaxPost(uri, @[], cast[cstring](formData), + ajaxPost(uri, @[], formData.to(cstring), (s: int, r: kstring) => onPreviewPost(s, r, state)) proc onMessageClick(e: Event, n: VNode, state: ReplyBox) = @@ -80,7 +81,7 @@ when defined(js): if replyingTo.isSome: formData.append("replyingTo", $replyingTo.get().id) let uri = makeUri("/createPost") - ajaxPost(uri, @[], cast[cstring](formData), + ajaxPost(uri, @[], formData.to(cstring), (s: int, r: kstring) => onReplyPost(s, r, state)) proc onCancelClick(e: Event, n: VNode, state: ReplyBox) = diff --git a/src/frontend/resetpassword.nim b/src/frontend/resetpassword.nim index 51b467b..d8f2446 100644 --- a/src/frontend/resetpassword.nim +++ b/src/frontend/resetpassword.nim @@ -1,6 +1,7 @@ when defined(js): import sugar, httpcore, options, json import dom except Event, KeyboardEvent + import jsffi except `&` include karax/prelude import karax / [kajax, kdom] @@ -86,7 +87,7 @@ when defined(js): let form = dom.document.getElementById("resetpassword-form") # TODO: This is a hack, karax should support this. let formData = newFormData(form) - ajaxPost(uri, @[], cast[cstring](formData), + ajaxPost(uri, @[], formData.to(cstring), (s: int, r: kstring) => onPost(s, r, state)) ev.preventDefault() diff --git a/src/frontend/signup.nim b/src/frontend/signup.nim index 6a422d6..98e330d 100644 --- a/src/frontend/signup.nim +++ b/src/frontend/signup.nim @@ -1,6 +1,7 @@ when defined(js): import sugar, httpcore, options, json import dom except Event + import jsffi except `&` include karax/prelude import karax / [kajax, kdom] @@ -28,7 +29,7 @@ when defined(js): let form = dom.document.getElementById("signup-form") # TODO: This is a hack, karax should support this. let formData = newFormData(form) - ajaxPost(uri, @[], cast[cstring](formData), + ajaxPost(uri, @[], formData.to(cstring), (s: int, r: kstring) => onSignUpPost(s, r, state)) proc onClose(ev: Event, n: VNode, state: SignupModal) =