processor()

in src/Package.ts [63:83]


  processor(processorDefOrName: string | ProcessorDef, processorDef?: ProcessorDef) {

    let name: string;
    if (isString(processorDefOrName)) {
      name = processorDefOrName;
    } else {
      processorDef = processorDefOrName;
      // Using `any` here because Functions do usually have names (if they are not anonymous)
      if (!processorDef.name) { throw new Error('processorDef must be an object or a function with a name'); }
      name = processorDef.name;
    }

    if (typeof processorDef === 'function' ) {
      this.module[name] = ['factory', processorDef];
    } else {
      this.module[name] = ['value', processorDef];
    }

    this.processors.push(name);
    return this;
  }