Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | 1x 180x 180x 180x | import type { ValueSanitizer } from 'roosterjs-content-model-types';
/**
* @internal
* Chain all callback for an style sanitizer
* @param map The source callback map
* @param name Name of the property to chain
* @param newCallback A new callback to process the given name on the given map.
*/
export function chainSanitizerCallback(
map: Record<string, ValueSanitizer>,
name: string,
newCallback: ValueSanitizer
) {
const finalCb =
typeof newCallback == 'function'
? newCallback
: (value: string) => (newCallback ? value : null);
Eif (!map[name]) {
map[name] = finalCb;
} else {
const originalCallback = map[name];
map[name] = (value: string, tagName: string) => {
const og =
typeof originalCallback == 'function'
? originalCallback(value, tagName)
: originalCallback
? value
: false;
if (!og) {
return null;
} else {
return finalCb(og, tagName);
}
};
}
}
|