pxt-core
Version:
Microsoft MakeCode provides Blocks / JavaScript / Python tools and editors
52 lines (51 loc) • 1.77 kB
TypeScript
declare let process: any;
declare namespace pxt {
type Map<T> = {
[index: string]: T;
};
type EventSource<T> = {
subscribe(listener: (ev: T) => void): () => void;
emit(ev: T): void;
forEach(callback: (ev: T) => void): void;
};
export namespace perf {
let startTimeMs: number;
let measurementThresholdMs: number;
let stats: {
durations: EventSource<{
name: string;
start: number;
duration: number;
params?: Map<string>;
}>;
milestones: EventSource<{
milestone: string;
time: number;
params?: Map<string>;
}>;
};
function isEnabled(): boolean;
let perfReportLogged: boolean;
function splitMs(): number;
function prettyStr(ms: number): string;
function splitStr(): string;
function recordMilestone(msg: string, params?: Map<string>): void;
function init(): void;
function measureStart(name: string): void;
function measureEnd(name: string, params?: Map<string>): void;
function report(): {
milestones: {
[index: string]: number;
};
durations: {
[index: string]: number;
};
};
}
export function initAnalyticsAsync(): void;
export function aiTrackEvent(id: string, data?: any, measures?: any): void;
export function aiTrackException(err: any, kind?: string, props?: any): void;
export function initializeAppInsightsInternal(includeCookie?: boolean): void;
export function setInteractiveConsent(enabled: boolean): void;
export {};
}