UNPKG

@betaflight/api

Version:

A high-level API to read data from betaflight flight controllers

26 lines (25 loc) 1.76 kB
export declare const bitCheck: (num: number, bit: number) => boolean; export declare type PartialNullable<T> = { [P in keyof T]?: T[P] | null; }; export declare type TupleOf<T, N extends number> = N extends N ? number extends N ? T[] : _TupleOf<T, N, []> : never; declare type _TupleOf<T, N extends number, R extends unknown[]> = R["length"] extends N ? R : _TupleOf<T, N, [T, ...R]>; export declare const isTupleOf: <T, N extends number>(list: T[], length: N) => list is TupleOf<T, N>; declare type TupleSizes = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; export declare const times: <T, N extends number>(f: (index: number) => T, number: N) => N extends TupleSizes ? TupleOf<T, N> : T[]; export declare const unpackValues: <T>(mask: number, schema: T[], { inverted }?: { inverted?: boolean | undefined; }) => T[]; export declare const packValues: <T>(values: T[], schema: T[], { inverted }?: { inverted?: boolean | undefined; }) => number; export declare const fromIdentifier: <T>(schema: T[], value: T) => number | undefined; export declare const toIdentifier: <T>(schema: T[], value: number) => number | T; export declare const includeIf: <T>(statement: boolean, value: T | T[]) => T[]; export declare type RecursivePartial<T> = { [P in keyof T]?: (T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends object ? RecursivePartial<T[P]> : T[P]) | null; }; export declare const mergeDeep: <T>(target: T, source: RecursivePartial<T>) => T; export declare const partialWriteFunc: <T extends Record<string, unknown>, R>(readFunc: (port: string) => Promise<T>, writeFunc: (port: string, config: T) => Promise<R>) => (port: string, config: RecursivePartial<T>) => Promise<R>; export declare const sleep: (ms: number) => Promise<void>; export {};