Warp/node_modules/search-insights/lib/_getFunctionalInterface.ts
2024-01-05 19:14:38 +07:00

17 lines
563 B
TypeScript

import type AlgoliaAnalytics from "./insights";
import type { InsightsClient } from "./types";
import { isFunction } from "./utils";
export function getFunctionalInterface(
instance: AlgoliaAnalytics
): InsightsClient {
return (functionName, ...functionArguments) => {
if (functionName && isFunction((instance as any)[functionName])) {
// @ts-expect-error
instance[functionName](...functionArguments);
} else {
// eslint-disable-next-line no-console
console.warn(`The method \`${functionName}\` doesn't exist.`);
}
};
}