UNPKG

react-native-test-app

Version:

react-native-test-app provides a test app for all supported platforms as a package

41 lines (37 loc) 1.09 kB
// @ts-check import * as path from "node:path"; import { findFile } from "../helpers.js"; import { BaseMods } from "./ExpoConfigPlugins.mjs"; /** * @import { JSONObject } from "@expo/json-file"; * @import { CustomModProvider } from "./types.ts"; */ /** * @template {JSONObject} T * @param {T} [defaultRead={}] */ // @ts-expect-error Type '{}' is not assignable to type 'T' export function makeNullProvider(defaultRead = {}) { return BaseMods.provider({ getFilePath: () => "", read: () => Promise.resolve(defaultRead), write: () => Promise.resolve(), }); } /** * Creates a mod modifier that just changes `getFilePath()`. * @param {string} actualProjectDir * @returns {CustomModProvider} */ export function makeFilePathModifier(actualProjectDir) { return function (original, file) { return BaseMods.provider({ ...original, getFilePath: async ({ modRequest: { projectRoot } }) => { const name = path.posix.join(actualProjectDir, file); const result = findFile(name, projectRoot); return result || name; }, }); }; }