UNPKG

@flags-sdk/posthog

Version:

PostHog adapter for the Flags SDK

35 lines (30 loc) 1.19 kB
import { PostHog } from 'posthog-node'; import { Adapter, ProviderData } from 'flags'; type JsonType = string | number | boolean | null | { [key: string]: JsonType; } | Array<JsonType>; interface PostHogEntities { distinctId: string; } type PostHogAdapter = { isFeatureEnabled: (options?: { sendFeatureFlagEvents?: boolean; }) => Adapter<boolean, PostHogEntities>; featureFlagValue: (options?: { sendFeatureFlagEvents?: boolean; }) => Adapter<string | boolean, PostHogEntities>; featureFlagPayload: <T>(getValue: (payload: JsonType) => T, options?: { sendFeatureFlagEvents?: boolean; }) => Adapter<T, PostHogEntities>; }; declare function getProviderData(options: { personalApiKey: string; projectId: string; appHost?: string; }): Promise<ProviderData>; declare function createPostHogAdapter({ postHogKey, postHogOptions, }: { postHogKey: ConstructorParameters<typeof PostHog>[0]; postHogOptions: ConstructorParameters<typeof PostHog>[1]; }): PostHogAdapter; declare const postHogAdapter: PostHogAdapter; export { type JsonType, type PostHogEntities, createPostHogAdapter, getProviderData, postHogAdapter };