formatter.d.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /**
  2. * @license
  3. * Copyright 2013 Palantir Technologies, Inc.
  4. *
  5. * Licensed under the Apache License, Version 2.0 (the "License");
  6. * you may not use this file except in compliance with the License.
  7. * You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. */
  17. import { RuleFailure } from "../rule/rule";
  18. export interface IFormatterMetadata {
  19. /**
  20. * The name of the formatter.
  21. */
  22. formatterName: string;
  23. /**
  24. * A short, one line description of what the formatter does.
  25. */
  26. description: string;
  27. /**
  28. * More elaborate details about the formatter.
  29. */
  30. descriptionDetails?: string;
  31. /**
  32. * Sample output from the formatter.
  33. */
  34. sample: string;
  35. /**
  36. * Sample output from the formatter.
  37. */
  38. consumer: ConsumerType;
  39. }
  40. export declare type ConsumerType = "human" | "machine";
  41. export interface FormatterConstructor {
  42. new (): IFormatter;
  43. }
  44. export interface IFormatter {
  45. /**
  46. * Formats linter results
  47. * @param failures Linter failures that were not fixed
  48. * @param fixes Fixed linter failures. Available when the `--fix` argument is used on the command line
  49. */
  50. format(failures: RuleFailure[], fixes?: RuleFailure[]): string;
  51. }