@observertc/observer-js 1.0.1-23e88d8.0 → 1.0.1-620842f.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,6 +19,8 @@ export type ObservedClientEvents = {
19
19
  ];
20
20
  close: [];
21
21
  joined: [];
22
+ issue: [ClientIssue];
23
+ metaData: [ClientMetaData];
22
24
  rejoined: [timestamp: number];
23
25
  left: [];
24
26
  usingturn: [boolean];
@@ -65,8 +67,8 @@ export declare class ObservedClient<AppData extends Record<string, unknown> = Re
65
67
  accept(sample: ClientSample): void;
66
68
  private _processClientEvent;
67
69
  processMetadata(metadata: ClientMetaData): void;
68
- processIssue(issue: ClientIssue): void;
69
- processExtensionStats(stats: ExtensionStat): void;
70
+ addIssue(issue: ClientIssue): void;
71
+ addExtensionStats(stats: ExtensionStat): void;
70
72
  private _updatePeerConnection;
71
73
  }
72
74
  //# sourceMappingURL=ObservedClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObservedClient.d.ts","sourceRoot":"","sources":["../src/ObservedClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ObservedClient.d.ts","sourceRoot":"","sources":["../src/ObservedClient.ts"],"names":[],"mappings":"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"}
@@ -85,9 +85,9 @@ class ObservedClient extends events_1.EventEmitter {
85
85
  const now = Date.now();
86
86
  sample.clientEvents?.forEach(this._processClientEvent.bind(this));
87
87
  sample.clientMetaItems?.forEach(this.processMetadata.bind(this));
88
- sample.clientIssues?.forEach(this.processIssue.bind(this));
88
+ sample.clientIssues?.forEach(this.addIssue.bind(this));
89
89
  sample.peerConnections?.forEach(this._updatePeerConnection.bind(this));
90
- sample.extensionStats?.forEach(this.processExtensionStats.bind(this));
90
+ sample.extensionStats?.forEach(this.addExtensionStats.bind(this));
91
91
  // emit new attachments?
92
92
  this.attachments = sample.attachments;
93
93
  this.calculatedScore.value = sample.score;
@@ -135,11 +135,7 @@ class ObservedClient extends events_1.EventEmitter {
135
135
  break;
136
136
  }
137
137
  }
138
- this.call.observer.processors.events.process({
139
- call: this.call,
140
- client: this,
141
- data: event,
142
- });
138
+ this.call.observer.emit('client-event', this, event);
143
139
  }
144
140
  processMetadata(metadata) {
145
141
  switch (metadata.type) {
@@ -160,25 +156,14 @@ class ObservedClient extends events_1.EventEmitter {
160
156
  break;
161
157
  }
162
158
  }
163
- this.call.observer.processors.metaData.process({
164
- call: this.call,
165
- client: this,
166
- data: metadata,
167
- });
159
+ this.call.observer.emit('metadata-received', this, metadata);
168
160
  }
