{"version":3,"names":["exposeGlobal","key","value","Object","defineProperty","global","configurable","enumerable","writable","withZone","scopeFunc","zoneProps","returnValue","incrementExpectedAwaits","newPSD","call","then","e","console","warn","toString","stack","decrementExpectedAwaits","runZoned","fn","zoneValues","_export","setters","_lang","_srcExternalDexie3Js","Dexie","default","_srcClientContextJSSrcContextjsJs","cop","execute","__SystemJSRewritingHack","_recorder_","_src_client_lang_lang_zone_js","get","set","thisIsVererySecretVariableName","Promise","self","every","func","Error","globalZone","zone","PSD","parent","Zone","root","current","layer","window","refineClass","Response","text","rest","resolve","proceed","json","location","file","end","column","line","start","source","code","ZonifyNativePromisesLayer","beGlobal"],"sources":["lang-zone.js"],"sourcesContent":["import 'lang';\nimport Dexie from \"src/external/dexie3.js\";\n\nimport * as cop from \"src/client/ContextJS/src/contextjs.js\"\n\n\nconst { incrementExpectedAwaits, newPSD, decrementExpectedAwaits } = Dexie.Promise;\n\nconst global = self;\n\nfunction exposeGlobal(key, value) {\n  Object.defineProperty(global, key, {\n    configurable: true,\n    enumerable: true,\n    \n    value,\n    writable: true,\n  });\n}\n\n/*MD\n## ZONES\n\n- a **minimal interface** to zones intended to be as compliant as possible to Dart's [Zone concept](https://dart.dev/articles/archive/zones)\n- intended to be exchangeable in case of future standard or library advancements\n- <span style='background: red'>!only modify if you know what you are doing and understand the **long-term consequences**!</span>\n- currently implemented as a lightweight wrapper around [Dexie.Promise](https://dexie.org/docs/Promise/Promise.PSD)\n  - Caution: we <span style='background: red'>monkey-patched Dexie</span> to access `incrementExpectedAwaits` and `decrementExpectedAwaits` to correctly detect native await on primitives\n\nMD*/\n\n// check if `incrementExpectedAwaits` and `decrementExpectedAwaits` are available\nif (![incrementExpectedAwaits, decrementExpectedAwaits].every(func => typeof func === 'function')) {\n  throw new Error('Dexie not monkey-patched to expose `incrementExpectedAwaits` and `decrementExpectedAwaits`');\n}\n\nconst globalZone = (() => {\n  let zone = Dexie.Promise.PSD;\n  \n  while (!zone.global) {\n    if (zone.parent && zone.parent !== zone) {\n      zone = zone.parent;\n    } else {\n      throw new Error('could not initialize `zones`: no global zone found');\n    }\n  }\n\n  \n  return zone;\n})();\n\n\n\nconst Zone = {\n\n  get root() { return globalZone; },\n\n  get current() { return Dexie.Promise.PSD; }\n\n};\n\nexport function withZone(scopeFunc, zoneProps = {}) {\n  let returnValue;\n  try {\n    incrementExpectedAwaits();\n\n    newPSD(() => {\n      returnValue = scopeFunc.call();\n    }, zoneProps);\n    \n    return returnValue;\n  } finally {\n    if (returnValue && typeof returnValue.then === 'function') {\n      (async () => {\n        try {\n          await returnValue;\n        } catch(e) {\n          // #TODO why are we catching errors here?\n          console.warn(\"Error in withZone: \", e.toString(), e.stack ? e.stack.toString() : \"no stack\")\n          throw e\n        } finally {\n          decrementExpectedAwaits();\n        }\n      })();\n    } else {\n      decrementExpectedAwaits();\n    }\n  }\n}\n\nfunction runZoned(fn, { zoneValues } = {} ) {\n  return withZone(fn, zoneValues);\n}\n\nexposeGlobal('Zone', Zone);\nexposeGlobal('runZoned', runZoned);\n\n// ensure zones in known native promise calls\ncop.layer(window, \"ZonifyNativePromisesLayer\").refineClass(Response, {\n  text(...rest) {\n    return Promise.resolve(cop.proceed(...rest))\n  },\n  \n  json(...rest) {\n    return Promise.resolve(cop.proceed(...rest))\n  }\n})\nZonifyNativePromisesLayer.beGlobal()\n"],"mappings":"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"}