aboutsummaryrefslogtreecommitdiff
path: root/lib/base64/init.nom
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2019-03-20 15:55:57 -0700
committerBruce Hill <bruce@bruce-hill.com>2019-03-20 15:55:57 -0700
commite665d9725c4bb02f4c18d16527367f424cb880fa (patch)
treeaed161ee6b338c2bad2312591f746459414ccafa /lib/base64/init.nom
parent606fd090002f3d545cbd58440e96624907846f45 (diff)
Auto-updated to 7.0.0 syntax and removed some shims.
Diffstat (limited to 'lib/base64/init.nom')
-rw-r--r--lib/base64/init.nom21
1 files changed, 11 insertions, 10 deletions
diff --git a/lib/base64/init.nom b/lib/base64/init.nom
index 5257519..9028c99 100644
--- a/lib/base64/init.nom
+++ b/lib/base64/init.nom
@@ -1,16 +1,17 @@
-#!/usr/bin/env nomsu -V6.15.13.8
-#
+#!/usr/bin/env nomsu -V7.0.0
+
+###
This file defines actions for encoding/decoding base 64, as specified in:
https://tools.ietf.org/html/rfc4648
$b64_str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
-$b64_chars = [: for $ in 1 to (#$b64_str): add ($b64_str, character $)]
-$reverse_b64 = {: for $c in $b64_chars at $i: add $c = ($i - 1)}
+$b64_chars = [: for $ in (1 to #$b64_str): add ($b64_str, character $)]
+$reverse_b64 = {: for ($i = $c) in $b64_chars: add $c = ($i - 1)}
$reverse_b64."=" = 64
-set $reverse_b64's metatable to {.__index = (-> 0)}
+set $reverse_b64's metatable to {.__index = ->0}
test:
$cases = ["", "Zg==", "Zm8=", "Zm9v", "Zm9vYg==", "Zm9vYmE=", "Zm9vYmFy"]
- for $len = $encoded in $cases:
+ for ($len = $encoded) in $cases:
$plain = ("foobar", from 1 to ($len - 1))
assume (base64 $plain) == $encoded
assume (base64 decode $encoded) == $plain
@@ -18,10 +19,10 @@ test:
external:
[base64 $str, base64 encode $str, $str base64] all mean:
$chars = []
- for $i in 1 to (#$str) via 3:
+ for $i in (1 to #$str by 3):
$bytes = [=lua "\$str:byte(\$i, \($i + 2))"]
$chars, add $b64_chars.((($bytes.1 & 252) >> 2) + 1)
- if (#$bytes) is:
+ if #$bytes is:
3:
$chars, add $b64_chars.((($bytes.1 & 3) << 4) + (($bytes.2 & 240) >> 4) + 1)
$chars, add $b64_chars.((($bytes.2 & 15) << 2) + (($bytes.3 & 192) >> 6) + 1)
@@ -40,8 +41,8 @@ external:
(chr $) means (=lua "string.char(\$)")
[decode base64 $str, $str base64 decoded, base64 decode $str] all mean:
$chars = []
- for $i in 1 to (#$str) via 4:
- $indices = [: for $j in $i to ($i + 3): add $reverse_b64.($str, character $j)]
+ for $i in (1 to #$str by 4):
+ $indices = [: for $j in ($i to ($i + 3)): add $reverse_b64.($str, character $j)]
$chars, add (chr (($indices.1 << 2) + (($indices.2 & 48) >> 4)))
if (($str, character ($i + 2)) == "="): stop
$chars, add (chr ((($indices.2 & 15) << 4) + (($indices.3 & 60) >> 2)))