force reconfigure if called by user
This commit is contained in:
parent
938568037a
commit
7b39d4feaa
1 changed files with 12 additions and 14 deletions
|
@ -166,20 +166,18 @@ export default class TheatreSheet implements ISheet {
|
||||||
if (process.env.NODE_ENV !== 'production') {
|
if (process.env.NODE_ENV !== 'production') {
|
||||||
const prevConfig = weakMapOfUnsanitizedProps.get(existingObject)
|
const prevConfig = weakMapOfUnsanitizedProps.get(existingObject)
|
||||||
if (prevConfig) {
|
if (prevConfig) {
|
||||||
if (!deepEqual(config, prevConfig)) {
|
if (opts?.reconfigure === true) {
|
||||||
if (opts?.reconfigure === true) {
|
const sanitizedConfig = compound(config)
|
||||||
const sanitizedConfig = compound(config)
|
existingObject.template.reconfigure(sanitizedConfig)
|
||||||
existingObject.template.reconfigure(sanitizedConfig)
|
weakMapOfUnsanitizedProps.set(existingObject, config)
|
||||||
weakMapOfUnsanitizedProps.set(existingObject, config)
|
return existingObject.publicApi as $IntentionalAny
|
||||||
return existingObject.publicApi as $IntentionalAny
|
} else if (!deepEqual(config, prevConfig)) {
|
||||||
} else {
|
throw new Error(
|
||||||
throw new Error(
|
`You seem to have called sheet.object("${key}", config) twice, with different values for \`config\`. ` +
|
||||||
`You seem to have called sheet.object("${key}", config) twice, with different values for \`config\`. ` +
|
`This is disallowed because changing the config of an object on the fly would make it difficult to reason about.\n\n` +
|
||||||
`This is disallowed because changing the config of an object on the fly would make it difficult to reason about.\n\n` +
|
`You can fix this by either re-using the existing object, or calling sheet.object("${key}", config) with the same config.\n\n` +
|
||||||
`You can fix this by either re-using the existing object, or calling sheet.object("${key}", config) with the same config.\n\n` +
|
`If you mean to reconfigure the object's config, set \`{reconfigure: true}\` in sheet.object("${key}", config, {reconfigure: true})`,
|
||||||
`If you mean to reconfigure the object's config, set \`{reconfigure: true}\` in sheet.object("${key}", config, {reconfigure: true})`,
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue