@azrico/global 1.4.1 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAqD;AAE7C,yFAFA,kBAAQ,OAEA;AAAE,wFAFA,iBAAO,OAEA;AAEzB,wCAA8C;AAAtC,qGAAA,aAAa,OAAA;AAErB,yDAAyC;AACzC,2DAA2C;AAC3C,qEAAqD;AACrD,0CAAgE;AAAxD,gGAAA,OAAO,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,gGAAA,OAAO,OAAA;AAAE,8FAAA,KAAK,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAqD;AAE7C,yFAFA,kBAAQ,OAEA;AAAE,wFAFA,iBAAO,OAEA;AAEzB,wCAA8C;AAAtC,qGAAA,aAAa,OAAA;AAErB,yDAAyC;AACzC,2DAA2C;AAC3C,qEAAqD;AACrD,0CAAgE;AAAxD,gGAAA,OAAO,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,gGAAA,OAAO,OAAA;AAAE,8FAAA,KAAK,OAAA","sourcesContent":["import {gstorage, gbasket} from \"./packages/storage\";\r\n\r\nexport {gstorage, gbasket};\r\n\r\nexport {GlobalStorage} from \"./packages/core\"; \r\n\r\nexport * as gonce from \"./packages/once\";\r\nexport * as gcache from \"./packages/cache\";\r\nexport * as gtranslate from \"./packages/translation\";\r\nexport {gfilter, gfunc, gholder, gview} from \"./packages/hooks\";\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"g_cache.js","sourceRoot":"","sources":["../../../packages/cache/g_cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"g_cache.js","sourceRoot":"","sources":["../../../packages/cache/g_cache.ts"],"names":[],"mappings":"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","sourcesContent":["import glb from \"../core\";\r\nimport {gstorage} from \"../storage\";\r\n\r\nconst sname = \"cache\";\r\nconst name_pending = \"pending_cache\";\r\n \r\nclass GCache {\r\n static get_cache_sync<T>(key: string, getterFunction?: () => T) {\r\n const storage_key = `${sname}-${glb.fixKey(key)}`;\r\n\r\n //check if cache exists\r\n let currentCache = gstorage.getSync(storage_key);\r\n if (currentCache != null)\r\n return GCache.parse_cacheValue(currentCache) as T;\r\n else if (!getterFunction) return undefined as T;\r\n\r\n //cache did not exist. set the cache and return its value\r\n /* ---- store the same shape as set_cache so the async path can read it ---- */\r\n const resultValue = getterFunction();\r\n gstorage.setSync(storage_key, GCache.makeCacheObject(resultValue));\r\n return resultValue;\r\n }\r\n static async get_cache<T>(\r\n key: string,\r\n getterFunction?: cache_getterFunction<T>,\r\n session = true,\r\n ): Promise<T | undefined> {\r\n const cachePending_key = `p-${glb.fixKey(key)}`;\r\n const old_pending_cache = glb.Global_get(\r\n name_pending,\r\n cachePending_key,\r\n );\r\n /* ------------- cache is pending. wait for it to finish loading ------------ */\r\n if (old_pending_cache != null) {\r\n return await old_pending_cache;\r\n }\r\n\r\n const cacheLoader = this._get_cache(key, getterFunction, session);\r\n /* ------- set pending flag to be sure we dont run the load fnc twice ------- */\r\n glb.Global_set(name_pending, cachePending_key, cacheLoader);\r\n try {\r\n return await cacheLoader;\r\n } finally {\r\n /* ---- only the creator clears the flag, and only if it is still its own ---- */\r\n if (glb.Global_get(name_pending, cachePending_key) === cacheLoader)\r\n glb.Global_set(name_pending, cachePending_key, undefined);\r\n }\r\n }\r\n static async set_cache(key: string, value: any, session = true) {\r\n /* ----------------- only use session if we are in a browser ---------------- */\r\n const isBrowser = typeof window !== \"undefined\";\r\n\r\n const storage_key = `${sname}-${glb.fixKey(key)}`;\r\n\r\n /* ------ convert the input to string because we cant store non strings ----- */\r\n const isSavingToSession = session && isBrowser;\r\n let savedObject = GCache.makeCacheObject(value);\r\n if (isSavingToSession) savedObject = JSON.stringify(savedObject);\r\n\r\n /* --------------------------- save it to storage --------------------------- */\r\n await gstorage.set(storage_key, savedObject, {\r\n storage: false,\r\n session: isSavingToSession,\r\n json: false,\r\n });\r\n return value;\r\n }\r\n static async delete_cache(key: string, session = true) {\r\n /* ----------------- only use session if we are in a browser ---------------- */\r\n const isBrowser = typeof window !== \"undefined\";\r\n const storage_key = `${sname}-${glb.fixKey(key)}`;\r\n\r\n /* ------ convert the input to string because we cant store non strings ----- */\r\n const isSavingToSession = session && isBrowser;\r\n\r\n /* --------------------------- save it to storage --------------------------- */\r\n await gstorage.set(storage_key, undefined, {\r\n storage: false,\r\n session: isSavingToSession,\r\n json: false,\r\n });\r\n return true;\r\n }\r\n\r\n private static async _get_cache<T>(\r\n key: string,\r\n getterFunction?: cache_getterFunction<T>,\r\n session = true,\r\n ): Promise<T | undefined> {\r\n const storage_key = `${sname}-${glb.fixKey(key)}`;\r\n\r\n /* ----------------- only use session if we are in a browser ---------------- */\r\n const isBrowser = typeof window !== \"undefined\";\r\n const isSessionCache = session && isBrowser;\r\n\r\n /* -------------------------- get the cached value -------------------------- */\r\n let currentCache = await gstorage.get(storage_key, {\r\n storage: false,\r\n session: isSessionCache,\r\n json: false,\r\n });\r\n\r\n /* ---------------------- cache value is found, use it ---------------------- */\r\n\r\n if (currentCache != undefined) {\r\n return GCache.parse_cacheValue(currentCache) as T;\r\n }\r\n\r\n /* -------------- bad getter function. we cant do anything else ------------- */\r\n if (getterFunction == null) return undefined;\r\n\r\n /* ----------- the cache is not pending to load. make a new loader ---------- */\r\n const cache_loader = getterFunction();\r\n if (\r\n cache_loader != null &&\r\n typeof cache_loader === \"object\" &&\r\n typeof (cache_loader as any).then === \"function\"\r\n ) {\r\n /* ----------------------------- load the cache ----------------------------- */\r\n currentCache = await cache_loader;\r\n\r\n /* ----------------- the cache is loaded. save it to storage ---------------- */\r\n await this.set_cache(key, currentCache, session);\r\n } else {\r\n /* ----------------- the cache is loaded. save it to storage ---------------- */\r\n currentCache = cache_loader;\r\n await this.set_cache(key, currentCache, session);\r\n }\r\n\r\n return currentCache;\r\n }\r\n\r\n static makeCacheObject(data: any): any {\r\n return {type: typeof data, value: data};\r\n }\r\n\r\n static parse_cacheValue(data: any): any {\r\n if (data == null) return \"\";\r\n try {\r\n if (typeof data === \"object\") {\r\n return data.value;\r\n }\r\n const parsedVal =\r\n typeof data == \"string\" ? JSON.parse(data) : String(data);\r\n return GCache.parse_cacheValue(parsedVal);\r\n } catch {\r\n console.error(\"failed to parse cache value:\", data);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\ntype cache_getterFunction<T> = (...params: any) => Promise<T> | T;\r\n\r\n/* -------------------------------------------------------------------------- */\r\n\r\n/**\r\n * set value of a cached key\r\n * @param key\r\n * @param value\r\n * @returns\r\n */\r\nexport async function set_session_cache(key: string, value: any) {\r\n return await GCache.set_cache(key, value);\r\n}\r\nexport async function delete_session_cache(key: string) {\r\n return await GCache.delete_cache(key, true);\r\n}\r\n/* -------------------------------------------------------------------------- */\r\nexport async function get_session_cache(key: string): Promise<any | undefined>;\r\nexport async function get_session_cache<T>(\r\n key: string,\r\n getterFunction: cache_getterFunction<T>,\r\n): Promise<T>;\r\nexport async function get_session_cache<T>(\r\n key: string,\r\n getterFunction?: cache_getterFunction<T>,\r\n): Promise<T | undefined> {\r\n return await GCache.get_cache(key, getterFunction, true);\r\n}\r\n\r\n/* -------------------------------------------------------------------------- */\r\n/* TEMP CACHE */\r\n/* -------------------------------------------------------------------------- */\r\n\r\nexport function get_temp_cache_sync<T>(\r\n key: string,\r\n getterFunction?: () => T,\r\n): T {\r\n return GCache.get_cache_sync(key, getterFunction);\r\n}\r\n\r\nexport async function get_temp_cache<T>(\r\n key: string,\r\n getterFunction?: () => T | Promise<T>,\r\n): Promise<T> {\r\n return (await GCache.get_cache(key, getterFunction, false)) as T;\r\n}\r\nexport async function set_temp_cache<T>(\r\n key: string,\r\n value: any,\r\n): Promise<boolean> {\r\n return await GCache.set_cache(key, value, false);\r\n}\r\nexport async function delete_temp_cache<T>(key: string): Promise<boolean> {\r\n return await GCache.delete_cache(key, false);\r\n}\r\n\r\n/* -------------------------------------------------------------------------- */\r\n\r\n/* -------------------------------------------------------------------------- */\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/cache/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/cache/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B","sourcesContent":["export * from \"./g_cache\";\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/core/index.ts"],"names":[],"mappings":";;;AACA,MAAa,aAAa;IAGtB,MAAM,CAAC,UAAU;QACb,IAAI,aAAa,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,aAAa,CAAC,YAAY,IAAI,IAAI;YAAE,aAAa,CAAC,YAAY,GAAG,EAAE,CAAC;IAC5E,CAAC;IAED,gFAAgF;IAChF,MAAM,CAAC,UAAU,CAAI,IAAY,EAAE,GAAW,EAAE,KAAQ;QACpD,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,GAAG,KAAK,IAAI,EAAE;YACd,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;;gBACtD,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SACjD;aAAM;YACH,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEhC,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;;gBAC3D,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SACtD;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,IAAY,EAAE,GAAW,EAAE,KAAU;QACnD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SAC3C;QACD,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtC,IAAI,IAAI,IAAI,IAAI,EAAE;gBACd,IAAI,GAAG,EAAE,CAAC;aACb;;gBAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,iBAAiB,CACpB,IAAY,EACZ,GAAW,EACX,KAAsB;QAEtB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SAC3C;QACD,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,IAAI,GACN,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEpE,0DAA0D;QAC1D,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,OAAO,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;YAAE,KAAK,EAAE,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAE7B,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,MAAM,CAAC,aAAa,CAAC,IAAY,EAAE,GAAW,EAAE,KAAU;QACtD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SAC3C;QACD,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACzC,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,IAAI,IAAI,IAAI;YAAE,IAAI,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QACpD,OAAO,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,IAAY,EAAE,GAAW;;QACvC,IAAI,CAAC,aAAa,CAAC,YAAY;YAAE,OAAO,SAAS,CAAC;QAClD,IAAI,OAAO,GAAG,KAAK,SAAS;YAAE,OAAO,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtE,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,MAAA,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,0CAAG,GAAG,CAAC,CAAC;IACnD,CAAC;IAID,MAAM,CAAC,MAAM,CAAC,GAAQ;QAClB,IAAI,OAAO,GAAG,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC;QAEzC,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;aAClD,WAAW,EAAE;aACb,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,CAAC,oBAAoB,CAAC,IAAY;QACpC,IAAI,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI;YACxC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IAChB,CAAC;;AAhHL,sCAiHC;AAhHU,0BAAY,GAAQ,EAAE,CAAC;AAkHlC,kBAAe,aAAa,CAAC","sourcesContent":["type glbKey = string | true;\nexport class GlobalStorage {\n static deus_globals: any = {};\n\n static initGlobal() {\n if (GlobalStorage == null) return false;\n if (GlobalStorage.deus_globals == null) GlobalStorage.deus_globals = {};\n }\n\n /* -------------------------------------------------------------------------- */\n static Global_set<T>(type: string, key: glbKey, value: T): T {\n GlobalStorage.prepareGlobalsOfType(type);\n if (key === true) {\n if (value == null) delete GlobalStorage.deus_globals[type];\n else GlobalStorage.deus_globals[type] = value;\n } else {\n key = GlobalStorage.fixKey(key);\n\n if (value == null) delete GlobalStorage.deus_globals[type][key];\n else GlobalStorage.deus_globals[type][key] = value;\n }\n return value;\n }\n\n /**\n *\n * @param type\n * @param key\n * @param value\n * @returns total number of elements in targeted glb array\n */\n static Global_add(type: string, key: glbKey, value: any): number {\n if (typeof key !== \"string\") {\n throw new Error(\"Key was not a string\");\n }\n key = GlobalStorage.fixKey(key);\n GlobalStorage.prepareGlobalsOfType(type);\n var cval = GlobalStorage.deus_globals[type][key];\n if (cval == null || !Array.isArray(cval)) {\n if (cval == null) {\n cval = [];\n } else cval = [cval];\n }\n cval.push(value);\n GlobalStorage.Global_set(type, key, cval);\n return cval.length;\n }\n\n /**\n * adds value to targeted glb array, keeping it sorted by order (lower first)\n *\n * values with equal order keep their insertion order\n * @param type\n * @param key\n * @param value\n * @returns total number of elements in targeted glb array\n */\n static Global_add_sorted(\n type: string,\n key: glbKey,\n value: {order: number},\n ): number {\n if (typeof key !== \"string\") {\n throw new Error(\"Key was not a string\");\n }\n const cval = GlobalStorage.Global_get(type, key);\n const list: any[] =\n cval == null ? [] : Array.isArray(cval) ? cval.slice() : [cval];\n\n /* insert after the last item with order <= the new one */\n let index = list.length;\n while (index > 0 && list[index - 1].order > value.order) index--;\n list.splice(index, 0, value);\n\n GlobalStorage.Global_set(type, key, list);\n return list.length;\n }\n static Global_remove(type: string, key: glbKey, value: any): any {\n if (typeof key !== \"string\") {\n throw new Error(\"Key was not a string\");\n }\n GlobalStorage.prepareGlobalsOfType(type);\n key = GlobalStorage.fixKey(key);\n var cval = GlobalStorage.deus_globals[type][key];\n if (cval == null) cval = [];\n if (!Array.isArray(cval)) {\n console.warn(`Targeted global was not array ${key}`);\n return false;\n }\n let newValue = cval.filter((s: any) => s !== value);\n return GlobalStorage.Global_set(type, key, newValue);\n }\n\n static Global_get(type: string, key: glbKey): any {\n if (!GlobalStorage.deus_globals) return undefined;\n if (typeof key === \"boolean\") return GlobalStorage.deus_globals[type];\n key = GlobalStorage.fixKey(key);\n return GlobalStorage.deus_globals[type]?.[key];\n }\n\n static fixKey(key: boolean): boolean;\n static fixKey(key: string | string[]): string;\n static fixKey(key: any): any {\n if (typeof key === \"boolean\") return key;\n\n return String(Array.isArray(key) ? key.join(\"-\") : key)\n .toLowerCase()\n .replace(/ /g, \"_\");\n }\n static prepareGlobalsOfType(type: string) {\n if (GlobalStorage.deus_globals[type] == null)\n GlobalStorage.deus_globals[type] = {};\n return true;\n }\n}\n\nexport default GlobalStorage;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"g_filter.js","sourceRoot":"","sources":["../../../packages/hooks/g_filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"g_filter.js","sourceRoot":"","sources":["../../../packages/hooks/g_filter.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,mDAA0B;AAE1B,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,MAAM,YAAY,GAAG,aAAa,CAAC;AAQnC;;;;;;GAMG;AACH,SAAgB,UAAU,CACtB,GAAW,EACX,MAAyB,EACzB,QAAgB,EAAE;IAElB,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAExE,IAAI,OAAO,GAAiB;QACxB,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,KAAK;KACf,CAAC;IACF,OAAO,cAAG,CAAC,iBAAiB,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAbD,gCAaC;AACD;;;;;;GAMG;AACH,SAAgB,UAAU,CACtB,GAAW,EACX,MAAyB,EACzB,QAAgB,EAAE;IAElB,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,OAAO,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAPD,gCAOC;AAED,SAAgB,aAAa,CAAC,GAAW,EAAE,MAAgB;IACvD,4EAA4E;IAC5E,MAAM,OAAO,GAAG,cAAG,CAAC,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAC7B,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAC3C,CAAC;IACF,OAAO,cAAG,CAAC,UAAU,CAAC,YAAY,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;AACzD,CAAC;AARD,sCAQC;AACD,SAAgB,YAAY,CAAC,GAAW;IACpC,OAAO,cAAG,CAAC,UAAU,CAAC,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACnD,CAAC;AAFD,oCAEC;AACD,SAAgB,iBAAiB;IAC7B,OAAO,cAAG,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACpD,CAAC;AAFD,8CAEC;AACD;;;;;;GAMG;AACI,KAAK,UAAU,YAAY,CAC9B,GAAW,EACX,eAAoB,IAAI,EACxB,GAAG,MAAY;IAEf,IAAI,OAAO,GAAG,cAAG,CAAC,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IAExE,4EAA4E;IAC5E,IAAI,cAAc,GAAG,YAAY,CAAC;IAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAiB,CAAC;QAChD,IAAI,SAAS,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAC,GAAG,MAAM,CAAC,CAAC;QAChE,2EAA2E;QAC3E,IAAI,SAAS,KAAK,SAAS;YAAE,cAAc,GAAG,SAAS,CAAC;KAC3D;IACD,OAAO,cAAc,CAAC;AAC1B,CAAC;AAjBD,oCAiBC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC7B,GAAW,EACd,eAAoB,IAAI,EACrB,GAAG,MAAY;IAGf,IAAI,OAAO,GAAG,cAAG,CAAC,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IAExE,4EAA4E;IAC5E,IAAI,cAAc,GAAG,YAAY,CAAC;IAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAiB,CAAC;QAChD,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAC,GAAG,MAAM,CAAC,CAAC;QAC1D,2EAA2E;QAC3E,IAAI,SAAS,KAAK,SAAS;YAAE,cAAc,GAAG,SAAS,CAAC;KAC3D;IACD,OAAO,cAAc,CAAC;AAC1B,CAAC;AAlBD,8CAkBC;AAED,gFAAgF;AAEhF;;;;;;GAMG;AACH,SAAgB,eAAe,CAC3B,GAAW,EACX,MAA+B,EAC/B,QAAgB,EAAE;IAElB,MAAM,cAAc,GAAG,eAAK,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrD,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,GAAG,EAAE;YACR,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACvC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAZD,0CAYC","sourcesContent":["import React from \"react\";\r\nimport glb from \"../core\";\r\n\r\n/* -------------------------------------------------------------------------- */\r\n/* Filters */\r\n/* -------------------------------------------------------------------------- */\r\nconst lname_filter = \"list_filter\";\r\ntype MaybeFilterAction = Function | string | number;\r\ninterface FilterObject {\r\n key: string;\r\n action: Function;\r\n order: number;\r\n}\r\n\r\n/**\r\n * Adds a filter\r\n * @param key\r\n * @param action action of the filter. you can also use string and numbers\r\n * @param order filters with lower order are executed first\r\n * @returns\r\n */\r\nexport function add_filter(\r\n key: string,\r\n action: MaybeFilterAction,\r\n order: number = 10,\r\n) {\r\n const action_fnc = typeof action === \"function\" ? action : () => action;\r\n\r\n var fobject: FilterObject = {\r\n key: key,\r\n action: action_fnc,\r\n order: order,\r\n };\r\n return glb.Global_add_sorted(lname_filter, key, fobject);\r\n}\r\n/**\r\n * `clear_filter` on `key` and then uses `add_filter`\r\n * @param key\r\n * @param action action of the filter. you can also use string and numbers\r\n * @param order filters with lower order are executed first\r\n * @returns\r\n */\r\nexport function set_filter(\r\n key: string,\r\n action: MaybeFilterAction,\r\n order: number = 10,\r\n): any {\r\n clear_filter(key);\r\n return add_filter(key, action, order);\r\n}\r\n\r\nexport function remove_filter(key: string, action: Function): any {\r\n /* ---- the list stores FilterObjects, so match them by their action ---- */\r\n const filters = glb.Global_get(lname_filter, key);\r\n if (!Array.isArray(filters)) return [];\r\n const newFilters = filters.filter(\r\n (f: FilterObject) => f.action !== action,\r\n );\r\n return glb.Global_set(lname_filter, key, newFilters);\r\n}\r\nexport function clear_filter(key: string): any {\r\n return glb.Global_set(lname_filter, key, null);\r\n}\r\nexport function clear_all_filters(): any {\r\n return glb.Global_set(lname_filter, true, null);\r\n}\r\n/**\r\n * Apply a filter asynchronously\r\n * @param key\r\n * @param initialValue\r\n * @param params will be passed into all filter functions\r\n * @returns\r\n */\r\nexport async function apply_filter(\r\n key: string,\r\n initialValue: any = null,\r\n ...params:any[]\r\n): Promise<any> {\r\n var filters = glb.Global_get(lname_filter, key);\r\n if (!Array.isArray(filters) || filters.length == 0) return initialValue;\r\n\r\n /* filters are kept sorted by add_filter, lower order gets executed first */\r\n let previous_value = initialValue;\r\n for (let index = 0; index < filters.length; index++) {\r\n const m_filter = filters[index] as FilterObject;\r\n let new_value = await m_filter.action(previous_value,...params);\r\n // if (logs) console.log(\"[filtered]\", previous_value, \" --> \", new_value);\r\n if (new_value !== undefined) previous_value = new_value;\r\n }\r\n return previous_value;\r\n}\r\n\r\n/**\r\n * Apply a filter synchronously\r\n * @param key\r\n * @param initialValue\r\n * @returns\r\n */\r\nexport function apply_filter_sync(\r\n key: string,\r\n\tinitialValue: any = null, \r\n ...params:any[]\r\n\t\r\n): any {\r\n var filters = glb.Global_get(lname_filter, key);\r\n if (!Array.isArray(filters) || filters.length == 0) return initialValue;\r\n\r\n /* filters are kept sorted by add_filter, lower order gets executed first */\r\n let previous_value = initialValue;\r\n for (let index = 0; index < filters.length; index++) {\r\n const m_filter = filters[index] as FilterObject;\r\n let new_value = m_filter.action(previous_value,...params);\r\n // if (logs) console.log(\"[filtered]\", previous_value, \" --> \", new_value);\r\n if (new_value !== undefined) previous_value = new_value;\r\n }\r\n return previous_value;\r\n}\r\n\r\n/* -------------------------------------------------------------------------- */\r\n\r\n/**\r\n * Adds a filter until the current component unmounts\r\n * @param key\r\n * @param action\r\n * @param order\r\n * @returns\r\n */\r\nexport function hold_add_filter(\r\n key: string,\r\n action: (...args: any[]) => any,\r\n order: number = 10,\r\n): any {\r\n const filterFunction = React.useCallback(action, []);\r\n React.useEffect(() => {\r\n add_filter(key, filterFunction, order);\r\n return () => {\r\n remove_filter(key, filterFunction);\r\n };\r\n }, []);\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"g_func.js","sourceRoot":"","sources":["../../../packages/hooks/g_func.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"g_func.js","sourceRoot":"","sources":["../../../packages/hooks/g_func.ts"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport glb from \"../core\";\r\n\r\nconst lname = \"list_func\";\r\n\r\nexport type actionFunction =\r\n | ((...args: any[]) => any | Promise<any>)\r\n | (() => any | Promise<any>);\r\n/* -------------------------------------------------------------------------- */\r\n\r\nexport function get_action(\r\n key: string,\r\n): Array<actionFunction> | actionFunction | undefined {\r\n const res = glb.Global_get(lname, key);\r\n return Array.isArray(res) || typeof res === \"function\" ? res : undefined;\r\n}\r\n\r\n/**\r\n * set action in action list by its key , you can later run this action using the key\r\n *\r\n * this will override any existing action for the given key\r\n * @param key\r\n * @param value\r\n * @returns\r\n */\r\nexport function set_action(key: string, func: actionFunction | null): any {\r\n return glb.Global_set(lname, key, func);\r\n}\r\n\r\n/**\r\n * set action in action list by its key , you can later run this action using the key\r\n *\r\n * if the action is already set, it will not update it\r\n * @param key\r\n * @param value\r\n * @returns false if action is not set\r\n */\r\nexport function set_action_if_not_exists(\r\n key: string,\r\n func: actionFunction | null,\r\n): any {\r\n const existing_action = get_action(key);\r\n if (existing_action == null) return set_action(key, func);\r\n return false;\r\n}\r\n\r\n/**\r\n * Adds an action to action list, you can later run those actions\r\n * @param key\r\n * @param value\r\n * @returns\r\n */\r\nexport function add_action(key: string, func: actionFunction): any {\r\n return glb.Global_add(lname, key, func);\r\n}\r\n\r\n/**\r\n * remove an action from action list\r\n * @param key\r\n * @param value\r\n * @returns\r\n */\r\nexport function remove_action(key: string, value: actionFunction): any {\r\n return glb.Global_remove(lname, key, value);\r\n}\r\n\r\n/**\r\n * Runs an action or a list of actions by their key, then clear the action list\r\n * @param key\r\n * @param args\r\n * @returns result of action if there is a single action , or an array of results if there are multiple actions\r\n */\r\nexport async function run_action_clear(\r\n key: string,\r\n ...args: any[]\r\n): Promise<any> {\r\n const result = await run_action(key, ...args);\r\n set_action(key, null);\r\n return result;\r\n}\r\n/**\r\n * Runs an action or a list of actions by their key,\r\n * @param key\r\n * @param args\r\n * @returns result of action if there is a single action , or an array of results if there are multiple actions\r\n */\r\nexport async function run_action(key: string, ...args: any[]): Promise<any> {\r\n const resolved = _resolve_actions(key);\r\n if (!resolved) return resolved;\r\n\r\n /* -------------- run sequentially, order of actions matters -------------- */\r\n const results = [];\r\n for (const func of resolved.funcs) results.push(await func(...args));\r\n return resolved.single ? results[0] : results;\r\n}\r\n\r\n/**\r\n * Runs an action or a list of actions by their key,\r\n * @param key\r\n * @param args\r\n * @returns result of action if there is a single action , or an array of results if there are multiple actions\r\n */\r\nexport function run_action_sync(key: string, ...args: any[]): any {\r\n const resolved = _resolve_actions(key);\r\n if (!resolved) return resolved;\r\n\r\n const results = resolved.funcs.map((func) => func(...args));\r\n return resolved.single ? results[0] : results;\r\n}\r\n\r\n/**\r\n * resolves the stored action(s) of a key into a list of functions to run\r\n * @param key\r\n * @returns null if there is no action, undefined if stored value is invalid\r\n */\r\nfunction _resolve_actions(\r\n key: string,\r\n): {funcs: Array<actionFunction>; single: boolean} | null | undefined {\r\n const funcList = get_action(key);\r\n if (funcList == null) return null;\r\n\r\n /* ------------------------ we have a single function ----------------------- */\r\n if (typeof funcList === \"function\") return {funcs: [funcList], single: true};\r\n\r\n /* ---------------------- we have an array of functions --------------------- */\r\n if (Array.isArray(funcList)) {\r\n const funcs = funcList.filter((func) => {\r\n if (typeof func === \"function\") return true;\r\n console.error(\"[run_action]\", \"non function detected \", \"key:\", key);\r\n return false;\r\n });\r\n return {funcs: funcs, single: false};\r\n }\r\n\r\n console.error(\"[run_action]\", \"invalid functions detected \", \"key:\", key);\r\n return undefined;\r\n}\r\n\r\n/* -------------------------------------------------------------------------- */\r\n\r\n/* -------------------------------------------------------------------------- */\r\n\r\n/**\r\n * Adds an action until the current component unmounts\r\n * @param key\r\n * @param value\r\n * @returns\r\n */\r\nexport function hold_add_action(key: string, func: actionFunction): any {\r\n const actionFunction = React.useCallback(func, []);\r\n React.useEffect(() => {\r\n add_action(key, actionFunction);\r\n return () => remove_action(key, actionFunction);\r\n }, []);\r\n}\r\n/**\r\n * set an action until the current component unmounts\r\n * @param key\r\n * @param value\r\n * @returns\r\n */\r\nexport function hold_set_action(key: string, func: actionFunction): any {\r\n const actionFunction = React.useCallback(func, []);\r\n React.useEffect(() => {\r\n set_action(key, actionFunction);\r\n return () => set_action(key, null);\r\n }, []);\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"g_holder.js","sourceRoot":"","sources":["../../../packages/hooks/g_holder.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,mDAA0B;AAE1B,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAEpC;;;;GAIG;AACH,SAAgB,QAAQ,CACpB,GAAW,EACX,QAAgB,EAAE,EAClB,WAAoB,IAAI;IAExB,MAAM,IAAI,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,IAAI,GAAG,GAAG,CAAC;QACjB,IAAI,QAAQ;YAAE,cAAG,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;;YAChD,cAAG,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,GAAG,EAAE,CAAC,cAAG,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnB,CAAC;AAZD,4BAYC;AACD,SAAgB,WAAW,CAAC,GAAW;IACnC,MAAM,IAAI,GAAG,cAAG,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAClD,CAAC;AAHD,kCAGC"}
1
+ {"version":3,"file":"g_holder.js","sourceRoot":"","sources":["../../../packages/hooks/g_holder.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,mDAA0B;AAE1B,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAEpC;;;;GAIG;AACH,SAAgB,QAAQ,CACpB,GAAW,EACX,QAAgB,EAAE,EAClB,WAAoB,IAAI;IAExB,MAAM,IAAI,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,IAAI,GAAG,GAAG,CAAC;QACjB,IAAI,QAAQ;YAAE,cAAG,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;;YAChD,cAAG,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,GAAG,EAAE,CAAC,cAAG,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnB,CAAC;AAZD,4BAYC;AACD,SAAgB,WAAW,CAAC,GAAW;IACnC,MAAM,IAAI,GAAG,cAAG,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAClD,CAAC;AAHD,kCAGC","sourcesContent":["import React from \"react\";\r\nimport glb from \"../core\";\r\n\r\nconst lname_hold = \"list_hold_keys\";\r\n\r\n/**\r\n * Holds a key until the current component unmounts\r\n * you can use this to see if a certain component is alive or not\r\n * @param key\r\n */\r\nexport function hold_key(\r\n key: string,\r\n value: string = \"\",\r\n isActive: boolean = true,\r\n): any {\r\n const hvar = React.useMemo(() => Symbol(value), []);\r\n React.useEffect(() => {\r\n const hkey = key;\r\n if (isActive) glb.Global_add(lname_hold, hkey, hvar);\r\n else glb.Global_remove(lname_hold, hkey, hvar);\r\n return () => glb.Global_remove(lname_hold, hkey, hvar);\r\n }, [isActive]);\r\n}\r\nexport function is_key_held(key: string): any {\r\n const gval = glb.Global_get(lname_hold, key);\r\n return Array.isArray(gval) && gval.length > 0;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"g_view.js","sourceRoot":"","sources":["../../../packages/hooks/g_view.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,mDAA0B;AAE1B,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,MAAM,WAAW,GAAG,YAAY,CAAC;AASjC;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,GAAW,EAAE,IAAc,EAAE,QAAgB,EAAE;IACpE,MAAM,WAAW,GAAe;QAC5B,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,KAAK;KACf,CAAC;IACF,OAAO,cAAG,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;AAChE,CAAC;AAPD,4BAOC;AACD,0EAA0E;AAC1E,8DAA8D;AAC9D,sDAAsD;AACtD,IAAI;AAEJ;;;;;GAKG;AACH,SAAgB,UAAU,CACtB,QAAgB,EAChB,YAAuB,EACvB,WAAiB;IAEjB,IAAI,SAAS,GAAG,cAAG,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IAE5E,wEAAwE;IACxE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC1B,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU;QACxB,CAAC,CAAC,2EAA2E;YAC3E,eAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,EAAC,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,CAAC,CAAC,CAAC,IAAI,CACf,CAAC;AACN,CAAC;AAfD,gCAeC;AACD;;;;;GAKG;AACH,SAAgB,SAAS,CACrB,QAAgB,EAChB,YAAuB,EACvB,WAAiB;IAEjB,OAAO,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtB,OAAO,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AARD,8BAQC;AAQD,SAAgB,cAAc,CAAC,KAA0B;IACrD,MAAM,QAAQ,GAAG,SAAS,CACtB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACvB,CAAC;IACF,OAAO,CACH;QACK,KAAK,CAAC,QAAQ;QACd,QAAQ,CACP,CACT,CAAC;AACN,CAAC;AAZD,wCAYC"}
1
+ {"version":3,"file":"g_view.js","sourceRoot":"","sources":["../../../packages/hooks/g_view.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,mDAA0B;AAE1B,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,MAAM,WAAW,GAAG,YAAY,CAAC;AASjC;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,GAAW,EAAE,IAAc,EAAE,QAAgB,EAAE;IACpE,MAAM,WAAW,GAAe;QAC5B,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,KAAK;KACf,CAAC;IACF,OAAO,cAAG,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;AAChE,CAAC;AAPD,4BAOC;AACD,0EAA0E;AAC1E,8DAA8D;AAC9D,sDAAsD;AACtD,IAAI;AAEJ;;;;;GAKG;AACH,SAAgB,UAAU,CACtB,QAAgB,EAChB,YAAuB,EACvB,WAAiB;IAEjB,IAAI,SAAS,GAAG,cAAG,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IAE5E,wEAAwE;IACxE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC1B,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU;QACxB,CAAC,CAAC,2EAA2E;YAC3E,eAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,EAAC,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,CAAC,CAAC,CAAC,IAAI,CACf,CAAC;AACN,CAAC;AAfD,gCAeC;AACD;;;;;GAKG;AACH,SAAgB,SAAS,CACrB,QAAgB,EAChB,YAAuB,EACvB,WAAiB;IAEjB,OAAO,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtB,OAAO,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AARD,8BAQC;AAQD,SAAgB,cAAc,CAAC,KAA0B;IACrD,MAAM,QAAQ,GAAG,SAAS,CACtB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACvB,CAAC;IACF,OAAO,CACH;QACK,KAAK,CAAC,QAAQ;QACd,QAAQ,CACP,CACT,CAAC;AACN,CAAC;AAZD,wCAYC","sourcesContent":["import React from \"react\";\r\nimport glb from \"../core\";\r\n\r\n/* -------------------------------------------------------------------------- */\r\n/* Filters */\r\n/* -------------------------------------------------------------------------- */\r\nconst lname_views = \"list_views\";\r\n\r\ntype viewType = React.ReactNode | ((props: any) => React.ReactNode);\r\ninterface ViewObject {\r\n view_key: string;\r\n view: viewType;\r\n order: number;\r\n}\r\n\r\n/**\r\n * Adds a view to view list\r\n * @param key\r\n * @param action action of the filter\r\n * @param order filters with lower order are executed first\r\n * @returns\r\n */\r\nexport function add_view(key: string, view: viewType, order: number = 10): any {\r\n const view_object: ViewObject = {\r\n view_key: key,\r\n view: view,\r\n order: order,\r\n };\r\n return glb.Global_add_sorted(lname_views, key, view_object);\r\n}\r\n// export function remove_view(key: string, view: React.ReactNode ): any {\r\n// \tconst view_object = {key: key, view: view, order: order};\r\n// return glb.Global_add(lname_filter, key, view);\r\n// }\r\n\r\n/**\r\n *\r\n * @param view_key\r\n * @param initialValue\r\n * @returns\r\n */\r\nexport function load_views(\r\n view_key: string,\r\n initialValue?: viewType,\r\n child_props?: any,\r\n): viewType | undefined {\r\n var view_list = glb.Global_get(lname_views, view_key);\r\n if (!Array.isArray(view_list) || view_list.length == 0) return initialValue;\r\n\r\n /* views are kept sorted by add_view, lower order gets rendered first */\r\n return view_list.map((r, i) =>\r\n typeof r.view === \"function\"\r\n ? /* render as a component so hooks inside the view stay in its own render */\r\n React.createElement(r.view, {...child_props, key: String(i)})\r\n : r.view,\r\n );\r\n}\r\n/**\r\n *\r\n * @param view_key\r\n * @param initialValue\r\n * @returns\r\n */\r\nexport function use_views(\r\n view_key: string,\r\n initialValue?: viewType,\r\n child_props?: any,\r\n): any {\r\n return React.useMemo(() => {\r\n return load_views(view_key, initialValue, child_props);\r\n }, []);\r\n}\r\n\r\ninterface ViewsContainerProps {\r\n view_key: string;\r\n initialValue?: viewType;\r\n children?: React.ReactNode;\r\n children_props?: any;\r\n}\r\nexport function ViewsContainer(props: ViewsContainerProps) {\r\n const viewlist = use_views(\r\n props.view_key,\r\n props.initialValue,\r\n props.children_props,\r\n );\r\n return (\r\n <div>\r\n {props.children}\r\n {viewlist}\r\n </div>\r\n );\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAkC;AAClC,sDAAsC;AACtC,kDAAkC;AAClC,sDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAkC;AAClC,sDAAsC;AACtC,kDAAkC;AAClC,sDAAsC","sourcesContent":["export * as gfunc from \"./g_func\";\r\nexport * as gfilter from \"./g_filter\";\r\nexport * as gview from \"./g_view\";\r\nexport * as gholder from \"./g_holder\";\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"g_once.js","sourceRoot":"","sources":["../../../packages/once/g_once.ts"],"names":[],"mappings":";;;;;;AAAA,mDAA0B;AAE1B,MAAM,KAAK,GAAG,WAAW,CAAC;AAC1B,4EAA4E;AAC5E,IAAI,cAAc,GAAG,IAAI,OAAO,EAAY,CAAC;AAsBtC,KAAK,UAAU,OAAO,CACzB,CAAW,EACX,GAAS,EACT,KAAgB;IAEhB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;QACnB,qEAAqE;QACrE,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACvB,IAAI,KAAK;gBAAE,OAAO,MAAM,KAAK,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;SACpB;QACD,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,MAAM,CAAC,EAAE,CAAC;KACpB;IACD,MAAM,MAAM,GAAG,cAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1C,IAAI,MAAM,IAAI,MAAM,EAAE;QAClB,IAAI,KAAK;YAAE,OAAO,MAAM,KAAK,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;KACpB;IACD,cAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,EAAE,CAAC;AACrB,CAAC;AAtBD,0BAsBC;AACD,SAAgB,UAAU,CAAC,MAAW,EAAE;IACpC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;QACnB,cAAG,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,cAAc,GAAG,IAAI,OAAO,EAAY,CAAC;QACzC,OAAO,IAAI,CAAC;KACf;IACD,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;QAC3B,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;KACf;IACD,cAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC;AAChB,CAAC;AAZD,gCAYC"}
1
+ {"version":3,"file":"g_once.js","sourceRoot":"","sources":["../../../packages/once/g_once.ts"],"names":[],"mappings":";;;;;;AAAA,mDAA0B;AAE1B,MAAM,KAAK,GAAG,WAAW,CAAC;AAC1B,4EAA4E;AAC5E,IAAI,cAAc,GAAG,IAAI,OAAO,EAAY,CAAC;AAsBtC,KAAK,UAAU,OAAO,CACzB,CAAW,EACX,GAAS,EACT,KAAgB;IAEhB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;QACnB,qEAAqE;QACrE,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACvB,IAAI,KAAK;gBAAE,OAAO,MAAM,KAAK,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;SACpB;QACD,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,MAAM,CAAC,EAAE,CAAC;KACpB;IACD,MAAM,MAAM,GAAG,cAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1C,IAAI,MAAM,IAAI,MAAM,EAAE;QAClB,IAAI,KAAK;YAAE,OAAO,MAAM,KAAK,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;KACpB;IACD,cAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,EAAE,CAAC;AACrB,CAAC;AAtBD,0BAsBC;AACD,SAAgB,UAAU,CAAC,MAAW,EAAE;IACpC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;QACnB,cAAG,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,cAAc,GAAG,IAAI,OAAO,EAAY,CAAC;QACzC,OAAO,IAAI,CAAC;KACf;IACD,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;QAC3B,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;KACf;IACD,cAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC;AAChB,CAAC;AAZD,gCAYC","sourcesContent":["import glb from \"../core\";\r\n\r\nconst lname = \"list_once\";\r\n/* ---- functions that already ran without a key (keyed by identity) ---- */\r\nlet done_functions = new WeakSet<Function>();\r\n\r\n/**\r\n * Runs the specefic function only once\r\n * @param key\r\n * @param f\r\n * @returns\r\n */\r\nexport async function do_once(f: Function): Promise<any>;\r\n\r\n/**\r\n * Runs the specefic function only once\r\n * @param key\r\n * @param f\r\n * @returns\r\n */\r\nexport async function do_once(\r\n f: Function,\r\n key: string,\r\n ifNot?: Function,\r\n): Promise<any>;\r\n\r\nexport async function do_once(\r\n f: Function,\r\n key?: any,\r\n ifNot?: Function,\r\n): Promise<any> {\r\n if (!f || typeof f !== \"function\") return null;\r\n if (!key || key == \"\") {\r\n /* ---- no key: use the function itself, names are not unique ---- */\r\n if (done_functions.has(f)) {\r\n if (ifNot) return await ifNot();\r\n return undefined;\r\n }\r\n done_functions.add(f);\r\n return await f();\r\n }\r\n const isDone = glb.Global_get(lname, key);\r\n if (isDone == \"true\") {\r\n if (ifNot) return await ifNot();\r\n return undefined;\r\n }\r\n glb.Global_set(lname, key, \"true\");\r\n return await f();\r\n}\r\nexport function reset_once(key: any = \"\"): any {\r\n if (!key || key == \"\") {\r\n glb.Global_set(lname, true, null);\r\n done_functions = new WeakSet<Function>();\r\n return true;\r\n }\r\n if (typeof key === \"function\") {\r\n done_functions.delete(key);\r\n return true;\r\n }\r\n glb.Global_set(lname, key, null);\r\n return true;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/once/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAyB;AAEzB,iDAAmC;AACnC,kBAAe,EAAC,GAAG,MAAM,EAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/once/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAyB;AAEzB,iDAAmC;AACnC,kBAAe,EAAC,GAAG,MAAM,EAAC,CAAC","sourcesContent":["export * from \"./g_once\";\r\n\r\nimport * as g_once from \"./g_once\";\r\nexport default {...g_once};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"gbasket.js","sourceRoot":"","sources":["../../../packages/storage/gbasket.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AAIpC;;GAEG;AACH,MAAa,OAAO;IAChB;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,CACZ,MAAW,EACX,WAAmB,CAAC,EACpB,IAAqB;QAErB,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,QAAQ;YAAE,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;QAC5C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,CACZ,MAAW,EACX,WAAmB,CAAC,EACpB,IAAqB;QAErB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACrC,QAAQ,CAAC,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,QAAQ,CAAC,MAAM,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC;SAClC,CAAC;QACF,MAAM,mBAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAA0B;QACvC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,MAAM;QACf,MAAM,MAAM,GAAG,MAAM,mBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,IAAI,QAAQ;YAAE,OAAO,EAAE,CAAC;QACpD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,KAAK;QACd,OAAO,MAAM,mBAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;CACJ;AAlDD,0BAkDC"}
1
+ {"version":3,"file":"gbasket.js","sourceRoot":"","sources":["../../../packages/storage/gbasket.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AAIpC;;GAEG;AACH,MAAa,OAAO;IAChB;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,CACZ,MAAW,EACX,WAAmB,CAAC,EACpB,IAAqB;QAErB,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,QAAQ;YAAE,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;QAC5C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,CACZ,MAAW,EACX,WAAmB,CAAC,EACpB,IAAqB;QAErB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACrC,QAAQ,CAAC,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,QAAQ,CAAC,MAAM,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC;SAClC,CAAC;QACF,MAAM,mBAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAA0B;QACvC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,MAAM;QACf,MAAM,MAAM,GAAG,MAAM,mBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,IAAI,QAAQ;YAAE,OAAO,EAAE,CAAC;QACpD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,KAAK;QACd,OAAO,MAAM,mBAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;CACJ;AAlDD,0BAkDC","sourcesContent":["import {gstorage} from \"./gstorage\";\r\ntype basketObject = {[key: string]: basketItem};\r\ntype basketItemData = any;\r\ntype basketItem = {quantity: number; data: basketItemData};\r\n/**\r\n * shop basket helper functions\r\n */\r\nexport class gbasket {\r\n /**\r\n * add `quantity` of `itemid` to basket\r\n * @param itemid\r\n * @param quantity\r\n * @param data\r\n * @returns\r\n */\r\n static async add(\r\n itemid: any,\r\n quantity: number = 1,\r\n data?: basketItemData,\r\n ): Promise<any> {\r\n let prevItem = await this.get(itemid);\r\n if (prevItem) quantity += prevItem.quantity;\r\n return await this.set(itemid, quantity, data);\r\n }\r\n\r\n /**\r\n * set `quantity` of `itemid` to basket\r\n * @param itemid\r\n * @param quantity\r\n * @param data\r\n * @returns\r\n */\r\n static async set(\r\n itemid: any,\r\n quantity: number = 1,\r\n data?: basketItemData,\r\n ): Promise<basketObject> {\r\n const olditems = await this.getAll();\r\n olditems[itemid] = {\r\n data: data ?? olditems[itemid],\r\n quantity: Math.max(0, quantity),\r\n };\r\n await gstorage.set(\"basket\", olditems);\r\n return olditems;\r\n }\r\n static async get(itemid: keyof basketObject): Promise<basketItem> {\r\n const items = await this.getAll();\r\n return items[itemid];\r\n }\r\n static async getAll(): Promise<basketObject> {\r\n const basket = await gstorage.get(\"basket\");\r\n if (!basket || typeof basket != \"object\") return {};\r\n return basket;\r\n }\r\n static async clear(): Promise<any> {\r\n return await gstorage.set(\"basket\", {});\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"gbasket.test.js","sourceRoot":"","sources":["../../../packages/storage/gbasket.test.ts"],"names":[],"mappings":";;AAAA,mCAAgC;AAEhC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACrB,UAAU,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,eAAO,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,GAAG,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvC,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,KAAK,GAAG,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,GAAG,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvC,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,KAAK,GAAG,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QACtB,MAAM,eAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,eAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,eAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,eAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,eAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,eAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,eAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"gbasket.test.js","sourceRoot":"","sources":["../../../packages/storage/gbasket.test.ts"],"names":[],"mappings":";;AAAA,mCAAgC;AAEhC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACrB,UAAU,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,eAAO,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,GAAG,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvC,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,KAAK,GAAG,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,GAAG,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvC,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,KAAK,GAAG,MAAM,eAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QACtB,MAAM,eAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,eAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,eAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,eAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,eAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,eAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,eAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import {gbasket} from \"./index\";\r\n\r\ndescribe(\"gbasket\", () => {\r\n beforeEach(async () => {\r\n await gbasket.clear();\r\n });\r\n it(\"addItem\", async () => {\r\n await gbasket.add(\"test\", 1);\r\n await gbasket.add(\"test\", 1);\r\n let mitem = await gbasket.get(\"test\");\r\n expect((await mitem).quantity).toBe(2);\r\n\r\n await gbasket.add(\"test\", 1);\r\n mitem = await gbasket.get(\"test\");\r\n expect((await mitem).quantity).toBe(3);\r\n });\r\n it(\"setItem\", async () => {\r\n await gbasket.add(\"test\", 1);\r\n await gbasket.add(\"test\", 1);\r\n let mitem = await gbasket.get(\"test\");\r\n expect((await mitem).quantity).toBe(2);\r\n\r\n await gbasket.set(\"test\", 1);\r\n mitem = await gbasket.get(\"test\");\r\n expect((await mitem).quantity).toBe(1);\r\n });\r\n it(\"getItems\", async () => {\r\n await gbasket.add(\"test1\", 1);\r\n await gbasket.add(\"test1\", 1);\r\n await gbasket.add(\"test2\", 1);\r\n await gbasket.add(\"test2\", 1);\r\n expect(Object.keys(await gbasket.getAll())).toHaveLength(2);\r\n await gbasket.add(\"test3\", 1);\r\n expect(Object.keys(await gbasket.getAll())).toHaveLength(3);\r\n });\r\n});\r\n"]}
@@ -14,6 +14,17 @@ export declare class gstorage {
14
14
  static hold<T>(key: string, value: T, options?: setVarOptions): T;
15
15
  private static _optional_dec;
16
16
  private static _optional_enc;
17
+ private static _is_empty;
18
+ /**
19
+ * reads the raw (still encoded) value from localStorage, then sessionStorage,
20
+ * based on options
21
+ */
22
+ private static _browser_get;
23
+ /**
24
+ * writes the encoded value to localStorage / sessionStorage based on options,
25
+ * removes the key when the original value is empty
26
+ */
27
+ private static _browser_set;
17
28
  /**
18
29
  * @deprecated
19
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"gstorage.d.ts","sourceRoot":"","sources":["../../../packages/storage/gstorage.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,QAAQ;WACJ,GAAG,CACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC,GAAG,CAAC;IAOf,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,GAAG;IAazD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,CAAC;WAcvD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;WAiD5C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa;IA4EjE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,CAAC;IAajE,OAAO,CAAC,MAAM,CAAC,aAAa;IAG5B,OAAO,CAAC,MAAM,CAAC,aAAa;IAO5B;;OAEG;WACU,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa;IAGrE;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;IAGxD,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa;IAGpE;;OAEG;WACU,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;IAGzD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;IAGpD;;OAEG;WACU,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa;IAGrE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa;IAGhE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,CAAC;CAGxE"}
1
+ {"version":3,"file":"gstorage.d.ts","sourceRoot":"","sources":["../../../packages/storage/gstorage.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,QAAQ;WACJ,GAAG,CACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC,GAAG,CAAC;IAOf,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,GAAG;IAezD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,CAAC;WAevD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;WAoC5C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa;IAmDjE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,CAAC;IAajE,OAAO,CAAC,MAAM,CAAC,aAAa;IAG5B,OAAO,CAAC,MAAM,CAAC,aAAa;IAO5B,OAAO,CAAC,MAAM,CAAC,SAAS;IAGxB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAmB3B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAyC3B;;OAEG;WACU,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa;IAGrE;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;IAGxD,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa;IAGpE;;OAEG;WACU,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;IAGzD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;IAGpD;;OAEG;WACU,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa;IAGrE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa;IAGhE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,CAAC;CAGxE"}
@@ -18,9 +18,12 @@ class gstorage {
18
18
  return foundValue;
19
19
  }
20
20
  static getSync(key, options) {
21
+ var _a;
21
22
  if (!options)
22
23
  options = {};
23
24
  let foundValue = core_1.default.Global_get(lname, key);
25
+ if (foundValue == null)
26
+ foundValue = (_a = gstorage._browser_get(key, options)) !== null && _a !== void 0 ? _a : foundValue;
24
27
  if (typeof foundValue === "string")
25
28
  foundValue = gstorage._optional_dec(foundValue);
26
29
  if (options.json && typeof foundValue === "string")
@@ -44,6 +47,7 @@ class gstorage {
44
47
  /* Encode any string */
45
48
  final_value = gstorage._optional_enc(final_value);
46
49
  }
50
+ gstorage._browser_set(key, value, final_value, options);
47
51
  return core_1.default.Global_set(lname, key, final_value);
48
52
  }
49
53
  static async get(key, options = {}) {
@@ -57,22 +61,10 @@ class gstorage {
57
61
  fv = core_1.default.Global_get(lname, key);
58
62
  if (fv != null)
59
63
  return fv;
60
- /* ------------------------------ local_storage ----------------------------- */
61
- if (options.local_storage) {
62
- if (!isBrowser)
63
- throw new Error("you cant use localStorage storage in node");
64
- fv = localStorage[key]; // only strings
65
- if (fv != null)
66
- return fv;
67
- }
68
- /* --------------------------------- session -------------------------------- */
69
- if (options.session) {
70
- if (!isBrowser)
71
- throw new Error("you cant use session storage in node");
72
- fv = window.sessionStorage.getItem(key);
73
- if (fv != null)
74
- return fv;
75
- }
64
+ /* ------------------------ local_storage / session ------------------------ */
65
+ fv = gstorage._browser_get(key, options);
66
+ if (fv != null)
67
+ return fv;
76
68
  /* --------------------------------- storage -------------------------------- */
77
69
  if (options.storage) {
78
70
  if (!isBrowser)
@@ -116,31 +108,9 @@ class gstorage {
116
108
  /* Encode any string */
117
109
  final_value = gstorage._optional_enc(final_value);
118
110
  }
119
- let isEmpty = final_value == null || final_value == "";
111
+ let isEmpty = gstorage._is_empty(value);
120
112
  /* -------------------------------------------------------------------------- */
121
- if (options.local_storage) {
122
- if (!isBrowser)
123
- throw new Error("you cant use localStorage storage in node");
124
- if (isEmpty)
125
- delete localStorage[key];
126
- else {
127
- if (!isString)
128
- throw new Error("You cant save non-string values in local_storage !");
129
- localStorage[key] = final_value; // only strings
130
- }
131
- }
132
- if (options.session) {
133
- if (!isBrowser)
134
- throw new Error("you cant use session storage in node");
135
- if (isEmpty)
136
- window.sessionStorage.removeItem(key);
137
- else {
138
- if (!isString)
139
- throw new Error("You cant save non-string values in session ! " +
140
- final_value);
141
- window.sessionStorage.setItem(key, final_value);
142
- }
143
- }
113
+ gstorage._browser_set(key, value, final_value, options);
144
114
  if (options.storage) {
145
115
  if (!isBrowser)
146
116
  throw new Error("you cant use AsyncStorage in node");
@@ -176,6 +146,69 @@ class gstorage {
176
146
  return data + "SECRET";
177
147
  }
178
148
  /* -------------------------------------------------------------------------- */
149
+ /* localStorage / sessionStorage (sync) */
150
+ /* -------------------------------------------------------------------------- */
151
+ static _is_empty(value) {
152
+ return value == null || value === "";
153
+ }
154
+ /**
155
+ * reads the raw (still encoded) value from localStorage, then sessionStorage,
156
+ * based on options
157
+ */
158
+ static _browser_get(key, options) {
159
+ const isBrowser = typeof window !== "undefined";
160
+ let fv = null;
161
+ /* ------------------------------ local_storage ----------------------------- */
162
+ if (options.local_storage) {
163
+ if (!isBrowser)
164
+ throw new Error("you cant use localStorage storage in node");
165
+ fv = localStorage[key]; // only strings
166
+ if (fv != null)
167
+ return fv;
168
+ }
169
+ /* --------------------------------- session -------------------------------- */
170
+ if (options.session) {
171
+ if (!isBrowser)
172
+ throw new Error("you cant use session storage in node");
173
+ fv = window.sessionStorage.getItem(key);
174
+ if (fv != null)
175
+ return fv;
176
+ }
177
+ return undefined;
178
+ }
179
+ /**
180
+ * writes the encoded value to localStorage / sessionStorage based on options,
181
+ * removes the key when the original value is empty
182
+ */
183
+ static _browser_set(key, value, final_value, options) {
184
+ const isBrowser = typeof window !== "undefined";
185
+ const isEmpty = gstorage._is_empty(value);
186
+ const isString = typeof final_value == "string";
187
+ if (options.local_storage) {
188
+ if (!isBrowser)
189
+ throw new Error("you cant use localStorage storage in node");
190
+ if (isEmpty)
191
+ delete localStorage[key];
192
+ else {
193
+ if (!isString)
194
+ throw new Error("You cant save non-string values in local_storage !");
195
+ localStorage[key] = final_value; // only strings
196
+ }
197
+ }
198
+ if (options.session) {
199
+ if (!isBrowser)
200
+ throw new Error("you cant use session storage in node");
201
+ if (isEmpty)
202
+ window.sessionStorage.removeItem(key);
203
+ else {
204
+ if (!isString)
205
+ throw new Error("You cant save non-string values in session ! " +
206
+ final_value);
207
+ window.sessionStorage.setItem(key, final_value);
208
+ }
209
+ }
210
+ }
211
+ /* -------------------------------------------------------------------------- */
179
212
  /* deprected functions */
180
213
  /* -------------------------------------------------------------------------- */
181
214
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"gstorage.js","sourceRoot":"","sources":["../../../packages/storage/gstorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gstorage.js","sourceRoot":"","sources":["../../../packages/storage/gstorage.ts"],"names":[],"mappings":"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","sourcesContent":["import AsyncStorage from \"@react-native-async-storage/async-storage\";\r\nimport React from \"react\";\r\nimport glb from \"../core\";\r\n\r\nconst lname = \"list_var\";\r\n\r\nexport interface setVarOptions {\r\n normal?: boolean;\r\n session?: boolean;\r\n storage?: boolean;\r\n local_storage?: boolean;\r\n json?: boolean;\r\n}\r\n\r\nexport class gstorage {\r\n static async add(\r\n key: string,\r\n value: any,\r\n options?: setVarOptions,\r\n ): Promise<any> {\r\n var foundValue = await this.get(key, options);\r\n if (!Array.isArray(foundValue)) foundValue = [];\r\n foundValue.push(value);\r\n await this.set(key, foundValue, options);\r\n return foundValue;\r\n }\r\n static getSync(key: string, options?: setVarOptions): any {\r\n if (!options) options = {};\r\n let foundValue = glb.Global_get(lname, key);\r\n if (foundValue == null)\r\n foundValue = gstorage._browser_get(key, options) ?? foundValue;\r\n\r\n if (typeof foundValue === \"string\")\r\n foundValue = gstorage._optional_dec(foundValue);\r\n if (options.json && typeof foundValue === \"string\")\r\n try {\r\n return JSON.parse(foundValue);\r\n } catch (Ex) {}\r\n\r\n return foundValue;\r\n }\r\n static setSync<T>(key: string, value: T, options?: setVarOptions): T {\r\n if (!options) options = {};\r\n let final_value = value;\r\n if (options.json && typeof final_value !== \"function\") {\r\n try {\r\n final_value = JSON.stringify(final_value) as T;\r\n } catch (Ex) {}\r\n }\r\n if (typeof final_value === \"string\") {\r\n /* Encode any string */\r\n final_value = gstorage._optional_enc(final_value as string) as T;\r\n }\r\n gstorage._browser_set(key, value, final_value, options);\r\n return glb.Global_set(lname, key, final_value);\r\n }\r\n static async get(key: string, options: setVarOptions = {}) {\r\n if (!options) options = {};\r\n const isBrowser = typeof window !== \"undefined\";\r\n /* -------------------------------------------------------------------------- */\r\n async function getValueBasedOnOptions() {\r\n let fv = null;\r\n /* -------------------- normal get var, always checked first -------------------- */\r\n fv = glb.Global_get(lname, key);\r\n if (fv != null) return fv;\r\n\r\n /* ------------------------ local_storage / session ------------------------ */\r\n fv = gstorage._browser_get(key, options);\r\n if (fv != null) return fv;\r\n /* --------------------------------- storage -------------------------------- */\r\n if (options.storage) {\r\n if (!isBrowser)\r\n throw new Error(\r\n \"you cant use AsyncStorage storage in node\",\r\n );\r\n fv = await AsyncStorage.getItem(key);\r\n if (fv != null) return fv;\r\n }\r\n return undefined;\r\n }\r\n let foundValue = await getValueBasedOnOptions();\r\n\r\n if (typeof foundValue === \"string\") {\r\n foundValue = gstorage._optional_dec(foundValue);\r\n if (options.json)\r\n try {\r\n return JSON.parse(foundValue);\r\n } catch (Ex) {}\r\n }\r\n\r\n return foundValue;\r\n }\r\n static async set(key: string, value: any, options?: setVarOptions) {\r\n if (!options) options = {};\r\n let final_value = value;\r\n let final_value_object =\r\n typeof final_value === \"object\" ? final_value : undefined;\r\n //\r\n const isBrowser = typeof window !== \"undefined\";\r\n\r\n /* ----------------------- optionally convert to json ----------------------- */\r\n if (\r\n options.json &&\r\n final_value != null &&\r\n typeof final_value != \"function\"\r\n ) {\r\n try {\r\n final_value = JSON.stringify(final_value);\r\n } catch (Ex) {}\r\n }\r\n /* -------------------------------------------------------------------------- */\r\n\r\n let isString = typeof final_value == \"string\";\r\n if (isString) {\r\n /* Encode any string */\r\n final_value = gstorage._optional_enc(final_value);\r\n }\r\n\r\n let isEmpty = gstorage._is_empty(value);\r\n\r\n /* -------------------------------------------------------------------------- */\r\n\r\n gstorage._browser_set(key, value, final_value, options);\r\n if (options.storage) {\r\n if (!isBrowser)\r\n throw new Error(\"you cant use AsyncStorage in node\");\r\n if (isEmpty) await AsyncStorage.removeItem(key);\r\n else {\r\n if (!isString)\r\n throw new Error(\r\n \"You cant save non-string values in AsyncStorage !\",\r\n );\r\n await AsyncStorage.setItem(key, final_value);\r\n }\r\n }\r\n\r\n /* ------------------------- always set in global too ------------------------ */\r\n glb.Global_set(lname, key, final_value_object ?? final_value);\r\n\r\n /* -------------------------------------------------------------------------- */\r\n\r\n return final_value;\r\n }\r\n static hold<T>(key: string, value: T, options?: setVarOptions): T {\r\n React.useEffect(() => {\r\n gstorage.set(key, value, options);\r\n return () => {\r\n gstorage.set(key, null, options);\r\n };\r\n }, [value]);\r\n return value;\r\n }\r\n\r\n /* -------------------------------------------------------------------------- */\r\n /* encode / decode stored strings */\r\n /* -------------------------------------------------------------------------- */\r\n private static _optional_dec(data: string) {\r\n return data.replaceAll(\"SECRET\", \"\");\r\n }\r\n private static _optional_enc(data: string) {\r\n return data + \"SECRET\";\r\n }\r\n\r\n /* -------------------------------------------------------------------------- */\r\n /* localStorage / sessionStorage (sync) */\r\n /* -------------------------------------------------------------------------- */\r\n private static _is_empty(value: any) {\r\n return value == null || value === \"\";\r\n }\r\n /**\r\n * reads the raw (still encoded) value from localStorage, then sessionStorage,\r\n * based on options\r\n */\r\n private static _browser_get(key: string, options: setVarOptions): any {\r\n const isBrowser = typeof window !== \"undefined\";\r\n let fv = null;\r\n /* ------------------------------ local_storage ----------------------------- */\r\n if (options.local_storage) {\r\n if (!isBrowser)\r\n throw new Error(\"you cant use localStorage storage in node\");\r\n fv = localStorage[key]; // only strings\r\n if (fv != null) return fv;\r\n }\r\n /* --------------------------------- session -------------------------------- */\r\n if (options.session) {\r\n if (!isBrowser)\r\n throw new Error(\"you cant use session storage in node\");\r\n fv = window.sessionStorage.getItem(key);\r\n if (fv != null) return fv;\r\n }\r\n return undefined;\r\n }\r\n /**\r\n * writes the encoded value to localStorage / sessionStorage based on options,\r\n * removes the key when the original value is empty\r\n */\r\n private static _browser_set(\r\n key: string,\r\n value: any,\r\n final_value: any,\r\n options: setVarOptions,\r\n ) {\r\n const isBrowser = typeof window !== \"undefined\";\r\n const isEmpty = gstorage._is_empty(value);\r\n const isString = typeof final_value == \"string\";\r\n\r\n if (options.local_storage) {\r\n if (!isBrowser)\r\n throw new Error(\"you cant use localStorage storage in node\");\r\n\r\n if (isEmpty) delete localStorage[key];\r\n else {\r\n if (!isString)\r\n throw new Error(\r\n \"You cant save non-string values in local_storage !\",\r\n );\r\n localStorage[key] = final_value; // only strings\r\n }\r\n }\r\n if (options.session) {\r\n if (!isBrowser)\r\n throw new Error(\"you cant use session storage in node\");\r\n if (isEmpty) window.sessionStorage.removeItem(key);\r\n else {\r\n if (!isString)\r\n throw new Error(\r\n \"You cant save non-string values in session ! \" +\r\n final_value,\r\n );\r\n window.sessionStorage.setItem(key, final_value);\r\n }\r\n }\r\n }\r\n\r\n /* -------------------------------------------------------------------------- */\r\n /* deprected functions */\r\n /* -------------------------------------------------------------------------- */\r\n /**\r\n * @deprecated\r\n */\r\n static async add_var(key: string, value: any, options?: setVarOptions) {\r\n return await gstorage.add(key, value, options);\r\n }\r\n /**\r\n * @deprecated\r\n */\r\n static get_var_sync(key: string, options?: setVarOptions) {\r\n return gstorage.getSync(key, options);\r\n }\r\n static set_var_sync(key: string, value: any, options?: setVarOptions) {\r\n return gstorage.setSync(key, value, options);\r\n }\r\n /**\r\n * @deprecated\r\n */\r\n static async get_var(key: string, options?: setVarOptions) {\r\n return await gstorage.get(key, options);\r\n }\r\n /**\r\n * @deprecated\r\n */\r\n static get_sync(key: string, options?: setVarOptions) {\r\n return gstorage.getSync(key, options);\r\n }\r\n /**\r\n * @deprecated\r\n */\r\n static async set_var(key: string, value: any, options?: setVarOptions) {\r\n return await gstorage.set(key, value, options);\r\n }\r\n /**\r\n * @deprecated\r\n */\r\n static set_sync(key: string, value: any, options?: setVarOptions) {\r\n return gstorage.setSync(key, value, options);\r\n }\r\n /**\r\n * @deprecated\r\n */\r\n static hold_var<T>(key: string, value: T, options?: setVarOptions): T {\r\n return gstorage.hold(key, value, options);\r\n }\r\n}\r\n"]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const index_1 = require("./index");
4
+ const core_1 = require("../core");
4
5
  describe("gstorage", () => {
5
6
  var testObject = { name: "reza" };
6
7
  it("set_var_sync", async () => {
@@ -53,4 +54,69 @@ describe("gstorage", () => {
53
54
  })).toStrictEqual(storage_a);
54
55
  });
55
56
  });
57
+ describe("gstorage sync with browser storage", () => {
58
+ /* clears the in-memory store, like a page reload */
59
+ const reload = () => core_1.GlobalStorage.Global_set("list_var", true, null);
60
+ beforeEach(() => {
61
+ localStorage.clear();
62
+ sessionStorage.clear();
63
+ reload();
64
+ });
65
+ test("setSync getSync local_storage", () => {
66
+ index_1.gstorage.setSync("ls_a", "hello", { local_storage: true });
67
+ reload();
68
+ expect(index_1.gstorage.getSync("ls_a")).toBeUndefined();
69
+ expect(index_1.gstorage.getSync("ls_a", { local_storage: true })).toBe("hello");
70
+ });
71
+ test("setSync getSync session", () => {
72
+ index_1.gstorage.setSync("ss_a", "hello", { session: true });
73
+ reload();
74
+ expect(index_1.gstorage.getSync("ss_a", { local_storage: true })).toBeUndefined();
75
+ expect(index_1.gstorage.getSync("ss_a", { session: true })).toBe("hello");
76
+ });
77
+ test("setSync getSync local_storage json", () => {
78
+ const obj = { b4: "bbbb", abArray: ["a", "b"] };
79
+ index_1.gstorage.setSync("ls_json", obj, { local_storage: true, json: true });
80
+ reload();
81
+ expect(index_1.gstorage.getSync("ls_json", { local_storage: true, json: true })).toStrictEqual(obj);
82
+ });
83
+ test("set then getSync local_storage", async () => {
84
+ await index_1.gstorage.set("ls_async", "hello", { local_storage: true });
85
+ reload();
86
+ expect(index_1.gstorage.getSync("ls_async", { local_storage: true })).toBe("hello");
87
+ });
88
+ test("in-memory store is checked first", () => {
89
+ localStorage["ls_mem"] = "fromStorage";
90
+ index_1.gstorage.setSync("ls_mem", "fromMemory");
91
+ expect(index_1.gstorage.getSync("ls_mem", { local_storage: true })).toBe("fromMemory");
92
+ });
93
+ test("setSync with empty value removes the localStorage key", () => {
94
+ index_1.gstorage.setSync("ls_empty", "hello", { local_storage: true });
95
+ expect(localStorage.getItem("ls_empty")).not.toBeNull();
96
+ index_1.gstorage.setSync("ls_empty", "", { local_storage: true });
97
+ expect(localStorage.getItem("ls_empty")).toBeNull();
98
+ index_1.gstorage.setSync("ls_null", "hello", { local_storage: true });
99
+ index_1.gstorage.setSync("ls_null", null, { local_storage: true });
100
+ expect(localStorage.getItem("ls_null")).toBeNull();
101
+ reload();
102
+ expect(index_1.gstorage.getSync("ls_null", { local_storage: true })).toBeUndefined();
103
+ });
104
+ test("setSync non-string without json throws for local_storage", () => {
105
+ expect(() => index_1.gstorage.setSync("ls_obj", { a: 1 }, { local_storage: true })).toThrow();
106
+ });
107
+ test("no options does not touch browser storage", () => {
108
+ const obj = { name: "reza" };
109
+ expect(index_1.gstorage.setSync("plain_a", obj)).toBe(obj);
110
+ expect(index_1.gstorage.getSync("plain_a")).toBe(obj);
111
+ expect(index_1.gstorage.setSync("plain_b", "hello")).toBe("helloSECRET");
112
+ expect(index_1.gstorage.getSync("plain_b")).toBe("hello");
113
+ expect(index_1.gstorage.setSync("plain_c", obj, { json: true })).toBe(JSON.stringify(obj) + "SECRET");
114
+ expect(index_1.gstorage.getSync("plain_c", { json: true })).toStrictEqual(obj);
115
+ expect(localStorage.length).toBe(0);
116
+ expect(sessionStorage.length).toBe(0);
117
+ localStorage["plain_d"] = "hello";
118
+ expect(index_1.gstorage.getSync("plain_d")).toBeUndefined();
119
+ expect(index_1.gstorage.getSync("plain_d", { json: true })).toBeUndefined();
120
+ });
121
+ });
56
122
  //# sourceMappingURL=gstorage.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gstorage.test.js","sourceRoot":"","sources":["../../../packages/storage/gstorage.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gstorage.test.js","sourceRoot":"","sources":["../../../packages/storage/gstorage.test.ts"],"names":[],"mappings":";;AAAA,mCAAiC;AACjC,kCAAsC;AAEtC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACtB,IAAI,UAAU,GAAG,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;IAChC,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC;QACtB,MAAM,KAAK,GAAG,EAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAE9C,MAAM,gBAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,gBAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,gBAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEzC,MAAM,CAAC,MAAM,gBAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,gBAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,gBAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,SAAS,GAAG,EAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAC,CAAC;QACpD,MAAM,SAAS,GAAG,EAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAC,CAAC;QAElD,MAAM,gBAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE;YACvC,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,MAAM,gBAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE;YACvC,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,CACF,MAAM,gBAAQ,CAAC,GAAG,CAAC,WAAW,EAAE;YAC5B,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI;SACb,CAAC,CACL,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC3B,MAAM,CACF,MAAM,gBAAQ,CAAC,GAAG,CAAC,WAAW,EAAE;YAC5B,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI;SACb,CAAC,CACL,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,SAAS,GAAG,EAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAC,CAAC;QACpD,MAAM,SAAS,GAAG,EAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAC,CAAC;QAElD,IAAI,QAAQ,GAAG,MAAM,gBAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAErC,MAAM,CACF,MAAM,gBAAQ,CAAC,GAAG,CAAC,WAAW,EAAE;YAC5B,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI;SACb,CAAC,CACL,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC3B,MAAM,CACF,MAAM,gBAAQ,CAAC,GAAG,CAAC,WAAW,EAAE;YAC5B,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI;SACb,CAAC,CACL,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAChD,oDAAoD;IACpD,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,oBAAa,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAEtE,UAAU,CAAC,GAAG,EAAE;QACZ,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,gBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QACzD,MAAM,EAAE,CAAC;QACT,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACjD,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,gBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC;QACT,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACxE,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,GAAG,GAAG,EAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAC,CAAC;QAC9C,gBAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,EAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;QACpE,MAAM,EAAE,CAAC;QACT,MAAM,CACF,gBAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CACjE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,gBAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QAC/D,MAAM,EAAE,CAAC;QACT,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CAC5D,OAAO,CACV,CAAC;IACN,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,YAAY,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC;QACvC,gBAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACzC,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CAC1D,YAAY,CACf,CAAC;IACN,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,gBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACxD,gBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QACxD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEpD,gBAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QAC5D,gBAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QACzD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnD,MAAM,EAAE,CAAC;QACT,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC/E,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,GAAG,EAAE,CACR,gBAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAC,CAAC,EAAE,CAAC,EAAC,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAC5D,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,GAAG,GAAG,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;QAC3B,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CACvD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CACjC,CAAC;QACF,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACrE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEtC,YAAY,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;QAClC,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACpD,MAAM,CAAC,gBAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import {gstorage} from \"./index\";\r\nimport {GlobalStorage} from \"../core\";\r\n\r\ndescribe(\"gstorage\", () => {\r\n var testObject = {name: \"reza\"};\r\n it(\"set_var_sync\", async () => {\r\n expect(gstorage.setSync(\"test\", testObject)).toBe(testObject);\r\n expect(gstorage.getSync(\"test\")).toBe(testObject);\r\n });\r\n test(\"set_var get_var\", async () => {\r\n const var_a = \"hello\";\r\n const var_b = {b4: \"bbbb\", abArray: [\"a\", \"b\"]};\r\n const f_square = (a: number): number => a * a;\r\n\r\n await gstorage.set(\"var_a\", var_a);\r\n await gstorage.set(\"var_b\", var_b);\r\n await gstorage.set(\"f_square\", f_square);\r\n\r\n expect(await gstorage.get(\"var_a\")).toStrictEqual(var_a);\r\n expect(await gstorage.get(\"var_b\")).toStrictEqual(var_b);\r\n expect(await gstorage.get(\"f_square\")).toStrictEqual(f_square);\r\n });\r\n test(\"GlobalVar session and storage check\", async () => {\r\n const session_a = {b4: \"bbbb\", abArray: [\"a\", \"b\"]};\r\n const storage_a = {b2: \"bb\", baArray: [\"b\", \"a\"]};\r\n\r\n await gstorage.set(\"session_a\", session_a, {\r\n session: true,\r\n json: true,\r\n });\r\n await gstorage.set(\"storage_a\", storage_a, {\r\n storage: true,\r\n json: true,\r\n });\r\n\r\n expect(\r\n await gstorage.get(\"session_a\", {\r\n session: true,\r\n json: true,\r\n }),\r\n ).toStrictEqual(session_a);\r\n expect(\r\n await gstorage.get(\"storage_a\", {\r\n storage: true,\r\n json: true,\r\n }),\r\n ).toStrictEqual(storage_a);\r\n });\r\n test(\"GlobalVar is it really global ?\", async () => {\r\n const session_a = {b4: \"bbbb\", abArray: [\"a\", \"b\"]};\r\n const storage_a = {b2: \"bb\", baArray: [\"b\", \"a\"]};\r\n\r\n var f_square = await gstorage.get(\"f_square\");\r\n expect(f_square(3)).toStrictEqual(9);\r\n\r\n expect(\r\n await gstorage.get(\"session_a\", {\r\n session: true,\r\n json: true,\r\n }),\r\n ).toStrictEqual(session_a);\r\n expect(\r\n await gstorage.get(\"storage_a\", {\r\n storage: true,\r\n json: true,\r\n }),\r\n ).toStrictEqual(storage_a);\r\n });\r\n});\r\n\r\ndescribe(\"gstorage sync with browser storage\", () => {\r\n /* clears the in-memory store, like a page reload */\r\n const reload = () => GlobalStorage.Global_set(\"list_var\", true, null);\r\n\r\n beforeEach(() => {\r\n localStorage.clear();\r\n sessionStorage.clear();\r\n reload();\r\n });\r\n test(\"setSync getSync local_storage\", () => {\r\n gstorage.setSync(\"ls_a\", \"hello\", {local_storage: true});\r\n reload();\r\n expect(gstorage.getSync(\"ls_a\")).toBeUndefined();\r\n expect(gstorage.getSync(\"ls_a\", {local_storage: true})).toBe(\"hello\");\r\n });\r\n test(\"setSync getSync session\", () => {\r\n gstorage.setSync(\"ss_a\", \"hello\", {session: true});\r\n reload();\r\n expect(gstorage.getSync(\"ss_a\", {local_storage: true})).toBeUndefined();\r\n expect(gstorage.getSync(\"ss_a\", {session: true})).toBe(\"hello\");\r\n });\r\n test(\"setSync getSync local_storage json\", () => {\r\n const obj = {b4: \"bbbb\", abArray: [\"a\", \"b\"]};\r\n gstorage.setSync(\"ls_json\", obj, {local_storage: true, json: true});\r\n reload();\r\n expect(\r\n gstorage.getSync(\"ls_json\", {local_storage: true, json: true}),\r\n ).toStrictEqual(obj);\r\n });\r\n test(\"set then getSync local_storage\", async () => {\r\n await gstorage.set(\"ls_async\", \"hello\", {local_storage: true});\r\n reload();\r\n expect(gstorage.getSync(\"ls_async\", {local_storage: true})).toBe(\r\n \"hello\",\r\n );\r\n });\r\n test(\"in-memory store is checked first\", () => {\r\n localStorage[\"ls_mem\"] = \"fromStorage\";\r\n gstorage.setSync(\"ls_mem\", \"fromMemory\");\r\n expect(gstorage.getSync(\"ls_mem\", {local_storage: true})).toBe(\r\n \"fromMemory\",\r\n );\r\n });\r\n test(\"setSync with empty value removes the localStorage key\", () => {\r\n gstorage.setSync(\"ls_empty\", \"hello\", {local_storage: true});\r\n expect(localStorage.getItem(\"ls_empty\")).not.toBeNull();\r\n gstorage.setSync(\"ls_empty\", \"\", {local_storage: true});\r\n expect(localStorage.getItem(\"ls_empty\")).toBeNull();\r\n\r\n gstorage.setSync(\"ls_null\", \"hello\", {local_storage: true});\r\n gstorage.setSync(\"ls_null\", null, {local_storage: true});\r\n expect(localStorage.getItem(\"ls_null\")).toBeNull();\r\n reload();\r\n expect(gstorage.getSync(\"ls_null\", {local_storage: true})).toBeUndefined();\r\n });\r\n test(\"setSync non-string without json throws for local_storage\", () => {\r\n expect(() =>\r\n gstorage.setSync(\"ls_obj\", {a: 1}, {local_storage: true}),\r\n ).toThrow();\r\n });\r\n test(\"no options does not touch browser storage\", () => {\r\n const obj = {name: \"reza\"};\r\n expect(gstorage.setSync(\"plain_a\", obj)).toBe(obj);\r\n expect(gstorage.getSync(\"plain_a\")).toBe(obj);\r\n expect(gstorage.setSync(\"plain_b\", \"hello\")).toBe(\"helloSECRET\");\r\n expect(gstorage.getSync(\"plain_b\")).toBe(\"hello\");\r\n expect(gstorage.setSync(\"plain_c\", obj, {json: true})).toBe(\r\n JSON.stringify(obj) + \"SECRET\",\r\n );\r\n expect(gstorage.getSync(\"plain_c\", {json: true})).toStrictEqual(obj);\r\n expect(localStorage.length).toBe(0);\r\n expect(sessionStorage.length).toBe(0);\r\n\r\n localStorage[\"plain_d\"] = \"hello\";\r\n expect(gstorage.getSync(\"plain_d\")).toBeUndefined();\r\n expect(gstorage.getSync(\"plain_d\", {json: true})).toBeUndefined();\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,4CAA0B","sourcesContent":["export * from \"./gstorage\";\r\nexport * from \"./gbasket\";\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"gtranslate.js","sourceRoot":"","sources":["../../../packages/translation/gtranslate.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAG5C,MAAM,KAAK,GAAG,QAAQ,CAAC;AACvB,MAAM,aAAa,GAAG,aAAa,CAAC;AAEpC,gFAAgF;AAEhF,SAAgB,eAAe,CAC3B,QAAgB,EAChB,GAAQ,EACR,KAAW;IAEX,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC5B,OAAO,qBAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC;AAPD,0CAOC;AACD,SAAgB,wBAAwB,CACpC,QAAgB,EAChB,UAAmC;IAEnC,OAAO,qBAAa,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AACzE,CAAC;AALD,4DAKC;AAED,SAAgB,eAAe,CAAC,QAAgB,EAAE,GAAQ;IACtD,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAC;IAEvC,gFAAgF;IAChF,IAAI,gBAAgB,GAAG,qBAAa,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAEpE,QAAQ,OAAO,gBAAgB,EAAE;QAC7B,KAAK,UAAU;YACX,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;YACtC,MAAM;QACV,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACT,OAAO,MAAM,CAAC,gBAAgB,CAAC,CAAC;KACvC;IACD,gFAAgF;IAChF,IAAI,gBAAgB,IAAI,IAAI,EAAE;QAC1B,MAAM,mBAAmB,GAAG,qBAAa,CAAC,UAAU,CAChD,aAAa,EACb,QAAQ,CACX,CAAC;QACF,IAAI,OAAO,mBAAmB,KAAK,UAAU;YACzC,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;KACnD;IAED,gFAAgF;IAChF,IAAI,gBAAgB,IAAI,IAAI;QAAE,OAAO,gBAAgB,CAAC;IACtD,OAAO,GAAG,CAAC;AACf,CAAC;AA3BD,0CA2BC;AAED,SAAgB,iBAAiB,CAAC,QAAgB,EAAE,GAAS;IACzD,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC5B,OAAO,qBAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,IAAI,IAAI,EAAE,SAAS,CAAC,CAAC;AACtE,CAAC;AAHD,8CAGC"}
1
+ {"version":3,"file":"gtranslate.js","sourceRoot":"","sources":["../../../packages/translation/gtranslate.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAG5C,MAAM,KAAK,GAAG,QAAQ,CAAC;AACvB,MAAM,aAAa,GAAG,aAAa,CAAC;AAEpC,gFAAgF;AAEhF,SAAgB,eAAe,CAC3B,QAAgB,EAChB,GAAQ,EACR,KAAW;IAEX,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC5B,OAAO,qBAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC;AAPD,0CAOC;AACD,SAAgB,wBAAwB,CACpC,QAAgB,EAChB,UAAmC;IAEnC,OAAO,qBAAa,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AACzE,CAAC;AALD,4DAKC;AAED,SAAgB,eAAe,CAAC,QAAgB,EAAE,GAAQ;IACtD,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAC;IAEvC,gFAAgF;IAChF,IAAI,gBAAgB,GAAG,qBAAa,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAEpE,QAAQ,OAAO,gBAAgB,EAAE;QAC7B,KAAK,UAAU;YACX,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;YACtC,MAAM;QACV,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACT,OAAO,MAAM,CAAC,gBAAgB,CAAC,CAAC;KACvC;IACD,gFAAgF;IAChF,IAAI,gBAAgB,IAAI,IAAI,EAAE;QAC1B,MAAM,mBAAmB,GAAG,qBAAa,CAAC,UAAU,CAChD,aAAa,EACb,QAAQ,CACX,CAAC;QACF,IAAI,OAAO,mBAAmB,KAAK,UAAU;YACzC,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;KACnD;IAED,gFAAgF;IAChF,IAAI,gBAAgB,IAAI,IAAI;QAAE,OAAO,gBAAgB,CAAC;IACtD,OAAO,GAAG,CAAC;AACf,CAAC;AA3BD,0CA2BC;AAED,SAAgB,iBAAiB,CAAC,QAAgB,EAAE,GAAS;IACzD,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC5B,OAAO,qBAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,IAAI,IAAI,EAAE,SAAS,CAAC,CAAC;AACtE,CAAC;AAHD,8CAGC","sourcesContent":["import {GlobalStorage} from \"../core/index\";\r\n\r\n\r\nconst lname = \"trnsl-\";\r\nconst lprovidername = \"trnsl-prov-\";\r\n\r\n/* -------------------------------------------------------------------------- */\r\n\r\nexport function set_translation(\r\n category: string,\r\n key: any,\r\n value?: any,\r\n): boolean {\r\n category = lname + category;\r\n return GlobalStorage.Global_set(category, key, value);\r\n}\r\nexport function set_translation_provider(\r\n category: string,\r\n translator: (key: string) => string,\r\n) {\r\n return GlobalStorage.Global_set(lprovidername, category, translator);\r\n}\r\n\r\nexport function get_translation(category: string, key: any): string {\r\n const category_name = lname + category;\r\n\r\n /* ------------------------- get direct translation ------------------------- */\r\n let foundTranslation = GlobalStorage.Global_get(category_name, key);\r\n\r\n switch (typeof foundTranslation) {\r\n case \"function\":\r\n foundTranslation = foundTranslation();\r\n break;\r\n case \"number\":\r\n case \"string\":\r\n return String(foundTranslation);\r\n } \r\n /* ------------------------- try to use the provider ------------------------ */\r\n if (foundTranslation == null) {\r\n const translationProvider = GlobalStorage.Global_get(\r\n lprovidername,\r\n category,\r\n );\r\n if (typeof translationProvider === \"function\")\r\n foundTranslation = translationProvider(key);\r\n }\r\n\r\n /* --------------------------------- default -------------------------------- */\r\n if (foundTranslation != null) return foundTranslation;\r\n return key;\r\n}\r\n\r\nexport function clear_translation(category: string, key?: any) {\r\n category = lname + category;\r\n return GlobalStorage.Global_set(category, key || true, undefined);\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"gtranslate.test.js","sourceRoot":"","sources":["../../../packages/translation/gtranslate.test.ts"],"names":[],"mappings":";;AAAA,uCAAuC;AAEvC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;QACjB,kBAAU,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,CAAC,kBAAU,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,CAAC,kBAAU,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAC7D,MAAM,CACT,CAAC;QACF,MAAM,CAAC,kBAAU,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE;YACrC,kBAAU,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;YAChE,kBAAU,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/D,kBAAU,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;SACnE;QACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE;YACrC,MAAM,CACF,kBAAU,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC,CAC1D,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAClB;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"gtranslate.test.js","sourceRoot":"","sources":["../../../packages/translation/gtranslate.test.ts"],"names":[],"mappings":";;AAAA,uCAAuC;AAEvC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;QACjB,kBAAU,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,CAAC,kBAAU,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,CAAC,kBAAU,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAC7D,MAAM,CACT,CAAC;QACF,MAAM,CAAC,kBAAU,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE;YACrC,kBAAU,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;YAChE,kBAAU,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/D,kBAAU,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;SACnE;QACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE;YACrC,MAAM,CACF,kBAAU,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC,CAC1D,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAClB;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import {gtranslate} from \"../../index\";\r\n\r\ndescribe(\"gtranslate\", () => {\r\n it(\"set\", async () => {\r\n gtranslate.set_translation(\"namelist\", \"name\", \"reza\");\r\n expect(gtranslate.get_translation(\"namelist\", \"name\")).toBe(\"reza\");\r\n expect(gtranslate.get_translation(\"namelist\", \"family\")).not.toBe(\r\n \"reza\",\r\n );\r\n expect(gtranslate.get_translation(\"blahblah\", \"name\")).not.toBe(\"reza\");\r\n });\r\n it(\"set list\", async () => {\r\n for (let index = 0; index < 15; index++) {\r\n gtranslate.set_translation(\"namelist1\", \"name\" + index, \"reza\");\r\n gtranslate.set_translation(\"namelist2\", \"name\" + index, \"ali\");\r\n gtranslate.set_translation(\"namelist3\", \"name\" + index, \"fred\");\r\n }\r\n for (let index = 0; index < 15; index++) {\r\n expect(\r\n gtranslate.get_translation(\"namelist1\", \"name\" + index),\r\n ).toBe(\"reza\");\r\n }\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/translation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/translation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B","sourcesContent":["export * from \"./gtranslate\";\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azrico/global",
3
- "version": "1.4.1",
3
+ "version": "1.4.3",
4
4
  "description": "Simple global functions and helpers",
5
5
  "author": "Azrideus",
6
6
  "license": "MIT",
@@ -1,14 +0,0 @@
1
- export interface setVarOptions {
2
- normal?: boolean;
3
- session?: boolean;
4
- storage?: boolean;
5
- local_storage?: boolean;
6
- json?: boolean;
7
- }
8
- export declare function add_var(key: string, value: any, options?: setVarOptions): Promise<any>;
9
- export declare function get_var_sync(key: string, options?: setVarOptions): any;
10
- export declare function set_var_sync<T>(key: string, value: T, options?: setVarOptions): T;
11
- export declare function get_var(key: string, options?: setVarOptions): Promise<any>;
12
- export declare function set_var(key: string, value: any, options?: setVarOptions): Promise<any>;
13
- export declare function hold_var<T>(key: string, value: T, options?: setVarOptions): T;
14
- //# sourceMappingURL=g_storage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"g_storage.d.ts","sourceRoot":"","sources":["../../../packages/storage/g_storage.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,OAAO,CACzB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC,GAAG,CAAC,CAMd;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,GAAG,CAWtE;AACD,wBAAgB,YAAY,CAAC,CAAC,EAC1B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,aAAa,GACxB,CAAC,CAaH;AACD,wBAAsB,OAAO,CACzB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,aAAkB,GAC5B,OAAO,CAAC,GAAG,CAAC,CA4Cd;AAED,wBAAsB,OAAO,CACzB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC,GAAG,CAAC,CAyEd;AAYD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,CAAC,CAQ7E"}
@@ -1,184 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.hold_var = exports.set_var = exports.get_var = exports.set_var_sync = exports.get_var_sync = exports.add_var = void 0;
7
- const async_storage_1 = __importDefault(require("@react-native-async-storage/async-storage"));
8
- const react_1 = __importDefault(require("react"));
9
- const core_1 = __importDefault(require("../core"));
10
- const lname = "list_var";
11
- async function add_var(key, value, options) {
12
- var foundValue = await get_var(key, options);
13
- if (!Array.isArray(foundValue))
14
- foundValue = [];
15
- foundValue.push(value);
16
- await set_var(key, foundValue, options);
17
- return foundValue;
18
- }
19
- exports.add_var = add_var;
20
- function get_var_sync(key, options) {
21
- if (!options)
22
- options = {};
23
- let foundValue = core_1.default.Global_get(lname, key);
24
- if (typeof foundValue === "string")
25
- foundValue = _optional_dec(foundValue);
26
- if (options.json && typeof foundValue === "string")
27
- try {
28
- return JSON.parse(foundValue);
29
- }
30
- catch (Ex) { }
31
- return foundValue;
32
- }
33
- exports.get_var_sync = get_var_sync;
34
- function set_var_sync(key, value, options) {
35
- if (!options)
36
- options = {};
37
- let final_value = value;
38
- if (options.json && typeof final_value !== "function") {
39
- try {
40
- final_value = JSON.stringify(final_value);
41
- }
42
- catch (Ex) { }
43
- }
44
- if (typeof final_value === "string") {
45
- /* Encode any string */
46
- final_value = _optional_enc(final_value);
47
- }
48
- return core_1.default.Global_set(lname, key, final_value);
49
- }
50
- exports.set_var_sync = set_var_sync;
51
- async function get_var(key, options = {}) {
52
- if (!options)
53
- options = {};
54
- const isBrowser = typeof window !== "undefined";
55
- /* -------------------------------------------------------------------------- */
56
- async function getValueBasedOnOptions() {
57
- let fv = null;
58
- /* -------------------- normal get var, always checked first -------------------- */
59
- fv = core_1.default.Global_get(lname, key);
60
- if (fv != null)
61
- return fv;
62
- /* ------------------------------ local_storage ----------------------------- */
63
- if (options.local_storage) {
64
- if (!isBrowser)
65
- throw new Error("you cant use localStorage storage in node");
66
- fv = localStorage[key]; // only strings
67
- if (fv != null)
68
- return fv;
69
- }
70
- /* --------------------------------- session -------------------------------- */
71
- if (options.session) {
72
- if (!isBrowser)
73
- throw new Error("you cant use session storage in node");
74
- fv = window.sessionStorage.getItem(key);
75
- if (fv != null)
76
- return fv;
77
- }
78
- /* --------------------------------- storage -------------------------------- */
79
- if (options.storage) {
80
- if (!isBrowser)
81
- throw new Error("you cant use AsyncStorage storage in node");
82
- fv = await async_storage_1.default.getItem(key);
83
- if (fv != null)
84
- return fv;
85
- }
86
- return undefined;
87
- }
88
- let foundValue = await getValueBasedOnOptions();
89
- if (typeof foundValue === "string") {
90
- foundValue = _optional_dec(foundValue);
91
- if (options.json)
92
- try {
93
- return JSON.parse(foundValue);
94
- }
95
- catch (Ex) { }
96
- }
97
- return foundValue;
98
- }
99
- exports.get_var = get_var;
100
- async function set_var(key, value, options) {
101
- if (!options)
102
- options = {};
103
- let final_value = value;
104
- let final_value_object = typeof final_value === "object" ? final_value : undefined;
105
- //
106
- const isBrowser = typeof window !== "undefined";
107
- /* ----------------------- optionally convert to json ----------------------- */
108
- if (options.json &&
109
- final_value != null &&
110
- typeof final_value != "function") {
111
- try {
112
- final_value = JSON.stringify(final_value);
113
- }
114
- catch (Ex) { }
115
- }
116
- /* -------------------------------------------------------------------------- */
117
- let isString = typeof final_value == "string";
118
- if (isString) {
119
- /* Encode any string */
120
- final_value = _optional_enc(final_value);
121
- }
122
- let isEmpty = final_value == null || final_value == "";
123
- /* -------------------------------------------------------------------------- */
124
- if (options.local_storage) {
125
- if (!isBrowser)
126
- throw new Error("you cant use localStorage storage in node");
127
- if (isEmpty)
128
- delete localStorage[key];
129
- else {
130
- if (!isString)
131
- throw new Error("You cant save non-string values in local_storage !");
132
- localStorage[key] = final_value; // only strings
133
- }
134
- }
135
- if (options.session) {
136
- if (!isBrowser)
137
- throw new Error("you cant use session storage in node");
138
- if (isEmpty)
139
- window.sessionStorage.removeItem(key);
140
- else {
141
- if (!isString)
142
- throw new Error("You cant save non-string values in session ! " +
143
- final_value);
144
- window.sessionStorage.setItem(key, final_value);
145
- }
146
- }
147
- if (options.storage) {
148
- if (!isBrowser)
149
- throw new Error("you cant use AsyncStorage in node");
150
- if (isEmpty)
151
- await async_storage_1.default.removeItem(key);
152
- else {
153
- if (!isString)
154
- throw new Error("You cant save non-string values in AsyncStorage !");
155
- await async_storage_1.default.setItem(key, final_value);
156
- }
157
- }
158
- /* ------------------------- always set in global too ------------------------ */
159
- core_1.default.Global_set(lname, key, final_value_object !== null && final_value_object !== void 0 ? final_value_object : final_value);
160
- /* -------------------------------------------------------------------------- */
161
- return final_value;
162
- }
163
- exports.set_var = set_var;
164
- /* -------------------------------------------------------------------------- */
165
- /* encode / decode stored strings */
166
- /* -------------------------------------------------------------------------- */
167
- function _optional_dec(data) {
168
- return data.replaceAll("SECRET", "");
169
- }
170
- function _optional_enc(data) {
171
- return data + "SECRET";
172
- }
173
- /* -------------------------------------------------------------------------- */
174
- function hold_var(key, value, options) {
175
- react_1.default.useEffect(() => {
176
- set_var(key, value, options);
177
- return () => {
178
- set_var(key, null, options);
179
- };
180
- }, [value]);
181
- return value;
182
- }
183
- exports.hold_var = hold_var;
184
- //# sourceMappingURL=g_storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"g_storage.js","sourceRoot":"","sources":["../../../packages/storage/g_storage.ts"],"names":[],"mappings":"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"}