mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-09-09 11:13:57 +08:00
Add tests and scope new universal analytics to its own module.
Fix errors from npm test and include all top-level APIs.
This commit is contained in:
@@ -1,15 +1,30 @@
|
||||
/// <reference path="ga.d.ts" />
|
||||
/// <reference path="../jasmine/jasmine.d.ts" />
|
||||
|
||||
describe('UniversalGoogleAnalytics', () => {
|
||||
it('should be a function', () => {
|
||||
ga('create', 'UA-65432-1');
|
||||
describe('UniversalAnalytics', () => {
|
||||
it('should exercise all ga APIs', () => {
|
||||
ga('create', 'UA-65432-1', 'auto');
|
||||
ga('create', 'UA-65432-1', {some: 'config'});
|
||||
ga('create', 'UA-65432-1', 'auto', {some: 'config'});
|
||||
ga('send', 'pageview');
|
||||
});
|
||||
it('should have methods', () => {
|
||||
ga('send', 'pageview', {some: 'details'});
|
||||
ga.create('UA-65432-1', 'auto');
|
||||
ga.create('UA-65432-1', {some: 'config'});
|
||||
ga.create('UA-65432-1', 'auto', {some: 'config'});
|
||||
ga.getAll();
|
||||
ga.getByName('aNamedTracker');
|
||||
});
|
||||
it('should excercise Tracker APIs', () => {
|
||||
var tracker: UniversalAnalytics.Tracker = ga('create', 'UA-65432-1', 'auto');
|
||||
var aString: string = tracker.get<string>('aString');
|
||||
var aNumber: number = tracker.get<number>('aNumber');
|
||||
var anObject: {} = tracker.get<{}>('anObject');
|
||||
tracker.send('pageview');
|
||||
tracker.send('pageview', {some: 'details'});
|
||||
tracker.set('aString', aString);
|
||||
tracker.set('aNumber', aNumber);
|
||||
tracker.set('anObject', anObject);
|
||||
});
|
||||
});
|
||||
|
||||
describe("tester Google Analytics Tracker _gat object", () => {
|
||||
|
||||
Vendored
+25
-14
@@ -1,6 +1,6 @@
|
||||
// Type definitions for Google Analytics
|
||||
// Type definitions for Google Analytics (Classic and Universal)
|
||||
// Project: https://developers.google.com/analytics/devguides/collection/gajs/
|
||||
// Definitions by: Ronnie Haakon Hegelund <http://ronniehegelund.blogspot.dk>
|
||||
// Definitions by: Ronnie Haakon Hegelund <http://ronniehegelund.blogspot.dk>, Pat Kujawa <http://patkujawa.com>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare class Tracker {
|
||||
@@ -30,19 +30,30 @@ interface GoogleAnalyticsTracker {
|
||||
_anonymizeIp(): void;
|
||||
}
|
||||
|
||||
interface UniversalGoogleAnalytics {
|
||||
(command: string, trackingId:string, opt_configObject?: {}): UniversalTracker;
|
||||
(command: string, ...rest): void;
|
||||
getAll(): UniversalTracker[];
|
||||
getByName(trackerName: string): UniversalTracker;
|
||||
declare module UniversalAnalytics {
|
||||
// https://developers.google.com/analytics/devguides/collection/analyticsjs/method-reference
|
||||
|
||||
interface ga {
|
||||
(command: string, trackingId: string, opt_configObject?: {}): UniversalAnalytics.Tracker;
|
||||
(command: string, trackingId: string, auto: string, opt_configObject?: {}): UniversalAnalytics.Tracker;
|
||||
(command: string, hitDetails: {}): void;
|
||||
(command: string, hitType: string, hitDetails?: {}): void;
|
||||
create(trackingId: string, opt_configObject?: {}): UniversalAnalytics.Tracker;
|
||||
create(trackingId: string, auto: string, opt_configObject?: {}): UniversalAnalytics.Tracker;
|
||||
getAll(): UniversalAnalytics.Tracker[];
|
||||
getByName(name: string): UniversalAnalytics.Tracker;
|
||||
}
|
||||
|
||||
interface Tracker {
|
||||
get<T>(fieldName: string): T;
|
||||
send(hitType: string, opt_fieldObject?: {}): void;
|
||||
set(fieldName: string, value: string): void;
|
||||
set(fieldName: string, value: {}): void;
|
||||
set(fieldName: string, value: number): void;
|
||||
set(fieldName: string, value: boolean): void;
|
||||
}
|
||||
}
|
||||
|
||||
interface UniversalTracker {
|
||||
get(...any): any;
|
||||
send(...any): any;
|
||||
set(...any): any;
|
||||
}
|
||||
|
||||
declare var ga: UniversalGoogleAnalytics;
|
||||
declare var ga: UniversalAnalytics.ga;
|
||||
declare var _gaq: GoogleAnalyticsCode;
|
||||
declare var _gat: GoogleAnalyticsTracker;
|
||||
|
||||
Reference in New Issue
Block a user