@formatjs/intl-relativetimeformat
Version:
Formats JavaScript dates to relative time strings.
24 lines (23 loc) • 580 B
JavaScript
import { invariant, PartitionPattern } from "@formatjs/ecma402-abstract";
export function MakePartsList(pattern, unit, parts) {
const patternParts = PartitionPattern(pattern);
const result = [];
for (const patternPart of patternParts) {
if (patternPart.type === "literal") {
result.push({
type: "literal",
value: patternPart.value
});
} else {
invariant(patternPart.type === "0", `Malformed pattern ${pattern}`);
for (const part of parts) {
result.push({
type: part.type,
value: part.value,
unit
});
}
}
}
return result;
}