mirror of
https://github.com/usebruno/bruno.git
synced 2025-07-18 04:54:46 +02:00
* wip: code cleanup, added axios, nanoid shims for quickjs vm * wip: test fn fix * wip: scrip exec fix * wip: added node-fetch & uuid shims
31 lines
964 B
JavaScript
31 lines
964 B
JavaScript
const uuid = require('uuid');
|
|
const { marshallToVm } = require('../../utils');
|
|
|
|
const fns = ['version', 'parse', 'stringify', 'v1', 'v1ToV6', 'v3', 'v4', 'v5', 'v6', 'v6ToV1', 'v7', 'validate'];
|
|
|
|
const addUuidShimToContext = async (vm) => {
|
|
fns.forEach((fn) => {
|
|
let fnHandle = vm.newFunction(fn, function (...args) {
|
|
const nativeArgs = args.map(vm.dump);
|
|
return marshallToVm(uuid[fn](...nativeArgs), vm);
|
|
});
|
|
vm.setProp(vm.global, `__bruno__uuid__${fn}`, fnHandle);
|
|
fnHandle.dispose();
|
|
});
|
|
|
|
vm.evalCode(
|
|
`
|
|
globalThis.uuid = {};
|
|
${['version', 'parse', 'stringify', 'v1', 'v1ToV6', 'v3', 'v4', 'v5', 'v6', 'v6ToV1', 'v7', 'validate']
|
|
?.map((fn, idx) => `globalThis.uuid.${fn} = __bruno__uuid__${fn}`)
|
|
.join('\n')}
|
|
globalThis.requireObject = {
|
|
...globalThis.requireObject,
|
|
uuid: globalThis.uuid,
|
|
}
|
|
`
|
|
);
|
|
};
|
|
|
|
module.exports = addUuidShimToContext;
|