(els: MessageFormatElement[])
| 16 | } from '#packages/icu-messageformat-parser/types.js' |
| 17 | |
| 18 | function pruneLocation(els: MessageFormatElement[]): void { |
| 19 | els.forEach(el => { |
| 20 | delete el.location |
| 21 | if (isSelectElement(el) || isPluralElement(el)) { |
| 22 | for (const k in el.options) { |
| 23 | delete el.options[k].location |
| 24 | pruneLocation(el.options[k].value) |
| 25 | } |
| 26 | } else if (isNumberElement(el) && isNumberSkeleton(el.style)) { |
| 27 | delete el.style.location |
| 28 | } else if ( |
| 29 | (isDateElement(el) || isTimeElement(el)) && |
| 30 | isDateTimeSkeleton(el.style) |
| 31 | ) { |
| 32 | delete el.style.location |
| 33 | } else if (isTagElement(el)) { |
| 34 | pruneLocation(el.children) |
| 35 | } |
| 36 | }) |
| 37 | } |
| 38 | |
| 39 | export function parse( |
| 40 | message: string, |
no test coverage detected