metadata-detector-broker 3.0.85 → 3.0.87
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.
- package/build/es2019/interfaces/index.d.ts +2 -0
- package/build/es2019/interfaces/index.d.ts.map +1 -0
- package/build/es2019/interfaces/index.js +2 -0
- package/build/es2019/interfaces/index.js.map +1 -0
- package/build/es2019/interfaces/metadata-detector-broker-definition.d.ts +6 -0
- package/build/es2019/interfaces/metadata-detector-broker-definition.d.ts.map +1 -0
- package/build/es2019/interfaces/metadata-detector-broker-definition.js +2 -0
- package/build/es2019/interfaces/metadata-detector-broker-definition.js.map +1 -0
- package/build/es2019/module.d.ts +5 -4
- package/build/es2019/module.d.ts.map +1 -1
- package/build/es2019/module.js +16 -44
- package/build/es2019/module.js.map +1 -1
- package/build/es2019/types/index.d.ts +3 -0
- package/build/es2019/types/index.d.ts.map +1 -0
- package/build/es2019/types/index.js +3 -0
- package/build/es2019/types/index.js.map +1 -0
- package/build/es2019/types/metadata-detector-broker-loader.d.ts +4 -0
- package/build/es2019/types/metadata-detector-broker-loader.d.ts.map +1 -0
- package/build/es2019/types/metadata-detector-broker-loader.js +2 -0
- package/build/es2019/types/metadata-detector-broker-loader.js.map +1 -0
- package/build/es2019/types/metadata-detector-broker-wrapper.d.ts +4 -0
- package/build/es2019/types/metadata-detector-broker-wrapper.d.ts.map +1 -0
- package/build/es2019/types/metadata-detector-broker-wrapper.js +2 -0
- package/build/es2019/types/metadata-detector-broker-wrapper.js.map +1 -0
- package/build/es5/bundle.js +24 -59
- package/package.json +16 -16
- package/src/interfaces/index.ts +1 -0
- package/src/interfaces/metadata-detector-broker-definition.ts +7 -0
- package/src/module.ts +23 -58
- package/src/types/index.ts +2 -0
- package/src/types/metadata-detector-broker-loader.ts +4 -0
- package/src/types/metadata-detector-broker-wrapper.ts +4 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IBrokerDefinition } from 'broker-factory';
|
|
2
|
+
export interface IMetadataDetectorBrokerDefinition extends IBrokerDefinition {
|
|
3
|
+
locate(arrayBuffer: ArrayBuffer): Promise<[number, number][]>;
|
|
4
|
+
strip(arrayBuffer: ArrayBuffer): Promise<ArrayBuffer>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=metadata-detector-broker-definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-detector-broker-definition.d.ts","sourceRoot":"","sources":["../../../src/interfaces/metadata-detector-broker-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,iCAAkC,SAAQ,iBAAiB;IACxE,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAE9D,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACzD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-detector-broker-definition.js","sourceRoot":"","sources":["../../../src/interfaces/metadata-detector-broker-definition.ts"],"names":[],"mappings":""}
|
package/build/es2019/module.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { TMetadataDetectorBrokerLoader, TMetadataDetectorBrokerWrapper } from './types';
|
|
2
|
+
export * from './interfaces/index';
|
|
3
|
+
export * from './types/index';
|
|
4
|
+
export declare const wrap: TMetadataDetectorBrokerWrapper;
|
|
5
|
+
export declare const load: TMetadataDetectorBrokerLoader;
|
|
5
6
|
//# sourceMappingURL=module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAMxF,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAE9B,eAAO,MAAM,IAAI,EAAE,8BAOjB,CAAC;AAEH,eAAO,MAAM,IAAI,EAAE,6BAIlB,CAAC"}
|
package/build/es2019/module.js
CHANGED
|
@@ -1,48 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createBroker } from 'broker-factory';
|
|
2
|
+
/*
|
|
3
|
+
* @todo Explicitly referencing the barrel file seems to be necessary when enabling the
|
|
4
|
+
* isolatedModules compiler option.
|
|
5
|
+
*/
|
|
6
|
+
export * from './interfaces/index';
|
|
7
|
+
export * from './types/index';
|
|
8
|
+
export const wrap = createBroker({
|
|
9
|
+
locate: ({ call }) => {
|
|
10
|
+
return (arrayBuffer) => call('locate', { arrayBuffer }, [arrayBuffer]);
|
|
11
|
+
},
|
|
12
|
+
strip: ({ call }) => {
|
|
13
|
+
return (arrayBuffer) => call('strip', { arrayBuffer }, [arrayBuffer]);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
2
16
|
export const load = (url) => {
|
|
3
17
|
const worker = new Worker(url);
|
|
4
|
-
|
|
5
|
-
const locate = (arrayBuffer) => {
|
|
6
|
-
return new Promise((resolve, reject) => {
|
|
7
|
-
const id = addUniqueNumber(ongoingRecordingRequests);
|
|
8
|
-
const onMessage = ({ data }) => {
|
|
9
|
-
if (data.id === id) {
|
|
10
|
-
ongoingRecordingRequests.delete(id);
|
|
11
|
-
worker.removeEventListener('message', onMessage);
|
|
12
|
-
if (data.error === null) {
|
|
13
|
-
resolve(data.result.locations);
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
reject(new Error(data.error.message));
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
worker.addEventListener('message', onMessage);
|
|
21
|
-
worker.postMessage({ id, method: 'locate', params: { arrayBuffer } }, [arrayBuffer]);
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
const strip = (arrayBuffer) => {
|
|
25
|
-
return new Promise((resolve, reject) => {
|
|
26
|
-
const id = addUniqueNumber(ongoingRecordingRequests);
|
|
27
|
-
const onMessage = ({ data }) => {
|
|
28
|
-
if (data.id === id) {
|
|
29
|
-
ongoingRecordingRequests.delete(id);
|
|
30
|
-
worker.removeEventListener('message', onMessage);
|
|
31
|
-
if (data.error === null) {
|
|
32
|
-
resolve(data.result.arrayBuffer);
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
reject(new Error(data.error.message));
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
worker.addEventListener('message', onMessage);
|
|
40
|
-
worker.postMessage({ id, method: 'strip', params: { arrayBuffer } }, [arrayBuffer]);
|
|
41
|
-
});
|
|
42
|
-
};
|
|
43
|
-
return {
|
|
44
|
-
locate,
|
|
45
|
-
strip
|
|
46
|
-
};
|
|
18
|
+
return wrap(worker);
|
|
47
19
|
};
|
|
48
20
|
//# sourceMappingURL=module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK9C;;;GAGG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAE9B,MAAM,CAAC,MAAM,IAAI,GAAmC,YAAY,CAAuE;IACnI,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;QACjB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;QAChB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1E,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAkC,CAAC,GAAW,EAAE,EAAE;IAC/D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;IAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IDefaultBrokerDefinition } from 'broker-factory';
|
|
2
|
+
import { IMetadataDetectorBrokerDefinition } from '../interfaces';
|
|
3
|
+
export type TMetadataDetectorBrokerLoader = (url: string) => IMetadataDetectorBrokerDefinition & IDefaultBrokerDefinition;
|
|
4
|
+
//# sourceMappingURL=metadata-detector-broker-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-detector-broker-loader.d.ts","sourceRoot":"","sources":["../../../src/types/metadata-detector-broker-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AAElE,MAAM,MAAM,6BAA6B,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,iCAAiC,GAAG,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-detector-broker-loader.js","sourceRoot":"","sources":["../../../src/types/metadata-detector-broker-loader.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IDefaultBrokerDefinition } from 'broker-factory';
|
|
2
|
+
import { IMetadataDetectorBrokerDefinition } from '../interfaces';
|
|
3
|
+
export type TMetadataDetectorBrokerWrapper = (sender: MessagePort | Worker) => IMetadataDetectorBrokerDefinition & IDefaultBrokerDefinition;
|
|
4
|
+
//# sourceMappingURL=metadata-detector-broker-wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-detector-broker-wrapper.d.ts","sourceRoot":"","sources":["../../../src/types/metadata-detector-broker-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AAElE,MAAM,MAAM,8BAA8B,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,KAAK,iCAAiC,GAAG,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-detector-broker-wrapper.js","sourceRoot":"","sources":["../../../src/types/metadata-detector-broker-wrapper.ts"],"names":[],"mappings":""}
|
package/build/es5/bundle.js
CHANGED
|
@@ -1,68 +1,33 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', '
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.metadataDetectorBroker = {}, global.
|
|
5
|
-
})(this, (function (exports,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('broker-factory')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'broker-factory'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.metadataDetectorBroker = {}, global.brokerFactory));
|
|
5
|
+
})(this, (function (exports, brokerFactory) { 'use strict';
|
|
6
6
|
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var _onMessage = function onMessage(_ref) {
|
|
14
|
-
var data = _ref.data;
|
|
15
|
-
if (data.id === id) {
|
|
16
|
-
ongoingRecordingRequests["delete"](id);
|
|
17
|
-
worker.removeEventListener('message', _onMessage);
|
|
18
|
-
if (data.error === null) {
|
|
19
|
-
resolve(data.result.locations);
|
|
20
|
-
} else {
|
|
21
|
-
reject(new Error(data.error.message));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
worker.addEventListener('message', _onMessage);
|
|
26
|
-
worker.postMessage({
|
|
27
|
-
id: id,
|
|
28
|
-
method: 'locate',
|
|
29
|
-
params: {
|
|
30
|
-
arrayBuffer: arrayBuffer
|
|
31
|
-
}
|
|
7
|
+
var wrap = brokerFactory.createBroker({
|
|
8
|
+
locate: function locate(_ref) {
|
|
9
|
+
var call = _ref.call;
|
|
10
|
+
return function (arrayBuffer) {
|
|
11
|
+
return call('locate', {
|
|
12
|
+
arrayBuffer: arrayBuffer
|
|
32
13
|
}, [arrayBuffer]);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (data.id === id) {
|
|
41
|
-
ongoingRecordingRequests["delete"](id);
|
|
42
|
-
worker.removeEventListener('message', _onMessage2);
|
|
43
|
-
if (data.error === null) {
|
|
44
|
-
resolve(data.result.arrayBuffer);
|
|
45
|
-
} else {
|
|
46
|
-
reject(new Error(data.error.message));
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
worker.addEventListener('message', _onMessage2);
|
|
51
|
-
worker.postMessage({
|
|
52
|
-
id: id,
|
|
53
|
-
method: 'strip',
|
|
54
|
-
params: {
|
|
55
|
-
arrayBuffer: arrayBuffer
|
|
56
|
-
}
|
|
14
|
+
};
|
|
15
|
+
},
|
|
16
|
+
strip: function strip(_ref2) {
|
|
17
|
+
var call = _ref2.call;
|
|
18
|
+
return function (arrayBuffer) {
|
|
19
|
+
return call('strip', {
|
|
20
|
+
arrayBuffer: arrayBuffer
|
|
57
21
|
}, [arrayBuffer]);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
var load = function load(url) {
|
|
26
|
+
var worker = new Worker(url);
|
|
27
|
+
return wrap(worker);
|
|
64
28
|
};
|
|
65
29
|
|
|
66
30
|
exports.load = load;
|
|
31
|
+
exports.wrap = wrap;
|
|
67
32
|
|
|
68
33
|
}));
|
package/package.json
CHANGED
|
@@ -9,25 +9,25 @@
|
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@babel/runtime": "^7.26.
|
|
13
|
-
"
|
|
14
|
-
"metadata-detector-worker": "^
|
|
12
|
+
"@babel/runtime": "^7.26.9",
|
|
13
|
+
"broker-factory": "^3.1.2",
|
|
14
|
+
"metadata-detector-worker": "^5.0.3",
|
|
15
15
|
"tslib": "^2.8.1"
|
|
16
16
|
},
|
|
17
17
|
"description": "The broker which is used by the metadata-detector package.",
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@babel/core": "^7.26.
|
|
19
|
+
"@babel/core": "^7.26.9",
|
|
20
20
|
"@babel/plugin-external-helpers": "^7.25.9",
|
|
21
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
22
|
-
"@babel/preset-env": "^7.26.
|
|
23
|
-
"@commitlint/cli": "^19.
|
|
24
|
-
"@commitlint/config-angular": "^19.7.
|
|
21
|
+
"@babel/plugin-transform-runtime": "^7.26.9",
|
|
22
|
+
"@babel/preset-env": "^7.26.9",
|
|
23
|
+
"@commitlint/cli": "^19.7.1",
|
|
24
|
+
"@commitlint/config-angular": "^19.7.1",
|
|
25
25
|
"@rollup/plugin-babel": "^6.0.4",
|
|
26
26
|
"chai": "^4.3.10",
|
|
27
27
|
"commitizen": "^4.3.1",
|
|
28
28
|
"cz-conventional-changelog": "^3.3.0",
|
|
29
29
|
"eslint": "^8.57.0",
|
|
30
|
-
"eslint-config-holy-grail": "^60.0.
|
|
30
|
+
"eslint-config-holy-grail": "^60.0.20",
|
|
31
31
|
"grunt": "^1.6.1",
|
|
32
32
|
"grunt-cli": "^1.5.0",
|
|
33
33
|
"grunt-sh": "^0.2.1",
|
|
@@ -40,20 +40,20 @@
|
|
|
40
40
|
"karma-sinon-chai": "^2.0.2",
|
|
41
41
|
"karma-webkit-launcher": "^2.6.0",
|
|
42
42
|
"karma-webpack": "^5.0.1",
|
|
43
|
-
"lint-staged": "^15.3
|
|
43
|
+
"lint-staged": "^15.4.3",
|
|
44
44
|
"load-grunt-config": "^4.0.1",
|
|
45
45
|
"mocha": "^10.8.2",
|
|
46
|
-
"prettier": "^3.
|
|
46
|
+
"prettier": "^3.5.2",
|
|
47
47
|
"rimraf": "^6.0.1",
|
|
48
|
-
"rollup": "^4.
|
|
48
|
+
"rollup": "^4.34.8",
|
|
49
49
|
"sinon": "^17.0.2",
|
|
50
50
|
"sinon-chai": "^3.7.0",
|
|
51
|
-
"ts-loader": "^9.5.
|
|
51
|
+
"ts-loader": "^9.5.2",
|
|
52
52
|
"tsconfig-holy-grail": "^15.0.2",
|
|
53
53
|
"tslint": "^6.1.3",
|
|
54
54
|
"tslint-config-holy-grail": "^56.0.6",
|
|
55
|
-
"typescript": "^5.7.
|
|
56
|
-
"webpack": "^5.
|
|
55
|
+
"typescript": "^5.7.3",
|
|
56
|
+
"webpack": "^5.98.0"
|
|
57
57
|
},
|
|
58
58
|
"files": [
|
|
59
59
|
"build/es2019/",
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"test": "grunt lint && grunt test"
|
|
81
81
|
},
|
|
82
82
|
"types": "build/es2019/module.d.ts",
|
|
83
|
-
"version": "3.0.
|
|
83
|
+
"version": "3.0.87"
|
|
84
84
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './metadata-detector-broker-definition';
|
package/src/module.ts
CHANGED
|
@@ -1,61 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { createBroker } from 'broker-factory';
|
|
2
|
+
import { TMetadataDetectorWorkerDefinition } from 'metadata-detector-worker';
|
|
3
|
+
import { IMetadataDetectorBrokerDefinition } from './interfaces';
|
|
4
|
+
import { TMetadataDetectorBrokerLoader, TMetadataDetectorBrokerWrapper } from './types';
|
|
5
|
+
|
|
6
|
+
/*
|
|
7
|
+
* @todo Explicitly referencing the barrel file seems to be necessary when enabling the
|
|
8
|
+
* isolatedModules compiler option.
|
|
9
|
+
*/
|
|
10
|
+
export * from './interfaces/index';
|
|
11
|
+
export * from './types/index';
|
|
12
|
+
|
|
13
|
+
export const wrap: TMetadataDetectorBrokerWrapper = createBroker<IMetadataDetectorBrokerDefinition, TMetadataDetectorWorkerDefinition>({
|
|
14
|
+
locate: ({ call }) => {
|
|
15
|
+
return (arrayBuffer) => call('locate', { arrayBuffer }, [arrayBuffer]);
|
|
16
|
+
},
|
|
17
|
+
strip: ({ call }) => {
|
|
18
|
+
return (arrayBuffer) => call('strip', { arrayBuffer }, [arrayBuffer]);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export const load: TMetadataDetectorBrokerLoader = (url: string) => {
|
|
5
23
|
const worker = new Worker(url);
|
|
6
24
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const locate = (arrayBuffer: ArrayBuffer): Promise<[number, number][]> => {
|
|
10
|
-
return new Promise((resolve, reject) => {
|
|
11
|
-
const id = addUniqueNumber(ongoingRecordingRequests);
|
|
12
|
-
|
|
13
|
-
const onMessage = ({ data }: IWorkerEvent) => {
|
|
14
|
-
if (data.id === id) {
|
|
15
|
-
ongoingRecordingRequests.delete(id);
|
|
16
|
-
|
|
17
|
-
worker.removeEventListener('message', onMessage);
|
|
18
|
-
|
|
19
|
-
if (data.error === null) {
|
|
20
|
-
resolve((<ILocateResponse>data).result.locations);
|
|
21
|
-
} else {
|
|
22
|
-
reject(new Error(data.error.message));
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
worker.addEventListener('message', onMessage);
|
|
28
|
-
|
|
29
|
-
worker.postMessage(<ILocateRequest>{ id, method: 'locate', params: { arrayBuffer } }, [arrayBuffer]);
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const strip = (arrayBuffer: ArrayBuffer): Promise<ArrayBuffer> => {
|
|
34
|
-
return new Promise((resolve, reject) => {
|
|
35
|
-
const id = addUniqueNumber(ongoingRecordingRequests);
|
|
36
|
-
|
|
37
|
-
const onMessage = ({ data }: IWorkerEvent) => {
|
|
38
|
-
if (data.id === id) {
|
|
39
|
-
ongoingRecordingRequests.delete(id);
|
|
40
|
-
|
|
41
|
-
worker.removeEventListener('message', onMessage);
|
|
42
|
-
|
|
43
|
-
if (data.error === null) {
|
|
44
|
-
resolve((<IStripResponse>data).result.arrayBuffer);
|
|
45
|
-
} else {
|
|
46
|
-
reject(new Error(data.error.message));
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
worker.addEventListener('message', onMessage);
|
|
52
|
-
|
|
53
|
-
worker.postMessage(<IStripRequest>{ id, method: 'strip', params: { arrayBuffer } }, [arrayBuffer]);
|
|
54
|
-
});
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
return {
|
|
58
|
-
locate,
|
|
59
|
-
strip
|
|
60
|
-
};
|
|
25
|
+
return wrap(worker);
|
|
61
26
|
};
|