/* * Created by PyramIDE. * User: フランスのトトロ * Date: 18/04/2015 * Time: 23:21 * © David RENÉ */ read tools/basis.anubis read calexium_lib/web/CXM_json.anubis transmit calexium_lib/extensions/json.anubis define List(Word8) make_JS_String ( List(Word8) current, List(Word8) so_far ) = if current is { [ ] then reverse(so_far), [h . t] then make_JS_String(t, if h = '\'' then [ h, '\\' . so_far] //single quote else if h = '\"' then [ h, '\\' . so_far] else if h = '\r' then ['r', '\\' . so_far] //CR else if h = '\n' then ['n', '\\' . so_far] //LF else if h = '\t' then ['t', '\\' . so_far] //tab else if h = 0x08 then ['b', '\\' . so_far] //Backspace else [h . so_far] ) }. /** * Convert a string into certified javascript string (I hope) */ public define String make_JS_String ( String str ) = implode(make_JS_String(explode(str), [])). public define String to_JS_String ( String str ) = //try to use adl version of json escape string if load_library("json") is { error(err) then "'" + make_JS_String(str) + "'" ok(json_lib) then to_JS_String(json_lib, str) }. public define String format_js_function_call ( String name, List(String) args ) = name + "(" + concat(args, ",") + ");".