0.3.0 • Published 2 years ago

@highoutput/analytics v0.3.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

analytics

Install

npm install @highoutput/analytics

Usage

import Analytics from '@highoutput/analytics';

const analytics = new Analytics({
  project: 'studio',
  token: 'secret',
});

// Create or update user
analytics.setAccount({
  accountId: 'unique-id-123',
  body: {
    firstname: 'juan',
    lastname: 'bautista',
    email: 'juan.bautista@mail.com',
    created: new Date(),
  }
});

// Create an event.
// Omit `accountId` if event does not need to be associated to user.
analytics.createEvent({
  eventName: 'CREATE_POST',
  accountId: 'unique-id-123',
  body: {
    postType: 'SOME_POST_TYPE',
    platformUsed: 'web',
  },
});

API

Analytics(options)

Returns a new analtyics instance.

options

Type: object

project

Type: string Unique name of your project.

token

Type: string Token from Mixpanel.

queue

Analytics instance.

.setAccount(options)

Create or update user details to. Only the accountId is required.

options.accountId

Unique identifier of the user. In Mixpanel, this will appear as Distinct ID.

options.body

Details of the user. The firstname, lastname, email, and created are predefined properties but are not required. If created is omitted, it defaults to new Date().

Any additional custom properties can be added. Values with types of Buffer or ObjectID are serialized into string using bs58.

Note: The corresponding request to Mixpanel is added into a queue.

.createEvent(options)

Stores an event to Mixpanel.

Note: The corresponding request to Mixpanel is added into a queue.

options.eventName

Type: string

Name of the event.

options.accountId?

Type: string

User associated to the event. If omitted, the event created will not be associated to any user.

options.body

Type: object

Any properties relevant to the event. Values with types of Buffer or ObjectID are serialized into string using bs58.

.stop()

Clears the queue and waits for the pending request to Mixpanel to finish.