UNPKG

dts-jest

Version:

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

44 lines (43 loc) 2.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parse_trigger_header_flags = void 0; var definitions_1 = require("../definitions"); var parse_trigger_header_flags = function (unparsed_flags) { var flags = definitions_1.TriggerHeaderFlags.None; 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[':not-any']]: case definitions_1.TriggerHeaderFlags[definitions_1.TriggerHeaderFlags[':only']]: case definitions_1.TriggerHeaderFlags[definitions_1.TriggerHeaderFlags[':skip']]: case definitions_1.TriggerHeaderFlags[definitions_1.TriggerHeaderFlags[':group']]: var current_flag = definitions_1.TriggerHeaderFlags[flag_literal]; if (flags & current_flag) { throw new Error("Duplicate flag '".concat(flag_literal, "'")); } flags = flags | current_flag; break; default: throw new Error("Unexpected flag '".concat(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("".concat(pass_flag_literal, " and ").concat(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 '".concat(group_flag_literal, "'")); } return flags; }; exports.parse_trigger_header_flags = parse_trigger_header_flags;