Skip to content

compose方法的实现 #7

@Chersquwn

Description

@Chersquwn

compose

const compose = (
  ...funcs: ((...args: any[]) => void)[]
): ((...args: any[]) => void) => {
  if (funcs.length === 0) return args => args
  if (funcs.length === 1) return funcs[0]

  return funcs.reduce((a, b) => (...args: any[]) => a(b(...args)))
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions