opus-codec-worker 1.0.7 → 1.0.9

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.
@@ -1,7 +1,10 @@
1
1
  import { IWorkerRequest, RequestResponse, RequestResponseType } from './actions.js';
2
+ export interface IClientOptions {
3
+ timeout: number;
4
+ }
2
5
  export default class Client {
3
6
  #private;
4
- constructor(worker: Worker);
7
+ constructor(worker: Worker, clientOptions?: Partial<IClientOptions>);
5
8
  close(): void;
6
9
  sendMessage<T extends IWorkerRequest<unknown, unknown>>(data: T): Promise<RequestResponse<RequestResponseType<T>>>;
7
10
  private onMessageError;
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../actions/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,cAAc,EACd,eAAe,EACf,mBAAmB,EACtB,MAAM,cAAc,CAAC;AAEtB,MAAM,CAAC,OAAO,OAAO,MAAM;;gBAMJ,MAAM,EAAE,MAAM;IAM1B,KAAK;IAUL,WAAW,CAAC,CAAC,SAAS,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;IAuBtE,OAAO,CAAC,cAAc,CAEpB;IACF,OAAO,CAAC,OAAO,CAEb;IACF,OAAO,CAAC,SAAS,CAQf;CACL"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../actions/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,cAAc,EACd,eAAe,EACf,mBAAmB,EACtB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,CAAC,OAAO,OAAO,MAAM;;gBAQnB,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,OAAO,CAAC,cAAc,CAAM;IAWxC,KAAK;IAUL,WAAW,CAAC,CAAC,SAAS,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;IA0BtE,OAAO,CAAC,cAAc,CAEpB;IACF,OAAO,CAAC,OAAO,CAEb;IACF,OAAO,CAAC,SAAS,CAQf;CACL"}
package/actions/Client.js CHANGED
@@ -1,8 +1,13 @@
1
1
  export default class Client {
2
2
  #worker;
3
3
  #pending = new Map();
4
- constructor(worker) {
4
+ #clientOptions;
5
+ constructor(worker, clientOptions = {}) {
5
6
  this.#worker = worker;
7
+ this.#clientOptions = {
8
+ timeout: 10000,
9
+ ...clientOptions
10
+ };
6
11
  worker.addEventListener('message', this.onMessage);
7
12
  worker.addEventListener('messageerror', this.onMessageError);
8
13
  worker.addEventListener('error', this.onError);
@@ -13,12 +18,11 @@ export default class Client {
13
18
  this.#pending.delete(p[0]);
14
19
  p[1]({
15
20
  requestId: p[0],
16
- failures: ['Worker destroyed'],
21
+ failures: ['Worker destroyed']
17
22
  });
18
23
  }
19
24
  }
20
25
  sendMessage(data) {
21
- const waitTimeBeforeResolvingAutomaticallyInMilliseconds = 10000;
22
26
  return new Promise((resolve, reject) => {
23
27
  if (this.#pending.has(data.requestId)) {
24
28
  reject(new Error(`Request already exists: ${data.requestId}`));
@@ -28,15 +32,20 @@ export default class Client {
28
32
  resolve({
29
33
  requestId: data.requestId,
30
34
  failures: [
31
- `Timeout expired. It took more than ${waitTimeBeforeResolvingAutomaticallyInMilliseconds} to resolve this request.`,
32
- ],
35
+ `Timeout expired. It took more than ${this.#clientOptions.timeout} ms to resolve this request.`
36
+ ]
33
37
  });
34
- }, waitTimeBeforeResolvingAutomaticallyInMilliseconds);
38
+ }, this.#clientOptions.timeout);
35
39
  this.#pending.set(data.requestId, (data) => {
36
40
  clearTimeout(timeoutId);
37
41
  resolve(data);
38
42
  });
39
- this.#worker.postMessage(data);
43
+ if (data.transfer) {
44
+ this.#worker.postMessage(data, data.transfer);
45
+ }
46
+ else {
47
+ this.#worker.postMessage(data);
48
+ }
40
49
  });
41
50
  }
