xref: /expo/docs/types/resourceSpecs.d.ts (revision bcc59125)
1export enum ResourcePlatform {
2  ANDROID = 'android',
3  IOS = 'ios',
4}
5
6export enum ResourceTier {
7  MEDIUM = 'medium',
8  LARGE = 'large',
9}
10
11type HardwareSpec = {
12  cpu: string;
13  memory: string;
14  description: string;
15  name: string;
16};
17
18export type HardwareSpecs = Record<string, HardwareSpec>;
19
20export type HardwareSpecKey = keyof HardwareSpecs;
21
22type HardwareLSpec = {
23  vm: string;
24  extra: string;
25};
26
27export type HardwareRSpec = object | Record<HardwareSpecKey, HardwareLSpec>;
28
29type ResourceSpec = {
30  name: string;
31  symbol: string;
32  hardware: HardwareRSpec;
33};
34
35type PlatformSpec = Record<string, ResourceSpec>;
36
37type ResourceSpecs = {
38  [keyof in ResourcePlatform]: PlatformSpec;
39};
40
41type VMSpec = {
42  cpu: string;
43  memory: string;
44};
45
46type ResourceSpecData = {
47  resources: ResourceSpecs;
48  hardware: HardwareSpecs;
49  vm: Record<string, VMSpec>;
50};
51