UNPKG

@teqfw/core

Version:

Core functionalities for plugin scanning, local configuration management, and command-line utilities for building modern web applications with the Tequila Framework.

31 lines (29 loc) 939 B
/** * Post-processor handler to wrap the result as Factory. * @implements TeqFw_Di_Api_Container_PostProcessor_Chunk */ export default class TeqFw_Core_Shared_App_Di_PostProcessor_Factory { /** * @param {TeqFw_Di_Container} container * @param {TeqFw_Core_Shared_Defaults} DEF */ constructor( { container, TeqFw_Core_Shared_Defaults$: DEF, } ) { this.modify = function (obj, originalId, stack) { let res = obj; if (originalId.wrappers.includes(DEF.DI_WRAP_PROXY)) { res = new Proxy({dep: undefined, objectKey: originalId}, { get: async function (base, name) { if (name === 'create') base.dep = await container.get(base.objectKey.value); return base.dep; } }); } return res; }; } }