169
- processIssue(issue) {
170
- this.call.observer.processors.issues.process({
171
- call: this.call,
172
- client: this,
173
- data: issue,
174
- });
161
+ addIssue(issue) {
162
+ this.emit('issue', issue);
163
+ this.call.observer.emit('issue-received', this, issue);
175
164
  }
176
- processExtensionStats(stats) {
177
- this.call.observer.processors.extensionStats.process({
178
- call: this.call,
179
- client: this,
180
- data: stats,
181
- });
165
+ addExtensionStats(stats) {
166
+ this.call.observer.emit('extension-stats-received', this, stats);
182
167
  }
183
168
  _updatePeerConnection(sample) {
184
169
  let observedPeerConnection = this.observedPeerConnections.get(sample.peerConnectionId);
package/lib/Observer.d.ts CHANGED
@@ -1,10 +1,14 @@
1
1
  /// <reference types="node" />
2
- import { Middleware, MiddlewareProcessor } from './common/Middleware';
3
2
  import { ObservedCall, ObservedCallSettings } from './ObservedCall';
4
3
  import { EventEmitter } from 'events';
5
4
  import { ClientEvent, ClientMetaData, ClientIssue, ExtensionStat } from './schema/ClientSample';
6
5
  import { ObservedClient } from './ObservedClient';
7
6
  export type ObserverEvents = {
7
+ 'client-event': [ObservedClient, ClientEvent];
8
+ 'call-updated': [ObservedCall];
9
+ 'issue-received': [ObservedClient, ClientIssue];
10
+ 'metadata-received': [ObservedClient, ClientMetaData];
11
+ 'extension-stats-received': [ObservedClient, ExtensionStat];
8
12
  'newcall': [ObservedCall];
9
13
  'close': [];
10
14
  };
@@ -23,25 +27,11 @@ export type ObserverSummary = {
23
27
  rttlt50: number;
24
28
  };
25
29
  export declare class Observer extends EventEmitter {
26
- readonly processors: {
27
- events: MiddlewareProcessor<ProcessorInputContext<ClientEvent>>;
28
- metaData: MiddlewareProcessor<ProcessorInputContext<ClientMetaData>>;
29
- issues: MiddlewareProcessor<ProcessorInputContext<ClientIssue>>;
30
- extensionStats: MiddlewareProcessor<ProcessorInputContext<ExtensionStat>>;
31
- };
32
30
  readonly observedCalls: Map<string, ObservedCall<Record<string, unknown>>>;
33
31
  closed: boolean;
34
32
  constructor();
35
33
  getObservedCall<T extends Record<string, unknown> = Record<string, unknown>>(callId: string): ObservedCall<T> | undefined;
36
34
  createObservedCall<T extends Record<string, unknown> = Record<string, unknown>>(settings: ObservedCallSettings<T>): ObservedCall<T>;
37
- addClientEventMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientEvent>>[]): Observer;
38
- removeClientEventMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientEvent>>[]): Observer;
39
- addClientMetaDataMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientMetaData>>[]): Observer;
40
- removeClientMetaDataMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientMetaData>>[]): Observer;
41
- addClientIssueMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientIssue>>[]): Observer;
42
- removeClientIssueMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientIssue>>[]): Observer;
43
- addExtensionStatMiddleware(...middlewares: Middleware<ProcessorInputContext<ExtensionStat>>[]): Observer;
44
- removeExtensionStatMiddleware(...middlewares: Middleware<ProcessorInputContext<ExtensionStat>>[]): Observer;
45
35
  close(): void;
46
36
  }
47
37
  //# sourceMappingURL=Observer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,MAAM,MAAM,cAAc,GAAG;IAC5B,cAAc,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAC9C,cAAc,EAAE,CAAC,YAAY,CAAC,CAAC;IAC/B,gBAAgB,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAChD,mBAAmB,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACtD,0BAA0B,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAC5D,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC;IAC1B,OAAO,EAAE,EAAE,CAAC;CACZ,CAAA;AAED,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;IACtC,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC;CACR,CAAA;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ;IAChC,EAAE,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACnG,GAAG,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACpG,IAAI,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACrG,IAAI,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACpF;AAED,MAAM,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;CAChB,CAAA;AAED,qBAAa,QAAS,SAAQ,YAAY;IACzC,SAAgB,aAAa,qDAAmC;IACzD,MAAM,UAAS;;IAQf,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS;IAMzH,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpF,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC/B,YAAY,CAAC,CAAC,CAAC;IAoBX,KAAK;CAUZ"}
package/lib/Observer.js CHANGED
@@ -2,17 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Observer = void 0;
4
4
  const logger_1 = require("./common/logger");
5
- const Middleware_1 = require("./common/Middleware");
6
5
  const ObservedCall_1 = require("./ObservedCall");
7
6
  const events_1 = require("events");
8
7
  const logger = (0, logger_1.createLogger)('Observer');