42
51
  onMessageError = (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../actions/Client.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,OAAO,MAAM;IACd,OAAO,CAAC;IACR,QAAQ,GAAG,IAAI,GAAG,EAGxB,CAAC;IACJ,YAAmB,MAAc;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IACM,KAAK;QACR,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC,CAAC,CAAC;gBACD,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;gBACf,QAAQ,EAAE,CAAC,kBAAkB,CAAC;aACjC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACM,WAAW,CAA6C,IAAO;QAClE,MAAM,kDAAkD,GAAG,KAAK,CAAC;QAEjE,OAAO,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC/D,OAAO;YACX,CAAC;YACD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,OAAO,CAAC;oBACJ,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ,EAAE;wBACN,sCAAsC,kDAAkD,2BAA2B;qBACtH;iBACJ,CAAC,CAAC;YACP,CAAC,EAAE,kDAAkD,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,OAAO,CAAC,IAAgB,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IACO,cAAc,GAAG,CAAC,CAAe,EAAE,EAAE;QACzC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC;IACM,OAAO,GAAG,CAAC,CAAa,EAAE,EAAE;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC;IACM,SAAS,GAAG,CAAC,CAAe,EAAE,EAAE;QACpC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAgC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnE,OAAO;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC;CACL"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../actions/Client.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,11 @@ export interface IWorkerRequest<Data, Response> {
6
6
  requestId: RequestId;
7
7
  }
8
8
  export type CodecId = string;
9
- export type RequestResponse<T> = {
9
+ export interface IRequestResponseSuccess<T> {
10
10
  requestId: RequestId;
11
11
  value: T;
12
- } | {
12
+ }
13
+ export type RequestResponse<T> = IRequestResponseSuccess<T> | {
13
14
  requestId: RequestId;
14
15
  failures: string[];
15
16
  };
@@ -30,6 +31,7 @@ export interface IOpusSetRequest extends IWorkerRequest<OpusSetRequest, boolean>
30
31
  }
31
32
  export declare function setToEncoder(data: OpusSetRequest): IOpusSetRequest;
32
33
  export interface ICreateEncoder extends IWorkerRequest<ICreateEncoderOptions, CodecId> {
34
+ encoderId: CodecId;
33
35
  type: RequestType.CreateEncoder;
34
36
  }
