From 1b5cb7ab5ff0b774f0cd12f9504b82dae9ae977d Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Thu, 5 Jul 2018 02:07:59 -0400 Subject: - Binary (de)serialization module. --- stdlib/source/lux/data/text/encoding.lux | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 stdlib/source/lux/data/text/encoding.lux (limited to 'stdlib/source/lux/data/text/encoding.lux') diff --git a/stdlib/source/lux/data/text/encoding.lux b/stdlib/source/lux/data/text/encoding.lux new file mode 100644 index 000000000..eb3b618c4 --- /dev/null +++ b/stdlib/source/lux/data/text/encoding.lux @@ -0,0 +1,23 @@ +(.module: + lux + (lux (data [error #+ Error]) + (world [blob #+ Blob]) + (lang ["_" host]) + [host #+ import:])) + +(`` (for {(~~ (static _.jvm)) + (as-is (def: utf8 Text "UTF-8") + + (import: java/lang/String + (new [(Array byte) String]) + (getBytes [String] (Array byte))))})) + +(def: #export (to-utf8 value) + (-> Text Blob) + (`` (for {(~~ (static _.jvm)) + (String::getBytes [..utf8] value)}))) + +(def: #export (from-utf8 value) + (-> Blob (Error Text)) + (`` (for {(~~ (static _.jvm)) + (#error.Success (String::new [value ..utf8]))}))) -- cgit v1.2.3