@linode/api-v4
Version:
JavaScript wrapper around the Linode APIv4
69 lines • 1.9 kB
TypeScript
import type { PriceObject, RegionPriceObject } from './linodes/types';
export interface APIError {
field?: string;
reason: string;
}
export interface APIWarning {
detail: string;
title: string;
}
export interface ConfigOverride {
baseURL?: string;
}
export interface ResourcePage<T> {
data: T[];
page: number;
pages: number;
results: number;
}
export type DeepPartial<T> = {
[P in keyof T]?: DeepPartial<T[P]>;
};
export interface Params {
page?: number;
page_size?: number;
}
export interface RequestOptions {
filter?: Filter;
headers?: RequestHeaders;
params?: Params;
}
export interface FilterConditionTypes {
'+and'?: Filter[];
'+contains'?: string;
'+eq'?: number | string;
'+gt'?: number;
'+gte'?: number;
'+lt'?: number;
'+lte'?: number;
'+neq'?: string;
'+or'?: Filter[] | string[];
'+order'?: 'asc' | 'desc';
'+order_by'?: string;
}
export type Filter = LinodeFilter | LinodeFilter[];
type LinodeFilter = {
[key: string]: boolean | Filter | null | number | string | undefined;
} | {
[key in keyof FilterConditionTypes]: FilterConditionTypes[key];
};
type RequestHeaderValue = boolean | null | number | string | string[];
type RequestContentType = 'application/json' | 'application/octet-stream' | 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/html' | 'text/plain' | RequestHeaderValue;
export interface RequestHeaders {
[key: string]: RequestHeaderValue | undefined;
Accept?: string;
Authorization?: string;
'Content-Encoding'?: string;
'Content-Length'?: number;
'Content-Type'?: RequestContentType;
'User-Agent'?: string;
}
export interface PriceType {
id: string;
label: string;
price: PriceObject;
region_prices: RegionPriceObject[];
transfer: number;
}
export {};
//# sourceMappingURL=types.d.ts.map