UNPKG

adonisjs-jobs

Version:

Job processing for AdonisJS

19 lines (16 loc) 569 B
import { Job } from '../job.js'; import app from '@adonisjs/core/services/app'; export default class ClosureJob extends Job { async handle(payload) { const { serializedClosure } = payload; const url = app.makeURL().href; const code = ` const loadModule = async (module) => { const { resolve } = await import('import-meta-resolve') return await import(resolve(module, '${url}')) } return ${serializedClosure.replace(/import\(/g, 'loadModule(')}`; const cb = new Function(code)(); await cb(); } }