test-raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
1 lines • 3.34 kB
Source Map (JSON)
{"version":3,"sources":["../../src/api/utils.ts"],"sourcesContent":["export const SESSION_KEY = \"ray_tab_hash\";\nexport const STORAGE_KEY = \"ray_req_hash\";\n\nexport const getSessionKey = (): string => {\n if (typeof window === undefined) return \"\";\n let key = sessionStorage.getItem(SESSION_KEY);\n\n // new a session key\n if (!key) {\n key = `ray-${Date.now()}`;\n sessionStorage.setItem(SESSION_KEY, key);\n }\n return key;\n};\n\nexport interface ResHistory {\n status: number;\n url: string;\n params?: any;\n data: any;\n logCount?: number;\n time: number;\n session: string;\n removeLastLog?: boolean;\n}\n\nexport const updateReqHistory = async ({\n logCount = 1000,\n removeLastLog,\n ...resData\n}: Omit<ResHistory, \"time\" | \"session\">): Promise<void> => {\n if (typeof window === undefined) return new Promise((resolve) => resolve());\n const data: ResHistory[] = JSON.parse(localStorage.getItem(STORAGE_KEY) || \"[]\").slice(0, logCount - 1);\n\n // means retry last save error\n if (removeLastLog) data.pop();\n\n // if data > 1kb\n if (new Blob([JSON.stringify(resData.data)]).size > 1024)\n resData.data = JSON.stringify(resData.data).substring(0, 200) + \"...\";\n data.unshift({ ...resData, time: Date.now(), session: getSessionKey() });\n\n try {\n localStorage.setItem(STORAGE_KEY, JSON.stringify(data));\n } catch {\n // if retry failed, empty request data\n if (removeLastLog) {\n let success = false;\n const resStr = JSON.stringify(resData.data).substring(0, 100);\n data[0].data = resStr + (resStr.length > 100 ? \"...\" : \"\");\n while (!success) {\n data.pop();\n const resStr = JSON.stringify(resData.data).substring(0, 100);\n data[0].data = resStr + (resStr.length > 100 ? \"...\" : \"\");\n try {\n localStorage.setItem(STORAGE_KEY, JSON.stringify(data));\n success = true;\n } catch {\n success = false;\n }\n }\n return new Promise((resolve) => resolve());\n }\n return updateReqHistory({\n ...resData,\n logCount,\n removeLastLog: true,\n });\n }\n};\n"],"mappings":"+kBAAO,GAAM,GAAc,eACd,EAAc,eAEd,EAAgB,IAAc,CACzC,GAAI,MAAO,UAAW,OAAW,MAAO,GACxC,GAAI,GAAM,eAAe,QAAQ,CAAW,EAG5C,MAAK,IACH,GAAM,OAAO,KAAK,IAAI,IACtB,eAAe,QAAQ,EAAa,CAAG,GAElC,CACT,EAaa,EAAmB,KAAO,IAIoB,CAJpB,QACrC,YAAW,IACX,iBAFqC,EAGlC,IAHkC,EAGlC,CAFH,WACA,kBAGA,GAAI,MAAO,UAAW,OAAW,MAAO,IAAI,SAAQ,AAAC,GAAY,EAAQ,CAAC,EAC1E,GAAM,GAAqB,KAAK,MAAM,aAAa,QAAQ,CAAW,GAAK,IAAI,EAAE,MAAM,EAAG,EAAW,CAAC,EAGtG,AAAI,GAAe,EAAK,IAAI,EAGxB,GAAI,MAAK,CAAC,KAAK,UAAU,EAAQ,IAAI,CAAC,CAAC,EAAE,KAAO,MAClD,GAAQ,KAAO,KAAK,UAAU,EAAQ,IAAI,EAAE,UAAU,EAAG,GAAG,EAAI,OAClE,EAAK,QAAQ,OAAK,GAAL,CAAc,KAAM,KAAK,IAAI,EAAG,QAAS,EAAc,CAAE,EAAC,EAEvE,GAAI,CACF,aAAa,QAAQ,EAAa,KAAK,UAAU,CAAI,CAAC,CACxD,MAAE,CAEA,GAAI,EAAe,CACjB,GAAI,GAAU,GACR,EAAS,KAAK,UAAU,EAAQ,IAAI,EAAE,UAAU,EAAG,GAAG,EAE5D,IADA,EAAK,GAAG,KAAO,EAAU,GAAO,OAAS,IAAM,MAAQ,IAChD,CAAC,GAAS,CACf,EAAK,IAAI,EACT,GAAM,GAAS,KAAK,UAAU,EAAQ,IAAI,EAAE,UAAU,EAAG,GAAG,EAC5D,EAAK,GAAG,KAAO,EAAU,GAAO,OAAS,IAAM,MAAQ,IACvD,GAAI,CACF,aAAa,QAAQ,EAAa,KAAK,UAAU,CAAI,CAAC,EACtD,EAAU,EACZ,MAAE,CACA,EAAU,EACZ,CACF,CACA,MAAO,IAAI,SAAQ,AAAC,GAAY,EAAQ,CAAC,CAC3C,CACA,MAAO,GAAiB,OACnB,GADmB,CAEtB,WACA,cAAe,EACjB,EAAC,CACH,CACF","names":[]}