UNPKG

dts-jest

Version:

A preprocessor for Jest to snapshot test TypeScript declaration (.d.ts) files

42 lines (41 loc) 2.31 kB
"use strict"; exports.__esModule = true; var definitions_1 = require("../definitions"); exports.parse_trigger_header_flags = function (unparsed_flags) { var flags = 0; unparsed_flags .split(/(?=:)/) .filter(function (flag_literal) { return flag_literal.length !== 0; }) .forEach(function (flag_literal) { switch (flag_literal) { case definitions_1.TriggerHeaderFlags[definitions_1.TriggerHeaderFlags[':fail']]: case definitions_1.TriggerHeaderFlags[definitions_1.TriggerHeaderFlags[':pass']]: case definitions_1.TriggerHeaderFlags[definitions_1.TriggerHeaderFlags[':show']]: case definitions_1.TriggerHeaderFlags[definitions_1.TriggerHeaderFlags[':snap']]: case definitions_1.TriggerHeaderFlags[definitions_1.TriggerHeaderFlags[':only']]: case definitions_1.TriggerHeaderFlags[definitions_1.TriggerHeaderFlags[':skip']]: case definitions_1.TriggerHeaderFlags[definitions_1.TriggerHeaderFlags[':group']]: // tslint:disable-next-line:prettier var current_flag = definitions_1.TriggerHeaderFlags[flag_literal]; if (flags & current_flag) { throw new Error("Duplicate flag '" + flag_literal + "'"); } flags = flags | current_flag; break; default: throw new Error("Unexpected flag '" + flag_literal + "'"); } }); if (flags & definitions_1.TriggerHeaderFlags[':pass'] && flags & definitions_1.TriggerHeaderFlags[':fail']) { var pass_flag_literal = definitions_1.TriggerHeaderFlags[definitions_1.TriggerHeaderFlags[':pass']]; var fail_flag_literal = definitions_1.TriggerHeaderFlags[definitions_1.TriggerHeaderFlags[':fail']]; throw new Error(pass_flag_literal + " and " + fail_flag_literal + " cannot be used simultaneously'"); } if (flags & definitions_1.TriggerHeaderFlags[':group'] && flags & definitions_1.TriggerHeaderFlags.Assertion) { var group_flag_literal = definitions_1.TriggerHeaderFlags[definitions_1.TriggerHeaderFlags[':group']]; throw new Error("AssertionFlag is not allowed to be used with flag '" + group_flag_literal + "'"); } return flags; };