npm.io
1.1.3 • Published 2 years ago

@types/node-insights

Licence
MIT
Version
1.1.3
Deps
0
Size
6 kB
Vulns
0
Weekly
0
Stars
51.4K

Installation

npm install --save @types/node-insights

Summary

This package contains type definitions for node-insights (https://github.com/flightstats/node-insights#readme).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node-insights.

index.d.ts

interface Config {
    insertKey: string;
    queryKey: string;
    accountId: string;
    timerInterval?: number | undefined;
    maxPending?: number | undefined;
    defaultEventType?: string | undefined;
    enabled?: boolean | undefined;
    gzip?: boolean | undefined;
}

type CallbackFunc = (err: Error | null | undefined, responseBody: string) => void;

declare class Insights {
    static collectorHost: string;
    static collectorBaseURL: string;
    static queryBaseURL: string;

    enabled: boolean;
    queryKey: string;
    insertKey: string;

    /**
     * Insights
     */
    constructor(config: Config);

    /**
     * Add insights data to the queue.
     * It is sent when the queue reaches a max size or a period of time has elapsed
     */
    add(data: object, eventType?: string): void;

    /**
     * Build a nrql query string
     * @example
     *    nrql = insights.nrql({
     *      select: 'uniqueCount(session)',
     *      from: 'PageView',
     *      since: '1 week ago',
     *      until: '1 day ago',
     *      timeseries: '1 hour'
     *   });
     *   insights.query(nrql);
     */
    nrql(params: object): string;

    /**
     * nrql where clause builder
     */
    where(clause: string | string[] | object): string;

    /**
     * Execute a nrql query
     */
    query(query: string, callback: CallbackFunc): void;

    /**
     * Start the timer that will send insights after some interval of time
     * this is called implicitly when data is added via the add method
     */
    start(): void;

    /**
     * Stop the timer that will send insights after some interval of time
     * this is called implicitly when the amount of data exceeds maxPending and the queue is sent
     */
    stop(): void;

    /**
     * Stop the timer after flushing.
     */
    finish(): void;

    /**
     * Send accumulated insights data to new relic (if enabled)
     */
    send(done?: CallbackFunc): void;
}

export = Insights;

Additional Details

  • Last updated: Tue, 07 Nov 2023 0939 GMT
  • Dependencies: none

Credits

These definitions were written by Walter Rumsby.