Define Default Values
Learn how to setup default values on new instances with useInstanceDefaults.
useInstanceDefaults
ts
useInstanceDefaults(defaults, data)The useInstanceDefaults utility allows you to specify default values to assign to new instances. It only assigns a value if it the attribute not already specified on the incoming object.
ts
function setupInstance (data: any) {
const withDefaults = useInstanceDefaults({ name: '', email: '', password: '' }, data)
return withDefaults
}Now when you create a user, the object will have default values applied:
note
Existing keys in data will not be replaced by a default value, even if that value is undefined.
ts
// if no properties are passed, the defaults will all apply
const user = api.service('users').new({})
console.log(user) // --> { name: 'Marshall', email: '', password: '' }
// If partial keys are passed, non-passed keys will have defaults applied.
const user = api.service('users').new({ name: 'Marshall' })
console.log(user) // --> { name: 'Marshall', email: '', password: '' }
// any "own property" that's present on the object will not be replaced by a default value, even `undefined` values.
const user = api.service('users').new({ name: undefined })
console.log(user) // --> { name: undefined, email: '', password: '' }