MCPcopy
hub / github.com/apache/echarts / normalizeRegister

Function normalizeRegister

src/core/echarts.ts:3243–3287  ·  view source on GitHub ↗
(
    targetList: StageHandler[],
    priority: number | StageHandler | StageHandlerOverallReset,
    fn: StageHandler | StageHandlerOverallReset,
    defaultPriority: number,
    visualType?: StageHandlerInternal['visualType'],
    checkBlock?: boolean
)

Source from the content-addressed store, hash-verified

3241const registeredTasks: (StageHandler | StageHandlerOverallReset)[] = [];
3242
3243function normalizeRegister(
3244 targetList: StageHandler[],
3245 priority: number | StageHandler | StageHandlerOverallReset,
3246 fn: StageHandler | StageHandlerOverallReset,
3247 defaultPriority: number,
3248 visualType?: StageHandlerInternal['visualType'],
3249 checkBlock?: boolean
3250): void {
3251 if (isFunction(priority) || isObject(priority)) {
3252 fn = priority as (StageHandler | StageHandlerOverallReset);
3253 priority = defaultPriority;
3254 }
3255
3256 if (__DEV__) {
3257 if (isNaN(priority) || priority == null) {
3258 throw new Error('Illegal priority');
3259 }
3260 // Check duplicate
3261 each(targetList, function (wrap) {
3262 assert((wrap as StageHandlerInternal).__raw !== fn);
3263 });
3264 }
3265
3266 // Already registered
3267 if (indexOf(registeredTasks, fn) >= 0) {
3268 return;
3269 }
3270 registeredTasks.push(fn);
3271
3272 const stageHandler = Scheduler.wrapStageHandler(fn, visualType);
3273
3274 stageHandler.__prio = priority;
3275 stageHandler.__raw = fn;
3276 targetList.push(stageHandler);
3277
3278 if (__DEV__) {
3279 if (checkBlock) {
3280 assert(
3281 !stageHandler.dirtyOnOverallProgress,
3282 `dirtyOnOverallProgress is not allowed in ${visualType} stage;`
3283 + ' otherwise progressive rendering is disabled on all series.'
3284 );
3285 }
3286 }
3287}
3288
3289export function registerLoading(
3290 name: string,

Callers 3

registerProcessorFunction · 0.85
registerLayoutFunction · 0.85
registerVisualFunction · 0.85

Calls 5

wrapStageHandlerMethod · 0.80
isFunctionFunction · 0.50
isObjectFunction · 0.50
eachFunction · 0.50
assertFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…