9
8
  class Observer extends events_1.EventEmitter {
10
- processors = {
11
- events: new Middleware_1.MiddlewareProcessor(),
12
- metaData: new Middleware_1.MiddlewareProcessor(),
13
- issues: new Middleware_1.MiddlewareProcessor(),
14
- extensionStats: new Middleware_1.MiddlewareProcessor(),
15
- };
16
9
  observedCalls = new Map();
17
10
  closed = false;
18
11
  constructor() {
@@ -38,38 +31,6 @@ class Observer extends events_1.EventEmitter {
38
31
  this.emit('newcall', observedCall);
39
32
  return observedCall;
40
33
  }
41
- addClientEventMiddleware(...middlewares) {
42
- this.processors.events.addMiddleware(...middlewares);
43
- return this;
44
- }
45
- removeClientEventMiddleware(...middlewares) {
46
- this.processors.events.removeMiddleware(...middlewares);
47
- return this;
48
- }
49
- addClientMetaDataMiddleware(...middlewares) {
50
- this.processors.metaData.addMiddleware(...middlewares);
51
- return this;
52
- }
53
- removeClientMetaDataMiddleware(...middlewares) {
54
- this.processors.metaData.removeMiddleware(...middlewares);
55
- return this;
56
- }
57
- addClientIssueMiddleware(...middlewares) {
58
- this.processors.issues.addMiddleware(...middlewares);
59
- return this;
60
- }
61
- removeClientIssueMiddleware(...middlewares) {
62
- this.processors.issues.removeMiddleware(...middlewares);
63
- return this;
64
- }
65
- addExtensionStatMiddleware(...middlewares) {
66
- this.processors.extensionStats.addMiddleware(...middlewares);
67
- return this;
68
- }
69
- removeExtensionStatMiddleware(...middlewares) {
70
- this.processors.extensionStats.removeMiddleware(...middlewares);
71
- return this;
72
- }
73
34
  close() {
74
35
  if (this.closed) {
75
36
  return logger.debug('Attempted to close twice');
package/lib/index.d.ts CHANGED
@@ -18,8 +18,9 @@ export { ObservedIceCandidatePair } from './ObservedIceCandidatePair';
18
18
  export { ObservedIceCandidate } from './ObservedIceCandidate';
19
19
  export { ObservedIceTransport } from './ObservedIceTransport';
20
20
  export { ObservedPeerConnectionTransport } from './ObservedPeerConnectionTransport';
21
- export { ClientSample } from './schema/ClientSample';
22
- export { ClientEventTypes as ClientEventType } from './schema/ClientEventTypes';
23
- export { ClientMetaTypes as ClientMetaType } from './schema/ClientMetaTypes';
21
+ export type { ClientEventTypes } from './schema/ClientEventTypes';
22
+ export type { ClientMetaTypes } from './schema/ClientMetaTypes';
23
+ export type { ClientSample } from './schema/ClientSample';
24
+ export { ScoreCalculator } from './scores/ScoreCalculator';
24
25
  export { Middleware } from './common/Middleware';
25
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClientMetaType = exports.ClientEventType = exports.ObservedPeerConnectionTransport = exports.ObservedIceTransport = exports.ObservedIceCandidate = exports.ObservedIceCandidatePair = exports.ObservedRemoteOutboundRtp = exports.ObservedRemoteInboundRtp = exports.ObservedOutboundRtp = exports.ObservedInboundRtp = exports.ObservedDataChannel = exports.ObservedCertificate = exports.ObservedCodec = exports.ObservedMediaPlayout = exports.ObservedMediaSource = exports.ObservedPeerConnection = exports.ObservedClient = exports.ObservedOutboundTrack = exports.ObservedInboundTrack = exports.ObservedCall = exports.Observer = void 0;
3
+ exports.ObservedPeerConnectionTransport = exports.ObservedIceTransport = exports.ObservedIceCandidate = exports.ObservedIceCandidatePair = exports.ObservedRemoteOutboundRtp = exports.ObservedRemoteInboundRtp = exports.ObservedOutboundRtp = exports.ObservedInboundRtp = exports.ObservedDataChannel = exports.ObservedCertificate = exports.ObservedCodec = exports.ObservedMediaPlayout = exports.ObservedMediaSource = exports.ObservedPeerConnection = exports.ObservedClient = exports.ObservedOutboundTrack = exports.ObservedInboundTrack = exports.ObservedCall = exports.Observer = void 0;
4
4
  var Observer_1 = require("./Observer");
5
5
  Object.defineProperty(exports, "Observer", { enumerable: true, get: function () { return Observer_1.Observer; } });
6
6
  var ObservedCall_1 = require("./ObservedCall");
@@ -39,7 +39,3 @@ var ObservedIceTransport_1 = require("./ObservedIceTransport");
39
39
  Object.defineProperty(exports, "ObservedIceTransport", { enumerable: true, get: function () { return ObservedIceTransport_1.ObservedIceTransport; } });
40
40
  var ObservedPeerConnectionTransport_1 = require("./ObservedPeerConnectionTransport");
41
41
  Object.defineProperty(exports, "ObservedPeerConnectionTransport", { enumerable: true, get: function () { return ObservedPeerConnectionTransport_1.ObservedPeerConnectionTransport; } });
42
- var ClientEventTypes_1 = require("./schema/ClientEventTypes");
43
- Object.defineProperty(exports, "ClientEventType", { enumerable: true, get: function () { return ClientEventTypes_1.ClientEventTypes; } });
44
- var ClientMetaTypes_1 = require("./schema/ClientMetaTypes");
45
- Object.defineProperty(exports, "ClientMetaType", { enumerable: true, get: function () { return ClientMetaTypes_1.ClientMetaTypes; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@observertc/observer-js",
3
- "version": "1.0.1-23e88d8.0",
3
+ "version": "1.0.1-620842f.0",
4
4
  "description": "Server Side NodeJS Library for processing ObserveRTC Samples",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -27,6 +27,8 @@ export type ObservedClientEvents = {
27
27
  ];
28
28
  close: [];
29
29
  joined: [];
30
+ issue: [ClientIssue];
31
+ metaData: [ClientMetaData];
30
32
  rejoined: [timestamp: number];
31
33
  left: [];
32
34
  usingturn: [boolean];
@@ -132,9 +134,9 @@ export class ObservedClient<AppData extends Record<string, unknown> = Record<str
132
134
 
133
135
  sample.clientEvents?.forEach(this._processClientEvent.bind(this));
134
136
  sample.clientMetaItems?.forEach(this.processMetadata.bind(this));
135
- sample.clientIssues?.forEach(this.processIssue.bind(this));
137
+ sample.clientIssues?.forEach(this.addIssue.bind(this));
136
138
  sample.peerConnections?.forEach(this._updatePeerConnection.bind(this));
137
- sample.extensionStats?.forEach(this.processExtensionStats.bind(this));
139
+ sample.extensionStats?.forEach(this.addExtensionStats.bind(this));
138
140
 
139
141
  // emit new attachments?
140
142
  this.attachments = sample.attachments;
@@ -185,11 +187,7 @@ export class ObservedClient<AppData extends Record<string, unknown> = Record<str
185
187
  }
186
188
  }
187
189
 
188
- this.call.observer.processors.events.process({
189
- call: this.call,
190
- client: this,
191
- data: event,
192
- });
190
+ this.call.observer.emit('client-event', this, event);
193
191
  }
194
192
 
195
193
  public processMetadata(metadata: ClientMetaData) {
@@ -212,27 +210,16 @@ export class ObservedClient<AppData extends Record<string, unknown> = Record<str
212
210
  }
213
211
  }
214
212
 
215
- this.call.observer.processors.metaData.process({
216
- call: this.call,
217
- client: this,
218
- data: metadata,
219
- });
213
+ this.call.observer.emit('metadata-received', this, metadata);
220
214
  }
221
215
 
222
- public processIssue(issue: ClientIssue) {
223
- this.call.observer.processors.issues.process({
224
- call: this.call,
225
- client: this,
226
- data: issue,
227
- });
216
+ public addIssue(issue: ClientIssue) {
217
+ this.emit('issue', issue);
218
+ this.call.observer.emit('issue-received', this, issue);
228
219
  }
229
220
 
230
- public processExtensionStats(stats: ExtensionStat) {
231
- this.call.observer.processors.extensionStats.process({
232
- call: this.call,
233
- client: this,
234
- data: stats,
235
- });
221
+ public addExtensionStats(stats: ExtensionStat) {
222
+ this.call.observer.emit('extension-stats-received', this, stats);
236
223
  }
237
224
 
238
225
  private _updatePeerConnection(sample: PeerConnectionSample) {
package/src/Observer.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { createLogger } from './common/logger';
2
- import { Middleware, MiddlewareProcessor } from './common/Middleware';
3
2
  import { ObservedCall, ObservedCallSettings } from './ObservedCall';
4
3
  import { EventEmitter } from 'events';
5
4
  import { ClientEvent, ClientMetaData, ClientIssue, ExtensionStat } from './schema/ClientSample';
@@ -8,6 +7,11 @@ import { ObservedClient } from './ObservedClient';
8
7
  const logger = createLogger('Observer');
9
8
 
10
9
  export type ObserverEvents = {
10
+ 'client-event': [ObservedClient, ClientEvent];
11
+ 'call-updated': [ObservedCall],
12
+ 'issue-received': [ObservedClient, ClientIssue],
13
+ 'metadata-received': [ObservedClient, ClientMetaData],
14
+ 'extension-stats-received': [ObservedClient, ExtensionStat],
11
15
  'newcall': [ObservedCall],
12
16
  'close': [],
13
17
  }
@@ -30,13 +34,6 @@ export type ObserverSummary = {
30
34
  }
31
35
 
32
36
  export class Observer extends EventEmitter {
33
- public readonly processors = {
34
- events: new MiddlewareProcessor<ProcessorInputContext<ClientEvent>>(),
35
- metaData: new MiddlewareProcessor<ProcessorInputContext<ClientMetaData>>(),
36
- issues: new MiddlewareProcessor<ProcessorInputContext<ClientIssue>>(),
37
- extensionStats: new MiddlewareProcessor<ProcessorInputContext<ExtensionStat>>(),
38
- };
39
-
40
37
  public readonly observedCalls = new Map<string, ObservedCall>();
41
38
  public closed = false;
42
39
 
@@ -74,62 +71,6 @@ export class Observer extends EventEmitter {
74
71
  return observedCall;
75
72
  }
76
73
 
77
- public addClientEventMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientEvent>>[]): Observer {
78
-
79
- this.processors.events.addMiddleware(...middlewares);
80
-
81
- return this;
82
- }
83
-
84
- public removeClientEventMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientEvent>>[]): Observer {
85
-
86
- this.processors.events.removeMiddleware(...middlewares);
87
-
88
- return this;
89
- }
90
-
91
- public addClientMetaDataMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientMetaData>>[]): Observer {
92
-
93
- this.processors.metaData.addMiddleware(...middlewares);
94
-
95
- return this;
96
- }
97
-
98
- public removeClientMetaDataMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientMetaData>>[]): Observer {
99
-
100
- this.processors.metaData.removeMiddleware(...middlewares);
101
-
102
- return this;
103
- }
104
-
105
- public addClientIssueMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientIssue>>[]): Observer {
106
-
107
- this.processors.issues.addMiddleware(...middlewares);
108
-
109
- return this;
110
- }
111
-
112
- public removeClientIssueMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientIssue>>[]): Observer {
113
-
114
- this.processors.issues.removeMiddleware(...middlewares);
115
-
116
- return this;
117
- }
118
-
119
- public addExtensionStatMiddleware(...middlewares: Middleware<ProcessorInputContext<ExtensionStat>>[]): Observer {
120
-
121
- this.processors.extensionStats.addMiddleware(...middlewares);
122
-
123
- return this;
124
- }
125
-
126
- public removeExtensionStatMiddleware(...middlewares: Middleware<ProcessorInputContext<ExtensionStat>>[]): Observer {
127
-
128
- this.processors.extensionStats.removeMiddleware(...middlewares);
129
-
130
- return this;
131
- }
132
-
133
74
  public close() {
134
75
  if (this.closed) {
135
76
  return logger.debug('Attempted to close twice');
package/src/index.ts CHANGED
@@ -19,8 +19,9 @@ export { ObservedIceCandidatePair } from './ObservedIceCandidatePair';
19
19
  export { ObservedIceCandidate } from './ObservedIceCandidate';
20
20
  export { ObservedIceTransport } from './ObservedIceTransport';
21
21
  export { ObservedPeerConnectionTransport } from './ObservedPeerConnectionTransport';
22
- export { ClientSample } from './schema/ClientSample';
23
- export { ClientEventTypes as ClientEventType } from './schema/ClientEventTypes';
24
- export { ClientMetaTypes as ClientMetaType } from './schema/ClientMetaTypes';
22
+ export type { ClientEventTypes } from './schema/ClientEventTypes';
23
+ export type { ClientMetaTypes } from './schema/ClientMetaTypes';
24
+ export type { ClientSample } from './schema/ClientSample';
25
+ export { ScoreCalculator } from './scores/ScoreCalculator';
25
26
 
26
27
  export { Middleware } from './common/Middleware';