metadata-detector-worker 4.0.84 → 5.0.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.
Files changed (72) hide show
  1. package/LICENSE +1 -1
  2. package/build/es2019/helpers/concat.d.ts.map +1 -1
  3. package/build/es2019/helpers/concat.js +7 -9
  4. package/build/es2019/helpers/concat.js.map +1 -1
  5. package/build/es2019/interfaces/index.d.ts +1 -7
  6. package/build/es2019/interfaces/index.d.ts.map +1 -1
  7. package/build/es2019/interfaces/index.js +1 -7
  8. package/build/es2019/interfaces/index.js.map +1 -1
  9. package/build/es2019/interfaces/metadata-detector-worker-custom-definition.d.ts +21 -0
  10. package/build/es2019/interfaces/metadata-detector-worker-custom-definition.d.ts.map +1 -0
  11. package/build/es2019/interfaces/metadata-detector-worker-custom-definition.js +2 -0
  12. package/build/es2019/interfaces/metadata-detector-worker-custom-definition.js.map +1 -0
  13. package/build/es2019/module.d.ts +0 -1
  14. package/build/es2019/module.d.ts.map +1 -1
  15. package/build/es2019/module.js +8 -30
  16. package/build/es2019/module.js.map +1 -1
  17. package/build/es5/bundle.js +18 -38
  18. package/package.json +19 -18
  19. package/src/helpers/concat.ts +2 -3
  20. package/src/interfaces/index.ts +1 -7
  21. package/src/interfaces/metadata-detector-worker-custom-definition.ts +25 -0
  22. package/src/module.ts +9 -41
  23. package/build/es2019/interfaces/broker-event.d.ts +0 -5
  24. package/build/es2019/interfaces/broker-event.d.ts.map +0 -1
  25. package/build/es2019/interfaces/broker-event.js +0 -2
  26. package/build/es2019/interfaces/broker-event.js.map +0 -1
  27. package/build/es2019/interfaces/error-response.d.ts +0 -8
  28. package/build/es2019/interfaces/error-response.d.ts.map +0 -1
  29. package/build/es2019/interfaces/error-response.js +0 -2
  30. package/build/es2019/interfaces/error-response.js.map +0 -1
  31. package/build/es2019/interfaces/locate-request.d.ts +0 -8
  32. package/build/es2019/interfaces/locate-request.d.ts.map +0 -1
  33. package/build/es2019/interfaces/locate-request.js +0 -2
  34. package/build/es2019/interfaces/locate-request.js.map +0 -1
  35. package/build/es2019/interfaces/locate-response.d.ts +0 -8
  36. package/build/es2019/interfaces/locate-response.d.ts.map +0 -1
  37. package/build/es2019/interfaces/locate-response.js +0 -2
  38. package/build/es2019/interfaces/locate-response.js.map +0 -1
  39. package/build/es2019/interfaces/strip-request.d.ts +0 -8
  40. package/build/es2019/interfaces/strip-request.d.ts.map +0 -1
  41. package/build/es2019/interfaces/strip-request.js +0 -2
  42. package/build/es2019/interfaces/strip-request.js.map +0 -1
  43. package/build/es2019/interfaces/strip-response.d.ts +0 -8
  44. package/build/es2019/interfaces/strip-response.d.ts.map +0 -1
  45. package/build/es2019/interfaces/strip-response.js +0 -2
  46. package/build/es2019/interfaces/strip-response.js.map +0 -1
  47. package/build/es2019/interfaces/worker-event.d.ts +0 -5
  48. package/build/es2019/interfaces/worker-event.d.ts.map +0 -1
  49. package/build/es2019/interfaces/worker-event.js +0 -2
  50. package/build/es2019/interfaces/worker-event.js.map +0 -1
  51. package/build/es2019/types/broker-message.d.ts +0 -3
  52. package/build/es2019/types/broker-message.d.ts.map +0 -1
  53. package/build/es2019/types/broker-message.js +0 -2
  54. package/build/es2019/types/broker-message.js.map +0 -1
  55. package/build/es2019/types/index.d.ts +0 -3
  56. package/build/es2019/types/index.d.ts.map +0 -1
  57. package/build/es2019/types/index.js +0 -3
  58. package/build/es2019/types/index.js.map +0 -1
  59. package/build/es2019/types/worker-message.d.ts +0 -3
  60. package/build/es2019/types/worker-message.d.ts.map +0 -1
  61. package/build/es2019/types/worker-message.js +0 -2
  62. package/build/es2019/types/worker-message.js.map +0 -1
  63. package/src/interfaces/broker-event.ts +0 -5
  64. package/src/interfaces/error-response.ts +0 -9
  65. package/src/interfaces/locate-request.ts +0 -9
  66. package/src/interfaces/locate-response.ts +0 -9
  67. package/src/interfaces/strip-request.ts +0 -9
  68. package/src/interfaces/strip-response.ts +0 -9
  69. package/src/interfaces/worker-event.ts +0 -5
  70. package/src/types/broker-message.ts +0 -3
  71. package/src/types/index.ts +0 -2
  72. package/src/types/worker-message.ts +0 -3
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 Christoph Guttandin
3
+ Copyright (c) 2025 Christoph Guttandin
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1 +1 @@
1
- {"version":3,"file":"concat.d.ts","sourceRoot":"","sources":["../../../src/helpers/concat.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,oBAAqB,WAAW,EAAE,KACzC,WAWX,CAAC"}
1
+ {"version":3,"file":"concat.d.ts","sourceRoot":"","sources":["../../../src/helpers/concat.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,oBAAqB,WAAW,EAAE,gBAWnC,CAAC"}
@@ -1,10 +1,8 @@
1
- export const concat = (...arrayBuffers) => {
2
- return arrayBuffers.reduce(({ array, offset }, arrayBuffer) => {
3
- array.set(new Uint8Array(arrayBuffer), offset);
4
- return { array, offset: offset + arrayBuffer.byteLength };
5
- }, {
6
- array: new Uint8Array(arrayBuffers.reduce((byteLength, arrayBuffer) => byteLength + arrayBuffer.byteLength, 0)),
7
- offset: 0
8
- }).array.buffer;
9
- };
1
+ export const concat = (...arrayBuffers) => arrayBuffers.reduce(({ array, offset }, arrayBuffer) => {
2
+ array.set(new Uint8Array(arrayBuffer), offset);
3
+ return { array, offset: offset + arrayBuffer.byteLength };
4
+ }, {
5
+ array: new Uint8Array(arrayBuffers.reduce((byteLength, arrayBuffer) => byteLength + arrayBuffer.byteLength, 0)),
6
+ offset: 0
7
+ }).array.buffer;
10
8
  //# sourceMappingURL=concat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"concat.js","sourceRoot":"","sources":["../../../src/helpers/concat.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAG,YAA2B,EAAE,EAAE;IACrD,OAAoB,YAAY,CAAC,MAAM,CACnC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE;QAC/B,KAAK,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;QAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;IAC9D,CAAC,EACD;QACI,KAAK,EAAE,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC/G,MAAM,EAAE,CAAC;KACZ,CACJ,CAAC,KAAK,CAAC,MAAM,CAAC;AACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"concat.js","sourceRoot":"","sources":["../../../src/helpers/concat.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAG,YAA2B,EAAE,EAAE,CACrD,YAAY,CAAC,MAAM,CACf,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE;IAC/B,KAAK,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;IAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;AAC9D,CAAC,EACD;IACI,KAAK,EAAE,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC/G,MAAM,EAAE,CAAC;CACZ,CACJ,CAAC,KAAK,CAAC,MAAM,CAAC"}
@@ -1,8 +1,2 @@
1
- export * from './broker-event';
2
- export * from './error-response';
3
- export * from './locate-request';
4
- export * from './locate-response';
5
- export * from './strip-request';
6
- export * from './strip-response';
7
- export * from './worker-event';
1
+ export * from './metadata-detector-worker-custom-definition';
8
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC"}
@@ -1,8 +1,2 @@
1
- export * from './broker-event';
2
- export * from './error-response';
3
- export * from './locate-request';
4
- export * from './locate-response';
5
- export * from './strip-request';
6
- export * from './strip-response';
7
- export * from './worker-event';
1
+ export * from './metadata-detector-worker-custom-definition';
8
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { IWorkerDefinition } from 'worker-factory';
2
+ export interface IMetadataDetectorWorkerCustomDefinition extends IWorkerDefinition {
3
+ locate: {
4
+ params: {
5
+ arrayBuffer: ArrayBuffer;
6
+ };
7
+ response: {
8
+ result: [number, number][];
9
+ };
10
+ };
11
+ strip: {
12
+ params: {
13
+ arrayBuffer: ArrayBuffer;
14
+ };
15
+ response: {
16
+ result: ArrayBuffer;
17
+ transferables: ArrayBuffer[];
18
+ };
19
+ };
20
+ }
21
+ //# sourceMappingURL=metadata-detector-worker-custom-definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-detector-worker-custom-definition.d.ts","sourceRoot":"","sources":["../../../src/interfaces/metadata-detector-worker-custom-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,uCAAwC,SAAQ,iBAAiB;IAC9E,MAAM,EAAE;QACJ,MAAM,EAAE;YACJ,WAAW,EAAE,WAAW,CAAC;SAC5B,CAAC;QAEF,QAAQ,EAAE;YACN,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;SAC9B,CAAC;KACL,CAAC;IAEF,KAAK,EAAE;QACH,MAAM,EAAE;YACJ,WAAW,EAAE,WAAW,CAAC;SAC5B,CAAC;QAEF,QAAQ,EAAE;YACN,MAAM,EAAE,WAAW,CAAC;YAEpB,aAAa,EAAE,WAAW,EAAE,CAAC;SAChC,CAAC;KACL,CAAC;CACL"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=metadata-detector-worker-custom-definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-detector-worker-custom-definition.js","sourceRoot":"","sources":["../../../src/interfaces/metadata-detector-worker-custom-definition.ts"],"names":[],"mappings":""}
@@ -1,3 +1,2 @@
1
1
  export * from './interfaces/index';
2
- export * from './types/index';
3
2
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAQA,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AASA,cAAc,oBAAoB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { createWorker } from 'worker-factory';
1
2
  import { locate } from './helpers/locate';
2
3
  import { strip } from './helpers/strip';
3
4
  /*
@@ -5,36 +6,13 @@ import { strip } from './helpers/strip';
5
6
  * isolatedModules compiler option.
6
7
  */
7
8
  export * from './interfaces/index';
8
- export * from './types/index';
9
- addEventListener('message', ({ data }) => {
10
- try {
11
- if (data.method === 'locate') {
12
- const { id, params: { arrayBuffer } } = data;
13
- const locations = locate(arrayBuffer);
14
- postMessage({
15
- error: null,
16
- id,
17
- result: { locations }
18
- });
19
- }
20
- else if (data.method === 'strip') {
21
- const { id, params: { arrayBuffer } } = data;
22
- const strippedArrayBuffer = strip(arrayBuffer);
23
- postMessage({
24
- error: null,
25
- id,
26
- result: { arrayBuffer: strippedArrayBuffer }
27
- }, [strippedArrayBuffer]);
28
- }
29
- }
30
- catch (err) {
31
- postMessage({
32
- error: {
33
- message: err.message
34
- },
35
- id: data.id,
36
- result: null
37
- });
9
+ createWorker(self, {
10
+ locate: ({ arrayBuffer }) => {
11
+ return { result: locate(arrayBuffer) };
12
+ },
13
+ strip: ({ arrayBuffer }) => {
14
+ const strippedArrayBuffer = strip(arrayBuffer);
15
+ return { result: strippedArrayBuffer, transferables: [strippedArrayBuffer] };
38
16
  }
39
17
  });
40
18
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC;;;GAGG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAE9B,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAgB,EAAE,EAAE;IACnD,IAAI,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,EACF,EAAE,EACF,MAAM,EAAE,EAAE,WAAW,EAAE,EAC1B,GAAG,IAAI,CAAC;YAET,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YAEtC,WAAW,CAAkB;gBACzB,KAAK,EAAE,IAAI;gBACX,EAAE;gBACF,MAAM,EAAE,EAAE,SAAS,EAAE;aACxB,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,EACF,EAAE,EACF,MAAM,EAAE,EAAE,WAAW,EAAE,EAC1B,GAAG,IAAI,CAAC;YAET,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YAE/C,WAAW,CACS;gBACZ,KAAK,EAAE,IAAI;gBACX,EAAE;gBACF,MAAM,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE;aAC/C,EACD,CAAC,mBAAmB,CAAC,CACxB,CAAC;QACN,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,WAAW,CAAiB;YACxB,KAAK,EAAE;gBACH,OAAO,EAAE,GAAG,CAAC,OAAO;aACvB;YACD,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC;;;GAGG;AACH,cAAc,oBAAoB,CAAC;AAEnC,YAAY,CAA0C,IAAI,EAAkE;IACxH,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;QACxB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;IAC3C,CAAC;IACD,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;QACvB,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QAE/C,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACjF,CAAC;CACJ,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('synchsafe'), require('@babel/runtime/helpers/slicedToArray')) :
3
- typeof define === 'function' && define.amd ? define(['synchsafe', '@babel/runtime/helpers/slicedToArray'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.synchsafe, global._slicedToArray));
5
- })(this, (function (synchsafe, _slicedToArray) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('worker-factory'), require('synchsafe'), require('@babel/runtime/helpers/slicedToArray')) :
3
+ typeof define === 'function' && define.amd ? define(['worker-factory', 'synchsafe', '@babel/runtime/helpers/slicedToArray'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.workerFactory, global.synchsafe, global._slicedToArray));
5
+ })(this, (function (workerFactory, synchsafe, _slicedToArray) { 'use strict';
6
6
 
7
7
  var textDecoder = null;
8
8
  var decode = function decode(dataView) {
@@ -127,40 +127,20 @@
127
127
  return strippedArrayBuffer;
128
128
  };
129
129
 
130
- addEventListener('message', function (_ref) {
131
- var data = _ref.data;
132
- try {
133
- if (data.method === 'locate') {
134
- var id = data.id,
135
- arrayBuffer = data.params.arrayBuffer;
136
- var locations = locate(arrayBuffer);
137
- postMessage({
138
- error: null,
139
- id: id,
140
- result: {
141
- locations: locations
142
- }
143
- });
144
- } else if (data.method === 'strip') {
145
- var _id = data.id,
146
- _arrayBuffer = data.params.arrayBuffer;
147
- var strippedArrayBuffer = strip(_arrayBuffer);
148
- postMessage({
149
- error: null,
150
- id: _id,
151
- result: {
152
- arrayBuffer: strippedArrayBuffer
153
- }
154
- }, [strippedArrayBuffer]);
155
- }
156
- } catch (err) {
157
- postMessage({
158
- error: {
159
- message: err.message
160
- },
161
- id: data.id,
162
- result: null
163
- });
130
+ workerFactory.createWorker(self, {
131
+ locate: function locate$1(_ref) {
132
+ var arrayBuffer = _ref.arrayBuffer;
133
+ return {
134
+ result: locate(arrayBuffer)
135
+ };
136
+ },
137
+ strip: function strip$1(_ref2) {
138
+ var arrayBuffer = _ref2.arrayBuffer;
139
+ var strippedArrayBuffer = strip(arrayBuffer);
140
+ return {
141
+ result: strippedArrayBuffer,
142
+ transferables: [strippedArrayBuffer]
143
+ };
164
144
  }
165
145
  });
166
146
 
package/package.json CHANGED
@@ -9,28 +9,29 @@
9
9
  }
10
10
  },
11
11
  "dependencies": {
12
- "@babel/runtime": "^7.26.0",
13
- "synchsafe": "^9.0.12",
14
- "tslib": "^2.8.1"
12
+ "@babel/runtime": "^7.26.7",
13
+ "synchsafe": "^9.0.13",
14
+ "tslib": "^2.8.1",
15
+ "worker-factory": "^7.0.36"
15
16
  },
16
17
  "description": "The worker which is used by the metadata-detector package.",
17
18
  "devDependencies": {
18
- "@babel/core": "^7.26.0",
19
+ "@babel/core": "^7.26.7",
19
20
  "@babel/plugin-external-helpers": "^7.25.9",
20
21
  "@babel/plugin-transform-runtime": "^7.25.9",
21
- "@babel/preset-env": "^7.26.0",
22
- "@commitlint/cli": "^19.5.0",
23
- "@commitlint/config-angular": "^19.5.0",
22
+ "@babel/preset-env": "^7.26.7",
23
+ "@commitlint/cli": "^19.7.1",
24
+ "@commitlint/config-angular": "^19.7.1",
24
25
  "@rollup/plugin-babel": "^6.0.4",
25
26
  "chai": "^4.3.10",
26
27
  "commitizen": "^4.3.1",
27
28
  "cz-conventional-changelog": "^3.3.0",
28
29
  "eslint": "^8.57.0",
29
- "eslint-config-holy-grail": "^60.0.12",
30
+ "eslint-config-holy-grail": "^60.0.18",
30
31
  "grunt": "^1.6.1",
31
32
  "grunt-cli": "^1.5.0",
32
33
  "grunt-sh": "^0.2.1",
33
- "husky": "^9.1.6",
34
+ "husky": "^9.1.7",
34
35
  "karma": "^6.4.4",
35
36
  "karma-browserstack-launcher": "^1.6.0",
36
37
  "karma-chrome-launcher": "^3.2.0",
@@ -41,21 +42,21 @@
41
42
  "karma-sinon-chai": "^2.0.2",
42
43
  "karma-webkit-launcher": "^2.6.0",
43
44
  "karma-webpack": "^5.0.1",
44
- "lint-staged": "^15.2.10",
45
+ "lint-staged": "^15.4.3",
45
46
  "load-grunt-config": "^4.0.1",
46
47
  "memory-fs": "^0.5.0",
47
48
  "mocha": "^10.8.2",
48
- "prettier": "^3.3.3",
49
+ "prettier": "^3.4.2",
49
50
  "rimraf": "^6.0.1",
50
- "rollup": "^4.24.3",
51
+ "rollup": "^4.34.4",
51
52
  "sinon": "^17.0.2",
52
53
  "sinon-chai": "^3.7.0",
53
- "ts-loader": "^9.5.1",
54
- "tsconfig-holy-grail": "^15.0.1",
54
+ "ts-loader": "^9.5.2",
55
+ "tsconfig-holy-grail": "^15.0.2",
55
56
  "tslint": "^6.1.3",
56
- "tslint-config-holy-grail": "^56.0.5",
57
- "typescript": "^5.6.3",
58
- "webpack": "^5.96.1"
57
+ "tslint-config-holy-grail": "^56.0.6",
58
+ "typescript": "^5.7.3",
59
+ "webpack": "^5.97.1"
59
60
  },
60
61
  "files": [
61
62
  "build/es2019/",
@@ -82,5 +83,5 @@
82
83
  "test": "grunt lint && grunt test"
83
84
  },
84
85
  "types": "build/es2019/module.d.ts",
85
- "version": "4.0.84"
86
+ "version": "5.0.0"
86
87
  }
@@ -1,5 +1,5 @@
1
- export const concat = (...arrayBuffers: ArrayBuffer[]) => {
2
- return <ArrayBuffer>arrayBuffers.reduce(
1
+ export const concat = (...arrayBuffers: ArrayBuffer[]) =>
2
+ arrayBuffers.reduce(
3
3
  ({ array, offset }, arrayBuffer) => {
4
4
  array.set(new Uint8Array(arrayBuffer), offset);
5
5
 
@@ -10,4 +10,3 @@ export const concat = (...arrayBuffers: ArrayBuffer[]) => {
10
10
  offset: 0
11
11
  }
12
12
  ).array.buffer;
13
- };
@@ -1,7 +1 @@
1
- export * from './broker-event';
2
- export * from './error-response';
3
- export * from './locate-request';
4
- export * from './locate-response';
5
- export * from './strip-request';
6
- export * from './strip-response';
7
- export * from './worker-event';
1
+ export * from './metadata-detector-worker-custom-definition';
@@ -0,0 +1,25 @@
1
+ import { IWorkerDefinition } from 'worker-factory';
2
+
3
+ export interface IMetadataDetectorWorkerCustomDefinition extends IWorkerDefinition {
4
+ locate: {
5
+ params: {
6
+ arrayBuffer: ArrayBuffer;
7
+ };
8
+
9
+ response: {
10
+ result: [number, number][];
11
+ };
12
+ };
13
+
14
+ strip: {
15
+ params: {
16
+ arrayBuffer: ArrayBuffer;
17
+ };
18
+
19
+ response: {
20
+ result: ArrayBuffer;
21
+
22
+ transferables: ArrayBuffer[];
23
+ };
24
+ };
25
+ }
package/src/module.ts CHANGED
@@ -1,53 +1,21 @@
1
+ import { TWorkerImplementation, createWorker } from 'worker-factory';
1
2
  import { locate } from './helpers/locate';
2
3
  import { strip } from './helpers/strip';
3
- import { IBrokerEvent, IErrorResponse, ILocateResponse, IStripResponse } from './interfaces';
4
+ import { IMetadataDetectorWorkerCustomDefinition } from './interfaces';
4
5
 
5
6
  /*
6
7
  * @todo Explicitly referencing the barrel file seems to be necessary when enabling the
7
8
  * isolatedModules compiler option.
8
9
  */
9
10
  export * from './interfaces/index';
10
- export * from './types/index';
11
11
 
12
- addEventListener('message', ({ data }: IBrokerEvent) => {
13
- try {
14
- if (data.method === 'locate') {
15
- const {
16
- id,
17
- params: { arrayBuffer }
18
- } = data;
12
+ createWorker<IMetadataDetectorWorkerCustomDefinition>(self, <TWorkerImplementation<IMetadataDetectorWorkerCustomDefinition>>{
13
+ locate: ({ arrayBuffer }) => {
14
+ return { result: locate(arrayBuffer) };
15
+ },
16
+ strip: ({ arrayBuffer }) => {
17
+ const strippedArrayBuffer = strip(arrayBuffer);
19
18
 
20
- const locations = locate(arrayBuffer);
21
-
22
- postMessage(<ILocateResponse>{
23
- error: null,
24
- id,
25
- result: { locations }
26
- });
27
- } else if (data.method === 'strip') {
28
- const {
29
- id,
30
- params: { arrayBuffer }
31
- } = data;
32
-
33
- const strippedArrayBuffer = strip(arrayBuffer);
34
-
35
- postMessage(
36
- <IStripResponse>{
37
- error: null,
38
- id,
39
- result: { arrayBuffer: strippedArrayBuffer }
40
- },
41
- [strippedArrayBuffer]
42
- );
43
- }
44
- } catch (err) {
45
- postMessage(<IErrorResponse>{
46
- error: {
47
- message: err.message
48
- },
49
- id: data.id,
50
- result: null
51
- });
19
+ return { result: strippedArrayBuffer, transferables: [strippedArrayBuffer] };
52
20
  }
53
21
  });
@@ -1,5 +0,0 @@
1
- import { TBrokerMessage } from '../types';
2
- export interface IBrokerEvent extends Event {
3
- data: TBrokerMessage;
4
- }
5
- //# sourceMappingURL=broker-event.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broker-event.d.ts","sourceRoot":"","sources":["../../../src/interfaces/broker-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,WAAW,YAAa,SAAQ,KAAK;IACvC,IAAI,EAAE,cAAc,CAAC;CACxB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=broker-event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broker-event.js","sourceRoot":"","sources":["../../../src/interfaces/broker-event.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- export interface IErrorResponse {
2
- error: {
3
- message: string;
4
- };
5
- id: number;
6
- result: null;
7
- }
8
- //# sourceMappingURL=error-response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-response.d.ts","sourceRoot":"","sources":["../../../src/interfaces/error-response.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE;QACH,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,EAAE,EAAE,MAAM,CAAC;IAEX,MAAM,EAAE,IAAI,CAAC;CAChB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=error-response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-response.js","sourceRoot":"","sources":["../../../src/interfaces/error-response.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- export interface ILocateRequest {
2
- id: number;
3
- method: 'locate';
4
- params: {
5
- arrayBuffer: ArrayBuffer;
6
- };
7
- }
8
- //# sourceMappingURL=locate-request.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locate-request.d.ts","sourceRoot":"","sources":["../../../src/interfaces/locate-request.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IAEX,MAAM,EAAE,QAAQ,CAAC;IAEjB,MAAM,EAAE;QACJ,WAAW,EAAE,WAAW,CAAC;KAC5B,CAAC;CACL"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=locate-request.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locate-request.js","sourceRoot":"","sources":["../../../src/interfaces/locate-request.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- export interface ILocateResponse {
2
- error: null;
3
- id: number;
4
- result: {
5
- locations: [number, number][];
6
- };
7
- }
8
- //# sourceMappingURL=locate-response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locate-response.d.ts","sourceRoot":"","sources":["../../../src/interfaces/locate-response.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,IAAI,CAAC;IAEZ,EAAE,EAAE,MAAM,CAAC;IAEX,MAAM,EAAE;QACJ,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;KACjC,CAAC;CACL"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=locate-response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locate-response.js","sourceRoot":"","sources":["../../../src/interfaces/locate-response.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- export interface IStripRequest {
2
- id: number;
3
- method: 'strip';
4
- params: {
5
- arrayBuffer: ArrayBuffer;
6
- };
7
- }
8
- //# sourceMappingURL=strip-request.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"strip-request.d.ts","sourceRoot":"","sources":["../../../src/interfaces/strip-request.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IAEX,MAAM,EAAE,OAAO,CAAC;IAEhB,MAAM,EAAE;QACJ,WAAW,EAAE,WAAW,CAAC;KAC5B,CAAC;CACL"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=strip-request.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"strip-request.js","sourceRoot":"","sources":["../../../src/interfaces/strip-request.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- export interface IStripResponse {
2
- error: null;
3
- id: number;
4
- result: {
5
- arrayBuffer: ArrayBuffer;
6
- };
7
- }
8
- //# sourceMappingURL=strip-response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"strip-response.d.ts","sourceRoot":"","sources":["../../../src/interfaces/strip-response.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,IAAI,CAAC;IAEZ,EAAE,EAAE,MAAM,CAAC;IAEX,MAAM,EAAE;QACJ,WAAW,EAAE,WAAW,CAAC;KAC5B,CAAC;CACL"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=strip-response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"strip-response.js","sourceRoot":"","sources":["../../../src/interfaces/strip-response.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import { TWorkerMessage } from '../types';
2
- export interface IWorkerEvent extends Event {
3
- data: TWorkerMessage;
4
- }
5
- //# sourceMappingURL=worker-event.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-event.d.ts","sourceRoot":"","sources":["../../../src/interfaces/worker-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,WAAW,YAAa,SAAQ,KAAK;IACvC,IAAI,EAAE,cAAc,CAAC;CACxB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=worker-event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-event.js","sourceRoot":"","sources":["../../../src/interfaces/worker-event.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import { ILocateRequest, IStripRequest } from '../interfaces';
2
- export type TBrokerMessage = ILocateRequest | IStripRequest;
3
- //# sourceMappingURL=broker-message.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broker-message.d.ts","sourceRoot":"","sources":["../../../src/types/broker-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,aAAa,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=broker-message.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broker-message.js","sourceRoot":"","sources":["../../../src/types/broker-message.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- export * from './broker-message';
2
- export * from './worker-message';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './broker-message';
2
- export * from './worker-message';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
@@ -1,3 +0,0 @@
1
- import { IErrorResponse, ILocateResponse, IStripResponse } from '../interfaces';
2
- export type TWorkerMessage = IErrorResponse | ILocateResponse | IStripResponse;
3
- //# sourceMappingURL=worker-message.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-message.d.ts","sourceRoot":"","sources":["../../../src/types/worker-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEhF,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,eAAe,GAAG,cAAc,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=worker-message.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-message.js","sourceRoot":"","sources":["../../../src/types/worker-message.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import { TBrokerMessage } from '../types';
2
-
3
- export interface IBrokerEvent extends Event {
4
- data: TBrokerMessage;
5
- }
@@ -1,9 +0,0 @@
1
- export interface IErrorResponse {
2
- error: {
3
- message: string;
4
- };
5
-
6
- id: number;
7
-
8
- result: null;
9
- }
@@ -1,9 +0,0 @@
1
- export interface ILocateRequest {
2
- id: number;
3
-
4
- method: 'locate';
5
-
6
- params: {
7
- arrayBuffer: ArrayBuffer;
8
- };
9
- }
@@ -1,9 +0,0 @@
1
- export interface ILocateResponse {
2
- error: null;
3
-
4
- id: number;
5
-
6
- result: {
7
- locations: [number, number][];
8
- };
9
- }
@@ -1,9 +0,0 @@
1
- export interface IStripRequest {
2
- id: number;
3
-
4
- method: 'strip';
5
-
6
- params: {
7
- arrayBuffer: ArrayBuffer;
8
- };
9
- }
@@ -1,9 +0,0 @@
1
- export interface IStripResponse {
2
- error: null;
3
-
4
- id: number;
5
-
6
- result: {
7
- arrayBuffer: ArrayBuffer;
8
- };
9
- }
@@ -1,5 +0,0 @@
1
- import { TWorkerMessage } from '../types';
2
-
3
- export interface IWorkerEvent extends Event {
4
- data: TWorkerMessage;
5
- }
@@ -1,3 +0,0 @@
1
- import { ILocateRequest, IStripRequest } from '../interfaces';
2
-
3
- export type TBrokerMessage = ILocateRequest | IStripRequest;
@@ -1,2 +0,0 @@
1
- export * from './broker-message';
2
- export * from './worker-message';
@@ -1,3 +0,0 @@
1
- import { IErrorResponse, ILocateResponse, IStripResponse } from '../interfaces';
2
-
3
- export type TWorkerMessage = IErrorResponse | ILocateResponse | IStripResponse;