Passed
Push — dependabot/npm_and_yarn/dev/st... ( 917c39...79f3f4 )
by
unknown
12:32 queued 07:14
created

resources/assets/js/helpers/localize.ts   A

Complexity

Total Complexity 1
Complexity/F 1

Size

Lines of Code 14
Function Count 1

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 12
mnd 0
bc 0
fnc 1
dl 0
loc 14
rs 10
bpm 0
cpm 1
noi 0
c 0
b 0
f 0

1 Function

Rating   Name   Duplication   Size   Complexity  
A localize.ts ➔ localizeField 0 7 1
1
export type Locales = "en" | "fr";
2
type LocalizeableModel<T> = Record<Locales, T>;
3
type StringFields<T> = {
4
  [K in keyof T]: T[K] extends string | null ? K : never;
5
}[keyof T];
6
7
export function localizeField<T>(
8
  locale: Locales,
9
  model: LocalizeableModel<T>,
10
  field: StringFields<T>,
11
) {
12
  return model[locale][field];
13
}
14