directus
16 строк · 619.0 Байт
1import type { ExtensionSandboxRequestedScopes } from '@directus/extensions';
2import type { Reference } from 'isolated-vm';
3import { useLogger } from '../../../../../logger.js';
4
5export function logGenerator(requestedScopes: ExtensionSandboxRequestedScopes): (message: Reference<string>) => void {
6const logger = useLogger();
7
8return (message) => {
9if (requestedScopes.log === undefined) throw new Error('No permission to access "log"');
10if (message.typeof !== 'string') throw new TypeError('Log message has to be of type string');
11
12const messageCopied = message.copySync();
13
14logger.info(messageCopied);
15};
16}
17