Skip to content

Instantly share code, notes, and snippets.

@jsmanifest
Created June 9, 2020 14:59
Show Gist options
  • Save jsmanifest/b85b69ca23eb71095c36d61152fbff1c to your computer and use it in GitHub Desktop.
Save jsmanifest/b85b69ca23eb71095c36d61152fbff1c to your computer and use it in GitHub Desktop.
function callResolvers(component, resolvers) {
let result
for (let index = 0; index < resolvers.length; index++) {
const resolver = resolvers[index]
const resolved = resolver(component)
if (resolved) {
result = { ...result, ...resolved }
}
}
return result
}
function start(component, resolvers = []) {
let baseResolvers
let styleResolvers
// Ensure base resolvers is the correct data type
if (Array.isArray(resolvers.base)) baseResolvers = resolvers.base
else baseResolvers = [resolvers.base]
// Ensure style resolvers is the correct data type
if (Array.isArray(resolvers.styles)) styleResolvers = resolvers.styles
else styleResolvers = [resolvers.styles]
return {
...component,
...callResolvers(component, baseResolvers),
style: {
...component.style,
...callResolvers(component, styleResolvers)),
},
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment