* Formats an enum value as a string for debugging and debug assertions.
(value, enumObject, isFlags)
| 2836 | * Formats an enum value as a string for debugging and debug assertions. |
| 2837 | */ |
| 2838 | function formatEnum(value, enumObject, isFlags) { |
| 2839 | if (value === void 0) { value = 0; } |
| 2840 | var members = getEnumMembers(enumObject); |
| 2841 | if (value === 0) { |
| 2842 | return members.length > 0 && members[0][0] === 0 ? members[0][1] : "0"; |
| 2843 | } |
| 2844 | if (isFlags) { |
| 2845 | var result = ""; |
| 2846 | var remainingFlags = value; |
| 2847 | for (var _i = 0, members_1 = members; _i < members_1.length; _i++) { |
| 2848 | var _a = members_1[_i], enumValue = _a[0], enumName = _a[1]; |
| 2849 | if (enumValue > value) { |
| 2850 | break; |
| 2851 | } |
| 2852 | if (enumValue !== 0 && enumValue & value) { |
| 2853 | result = "".concat(result).concat(result ? "|" : "").concat(enumName); |
| 2854 | remainingFlags &= ~enumValue; |
| 2855 | } |
| 2856 | } |
| 2857 | if (remainingFlags === 0) { |
| 2858 | return result; |
| 2859 | } |
| 2860 | } |
| 2861 | else { |
| 2862 | for (var _b = 0, members_2 = members; _b < members_2.length; _b++) { |
| 2863 | var _c = members_2[_b], enumValue = _c[0], enumName = _c[1]; |
| 2864 | if (enumValue === value) { |
| 2865 | return enumName; |
| 2866 | } |
| 2867 | } |
| 2868 | } |
| 2869 | return value.toString(); |
| 2870 | } |
| 2871 | Debug.formatEnum = formatEnum; |
| 2872 | function getEnumMembers(enumObject) { |
| 2873 | var result = []; |
no test coverage detected
searching dependent graphs…