1
0
Fork 0

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:
Alan Plum 2018-04-20 12:51:33 +02:00 committed by Michael Hackstein
parent 03fe0fdcb4
commit 41e9d6e585
3 changed files with 22 additions and 0 deletions

View File

@ -207,6 +207,9 @@ devel
* 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)
-------------------

View File

@ -92,6 +92,9 @@
function require (path) {
assert(path, 'missing path');
assert(typeof path === 'string', 'path must be a string');
if (path === '@arangodb/locals') {
return {context: module.context};
}
return Module._load(path, module);
}
@ -631,6 +634,9 @@
Module.Module = Module;
global.require = function (request) {
if (request === '@arangodb/locals') {
return {};
}
return Module._load(request);
};
}());

View File

@ -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);
});
});