/* * Created by PyramIDE. * User: フランスのトトロ aka (David RENÉ) * Date: 02/04/2020 * Time: 16:34 * © David RENÉ */ transmit calexium_lib/generic/types/session.anubis public define Var(List(Session_Field)) empty_fields_list = var([]). public define Session_Field session_field ( String _field_name, String _string )= session_field(_field_name, string_t, var(string(_string))) . public define Var(List(Session_Field)) to_Session_Field ( List(Session_Field_No_Var) fields )= var(map((Session_Field_No_Var field) |-> with datum = if field.field_datum is{ string(v) then string(v), bool(v) then bool(v), int(v) then int(v), db_id(v) then db_id(v), message(v) then message(v), byte_array(v) then byte_array(v), float(v) then float(v), word128(v) then word128(v), word64(v) then word64(v), word32(v) then word32(v), word16(v) then word16(v), word8(v) then word8(v), word4(v) then word4(v), fields_set(v) then fields_set(to_Session_Field(v)) }, session_field(field.field_name, field.field_type, var(datum)) , fields) ) . public define List(Session_Field_No_Var) to_Session_Field_No_Var ( List(Session_Field) fields )= map((Session_Field field) |-> with datum = if *field.field_datum is{ string(v) then string(v), bool(v) then bool(v), int(v) then int(v), db_id(v) then db_id(v), message(v) then message(v), byte_array(v) then byte_array(v), float(v) then float(v), word128(v) then word128(v), word64(v) then word64(v), word32(v) then word32(v), word16(v) then word16(v), word8(v) then word8(v), word4(v) then word4(v), fields_set(v) then fields_set(to_Session_Field_No_Var(*v)) }, session_field(field.field_name, field.field_type, datum), fields) . public define Maybe(Session_Field_Datum) get_field ( List(Session_Field) fields, Session_Field_Type _field_type, String _field_name ) = if fields is { [] then failure, [h . t] then if h.field_name = _field_name & h.field_type = _field_type then success(*h.field_datum) else get_field(t, _field_type, _field_name) } . /******** ANY functions ***************/ define List(Session_Field) _remove_any ( List(Session_Field) fields, Session_Field_Type _field_type, String _field_name )= if fields is { [] then [], [h . t] then if h.field_name = _field_name & h.field_type = _field_type then _remove_any(t, _field_type, _field_name) else [ h. _remove_any(t, _field_type, _field_name) ] } . define One remove_any ( Var(List(Session_Field)) fields, Session_Field_Type _field_type, String _field_name )= fields <- _remove_any(*fields, _field_type, _field_name) . define One replace_any ( List(Session_Field) fields, Session_Field_Type _field_type, String _field_name, Session_Field_Datum _field_value, Var(List(Session_Field)) fields_org, )= if fields is { [] then fields_org <- [session_field(_field_name, _field_type, var(_field_value)) . *fields_org], [h . t] then //println("h.field_name = "+h.field_name+" _field_name = "+_field_name); if h.field_name = _field_name & h.field_type = _field_type then //println("replace field_name found"); h.field_datum <- _field_value else replace_any(t, _field_type, _field_name, _field_value, fields_org) } . define One replace_any ( Var(List(Session_Field)) fields, Session_Field_Type _field_type, String _field_name, Session_Field_Datum _field_value )= replace_any(*fields, _field_type, _field_name, _field_value, fields) . /*************** String *****************/ Maybe(String) get_String(fields, _field_name) String get_String(fields, _field_name, default_value) public define Maybe(String) get_String ( Var(List(Session_Field)) fields, String _field_name ) = if get_field(*fields, string_t, _field_name) is { failure then failure, success(datum) then if datum is string(value) then success(value) else failure } . public define String get_String ( Var(List(Session_Field)) fields, String _field_name, String default_value ) = if get_String(fields, _field_name) is { failure then default_value success(value) then value }. public define One put_String ( Var(List(Session_Field)) fields, String _field_name, String _field_value )= fields <- [session_field(_field_name, string_t, var(string(_field_value))) . *fields] . public define One replace_String ( Var(List(Session_Field)) fields, String _field_name, String _field_value )= replace_any(fields, string_t, _field_name, string(_field_value)) . public define One remove_String ( Var(List(Session_Field)) fields, String _field_name )= remove_any(fields, string_t, _field_name) . /*************** Bool *****************/ Maybe(Bool) get_Bool(fields, _field_name) Bool get_Bool(fields, _field_name, default_value) public define Maybe(Bool) get_Bool ( Var(List(Session_Field)) fields, String _field_name ) = if get_field(*fields, bool_t, _field_name) is { failure then failure, success(datum) then if datum is bool(value) then success(value) else failure } . public define Bool get_Bool ( Var(List(Session_Field)) fields, String _field_name, Bool default_value ) = if get_Bool(fields, _field_name) is { failure then default_value success(value) then value }. public define One put_Bool ( Var(List(Session_Field)) fields, String _field_name, Bool _field_value )= fields <- [session_field(_field_name, bool_t, var(bool(_field_value))) . *fields] . public define One replace_Bool ( Var(List(Session_Field)) fields, String _field_name, Bool _field_value )= replace_any(fields, bool_t, _field_name, bool(_field_value)) . public define One remove_Bool ( Var(List(Session_Field)) fields, String _field_name )= remove_any(fields, bool_t, _field_name) . /*************** Int *****************/ Maybe(String) get_Int(fields, _field_name) String get_Int(fields, _field_name, default_value) public define Maybe(Int) get_Int ( Var(List(Session_Field)) fields, String _field_name, ) = if get_field(*fields, int_t, _field_name) is { failure then failure, success(datum) then if datum is int(value) then success(value) else failure } . public define Int get_Int ( Var(List(Session_Field)) fields, String _field_name, Int default_value ) = if get_Int(fields, _field_name) is { failure then default_value success(value) then value }. public define One put_Int ( Var(List(Session_Field)) fields, String _field_name, Int _field_value )= fields <- [session_field(_field_name, int_t, var(int(_field_value))) . *fields] . public define One replace_Int ( Var(List(Session_Field)) fields, String _field_name, Int _field_value )= replace_any(fields, int_t, _field_name, int(_field_value)) . public define One remove_Int ( Var(List(Session_Field)) fields, String _field_name )= remove_any(fields, int_t, _field_name) . /*************** DB_id *****************/ Maybe(String) get_DB_id(fields, _field_name) String get_DB_id(fields, _field_name, default_value) public define Maybe(DB_id) get_DB_id ( Var(List(Session_Field)) fields, String _field_name, ) = if get_field(*fields, db_id_t, _field_name) is { failure then failure, success(datum) then if datum is db_id(value) then success(value) else failure } . public define DB_id get_DB_id ( Var(List(Session_Field)) fields, String _field_name, DB_id default_value ) = if get_DB_id(fields, _field_name) is { failure then default_value success(value) then value }. public define One put_DB_id ( Var(List(Session_Field)) fields, String _field_name, DB_id _field_value )= fields <- [session_field(_field_name, int_t, var(db_id(_field_value))) . *fields] . public define One replace_DB_id ( Var(List(Session_Field)) fields, String _field_name, DB_id _field_value )= replace_any(fields, db_id_t, _field_name, db_id(_field_value)) . public define One remove_DB_id ( Var(List(Session_Field)) fields, String _field_name )= remove_any(fields, db_id_t, _field_name) . /*************** Message *****************/ Maybe(String) get_Message(fields, _field_name) String get_Message(fiels, _field_name, default_value) public define Maybe(Message) get_Message ( Var(List(Session_Field)) fields, String _field_name ) = if get_field(*fields, message_t, _field_name) is { failure then failure, success(datum) then if datum is message(value) then success(value) else failure } . public define Message get_Message ( Var(List(Session_Field)) fields, String _field_name, Message default_value ) = if get_Message(fields, _field_name) is { failure then default_value success(value) then value }. public define One put_Message ( Var(List(Session_Field)) fields, String _field_name, Message _field_value )= fields <- [session_field(_field_name, message_t, var(message(_field_value))) . *fields] . public define One replace_Message ( Var(List(Session_Field)) fields, String _field_name, Message _field_value )= replace_any(fields, message_t, _field_name, message(_field_value)) . public define One remove_Message ( Var(List(Session_Field)) fields, String _field_name )= remove_any(fields, message_t, _field_name) . /*************** ByteArray *****************/ Maybe(ByteArray) get_ByteArray(fields, _field_name) ByteArray get_ByteArray(fiels, _field_name, default_value) public define Maybe(ByteArray) get_ByteArray ( Var(List(Session_Field)) fields, String _field_name, ) = if get_field(*fields, byte_array_t, _field_name) is { failure then failure, success(datum) then if datum is byte_array(value) then success(value) else failure } . public define ByteArray get_ByteArray ( Var(List(Session_Field)) fields, String _field_name, ByteArray default_value ) = if get_ByteArray(fields, _field_name) is { failure then default_value success(value) then value }. public define One put_ByteArray ( Var(List(Session_Field)) fields, String _field_name, ByteArray _field_value )= fields <- [session_field(_field_name, byte_array_t, var(byte_array(_field_value))) . *fields] . public define One replace_ByteArray ( Var(List(Session_Field)) fields, String _field_name, ByteArray _field_value )= replace_any(fields, byte_array_t, _field_name, byte_array(_field_value)) . public define One remove_ByteArray ( Var(List(Session_Field)) fields, String _field_name )= remove_any(fields, byte_array_t, _field_name) . /*************** Float *****************/ Maybe(Float) get_Float(fields, _field_name) Float get_Float(fiels, _field_name, default_value) public define Maybe(Float) get_Float ( Var(List(Session_Field)) fields, String _field_name, ) = if get_field(*fields, float_t, _field_name) is { failure then failure, success(datum) then if datum is float(value) then success(value) else failure } . public define Float get_Float ( Var(List(Session_Field)) fields, String _field_name, Float default_value ) = if get_Float(fields, _field_name) is { failure then default_value success(value) then value }. public define One put_Float ( Var(List(Session_Field)) fields, String _field_name, Float _field_value )= fields <- [session_field(_field_name, float_t, var(float(_field_value))) . *fields] . public define One replace_Float ( Var(List(Session_Field)) fields, String _field_name, Float _field_value )= replace_any(fields, float_t, _field_name, float(_field_value)) . public define One remove_Float ( Var(List(Session_Field)) fields, String _field_name )= remove_any(fields, float_t, _field_name) . /*************** Word128 *****************/ Maybe(Word128) get_Word128t(fields, _field_name) Word128 get_Word128(fields, _field_name, default_value) public define Maybe(Word128) get_Word128 ( Var(List(Session_Field)) fields, String _field_name, ) = if get_field(*fields, word128_t, _field_name) is { failure then failure, success(datum) then if datum is word128(value) then success(value) else failure } . public define Word128 get_Word128 ( Var(List(Session_Field)) fields, String _field_name, Word128 default_value ) = if get_Word128(fields, _field_name) is { failure then default_value success(value) then value }. public define One put_Word128 ( Var(List(Session_Field)) fields, String _field_name, Word128 _field_value )= fields <- [session_field(_field_name, word128_t, var(word128(_field_value))) . *fields] . public define One replace_Word128 ( Var(List(Session_Field)) fields, String _field_name, Word128 _field_value )= replace_any(fields, word128_t, _field_name, word128(_field_value)) . public define One remove_Word128 ( Var(List(Session_Field)) fields, String _field_name )= remove_any(fields, word128_t, _field_name) . /*************** Word64 *****************/ Maybe(Word64) get_Word64(fields, _field_name) Word64 get_Word64(fields, _field_name, default_value) public define Maybe(Word64) get_Word64 ( Var(List(Session_Field)) fields, String _field_name, ) = if get_field(*fields, word64_t, _field_name) is { failure then failure, success(datum) then if datum is word64(value) then success(value) else failure } . public define Word64 get_Word64 ( Var(List(Session_Field)) fields, String _field_name, Word64 default_value ) = if get_Word64(fields, _field_name) is { failure then default_value success(value) then value }. public define One put_Word64 ( Var(List(Session_Field)) fields, String _field_name, Word64 _field_value )= fields <- [session_field(_field_name, word64_t, var(word64(_field_value))) . *fields] . public define One replace_Word64 ( Var(List(Session_Field)) fields, String _field_name, Word64 _field_value )= replace_any(fields, word64_t, _field_name, word64(_field_value)) . public define One remove_Word64 ( Var(List(Session_Field)) fields, String _field_name )= remove_any(fields, word64_t, _field_name) . /*************** Word32 *****************/ Maybe(Word32) get_Word32(fields, _field_name) Word32 get_Word32(fields, _field_name, default_value) public define Maybe(Word32) get_Word32 ( Var(List(Session_Field)) fields, String _field_name, ) = if get_field(*fields, word32_t, _field_name) is { failure then failure, success(datum) then if datum is word32(value) then success(value) else failure } . public define Word32 get_Word32 ( Var(List(Session_Field)) fields, String _field_name, Word32 default_value ) = if get_Word32(fields, _field_name) is { failure then default_value success(value) then value }. public define One put_Word32 ( Var(List(Session_Field)) fields, String _field_name, Word32 _field_value )= fields <- [session_field(_field_name, word32_t, var(word32(_field_value))) . *fields] . public define One replace_Word32 ( Var(List(Session_Field)) fields, String _field_name, Word32 _field_value )= replace_any(fields, word32_t, _field_name, word32(_field_value)) . public define One remove_Word32 ( Var(List(Session_Field)) fields, String _field_name )= remove_any(fields, word32_t, _field_name) . /*************** Word16 *****************/ Maybe(Word16) get_Word16(fields, _field_name) Word16 get_Word16(fields, _field_name, default_value) public define Maybe(Word16) get_Word16 ( Var(List(Session_Field)) fields, String _field_name, ) = if get_field(*fields, word16_t, _field_name) is { failure then failure, success(datum) then if datum is word16(value) then success(value) else failure } . public define Word16 get_Word16 ( Var(List(Session_Field)) fields, String _field_name, Word16 default_value ) = if get_Word16(fields, _field_name) is { failure then default_value success(value) then value }. public define One put_Word16 ( Var(List(Session_Field)) fields, String _field_name, Word16 _field_value )= fields <- [session_field(_field_name, word16_t, var(word16(_field_value))) . *fields] . public define One replace_Word16 ( Var(List(Session_Field)) fields, String _field_name, Word16 _field_value )= replace_any(fields, word16_t, _field_name, word16(_field_value)) . public define One remove_Word16 ( Var(List(Session_Field)) fields, String _field_name )= remove_any(fields, word16_t, _field_name) . /*************** Word8 *****************/ Maybe(Word8) get_Word8(fields, _field_name) Word8 get_Word8(fields, _field_name, default_value) public define Maybe(Word8) get_Word8 ( Var(List(Session_Field)) fields, String _field_name, ) = if get_field(*fields, word8_t, _field_name) is { failure then failure, success(datum) then if datum is word8(value) then success(value) else failure } . public define Word8 get_Word8 ( Var(List(Session_Field)) fields, String _field_name, Word8 default_value ) = if get_Word8(fields, _field_name) is { failure then default_value success(value) then value }. public define One put_Word8 ( Var(List(Session_Field)) fields, String _field_name, Word8 _field_value )= fields <- [session_field(_field_name, word8_t, var(word8(_field_value))) . *fields] . public define One replace_Word8 ( Var(List(Session_Field)) fields, String _field_name, Word8 _field_value )= replace_any(fields, word8_t, _field_name, word8(_field_value)) . public define One remove_Word8 ( Var(List(Session_Field)) fields, String _field_name )= remove_any(fields, word8_t, _field_name) . /*************** Word4 *****************/ Maybe(Word4) get_Word4(fields, _field_name) Word4 get_Word4(fields, _field_name, default_value) public define Maybe(Word4) get_Word4 ( Var(List(Session_Field)) fields, String _field_name, ) = if get_field(*fields, word4_t, _field_name) is { failure then failure, success(datum) then if datum is word4(value) then success(value) else failure } . public define Word4 get_Word4 ( Var(List(Session_Field)) fields, String _field_name, Word4 default_value ) = if get_Word4(fields, _field_name) is { failure then default_value success(value) then value }. public define One put_Word4 ( Var(List(Session_Field)) fields, String _field_name, Word4 _field_value )= fields <- [session_field(_field_name, word4_t, var(word4(_field_value))) . *fields] . public define One replace_Word4 ( Var(List(Session_Field)) fields, String _field_name, Word4 _field_value )= replace_any(fields, word4_t, _field_name, word4(_field_value)) . public define One remove_Word4 ( Var(List(Session_Field)) fields, String _field_name )= remove_any(fields, word4_t, _field_name) . /*************** Fields_set *****************/ Maybe(Word4) get_Word4(fields, _field_name) Word4 get_Word4(fields, _field_name, default_value) public define Maybe(Var(List(Session_Field))) get_Fields_set ( Var(List(Session_Field)) fields, String _field_name, ) = if get_field(*fields, fields_set_t, _field_name) is { failure then failure, success(datum) then if datum is fields_set(value) then success(value) else failure } . public define Var(List(Session_Field)) get_Fields_set ( Var(List(Session_Field)) fields, String _field_name, Var(List(Session_Field)) default_value ) = if get_Fields_set(fields, _field_name) is { failure then default_value success(value) then value }. public define One put_Fields_set ( Var(List(Session_Field)) _fields, String _field_name, Var(List(Session_Field)) _field_value )= _fields <- [session_field(_field_name, fields_set_t, var(fields_set(_field_value))) . *_fields] . public define One replace_Fields_set ( Var(List(Session_Field)) _fields, String _field_name, Var(List(Session_Field)) _field_value )= replace_any(_fields, fields_set_t, _field_name, fields_set(_field_value)) . public define One remove_Fields_set ( Var(List(Session_Field)) _fields, String _field_name )= remove_any(_fields, fields_set_t, _field_name) . /************************************************/ public define String dump_Session_Field_list(List(Session_Field) _fields, String indent). public define String dump_Session_Field ( Session_Field _field, String indent )= with name = "Name = ["+_field.field_name+"]", if *_field.field_datum is { string(_string) then name+", Type = String, Value = ["+_string+"]", bool(_bool) then name+", Type = Bool, Value = ["+to_String(_bool)+"]", int(_int) then name+", Type = Int, Value = ["+_int+"]", db_id(_db_id) then name+", Type = DB_id, Value = ["+_db_id+"]", message(_message) then name+", Type = Message, Value = ["+dump(_message)+"]", byte_array(_byte_array) then name+", Type = ByteArray", float(_float) then name+", Type = Float, Value = ["+float_to_string(_float, 10)+"]", word128(_word128) then name+", Type = Word128, Value = ["+to_decimal(_word128)+"]", word64(_word64) then name+", Type = Word64, Value = ["+to_decimal(_word64)+"]", word32(_word32) then name+", Type = Word32, Value = ["+to_decimal(_word32)+"]", word16(_word16) then name+", Type = Word16, Value = ["+to_decimal(_word16)+"]", word8(_word8) then name+", Type = Word8, Value = ["+to_decimal(_word8)+"]", word4(_word4) then name+", Type = Word4, Value = ["+to_decimal(_word4)+"]", fields_set(_fields) then name+", Type = Fields_set, \n"+dump_Session_Field_list(*_fields, indent+" ") } . public define String dump_Session_Field_list ( List(Session_Field) _fields, String indent )= join("\n", map((Session_Field _field) |-> dump_Session_Field(_field, indent), _fields)) .