react-native-node-api
Version:
Node-API for React Native
37 lines • 1.34 kB
TypeScript
import { SpawnFailure } from "@react-native-node-api/cli-utils";
import { NamingStrategy, PlatformName } from "../path-utils";
export type ModuleLinker = (options: LinkModuleOptions) => Promise<LinkModuleResult>;
export type LinkModulesOptions = {
platform: PlatformName;
incremental: boolean;
naming: NamingStrategy;
fromPath: string;
linker: ModuleLinker;
};
export type LinkModuleOptions = Omit<LinkModulesOptions, "fromPath" | "linker"> & {
modulePath: string;
};
export type ModuleDetails = {
originalPath: string;
outputPath: string;
libraryName: string;
};
export type LinkModuleResult = ModuleDetails & {
skipped: boolean;
};
export type ModuleOutputBase = {
originalPath: string;
skipped: boolean;
};
type ModuleOutput = ModuleOutputBase & ({
outputPath: string;
failure?: never;
} | {
outputPath?: never;
failure: SpawnFailure;
});
export declare function linkModules({ fromPath, incremental, naming, platform, linker, }: LinkModulesOptions): Promise<ModuleOutput[]>;
export declare function pruneLinkedModules(platform: PlatformName, linkedModules: ModuleOutput[]): Promise<void>;
export declare function getLinkedModuleOutputPath(platform: PlatformName, modulePath: string, naming: NamingStrategy): string;
export {};
//# sourceMappingURL=link-modules.d.ts.map