Home > widget-integration > FilterAPI > mergeAdditionalParams
FilterAPI.mergeAdditionalParams() method
Merges additional parameters provided by caller into the parameter object.
Combines any extra parameters passed to fetchAPI() with the base parameters built from filter state. Additional params take precedence over base params. Override to validate, transform, or filter additional parameters.
Signature:
protected mergeAdditionalParams(params: FilterAPIParams, additionParams: Record<string, unknown>): FilterAPIParams;
Parameters
|
Parameter |
Type |
Description |
|---|---|---|
|
params |
Current filter parameters being built | |
|
additionParams |
Record<string, unknown> |
Additional parameters to merge (from fetchAPI call) |
Returns:
Combined parameters with additional params merged in
Remarks
Merge Behavior: - Additional params override base params if keys conflict - Empty object is handled gracefully (no-op) - Type safety maintained through FilterAPIParams interface
Example
Override to validate additional parameters:
window.boostWidgetIntegration.extend('FilterAPI', (FilterAPI) => {
return class CustomFilterAPI extends FilterAPI {
protected mergeAdditionalParams(params, additionParams) {
// Filter out unauthorized parameters
const allowedParams = this.filterAllowedParams(additionParams);
return super.mergeAdditionalParams(params, allowedParams);
}
filterAllowedParams(params) {
const allowed = ['page', 'limit', 'sort'];
return Object.keys(params)
.filter(key => allowed.includes(key))
.reduce((obj, key) => ({ ...obj, [key]: params[key] }), {});
}
};
});