namespace _espe.repository.name_index { /** */ var _chest : ( null | lib_plankton.storage.type_chest< Array, Record, lib_plankton.database.type_description_create_table, lib_plankton.storage.sql_table_common.type_sql_table_common_search_term, Record > ) = null; /** */ function get_chest( ) : lib_plankton.storage.type_chest< Array, Record, lib_plankton.database.type_description_create_table, lib_plankton.storage.sql_table_common.type_sql_table_common_search_term, Record > { if (_chest === null) { _chest = lib_plankton.storage.sql_table_common.chest( { "database_implementation": _espe.helpers.database_implementation(), "table_name": "name_indices", "key_names": ["name_image"], } ); } else { // do nothing } return _chest; } /** */ async function get_name_image( name : string ) : Promise { return ( (! _espe.conf.get().settings.name_index.veil) ? name : await lib_plankton.sha256.get( lib_plankton.json.encode(name), _espe.conf.get().settings.name_index.salt ) ); } /** */ export async function read( name : string ) : Promise { const name_image : string = await get_name_image(name); let row : Record; try { row = await get_chest().read([name_image]); return row["index"]; } catch (error) { return 0; } } /** */ export async function write( name : string, index : int ) : Promise { const name_image : string = await get_name_image(name); await get_chest().write([name_image], {"index": index}); } }