mirror of https://gitee.com/bigwinds/arangodb
Add @arangodb/locals module (#5145)
* Add @arangodb/locals module Extending Node's module object in TS is tricky so let's provide a fake module for compatibility. * Add testcase
This commit is contained in:
parent
03fe0fdcb4
commit
41e9d6e585
|
@ -207,6 +207,9 @@ devel
|
||||||
|
|
||||||
* fixed internal #2215's failedleader timeout, when in todo
|
* fixed internal #2215's failedleader timeout, when in todo
|
||||||
|
|
||||||
|
* added `@arangodb/locals` module to expose the Foxx service context as an
|
||||||
|
alternative to using `module.context` directly.
|
||||||
|
|
||||||
v3.3.4 (XXXX-XX-XX)
|
v3.3.4 (XXXX-XX-XX)
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
|
|
@ -92,6 +92,9 @@
|
||||||
function require (path) {
|
function require (path) {
|
||||||
assert(path, 'missing path');
|
assert(path, 'missing path');
|
||||||
assert(typeof path === 'string', 'path must be a string');
|
assert(typeof path === 'string', 'path must be a string');
|
||||||
|
if (path === '@arangodb/locals') {
|
||||||
|
return {context: module.context};
|
||||||
|
}
|
||||||
return Module._load(path, module);
|
return Module._load(path, module);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -631,6 +634,9 @@
|
||||||
Module.Module = Module;
|
Module.Module = Module;
|
||||||
|
|
||||||
global.require = function (request) {
|
global.require = function (request) {
|
||||||
|
if (request === '@arangodb/locals') {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
return Module._load(request);
|
return Module._load(request);
|
||||||
};
|
};
|
||||||
}());
|
}());
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
/*globals describe, it */
|
||||||
|
'use strict';
|
||||||
|
const expect = require('chai').expect;
|
||||||
|
|
||||||
|
describe('@arangodb/locals', () => {
|
||||||
|
const context = {hello: 'world'};
|
||||||
|
it('should expose module.context', () => {
|
||||||
|
module.context = context;
|
||||||
|
const locals = require('@arangodb/locals');
|
||||||
|
expect(locals.context).to.equal(module.context);
|
||||||
|
expect(locals.context).to.equal(context);
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in New Issue