35
37
  export interface ICreateDecoderOptions {
@@ -38,16 +40,17 @@ export interface ICreateDecoderOptions {
38
40
  frameSize: number;
39
41
  }
40
42
  export interface ICreateDecoder extends IWorkerRequest<ICreateDecoderOptions, CodecId> {
43
+ decoderId: CodecId;
41
44
  type: RequestType.CreateDecoder;
42
45
  }
43
- export declare function createDecoder(sampleRate: number, channels: number, frameSize: number): ICreateDecoder;
46
+ export declare function createDecoder({ sampleRate, channels, frameSize }: ICreateDecoderOptions): ICreateDecoder;
44
47
  export interface IDestroyEncoderOptions {
45
48
  encoderId: CodecId;
46
49
  }
47
- export interface IDestroyEncoder extends IWorkerRequest<CodecId, null> {
50
+ export interface IDestroyEncoder extends IWorkerRequest<IDestroyEncoderOptions, null> {
48
51
  type: RequestType.DestroyEncoder;
49
52
  }
50
- export declare function destroyEncoder(encoderId: CodecId): IDestroyEncoder;
53
+ export declare function destroyEncoder(data: IDestroyEncoderOptions): IDestroyEncoder;
51
54
  export interface IDrainRingBufferResult {
52
55
  }
53
56
  export declare enum RequestType {
@@ -68,12 +71,13 @@ export interface IInitializeWorkerOptions {
68
71
  wasmFileHref: string;
69
72
  }
70
73
  export declare function initializeWorker(data: IInitializeWorkerOptions): IInitializeWorker;
71
- export interface IDestroyDecoder extends IWorkerRequest<{
74
+ export interface IDestroyDecoderOptions {
72
75
  decoderId: CodecId;
73
- }, null> {
76
+ }
77
+ export interface IDestroyDecoder extends IWorkerRequest<IDestroyDecoderOptions, null> {
74
78
  type: RequestType.DestroyDecoder;
75
79
  }
76
- export declare function destroyDecoder(decoderId: CodecId): IDestroyDecoder;
80
+ export declare function destroyDecoder(data: IDestroyDecoderOptions): IDestroyDecoder;
77
81
  export interface IDecodeFloatOptions {
78
82
  decoderId: CodecId;
79
83
  decodeFec?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../actions/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../actions/actions.ts"],"names":[],"mappings":"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"}
@@ -2,32 +2,33 @@ export function getFromEncoder(data) {
2
2
  return {
3
3
  type: RequestType.OpusGetRequest,
4
4
  data,
5
- requestId: getRequestId(),
5
+ requestId: getRequestId()
6
6
  };
7
7
  }
8
8
  export function setToEncoder(data) {
9
9
  return {
10
10
  type: RequestType.OpusSetRequest,
11
11
  data,
12
- requestId: getRequestId(),
12
+ requestId: getRequestId()
13
13
  };
14
14
  }
15
- export function createDecoder(sampleRate, channels, frameSize) {
15
+ export function createDecoder({ sampleRate, channels, frameSize }) {
16
16
  return {
17
17
  type: RequestType.CreateDecoder,
18
+ decoderId: generateCodecId(),
18
19
  data: {
19
20
  frameSize,
20
21
  sampleRate,
21
- channels,
22
+ channels
22
23
  },
23
- requestId: getRequestId(),
24
+ requestId: getRequestId()
24
25
  };
25
26
  }
26
- export function destroyEncoder(encoderId) {
27
+ export function destroyEncoder(data) {
27
28
  return {
28
29
  type: RequestType.DestroyEncoder,
29
- data: encoderId,
30
- requestId: getRequestId(),
30
+ data,
31
+ requestId: getRequestId()
31
32
  };
32
33
  }
33
34
  export var RequestType;
@@ -46,16 +47,14 @@ export function initializeWorker(data) {
46
47
  return {
47
48
  requestId: getRequestId(),
48
49
  data,
49
- type: RequestType.InitializeWorker,
50
+ type: RequestType.InitializeWorker
50
51
  };
51
52
  }
52
- export function destroyDecoder(decoderId) {
53
+ export function destroyDecoder(data) {
53
54
  return {
54
55
  type: RequestType.DestroyDecoder,
55
- data: {
56
- decoderId,
57
- },
58
- requestId: getRequestId(),
56
+ data,
57
+ requestId: getRequestId()
59
58
  };
60
59
  }
61
60
  export function decodeFloat(data) {
@@ -63,18 +62,24 @@ export function decodeFloat(data) {
63
62
  type: RequestType.DecodeFloat,
64
63
  data,
65
64
  requestId: getRequestId(),
66
- transfer: [data.encoded],
65
+ transfer: [data.encoded]
67
66
  };
68
67
  }
68
+ function generateRandomId() {
69
+ return crypto.getRandomValues(new Uint32Array(4)).join('-');
70
+ }
69
71
  function getRequestId() {
70
- const ids = crypto.getRandomValues(new Int32Array(4));
71
- return ids.join('-');
72
+ return generateRandomId();
73
+ }
74
+ function generateCodecId() {
75
+ return generateRandomId();
72
76
  }
73
77
  export function createEncoder(data) {
74
78
  return {
75
79
  data,
80
+ encoderId: generateCodecId(),
76
81
  requestId: getRequestId(),
77
- type: RequestType.CreateEncoder,
82
+ type: RequestType.CreateEncoder
78
83
  };
79
84
  }
80
85
  export function encodeFloat(data) {
@@ -82,7 +87,7 @@ export function encodeFloat(data) {
82
87
  data,
83
88
  requestId: getRequestId(),
84
89
  type: RequestType.EncodeFloat,
85
- transfer: data.input !== null ? [data.input.pcm.buffer] : [],
90
+ transfer: data.input !== null ? [data.input.pcm.buffer] : []
86
91
  };
87
92
  }
88
93
  //# sourceMappingURL=actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../actions/actions.ts"],"names":[],"mappings":"AAoCA,MAAM,UAAU,cAAc,CAAC,IAAoB;IAC/C,OAAO;QACH,IAAI,EAAE,WAAW,CAAC,cAAc;QAChC,IAAI;QACJ,SAAS,EAAE,YAAY,EAAE;KAC5B,CAAC;AACN,CAAC;AAOD,MAAM,UAAU,YAAY,CAAC,IAAoB;IAC7C,OAAO;QACH,IAAI,EAAE,WAAW,CAAC,cAAc;QAChC,IAAI;QACJ,SAAS,EAAE,YAAY,EAAE;KAC5B,CAAC;AACN,CAAC;AAkBD,MAAM,UAAU,aAAa,CACzB,UAAkB,EAClB,QAAgB,EAChB,SAAiB;IAEjB,OAAO;QACH,IAAI,EAAE,WAAW,CAAC,aAAa;QAC/B,IAAI,EAAE;YACF,SAAS;YACT,UAAU;YACV,QAAQ;SACX;QACD,SAAS,EAAE,YAAY,EAAE;KAC5B,CAAC;AACN,CAAC;AAUD,MAAM,UAAU,cAAc,CAAC,SAAkB;IAC7C,OAAO;QACH,IAAI,EAAE,WAAW,CAAC,cAAc;QAChC,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,YAAY,EAAE;KAC5B,CAAC;AACN,CAAC;AAID,MAAM,CAAN,IAAY,WAUX;AAVD,WAAY,WAAW;IACnB,+DAAa,CAAA;IACb,+DAAa,CAAA;IACb,2DAAW,CAAA;IACX,2DAAW,CAAA;IACX,iEAAc,CAAA;IACd,qEAAgB,CAAA;IAChB,iEAAc,CAAA;IACd,iEAAc,CAAA;IACd,iEAAc,CAAA;AAClB,CAAC,EAVW,WAAW,KAAX,WAAW,QAUtB;AAWD,MAAM,UAAU,gBAAgB,CAC5B,IAA8B;IAE9B,OAAO;QACH,SAAS,EAAE,YAAY,EAAE;QACzB,IAAI;QACJ,IAAI,EAAE,WAAW,CAAC,gBAAgB;KACrC,CAAC;AACN,CAAC;AAOD,MAAM,UAAU,cAAc,CAAC,SAAkB;IAC7C,OAAO;QACH,IAAI,EAAE,WAAW,CAAC,cAAc;QAChC,IAAI,EAAE;YACF,SAAS;SACZ;QACD,SAAS,EAAE,YAAY,EAAE;KAC5B,CAAC;AACN,CAAC;AAgBD,MAAM,UAAU,WAAW,CAAC,IAAyB;IACjD,OAAO;QACH,IAAI,EAAE,WAAW,CAAC,WAAW;QAC7B,IAAI;QACJ,SAAS,EAAE,YAAY,EAAE;QACzB,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;KAC3B,CAAC;AACN,CAAC;AA+CD,SAAS,YAAY;IACjB,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAA2B;IACrD,OAAO;QACH,IAAI;QACJ,SAAS,EAAE,YAAY,EAAE;QACzB,IAAI,EAAE,WAAW,CAAC,aAAa;KAClC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAyB;IACjD,OAAO;QACH,IAAI;QACJ,SAAS,EAAE,YAAY,EAAE;QACzB,IAAI,EAAE,WAAW,CAAC,WAAW;QAC7B,QAAQ,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;KAC/D,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../actions/actions.ts"],"names":[],"mappings":"AAwCA,MAAM,UAAU,cAAc,CAAC,IAAoB;IAC/C,OAAO;QACH,IAAI,EAAE,WAAW,CAAC,cAAc;QAChC,IAAI;QACJ,SAAS,EAAE,YAAY,EAAE;KAC5B,CAAC;AACN,CAAC;AASD,MAAM,UAAU,YAAY,CAAC,IAAoB;IAC7C,OAAO;QACH,IAAI,EAAE,WAAW,CAAC,cAAc;QAChC,IAAI;QACJ,SAAS,EAAE,YAAY,EAAE;KAC5B,CAAC;AACN,CAAC;AAwBD,MAAM,UAAU,aAAa,CAAC,EAC1B,UAAU,EACV,QAAQ,EACR,SAAS,EACW;IACpB,OAAO;QACH,IAAI,EAAE,WAAW,CAAC,aAAa;QAC/B,SAAS,EAAE,eAAe,EAAE;QAC5B,IAAI,EAAE;YACF,SAAS;YACT,UAAU;YACV,QAAQ;SACX;QACD,SAAS,EAAE,YAAY,EAAE;KAC5B,CAAC;AACN,CAAC;AAaD,MAAM,UAAU,cAAc,CAAC,IAA4B;IACvD,OAAO;QACH,IAAI,EAAE,WAAW,CAAC,cAAc;QAChC,IAAI;QACJ,SAAS,EAAE,YAAY,EAAE;KAC5B,CAAC;AACN,CAAC;AAID,MAAM,CAAN,IAAY,WAUX;AAVD,WAAY,WAAW;IACnB,+DAAa,CAAA;IACb,+DAAa,CAAA;IACb,2DAAW,CAAA;IACX,2DAAW,CAAA;IACX,iEAAc,CAAA;IACd,qEAAgB,CAAA;IAChB,iEAAc,CAAA;IACd,iEAAc,CAAA;IACd,iEAAc,CAAA;AAClB,CAAC,EAVW,WAAW,KAAX,WAAW,QAUtB;AAaD,MAAM,UAAU,gBAAgB,CAC5B,IAA8B;IAE9B,OAAO;QACH,SAAS,EAAE,YAAY,EAAE;QACzB,IAAI;QACJ,IAAI,EAAE,WAAW,CAAC,gBAAgB;KACrC,CAAC;AACN,CAAC;AAaD,MAAM,UAAU,cAAc,CAAC,IAA4B;IACvD,OAAO;QACH,IAAI,EAAE,WAAW,CAAC,cAAc;QAChC,IAAI;QACJ,SAAS,EAAE,YAAY,EAAE;KAC5B,CAAC;AACN,CAAC;AAkBD,MAAM,UAAU,WAAW,CAAC,IAAyB;IACjD,OAAO;QACH,IAAI,EAAE,WAAW,CAAC,WAAW;QAC7B,IAAI;QACJ,SAAS,EAAE,YAAY,EAAE;QACzB,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;KAC3B,CAAC;AACN,CAAC;AAgDD,SAAS,gBAAgB;IACrB,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,YAAY;IACjB,OAAO,gBAAgB,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,eAAe;IACpB,OAAO,gBAAgB,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAA2B;IACrD,OAAO;QACH,IAAI;QACJ,SAAS,EAAE,eAAe,EAAE;QAC5B,SAAS,EAAE,YAAY,EAAE;QACzB,IAAI,EAAE,WAAW,CAAC,aAAa;KAClC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAyB;IACjD,OAAO;QACH,IAAI;QACJ,SAAS,EAAE,YAAY,EAAE;QACzB,IAAI,EAAE,WAAW,CAAC,WAAW;QAC7B,QAAQ,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;KAC/D,CAAC;AACN,CAAC"}
@@ -1,2 +1,4 @@
1
+ import { type RequestResponse } from './actions.js';
1
2
  export * as default from './actions.js';
3
+ export declare function successOrFail<T>(pendingResponse: RequestResponse<T> | Promise<RequestResponse<T>>): Promise<import("./actions.js").IRequestResponseSuccess<T>>;
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,wBAAsB,aAAa,CAAC,CAAC,EACjC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,8DASpE"}
package/actions/index.js CHANGED
@@ -1,2 +1,9 @@
1
1
  export * as default from './actions.js';
2
+ export async function successOrFail(pendingResponse) {
3
+ const response = await Promise.resolve(pendingResponse);
4
+ if ('failures' in response) {
5
+ throw new Error(`Request ${response.requestId} failed: ${response.failures?.join(', ')}`);
6
+ }
7
+ return response;
8
+ }
2
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../actions/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,eAAiE;IAEjE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACxD,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACX,WAAW,QAAQ,CAAC,SAAS,YAAY,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3E,CAAC;IACN,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "opus-codec-worker",
3
3
  "license": "MIT",
4
- "version": "1.0.7",
4
+ "version": "1.0.9",
5
5
  "repository": {
6
6
  "type": "git",
7
- "url": "git+https://github.com/VictorQueiroz/js-opus-codec"
7
+ "url": "git+https://github.com/VictorQueiroz/js-opus-codec.git"
8
8
  },
9
9
  "files": [
10
10
  "**/*.{js,d.ts,map}"