25 lines
735 B
JavaScript
25 lines
735 B
JavaScript
import {
|
|
isString
|
|
} from "lodash/fp";
|
|
|
|
export const BB_STATE_BINDINGPATH = "##bbstate";
|
|
export const BB_STATE_FALLBACK = "##bbstatefallback";
|
|
|
|
export const isBinding = value =>
|
|
!isString(value)
|
|
&& value
|
|
&& isString(value[BB_STATE_BINDINGPATH])
|
|
&& value[BB_STATE_BINDINGPATH].length > 0;
|
|
|
|
export const setBinding = ({path, fallback}, binding={} ) => {
|
|
if(isNonEmptyString(path)) binding[BB_STATE_BINDINGPATH] = path;
|
|
if(isNonEmptyString(fallback)) binding[BB_STATE_FALLBACK] = fallback;
|
|
return binding
|
|
}
|
|
|
|
export const getBinding = binding => ({
|
|
path: binding[BB_STATE_BINDINGPATH] || "",
|
|
fallback: binding[BB_STATE_FALLBACK] || ""
|
|
});
|
|
|
|
const isNonEmptyString = s => isString(s) && s.length > 0; |