An open API service indexing awesome lists of open source software.

https://github.com/yet3/type-safe-mixpanel

A set of utilities for defining type-safe mixpanel events
https://github.com/yet3/type-safe-mixpanel

Last synced: over 1 year ago
JSON representation

A set of utilities for defining type-safe mixpanel events

Awesome Lists containing this project

README

          

# Type safe mixpanel

A set of utilities for safely defining mixpanel events

### Example

```ts
import { defineMpEvents, createTrackEvent, mpinf, mperr, mpwarn } from "@yet3/type-safe-mixpanel";

export const MP = defineMpEvents({
APP_MOUNT: mpinf("App has mounted"),

BTN: {
CLICKED: mpinf<{ btnId: string }>("User clicked button"),
},

INPUT_ERR: mperr<{ value: string }>("Generic error"),
});

const trackEvent = createTrackEvent();
const trackUserEvent = createTrackEvent({
baseProps: () => ({
USER_ID: "a3sd89z1kk4d1kl8",
}),
});

trackEvent(MP.APP_MOUNT);
trackUserEvent(MP.BTN.CLICKED, { btnId: "v8u7" });
try {
// ...
} catch (e) {
trackEvent(MP.INPUT_ERR, { value: "", nativeError: e });
}
```