fix for newest carp

This commit is contained in:
2021-09-16 13:06:57 +02:00
parent 34047b573f
commit cd72fda37d

View File

@@ -5,12 +5,12 @@
(Str [String]) (Str [String])
(Err [String]) (Err [String])
(Integer [Int]) (Integer [Int])
;(Arr [(Array &Resp)]) ;(Arr [(Array &RESP)])
(Arr [(Array String)]) (Arr [(Array String)])
) )
(defmodule RESP (defmodule RESP
(use-all Array Int Maybe Pattern Result) (use-all Array Maybe Pattern Result)
(hidden c) (hidden c)
(private c) (private c)
@@ -19,10 +19,10 @@
(defn str [r] (defn str [r]
(match @r (match @r
(Null) @"$-1\r\n" (Null) @"$-1\r\n"
(Str s) (fmt "$%d\r\n%s\r\n" (length &s) &s) (Str s) (fmt "$%d\r\n%s\r\n" (String.length &s) &s)
(Err s) (fmt "-%s\r\n" &s) (Err s) (fmt "-%s\r\n" &s)
(Integer i) (fmt ":%d\r\n" i) (Integer i) (fmt ":%d\r\n" i)
(Arr a) (fmt "*%d\r\n%s" (length &a) &(concat &a)))) (Arr a) (fmt "*%d\r\n%s" (Array.length &a) &(String.concat &a))))
(hidden decode-bulk-string) (hidden decode-bulk-string)
(private decode-bulk-string) (private decode-bulk-string)
@@ -32,8 +32,8 @@
(let [splt (split #"\r\n" s) (let [splt (split #"\r\n" s)
l (unsafe-first &splt)] l (unsafe-first &splt)]
(match (from-string l) (match (from-string l)
(Maybe.Nothing) (Error @"Error decoding bulk string: does not start with length!") (Nothing) (Error @"Error decoding bulk string: does not start with length!")
(Maybe.Just il) (Just il)
(Success (Str (Success (Str
(String.prefix &(join "\r\n" &(suffix &splt 1)) il))))))) (String.prefix &(join "\r\n" &(suffix &splt 1)) il)))))))
@@ -48,7 +48,7 @@
(break) (break)
(do (do
(set! consumed (inc consumed)) (set! consumed (inc consumed))
(set! clen (+ 2 (+ clen (length el)))))))) (set! clen (+ 2 (+ clen (String.length el))))))))
consumed)) consumed))
(hidden decode-arr) (hidden decode-arr)
@@ -59,9 +59,9 @@
(let [splt (split #"\r\n" &(chomp s)) (let [splt (split #"\r\n" &(chomp s))
sl (unsafe-first &splt)] sl (unsafe-first &splt)]
(match (from-string sl) (match (from-string sl)
(Maybe.Nothing) (Nothing)
(Error @"Error decoding array: does not start with length!") (Error @"Error decoding array: does not start with length!")
(Maybe.Just l) (Just l)
(let-do [a (Array.allocate l) (let-do [a (Array.allocate l)
idx 0 idx 0
err ""] err ""]