@iotize/ionic
Version:
Iotize specific building blocks on top of @ionic/angular.
23 lines (22 loc) • 821 B
TypeScript
import { TapInfo } from './keys';
import { ResourceKeyMapping, TapResourceKey } from './tap-resource-api';
export interface TapInfoKey {
key: TapResourceKey;
params?: any[];
}
export type TapInfoKeyObjectOrString = TapInfoKey | TapResourceKey | TapInfo;
export interface TapInfoHolder<T = any> {
error?: Error;
value?: T;
loadDate?: Date;
}
export type GetResponseType<K extends TapInfoKeyObjectOrString> = K extends TapInfoKey ? GetResponseTypeFromString<K['key']> : K extends keyof ResourceKeyMapping ? GetResponseTypeFromString<K> : never;
type GetResponseTypeFromString<K extends keyof ResourceKeyMapping> = ResourceKeyMapping[K]['responseType'];
export type Lwm2mEnum = {
[key: string | number]: string | number;
};
export type EnumInfo = {
id: string;
data: Lwm2mEnum;
};
export {};