mythix-orm
Advanced tools
Comparing version 1.11.5 to 1.11.6
'use strict'; | ||
let globalAsyncStore; | ||
let globalAsyncStore = global._mythixGlobalAsyncLocalStore; | ||
try { | ||
const { AsyncLocalStorage } = require('async_hooks'); | ||
globalAsyncStore = new AsyncLocalStorage(); | ||
} catch (error) { | ||
globalAsyncStore = { | ||
getStore: () => undefined, | ||
run: (context, callback) => callback(), | ||
}; | ||
if (!globalAsyncStore) { | ||
try { | ||
const { AsyncLocalStorage } = require('async_hooks'); | ||
global._mythixGlobalAsyncLocalStore = globalAsyncStore = new AsyncLocalStorage(); | ||
} catch (error) { | ||
global._mythixGlobalAsyncLocalStore = globalAsyncStore = { | ||
getStore: () => undefined, | ||
run: (context, callback) => callback(), | ||
}; | ||
} | ||
} | ||
@@ -43,12 +45,9 @@ | ||
function runInContext(context, callback) { | ||
return new Promise((resolve, reject) => { | ||
globalAsyncStore.run({ parent: globalAsyncStore.getStore(), context }, async () => { | ||
try { | ||
let result = await callback(); | ||
resolve(result); | ||
} catch (error) { | ||
reject(error); | ||
} | ||
}); | ||
}); | ||
return globalAsyncStore.run( | ||
{ | ||
parent: globalAsyncStore.getStore(), | ||
context, | ||
}, | ||
callback, | ||
); | ||
} | ||
@@ -55,0 +54,0 @@ |
{ | ||
"name": "mythix-orm", | ||
"version": "1.11.5", | ||
"version": "1.11.6", | ||
"description": "ORM for Mythix framework", | ||
@@ -5,0 +5,0 @@ "main": "lib/index", |
642240
15548