32 lines
760 B
JavaScript
32 lines
760 B
JavaScript
import { isString } from "lodash/fp"
|
|
|
|
import {
|
|
BB_STATE_BINDINGPATH,
|
|
BB_STATE_FALLBACK,
|
|
BB_STATE_BINDINGSOURCE,
|
|
isBound,
|
|
parseBinding,
|
|
} from "@budibase/client/src/state/parseBinding"
|
|
|
|
export const isBinding = isBound
|
|
|
|
export const setBinding = ({ path, fallback, source }, binding = {}) => {
|
|
if (isNonEmptyString(path)) binding[BB_STATE_BINDINGPATH] = path
|
|
if (isNonEmptyString(fallback)) binding[BB_STATE_FALLBACK] = fallback
|
|
binding[BB_STATE_BINDINGSOURCE] = source || "store"
|
|
return binding
|
|
}
|
|
|
|
export const getBinding = val => {
|
|
const binding = parseBinding(val)
|
|
return binding
|
|
? binding
|
|
: {
|
|
path: "",
|
|
source: "store",
|
|
fallback: "",
|
|
}
|
|
}
|
|
|
|
const isNonEmptyString = s => isString(s) && s.length > 0
|