{"version":3,"sources":["cache_path.ts"],"sourcesContent":["import { client_type } from \"../utils/constants.ts\";\nimport { projectRootURL } from \"../utils/global_values.ts\";\nimport { normalizePath } from \"../utils/normalize-path.ts\";\n\nlet custom_cache_path: string|undefined|-1 = -1;\n\nexport async function _updateCachePaths() {\n\t\n\tif (custom_cache_path === -1 && client_type == \"deno\") {\n\t\tconst { commandLineOptions } = await import(\"../utils/args.ts\" /*lazy*/);\n\t\tcustom_cache_path = commandLineOptions.option(\"cache-path\", {aliases: [\"c\"], type: \"string\",  description: \"Overrides the default path for datex cache files (.datex-cache)\"})\n\t}\n\n\tlet _cache_path:string|URL = new URL('./.datex-cache/', projectRootURL);\n\tlet _ptr_cache_path:string|URL = new URL('./pointers/', _cache_path);\n\n\t// command line args (--watch-backend)\n\tif (client_type == \"deno\") {\n\t\n\t\tif (custom_cache_path) {\n\t\t\tif (custom_cache_path?.startsWith(\"/\")) custom_cache_path = `file://${custom_cache_path}`;\n\t\t\tif (!custom_cache_path?.endsWith(\"/\")) custom_cache_path += '/';\n\t\t\tif (custom_cache_path) {\n\t\t\t\t_cache_path = new URL(custom_cache_path, projectRootURL);\n\t\t\t\t_ptr_cache_path = new URL('./pointers/', _cache_path);\n\t\t\t}\n\t\t}\n\n\t\t// check if write permission for configured datex cache dir\n\t\t\n\t\ttry {\n\t\t\tconst testUrl = new URL(\"write_test\", _cache_path.toString());\n\t\t\tDeno.mkdirSync(normalizePath(testUrl), {recursive: true})\n\t\t\tDeno.removeSync(testUrl);\n\t\t}\n\t\tcatch {\n\t\t\tconst prev = _cache_path;\n\t\t\t_cache_path = new URL(normalizePath(await Deno.makeTempDir()+\"/\"), \"file:///\");\n\t\t\t_ptr_cache_path = new URL('./pointers/', _cache_path);\n\t\t\tconsole.log(\"(!) cache directory \"+prev+\" is readonly, using temporary directory \" + _cache_path);\n\t\t}\n\t}\n\n\tcache_path = _cache_path;\n\tptr_cache_path = _ptr_cache_path;\n}\n\nexport let cache_path: URL;\nexport let ptr_cache_path: URL;\n\nawait _updateCachePaths();"],"names":["client_type","projectRootURL","normalizePath","custom_cache_path","_updateCachePaths","commandLineOptions","option","aliases","type","description","_cache_path","URL","_ptr_cache_path","startsWith","endsWith","testUrl","toString","Deno","mkdirSync","recursive","removeSync","prev","makeTempDir","console","log","cache_path","ptr_cache_path"],"mappings":"AAAA,SAASA,WAAW,QAAQ,wBAAwB;AACpD,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,SAASC,aAAa,QAAQ,6BAA6B;AAE3D,IAAIC,oBAAyC;AAE7C,OAAO,eAAeC;IAErB,IAAID,AAAsB,OAAtBA,qBAA4BH,AAAe,UAAfA,aAAuB;QACtD,IAAM,EAAEK,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC;QAC5CF,oBAAoBE,mBAAmBC,MAAM,CAAC,cAAc;YAACC,SAAS;gBAAC;aAAI;YAAEC,MAAM;YAAWC,aAAa;QAAiE;IAC7K;IAEA,IAAIC,cAAyB,IAAIC,IAAI,mBAAmBV,iBACpDW,kBAA6B,IAAID,IAAI,eAAeD;IAGxD,IAAIV,AAAe,UAAfA,aAAuB;QAEtBG,sBACCA,mBAAmBU,WAAW,QAAMV,CAAAA,oBAAoB,CAAC,OAAO,EAAEA,kBAAkB,CAAC,AAAD,GACnFA,mBAAmBW,SAAS,QAAMX,CAAAA,qBAAqB,GAAE,GAC1DA,sBACHO,cAAc,IAAIC,IAAIR,mBAAmBF,iBACzCW,kBAAkB,IAAID,IAAI,eAAeD;QAM3C,IAAI;YACH,IAAMK,UAAU,IAAIJ,IAAI,cAAcD,YAAYM,QAAQ;YAC1DC,KAAKC,SAAS,CAAChB,cAAca,UAAU;gBAACI,WAAW,CAAA;YAAI,IACvDF,KAAKG,UAAU,CAACL;QACjB,EACA,OAAM;YACL,IAAMM,OAAOX;YACbA,cAAc,IAAIC,IAAIT,cAAc,MAAMe,KAAKK,WAAW,KAAG,MAAM,aACnEV,kBAAkB,IAAID,IAAI,eAAeD,cACzCa,QAAQC,GAAG,CAAC,yBAAuBH,OAAK,6CAA6CX;QACtF;IACD;IAEAe,aAAaf,aACbgB,iBAAiBd;AAClB;AAEA,OAAO,IAAIa,WAAgB;AAC3B,OAAO,IAAIC,eAAoB;AAE/B,MAAMtB","sourceRoot":"/lib/datex-core-js-legacy-0.3.15/runtime/","file":"cache_path.ts"}