github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/vvm/engines/provide.go (about) 1 /* 2 * Copyright (c) 2021-present Sigma-Soft, Ltd. 3 * @author: Nikolay Nikitin 4 */ 5 6 package engines 7 8 import ( 9 "github.com/voedger/voedger/pkg/appdef" 10 "github.com/voedger/voedger/pkg/iextengine" 11 builtin "github.com/voedger/voedger/pkg/iextengine/builtin" 12 wazero "github.com/voedger/voedger/pkg/iextengine/wazero" 13 "github.com/voedger/voedger/pkg/istructsmem" 14 ) 15 16 type ExtEngineFactoriesConfig struct { 17 AppConfigs istructsmem.AppConfigsType 18 WASMCompile bool 19 } 20 21 func ProvideExtEngineFactories(cfg ExtEngineFactoriesConfig) iextengine.ExtensionEngineFactories { 22 return iextengine.ExtensionEngineFactories{ 23 appdef.ExtensionEngineKind_BuiltIn: builtin.ProvideExtensionEngineFactory(provideAppsBuiltInExtFuncs(cfg.AppConfigs)), 24 appdef.ExtensionEngineKind_WASM: wazero.ProvideExtensionEngineFactory(cfg.WASMCompile), 25 } 26 }