69bab17331
rename modules define module Math module test helper fixed for defaults and test defined
20 lines
715 B
Plaintext
20 lines
715 B
Plaintext
module ExpressionT = Reducer_Expression_T
|
|
module ExpressionValue = ReducerInterface.ExpressionValue
|
|
module ErrorValue = Reducer_ErrorValue
|
|
module Bindings = Reducer_Category_Bindings
|
|
|
|
let removeDefaults = (ev: ExpressionT.expressionValue): ExpressionT.expressionValue =>
|
|
switch ev {
|
|
| EvRecord(extbindings) => {
|
|
let bindings: Bindings.t = Bindings.fromRecord(extbindings)
|
|
let keys = Js.Dict.keys(Reducer.defaultExternalBindings)
|
|
Belt.Map.String.keep(bindings, (key, _value) => {
|
|
let removeThis = Js.Array2.includes(keys, key)
|
|
!removeThis
|
|
})->Bindings.toExpressionValue
|
|
}
|
|
| value => value
|
|
}
|
|
|
|
let rRemoveDefaults = r => Belt.Result.map(r, ev => removeDefaults(ev))
|