All files / src/providers formatter-parser.ts

100% Statements 7/7
100% Branches 0/0
100% Functions 4/4
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45          17x 17x   17x               1x               2x                 1x               2x      
import { IDictionary } from '../utils';
 
/**
 * Column Formatter Provider Class
 */
export class FormatterParserProvider {
	private static formatters: IDictionary<(...args: any) => any> = {};
 
	private static parsers: IDictionary<(...args: any) => any> = {};
 
	/**
	 * Registers a formatting function for a given class
	 * @param name
	 * @param formatterFunction
	 */
	public static registerFormatter(name: string, formatterFunction: (...args: any) => any) {
		FormatterParserProvider.formatters[name] = formatterFunction;
	}
 
	/**
	 * Get a formatting function for a given class
	 * @param name
	 */
	public static getFormatter(name: string) {
		return FormatterParserProvider.formatters[name];
	}
 
	/**
	 * Registers a parser function for a given class
	 * @param name
	 * @param formatterFunction
	 */
	public static registerParser(name: string, parserFunction: (...args: any) => any) {
		FormatterParserProvider.parsers[name] = parserFunction;
	}
 
	/**
	 * Get a parser function for a given class
	 * @param name
	 */
	public static getParser(name: string) {
		return FormatterParserProvider.parsers[name];
	}
}