json.anubis 2.24 KB
/*
 * Created by PyramIDE.
 * User: フランスのトトロ 
 * Date: 12/12/2015
 * Time: 21:48
 * © David RENÉ
 */

read tools/basis.anubis

public define String
  lib_error_to_string
  (
    LibraryError err
  )=
  if err is
  {
    cant_load_library     then "Can't load library.",
    symbol_not_found      then "Symbol not found.",
    external_call_failed  then "External call failed.",
    unknown_error         then "Unknown error."
  }.

public define String
  to_JS_String
  (
    Library json_lib,
    String  unescaped_string
  )=
  if unescaped_string = "" then
    "''"
  else
    if extension_library_call(json_lib, "to_JS_String", serialize(unescaped_string), length(unescaped_string)+30) is
    {
      error(err) then 
        println("Can't call to_JS_String");
        println("  --> " + lib_error_to_string(err));
        "''",
      ok(ba) then to_string(ba)
    }.
    
public define String
  to_JSON_String
  (
    Library json_lib,
    String  unescaped_string
  )=
  if unescaped_string = "" then
    "\"\""
  else
    if extension_library_call(json_lib, "to_JSON_String", serialize(unescaped_string), length(unescaped_string)+30) is
    {
      error(err) then 
        println("Can't call to_JSON_String");
        println("  --> " + lib_error_to_string(err));
        "\"\"",
      ok(ba) then to_string(ba)
    }.
  
public define String
  to_CRLF_String
  (
    Library json_lib,
    String  unchecked_string
  )=
  if unchecked_string = "" then
    ""
  else
    if extension_library_call(json_lib, "to_CRLF_String", serialize(unchecked_string), length(unchecked_string)+300) is
    {
      error(err) then 
        println("Can't call to_CRLF_String");
        println("  --> " + lib_error_to_string(err));
        "\"\"",
      ok(ba) then to_string(ba)
    }.
    
public define ByteArray
  to_CRLF_ByteArray
  (
    Library json_lib,
    String  unchecked_string
  )=
  if unchecked_string = "" then
    to_byte_array("")
  else
    if extension_library_call(json_lib, "to_CRLF_String", serialize(unchecked_string), length(unchecked_string)+300) is
    {
      error(err) then 
        println("Can't call to_CRLF_String");
        println("  --> " + lib_error_to_string(err));
        to_byte_array(unchecked_string),
      ok(ba) then ba
    }.