/**
 * Thrown when trying to register a component that is missing a 'name' parameter
 * @category Errors
 */
export class ComponentTypeKeyMissing extends Error {
  constructor() {
    super(`Component type is missing the 'name' parameter. i.e. a constructor name`);
  }
}

/**
 * Thrown when trying to access a component that has not been registered
 * @category Errors
 */
export class ComponentNotRegistered extends Error {
  constructor(public componentName: string) {
    super(`Component map does not exist for '${componentName}'`);
  }
}