metadata-detector-worker 4.0.51 → 4.0.52
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/es5/bundle.js +7 -37
- package/package.json +13 -13
package/build/es5/bundle.js
CHANGED
|
@@ -14,70 +14,53 @@
|
|
|
14
14
|
if (textDecoder === null) {
|
|
15
15
|
textDecoder = new TextDecoder();
|
|
16
16
|
}
|
|
17
|
-
|
|
18
17
|
return textDecoder.decode(dataView);
|
|
19
|
-
}
|
|
18
|
+
}
|
|
19
|
+
// @todo Add an expectation test to check if this fallback is still necessary.
|
|
20
20
|
// String.fromCharCode() does normally expect numbers but it can also handle a typed array.
|
|
21
|
-
|
|
22
|
-
|
|
23
21
|
return String.fromCharCode.apply(null, new Uint8Array(dataView.buffer, dataView.byteOffset, dataView.byteLength));
|
|
24
22
|
};
|
|
25
23
|
|
|
26
24
|
var locate = function locate(arrayBuffer) {
|
|
27
25
|
var locations = [];
|
|
28
26
|
var dataView = new DataView(arrayBuffer, 0, 4);
|
|
29
|
-
|
|
30
27
|
if (decode(dataView) === 'fLaC') {
|
|
31
28
|
var isLast = false;
|
|
32
29
|
var length = 0;
|
|
33
30
|
var offset = 4;
|
|
34
|
-
|
|
35
31
|
while (!isLast) {
|
|
36
32
|
offset += length;
|
|
37
33
|
dataView = new DataView(arrayBuffer, offset, 4);
|
|
38
34
|
isLast = (dataView.getUint8(0) & 0x80) !== 0; // tslint:disable-line:no-bitwise
|
|
39
|
-
|
|
40
35
|
length = (dataView.getUint8(3) | dataView.getUint8(2) << 8 | dataView.getUint8(1) << 16) + 4; // tslint:disable-line:max-line-length no-bitwise
|
|
41
36
|
}
|
|
42
37
|
|
|
43
38
|
locations.push([0, offset + length]);
|
|
44
39
|
}
|
|
45
|
-
|
|
46
40
|
dataView = new DataView(arrayBuffer, 4, 4);
|
|
47
|
-
|
|
48
41
|
if (decode(dataView) === 'ftyp') {
|
|
49
42
|
var _offset = 0;
|
|
50
|
-
|
|
51
43
|
while (_offset < arrayBuffer.byteLength) {
|
|
52
44
|
dataView = new DataView(arrayBuffer, _offset, 4);
|
|
53
|
-
|
|
54
45
|
var _length = dataView.getUint32(0);
|
|
55
|
-
|
|
56
46
|
dataView = new DataView(arrayBuffer, _offset + 4, 4);
|
|
57
47
|
var atom = decode(dataView);
|
|
58
|
-
|
|
59
48
|
if (atom === 'moov' || atom === 'wide') {
|
|
60
49
|
locations.push([_offset, _offset + _length]);
|
|
61
50
|
}
|
|
62
|
-
|
|
63
51
|
_offset += _length;
|
|
64
52
|
}
|
|
65
53
|
}
|
|
66
|
-
|
|
67
54
|
dataView = new DataView(arrayBuffer, 0, 3);
|
|
68
|
-
|
|
69
55
|
if (decode(dataView) === 'ID3') {
|
|
70
56
|
dataView = new DataView(arrayBuffer, 6, 4);
|
|
71
57
|
locations.push([0, synchsafe.decode(dataView.getUint32(0)) + 10]);
|
|
72
58
|
}
|
|
73
|
-
|
|
74
59
|
dataView = new DataView(arrayBuffer, 0, 4);
|
|
75
|
-
|
|
76
60
|
if (decode(dataView) === 'OggS') {
|
|
77
61
|
var _offset2 = 0;
|
|
78
62
|
dataView = new DataView(arrayBuffer, 4, 1);
|
|
79
63
|
var streamStructureVersion = dataView.getUint8(0);
|
|
80
|
-
|
|
81
64
|
while (streamStructureVersion === 0 && _offset2 < arrayBuffer.byteLength) {
|
|
82
65
|
dataView = new DataView(arrayBuffer, _offset2 + 5, 22);
|
|
83
66
|
/* @todo Make sure the headerTypeFlag is not indicating that this is the first or last
|
|
@@ -85,36 +68,27 @@
|
|
|
85
68
|
* stripping the metadata.
|
|
86
69
|
* headerTypeFlag = dataView.getUint8(0);
|
|
87
70
|
*/
|
|
88
|
-
|
|
89
71
|
var pageSegments = dataView.getUint8(21);
|
|
90
72
|
dataView = new DataView(arrayBuffer, _offset2 + 27, pageSegments + 1);
|
|
91
73
|
var pageSize = 27 + pageSegments;
|
|
92
|
-
|
|
93
74
|
for (var i = 0; i < pageSegments; i += 1) {
|
|
94
75
|
pageSize += dataView.getUint8(i);
|
|
95
76
|
}
|
|
96
|
-
|
|
97
77
|
var firstByte = dataView.getUint8(pageSegments);
|
|
98
|
-
|
|
99
78
|
if (firstByte === 3) {
|
|
100
79
|
dataView = new DataView(arrayBuffer, _offset2 + 27 + pageSegments + 1, 6);
|
|
101
80
|
var identifier = decode(dataView);
|
|
102
|
-
|
|
103
81
|
if (identifier === 'vorbis') {
|
|
104
82
|
locations.push([_offset2, _offset2 + pageSize]);
|
|
105
83
|
}
|
|
106
84
|
}
|
|
107
|
-
|
|
108
85
|
_offset2 += pageSize;
|
|
109
86
|
}
|
|
110
87
|
}
|
|
111
|
-
|
|
112
88
|
dataView = new DataView(arrayBuffer, arrayBuffer.byteLength - 128, 3);
|
|
113
|
-
|
|
114
89
|
if (decode(dataView) === 'TAG') {
|
|
115
90
|
locations.push([arrayBuffer.byteLength - 128, arrayBuffer.byteLength]);
|
|
116
91
|
}
|
|
117
|
-
|
|
118
92
|
return locations;
|
|
119
93
|
};
|
|
120
94
|
|
|
@@ -122,10 +96,9 @@
|
|
|
122
96
|
for (var _len = arguments.length, arrayBuffers = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
123
97
|
arrayBuffers[_key] = arguments[_key];
|
|
124
98
|
}
|
|
125
|
-
|
|
126
99
|
return arrayBuffers.reduce(function (_ref, arrayBuffer) {
|
|
127
100
|
var array = _ref.array,
|
|
128
|
-
|
|
101
|
+
offset = _ref.offset;
|
|
129
102
|
array.set(new Uint8Array(arrayBuffer), offset);
|
|
130
103
|
return {
|
|
131
104
|
array: array,
|
|
@@ -145,9 +118,8 @@
|
|
|
145
118
|
var strippedArrayBuffer = arrayBuffer;
|
|
146
119
|
locations.forEach(function (_ref) {
|
|
147
120
|
var _ref2 = _slicedToArray__default["default"](_ref, 2),
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
121
|
+
begin = _ref2[0],
|
|
122
|
+
end = _ref2[1];
|
|
151
123
|
if (begin === offset) {
|
|
152
124
|
strippedArrayBuffer = strippedArrayBuffer.slice(end, strippedArrayBuffer.byteLength);
|
|
153
125
|
} else if (end - offset === strippedArrayBuffer.byteLength) {
|
|
@@ -155,7 +127,6 @@
|
|
|
155
127
|
} else {
|
|
156
128
|
strippedArrayBuffer = concat(strippedArrayBuffer.slice(0, begin - offset), strippedArrayBuffer.slice(end - offset, strippedArrayBuffer.byteLength));
|
|
157
129
|
}
|
|
158
|
-
|
|
159
130
|
offset += end - begin;
|
|
160
131
|
});
|
|
161
132
|
return strippedArrayBuffer;
|
|
@@ -163,11 +134,10 @@
|
|
|
163
134
|
|
|
164
135
|
addEventListener('message', function (_ref) {
|
|
165
136
|
var data = _ref.data;
|
|
166
|
-
|
|
167
137
|
try {
|
|
168
138
|
if (data.method === 'locate') {
|
|
169
139
|
var id = data.id,
|
|
170
|
-
|
|
140
|
+
arrayBuffer = data.params.arrayBuffer;
|
|
171
141
|
var locations = locate(arrayBuffer);
|
|
172
142
|
postMessage({
|
|
173
143
|
error: null,
|
|
@@ -178,7 +148,7 @@
|
|
|
178
148
|
});
|
|
179
149
|
} else if (data.method === 'strip') {
|
|
180
150
|
var _id = data.id,
|
|
181
|
-
|
|
151
|
+
_arrayBuffer = data.params.arrayBuffer;
|
|
182
152
|
var strippedArrayBuffer = strip(_arrayBuffer);
|
|
183
153
|
postMessage({
|
|
184
154
|
error: null,
|
package/package.json
CHANGED
|
@@ -9,29 +9,29 @@
|
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@babel/runtime": "^7.19.
|
|
13
|
-
"synchsafe": "^6.0.
|
|
12
|
+
"@babel/runtime": "^7.19.4",
|
|
13
|
+
"synchsafe": "^6.0.19",
|
|
14
14
|
"tslib": "^2.4.0"
|
|
15
15
|
},
|
|
16
16
|
"description": "The worker which is used by the metadata-detector package.",
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@babel/core": "^7.19.
|
|
18
|
+
"@babel/core": "^7.19.6",
|
|
19
19
|
"@babel/plugin-external-helpers": "^7.18.6",
|
|
20
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
21
|
-
"@babel/preset-env": "^7.19.
|
|
20
|
+
"@babel/plugin-transform-runtime": "^7.19.6",
|
|
21
|
+
"@babel/preset-env": "^7.19.4",
|
|
22
22
|
"@commitlint/cli": "^17.1.2",
|
|
23
23
|
"@commitlint/config-angular": "^17.1.0",
|
|
24
24
|
"@rollup/plugin-babel": "^5.3.1",
|
|
25
25
|
"chai": "^4.3.6",
|
|
26
26
|
"commitizen": "^4.2.5",
|
|
27
27
|
"cz-conventional-changelog": "^3.3.0",
|
|
28
|
-
"eslint": "^8.
|
|
28
|
+
"eslint": "^8.26.0",
|
|
29
29
|
"eslint-config-holy-grail": "^52.0.33",
|
|
30
30
|
"grunt": "^1.5.3",
|
|
31
31
|
"grunt-cli": "^1.4.3",
|
|
32
32
|
"grunt-sh": "^0.2.0",
|
|
33
33
|
"husky": "^8.0.1",
|
|
34
|
-
"karma": "^6.4.
|
|
34
|
+
"karma": "^6.4.1",
|
|
35
35
|
"karma-browserstack-launcher": "^1.6.0",
|
|
36
36
|
"karma-chrome-launcher": "^3.1.1",
|
|
37
37
|
"karma-cli": "^2.0.0",
|
|
@@ -43,18 +43,18 @@
|
|
|
43
43
|
"karma-webpack": "^5.0.0",
|
|
44
44
|
"load-grunt-config": "^4.0.1",
|
|
45
45
|
"memory-fs": "^0.5.0",
|
|
46
|
-
"mocha": "^10.
|
|
46
|
+
"mocha": "^10.1.0",
|
|
47
47
|
"prettier": "^2.7.1",
|
|
48
48
|
"pretty-quick": "^3.1.3",
|
|
49
49
|
"rimraf": "^3.0.2",
|
|
50
|
-
"rollup": "^2.79.
|
|
51
|
-
"sinon": "^14.0.
|
|
50
|
+
"rollup": "^2.79.1",
|
|
51
|
+
"sinon": "^14.0.1",
|
|
52
52
|
"sinon-chai": "^3.7.0",
|
|
53
|
-
"ts-loader": "^9.
|
|
53
|
+
"ts-loader": "^9.4.1",
|
|
54
54
|
"tsconfig-holy-grail": "^11.1.36",
|
|
55
55
|
"tslint": "^6.1.3",
|
|
56
56
|
"tslint-config-holy-grail": "^53.2.33",
|
|
57
|
-
"typescript": "^4.8.
|
|
57
|
+
"typescript": "^4.8.4",
|
|
58
58
|
"webpack": "^5.74.0"
|
|
59
59
|
},
|
|
60
60
|
"files": [
|
|
@@ -77,5 +77,5 @@
|
|
|
77
77
|
"test": "grunt lint && grunt test"
|
|
78
78
|
},
|
|
79
79
|
"types": "build/es2019/module.d.ts",
|
|
80
|
-
"version": "4.0.
|
|
80
|
+
"version": "4.0.52"
|
|
81
81
|
}
|