remove expressions fork in favor of namespacing #113379
Labels
Feature:ExpressionLanguage
Interpreter expression language (aka canvas pipeline)
impact:low
Addressing this issue will have a low level of impact on the quality/strength of our product.
loe:large
Large Level of Effort
Expressions service exposes a
fork
function, which creates a copy of current expression service and allows consumer to keep their isolated version. The main intention behind that was to allow apps to have isolated functions which don't pollute the global functions registry.There are several drawbacks to the current approach:
In order to fix all drawbacks we will change internal implementations from forks to
namespacing
.For the consumers there will be a few changes to the API:
name: string
parametersetup
andstart
which will return appropriate contractsExpressionFunctionDefinition will be extended with:
namespace?: string
.ExpressionExecutionParams will also be extended with
namespace?: string
Logic of expression executor will change so that:
Logic inside fork will also change so that:
expressions.registerFunction({ ...fnDef, namespace })
expressions.execute(expression, input, { ...params, namespace })
The text was updated successfully, but these errors were encountered: