import { Notifier, Ledger, JSON } from '@klave/sdk'; import { FetchInput, FetchOutput, StoreInput, StoreOutput, ErrorMessage } from './types'; const myTableName = "my_storage_table"; /** * @query * @param {FetchInput} input - A parsed input argument */ export function fetchValue(input: FetchInput): void { let value = Ledger.getTable(myTableName).get(input.key); if (value.length === 0) { Notifier.sendJson({ success: false, message: `key '${input.key}' not found in table` }); } else { Notifier.sendJson({ success: true, value }); } } /** * @transaction * @param {StoreInput} input - A parsed input argument */ export function storeValue(input: StoreInput): void { if (input.key && input.value) { Ledger.getTable(myTableName).set(input.key, input.value); Notifier.sendJson({ success: true }); return; } Notifier.sendJson({ success: false, message: `Missing value arguments` }); }