Protected
baseProtected
Readonly
contributionsProtected
latestReadonly
onProtected
Readonly
optionsProtected
Readonly
settingName for type of setting to use in error messages
Add or update one of the contribution documents for the composition process
Note: the order in which contribution documents are added can be considered indeterminate as it
depends on the order in which Map.forEach
iterates over the contributions. However, the order
matters when merging two arrays into one. Also, when options.ignoreDuplicateProperties
is is
true
, the order also matters when adding the same property to an object that is already
provided previously. Please let us know if you have trouble because of indeterminate
contribution ordering.
Name of the contributed document to combine
Content of the contributed document to combine
Recalculated output document given the new or updated contribution and existing other documents
Delete one of the contribution documents for the composition process
Name of the contributed document to delete
Recalculated output document given the remaining other documents
Protected
getThis method is intended to be layered over by a child class to expose the localized setting info.
Get the current set of settings contribution info given all the input documents with all localized string keys localized properly.
NOTE: If the input documents might have changed since the last time the settings contributions
were retrieved, you can call rebuild
to incorporate those document changes before calling
this getter. For example, if one of the input document objects changed and
addOrUpdateContribution
wasn't called explicitly, those document changes will not be seen in
the current set of settings contributions. If all the input documents are static, then there is
no need to ever rebuild once all the documents have been contributed to this combiner.
Get the current set of settings contribution info given all the input documents with all localized string keys localized properly.
NOTE: If the input documents might have changed since the last time the settings contributions
were retrieved, you can call rebuild
to incorporate those document changes before calling
this getter. For example, if one of the input document objects changed and
addOrUpdateContribution
wasn't called explicitly, those document changes will not be seen in
the current set of settings contributions. If all the input documents are static, then there is
no need to ever rebuild once all the documents have been contributed to this combiner.
Get the current set of project settings contribution info given all the input documents. Localized string keys have not been localized to corresponding strings.
NOTE: If the input documents might have changed since the last time the project settings
contributions were retrieved, you can call rebuild
to incorporate those document changes
before calling this getter. For example, if one of the input document objects changed and
addOrUpdateContribution
wasn't called explicitly, those document changes will not be seen in
the current set of project settings contributions. If all the input documents are static, then
there is no need to ever rebuild once all the documents have been contributed to this
combiner.
Protected
performProtected
transformTransform the starting document that is given to the combiner. This transformation occurs after validating the base document and before combining any contributions.
WARNING: If you do not create the combiner with option copyDocuments: true
or clone inside
this method, this method will directly modify the baseDocument
passed in.
Initial input document. Already validated via validateBaseDocument
Transformed base document
Protected
transformTransform the contributed document associated with documentName
. This transformation occurs
after validating the contributed document and before combining with other documents.
WARNING: If you do not create the combiner with option copyDocuments: true
or clone inside
this method, this method will directly modify the contributed document
passed in.
Name of the contributed document to combine
Content of the contributed document to combine. Already validated via
validateContribution
Transformed contributed document
Protected
transformTransform the document that is the composition of the base document and all contribution
documents. This is the last step that will be run prior to validation via validateOutput
before this.latestOutput
is updated to the new output.
Final output document that could potentially be returned to callers. "Final" means no further contribution documents will be merged.
Update the starting document for composition process
Base JSON document/JS object that all other documents are added to
Recalculated output document given the new starting state and existing other documents
Protected
validateProtected
validateProtected
validate
Event that emits to announce that the document has been rebuilt and the output has been updated