UNPKG

2.78 kBSource Map (JSON)View Raw
1{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":";AAyDA;;GAEG;AACH,IAAY,aASX;AATD,WAAY,aAAa;IACvB,YAAY;IACZ,0BAAS,CAAA;IACT,YAAY;IACZ,kCAAiB,CAAA;IACjB,YAAY;IACZ,oCAAmB,CAAA;IACnB,YAAY;IACZ,sCAAqB,CAAA;AACvB,CAAC,EATW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QASxB;AAED,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,YAAY;IACZ,iCAAS,CAAA;IACT,YAAY;IACZ,2CAAmB,CAAA;IACnB,YAAY;IACZ,2CAAmB,CAAA;AACrB,CAAC,EAPW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAO/B","sourcesContent":["import { User } from './user';\n\n/**\n * @inheritdoc\n */\nexport interface Session extends SessionContext {\n /** JSDoc */\n update(context?: SessionContext): void;\n\n /** JSDoc */\n close(status?: SessionStatus): void;\n\n /** JSDoc */\n toJSON(): {\n init: boolean;\n sid: string;\n did?: string;\n timestamp: string;\n started: string;\n duration?: number;\n status: SessionStatus;\n errors: number;\n attrs?: {\n release?: string;\n environment?: string;\n user_agent?: string;\n ip_address?: string;\n };\n };\n}\n\nexport interface RequestSession {\n status?: RequestSessionStatus;\n}\n\n/**\n * Session Context\n */\nexport interface SessionContext {\n sid?: string;\n did?: string;\n init?: boolean;\n // seconds since the UNIX epoch\n timestamp?: number;\n // seconds since the UNIX epoch\n started?: number;\n duration?: number;\n status?: SessionStatus;\n release?: string;\n environment?: string;\n userAgent?: string;\n ipAddress?: string;\n errors?: number;\n user?: User | null;\n ignoreDuration?: boolean;\n}\n\n/**\n * Session Status\n */\nexport enum SessionStatus {\n /** JSDoc */\n Ok = 'ok',\n /** JSDoc */\n Exited = 'exited',\n /** JSDoc */\n Crashed = 'crashed',\n /** JSDoc */\n Abnormal = 'abnormal',\n}\n\nexport enum RequestSessionStatus {\n /** JSDoc */\n Ok = 'ok',\n /** JSDoc */\n Errored = 'errored',\n /** JSDoc */\n Crashed = 'crashed',\n}\n\n/** JSDoc */\nexport interface SessionAggregates {\n attrs?: {\n environment?: string;\n release?: string;\n };\n aggregates: Array<AggregationCounts>;\n}\n\nexport interface SessionFlusherLike {\n /**\n * Increments the Session Status bucket in SessionAggregates Object corresponding to the status of the session\n * captured\n */\n incrementSessionStatusCount(): void;\n\n /** Submits the aggregates request mode sessions to Sentry */\n sendSessionAggregates(sessionAggregates: SessionAggregates): void;\n\n /** Empties Aggregate Buckets and Sends them to Transport Buffer */\n flush(): void;\n\n /** Clears setInterval and calls flush */\n close(): void;\n}\n\nexport interface AggregationCounts {\n started: string;\n errored?: number;\n exited?: number;\n crashed?: number;\n}\n"]}
\No newline at end of file