Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
25 lines
852 B
Plaintext
25 lines
852 B
Plaintext
import { type LocaleData } from "./core.js";
|
|
import { type NumberFormatDigitInternalSlots } from "./number.js";
|
|
export type LDMLPluralRule = "zero" | "one" | "two" | "few" | "many" | "other";
|
|
export interface PluralRangesData {
|
|
cardinal?: Record<string, LDMLPluralRule>;
|
|
ordinal?: Record<string, LDMLPluralRule>;
|
|
}
|
|
export interface PluralRulesData {
|
|
categories: {
|
|
cardinal: string[];
|
|
ordinal: string[];
|
|
};
|
|
fn: (val: number | string, ord?: boolean, exponent?: number) => LDMLPluralRule;
|
|
pluralRanges?: PluralRangesData;
|
|
}
|
|
export type PluralRulesLocaleData = LocaleData<PluralRulesData>;
|
|
export interface PluralRulesInternal extends NumberFormatDigitInternalSlots {
|
|
initializedPluralRules: boolean;
|
|
locale: string;
|
|
type: "cardinal" | "ordinal";
|
|
notation: "standard" | "compact";
|
|
compactDisplay?: "short" | "long";
|
|
dataLocaleData?: any;
|
|
}
|