@combeenation/3d-viewer 3.1.1-alpha7 → 3.1.2
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/README.md +111 -111
- package/dist/lib-cjs/api/classes/animationInterface.d.ts +8 -8
- package/dist/lib-cjs/api/classes/animationInterface.js +1 -1
- package/dist/lib-cjs/api/classes/dottedPath.d.ts +79 -79
- package/dist/lib-cjs/api/classes/dottedPath.js +190 -190
- package/dist/lib-cjs/api/classes/element.d.ts +125 -126
- package/dist/lib-cjs/api/classes/element.js +678 -674
- package/dist/lib-cjs/api/classes/element.js.map +1 -1
- package/dist/lib-cjs/api/classes/elementParameterizable.d.ts +14 -14
- package/dist/lib-cjs/api/classes/elementParameterizable.js +134 -134
- package/dist/lib-cjs/api/classes/event.d.ts +312 -312
- package/dist/lib-cjs/api/classes/event.js +357 -357
- package/dist/lib-cjs/api/classes/eventBroadcaster.d.ts +26 -26
- package/dist/lib-cjs/api/classes/eventBroadcaster.js +53 -53
- package/dist/lib-cjs/api/classes/parameter.d.ts +165 -165
- package/dist/lib-cjs/api/classes/parameter.js +267 -267
- package/dist/lib-cjs/api/classes/parameterObservable.d.ts +36 -36
- package/dist/lib-cjs/api/classes/parameterObservable.js +126 -126
- package/dist/lib-cjs/api/classes/parameterizable.d.ts +15 -15
- package/dist/lib-cjs/api/classes/parameterizable.js +149 -149
- package/dist/lib-cjs/api/classes/placementAnimation.d.ts +38 -38
- package/dist/lib-cjs/api/classes/placementAnimation.js +138 -138
- package/dist/lib-cjs/api/classes/variant.d.ts +180 -190
- package/dist/lib-cjs/api/classes/variant.js +863 -873
- package/dist/lib-cjs/api/classes/variant.js.map +1 -1
- package/dist/lib-cjs/api/classes/variantInstance.d.ts +41 -41
- package/dist/lib-cjs/api/classes/variantInstance.js +98 -98
- package/dist/lib-cjs/api/classes/variantParameterizable.d.ts +17 -17
- package/dist/lib-cjs/api/classes/variantParameterizable.js +92 -92
- package/dist/lib-cjs/api/classes/viewer.d.ts +128 -128
- package/dist/lib-cjs/api/classes/viewer.js +486 -486
- package/dist/lib-cjs/api/classes/viewerLight.d.ts +65 -66
- package/dist/lib-cjs/api/classes/viewerLight.js +322 -389
- package/dist/lib-cjs/api/classes/viewerLight.js.map +1 -1
- package/dist/lib-cjs/api/internal/debugViewer.d.ts +13 -13
- package/dist/lib-cjs/api/internal/debugViewer.js +87 -87
- package/dist/lib-cjs/api/internal/lensRendering.d.ts +8 -8
- package/dist/lib-cjs/api/internal/lensRendering.js +11 -11
- package/dist/lib-cjs/api/internal/sceneSetup.d.ts +6 -6
- package/dist/lib-cjs/api/internal/sceneSetup.js +227 -227
- package/dist/lib-cjs/api/manager/animationManager.d.ts +29 -29
- package/dist/lib-cjs/api/manager/animationManager.js +121 -121
- package/dist/lib-cjs/api/manager/sceneManager.d.ts +32 -32
- package/dist/lib-cjs/api/manager/sceneManager.js +132 -132
- package/dist/lib-cjs/api/manager/variantInstanceManager.d.ts +90 -90
- package/dist/lib-cjs/api/manager/variantInstanceManager.js +321 -321
- package/dist/lib-cjs/api/store/specStorage.d.ts +24 -24
- package/dist/lib-cjs/api/store/specStorage.js +51 -51
- package/dist/lib-cjs/api/util/babylonHelper.d.ts +125 -125
- package/dist/lib-cjs/api/util/babylonHelper.js +368 -368
- package/dist/lib-cjs/api/util/globalTypes.d.ts +275 -275
- package/dist/lib-cjs/api/util/globalTypes.js +1 -1
- package/dist/lib-cjs/api/util/resourceHelper.d.ts +30 -30
- package/dist/lib-cjs/api/util/resourceHelper.js +247 -203
- package/dist/lib-cjs/api/util/resourceHelper.js.map +1 -1
- package/dist/lib-cjs/api/util/stringHelper.d.ts +9 -9
- package/dist/lib-cjs/api/util/stringHelper.js +25 -25
- package/dist/lib-cjs/buildinfo.json +3 -3
- package/dist/lib-cjs/index.d.ts +46 -46
- package/dist/lib-cjs/index.js +82 -82
- package/dist/webpack-stats.json +0 -0
- package/package.json +83 -83
- package/src/api/classes/animationInterface.ts +11 -11
- package/src/api/classes/dottedPath.ts +189 -189
- package/src/api/classes/element.ts +608 -606
- package/src/api/classes/elementParameterizable.ts +78 -78
- package/src/api/classes/event.ts +355 -355
- package/src/api/classes/eventBroadcaster.ts +54 -54
- package/src/api/classes/parameter.ts +277 -277
- package/src/api/classes/parameterObservable.ts +121 -121
- package/src/api/classes/placementAnimation.ts +133 -133
- package/src/api/classes/variant.ts +659 -670
- package/src/api/classes/variantInstance.ts +81 -81
- package/src/api/classes/viewer.ts +421 -421
- package/src/api/internal/debugViewer.ts +81 -81
- package/src/api/internal/lensRendering.ts +10 -10
- package/src/api/internal/sceneSetup.ts +203 -203
- package/src/api/manager/animationManager.ts +116 -116
- package/src/api/manager/sceneManager.ts +105 -105
- package/src/api/manager/variantInstanceManager.ts +236 -236
- package/src/api/store/specStorage.ts +53 -53
- package/src/api/util/babylonHelper.ts +392 -392
- package/src/api/util/globalTypes.ts +314 -314
- package/src/api/util/resourceHelper.ts +168 -155
- package/src/buildinfo.json +2 -2
- package/src/commonjs.tsconfig.json +13 -13
- package/src/declaration.tsconfig.json +10 -10
- package/src/dev.ts +44 -46
- package/src/es6.tsconfig.json +13 -13
- package/src/index.ts +87 -87
- package/src/pagesconfig.json +47 -47
- package/src/tsconfig.json +43 -43
- package/src/tsconfig.types.json +9 -9
- package/src/types.d.ts +4 -4
|
@@ -1,204 +1,248 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var event_1 = require("../classes/event");
|
|
6
|
-
/**
|
|
7
|
-
* Loads any kind of response from given path.
|
|
8
|
-
* @emits {@link Event.LOADING_START}
|
|
9
|
-
* @emits {@link Event.LOADING_END}
|
|
10
|
-
*/
|
|
11
|
-
var load = function (path) {
|
|
12
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
13
|
-
var data;
|
|
14
|
-
return tslib_1.__generator(this, function (_a) {
|
|
15
|
-
switch (_a.label) {
|
|
16
|
-
case 0:
|
|
17
|
-
event_1.emitter.emit(event_1.Event.LOADING_START, path);
|
|
18
|
-
return [4 /*yield*/, fetch(path)];
|
|
19
|
-
case 1:
|
|
20
|
-
data = _a.sent();
|
|
21
|
-
event_1.emitter.emit(event_1.Event.LOADING_END, path);
|
|
22
|
-
return [2 /*return*/, data];
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Loads a JSON from a given path.
|
|
29
|
-
* @emits {@link Event.LOADING_START}
|
|
30
|
-
* @emits {@link Event.LOADING_END}
|
|
31
|
-
*/
|
|
32
|
-
var loadJson = function (path) {
|
|
33
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
34
|
-
var response;
|
|
35
|
-
return tslib_1.__generator(this, function (_a) {
|
|
36
|
-
switch (_a.label) {
|
|
37
|
-
case 0: return [4 /*yield*/, load(path)];
|
|
38
|
-
case 1:
|
|
39
|
-
response = _a.sent();
|
|
40
|
-
return [2 /*return*/, response.json()];
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
exports.loadJson = loadJson;
|
|
46
|
-
/**
|
|
47
|
-
* Loads a Text from a given path.
|
|
48
|
-
* @emits {@link Event.LOADING_START}
|
|
49
|
-
* @emits {@link Event.LOADING_END}
|
|
50
|
-
*/
|
|
51
|
-
var loadText = function (path) {
|
|
52
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
53
|
-
var response;
|
|
54
|
-
return tslib_1.__generator(this, function (_a) {
|
|
55
|
-
switch (_a.label) {
|
|
56
|
-
case 0: return [4 /*yield*/, load(path)];
|
|
57
|
-
case 1:
|
|
58
|
-
response = _a.sent();
|
|
59
|
-
return [2 /*return*/, response.text()];
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
};
|
|
64
|
-
exports.loadText = loadText;
|
|
65
|
-
/**
|
|
66
|
-
* Debounces: it limits the rate at which a function can fire.
|
|
67
|
-
*/
|
|
68
|
-
var debounce = function (func, wait, immediate) {
|
|
69
|
-
if (immediate === void 0) { immediate = false; }
|
|
70
|
-
var timeout;
|
|
71
|
-
return function () {
|
|
72
|
-
// @ts-ignore
|
|
73
|
-
var context = this;
|
|
74
|
-
var args = arguments;
|
|
75
|
-
var later = function () {
|
|
76
|
-
timeout = null;
|
|
77
|
-
if (!immediate) {
|
|
78
|
-
func.apply(context, args);
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
var callNow = immediate && !timeout;
|
|
82
|
-
clearTimeout(timeout);
|
|
83
|
-
timeout = setTimeout(later, wait);
|
|
84
|
-
if (callNow) {
|
|
85
|
-
func.apply(context, args);
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
exports.debounce = debounce;
|
|
90
|
-
/**
|
|
91
|
-
* Creates a random uuidv4.
|
|
92
|
-
*/
|
|
93
|
-
var uuidv4 = function () {
|
|
94
|
-
// @ts-ignore
|
|
95
|
-
return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, function (c) {
|
|
96
|
-
return (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16);
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
|
-
exports.uuidv4 = uuidv4;
|
|
100
|
-
/**
|
|
101
|
-
* Merges multiple maps.
|
|
102
|
-
*/
|
|
103
|
-
var mergeMaps = function () {
|
|
104
|
-
var maps = [];
|
|
105
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
106
|
-
maps[_i] = arguments[_i];
|
|
107
|
-
}
|
|
108
|
-
var resultMap = new Map();
|
|
109
|
-
maps.forEach(function (map) {
|
|
110
|
-
map.forEach(function (v, k) {
|
|
111
|
-
resultMap.set(k, v);
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
return resultMap;
|
|
115
|
-
};
|
|
116
|
-
exports.mergeMaps = mergeMaps;
|
|
117
|
-
/**
|
|
118
|
-
*
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createImageBitmapFromImgSrc = exports.createImageBitmapFromSvg = exports.mergeMaps = exports.uuidv4 = exports.debounce = exports.loadText = exports.loadJson = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var event_1 = require("../classes/event");
|
|
6
|
+
/**
|
|
7
|
+
* Loads any kind of response from given path.
|
|
8
|
+
* @emits {@link Event.LOADING_START}
|
|
9
|
+
* @emits {@link Event.LOADING_END}
|
|
10
|
+
*/
|
|
11
|
+
var load = function (path) {
|
|
12
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
13
|
+
var data;
|
|
14
|
+
return tslib_1.__generator(this, function (_a) {
|
|
15
|
+
switch (_a.label) {
|
|
16
|
+
case 0:
|
|
17
|
+
event_1.emitter.emit(event_1.Event.LOADING_START, path);
|
|
18
|
+
return [4 /*yield*/, fetch(path)];
|
|
19
|
+
case 1:
|
|
20
|
+
data = _a.sent();
|
|
21
|
+
event_1.emitter.emit(event_1.Event.LOADING_END, path);
|
|
22
|
+
return [2 /*return*/, data];
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Loads a JSON from a given path.
|
|
29
|
+
* @emits {@link Event.LOADING_START}
|
|
30
|
+
* @emits {@link Event.LOADING_END}
|
|
31
|
+
*/
|
|
32
|
+
var loadJson = function (path) {
|
|
33
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
34
|
+
var response;
|
|
35
|
+
return tslib_1.__generator(this, function (_a) {
|
|
36
|
+
switch (_a.label) {
|
|
37
|
+
case 0: return [4 /*yield*/, load(path)];
|
|
38
|
+
case 1:
|
|
39
|
+
response = _a.sent();
|
|
40
|
+
return [2 /*return*/, response.json()];
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
exports.loadJson = loadJson;
|
|
46
|
+
/**
|
|
47
|
+
* Loads a Text from a given path.
|
|
48
|
+
* @emits {@link Event.LOADING_START}
|
|
49
|
+
* @emits {@link Event.LOADING_END}
|
|
50
|
+
*/
|
|
51
|
+
var loadText = function (path) {
|
|
52
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
53
|
+
var response;
|
|
54
|
+
return tslib_1.__generator(this, function (_a) {
|
|
55
|
+
switch (_a.label) {
|
|
56
|
+
case 0: return [4 /*yield*/, load(path)];
|
|
57
|
+
case 1:
|
|
58
|
+
response = _a.sent();
|
|
59
|
+
return [2 /*return*/, response.text()];
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
exports.loadText = loadText;
|
|
65
|
+
/**
|
|
66
|
+
* Debounces: it limits the rate at which a function can fire.
|
|
67
|
+
*/
|
|
68
|
+
var debounce = function (func, wait, immediate) {
|
|
69
|
+
if (immediate === void 0) { immediate = false; }
|
|
70
|
+
var timeout;
|
|
71
|
+
return function () {
|
|
72
|
+
// @ts-ignore
|
|
73
|
+
var context = this;
|
|
74
|
+
var args = arguments;
|
|
75
|
+
var later = function () {
|
|
76
|
+
timeout = null;
|
|
77
|
+
if (!immediate) {
|
|
78
|
+
func.apply(context, args);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
var callNow = immediate && !timeout;
|
|
82
|
+
clearTimeout(timeout);
|
|
83
|
+
timeout = setTimeout(later, wait);
|
|
84
|
+
if (callNow) {
|
|
85
|
+
func.apply(context, args);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
exports.debounce = debounce;
|
|
90
|
+
/**
|
|
91
|
+
* Creates a random uuidv4.
|
|
92
|
+
*/
|
|
93
|
+
var uuidv4 = function () {
|
|
94
|
+
// @ts-ignore
|
|
95
|
+
return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, function (c) {
|
|
96
|
+
return (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16);
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
exports.uuidv4 = uuidv4;
|
|
100
|
+
/**
|
|
101
|
+
* Merges multiple maps.
|
|
102
|
+
*/
|
|
103
|
+
var mergeMaps = function () {
|
|
104
|
+
var maps = [];
|
|
105
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
106
|
+
maps[_i] = arguments[_i];
|
|
107
|
+
}
|
|
108
|
+
var resultMap = new Map();
|
|
109
|
+
maps.forEach(function (map) {
|
|
110
|
+
map.forEach(function (v, k) {
|
|
111
|
+
resultMap.set(k, v);
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
return resultMap;
|
|
115
|
+
};
|
|
116
|
+
exports.mergeMaps = mergeMaps;
|
|
117
|
+
/**
|
|
118
|
+
* Creates an `ImageBitmap` from a SVG string using native `createImageBitmap` functionality.
|
|
119
|
+
*/
|
|
120
|
+
var createImageBitmapFromSvg = function (svgSrc) {
|
|
121
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
122
|
+
var _this = this;
|
|
123
|
+
return tslib_1.__generator(this, function (_a) {
|
|
124
|
+
return [2 /*return*/, new Promise(function (resolve) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
125
|
+
var svgWithAssetsEmbedded, svgBlob, svgBase64, img;
|
|
126
|
+
var _this = this;
|
|
127
|
+
return tslib_1.__generator(this, function (_a) {
|
|
128
|
+
switch (_a.label) {
|
|
129
|
+
case 0: return [4 /*yield*/, _embedAssets(svgSrc)];
|
|
130
|
+
case 1:
|
|
131
|
+
svgWithAssetsEmbedded = _a.sent();
|
|
132
|
+
svgBlob = new Blob([svgWithAssetsEmbedded], { type: 'image/svg+xml;charset=utf-8' });
|
|
133
|
+
svgBase64 = URL.createObjectURL(svgBlob);
|
|
134
|
+
img = new Image();
|
|
135
|
+
img.onload = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
136
|
+
var imgBitmap;
|
|
137
|
+
return tslib_1.__generator(this, function (_a) {
|
|
138
|
+
switch (_a.label) {
|
|
139
|
+
case 0: return [4 /*yield*/, createImageBitmap(img)];
|
|
140
|
+
case 1:
|
|
141
|
+
imgBitmap = _a.sent();
|
|
142
|
+
resolve(imgBitmap);
|
|
143
|
+
return [2 /*return*/];
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}); };
|
|
147
|
+
img.src = svgBase64;
|
|
148
|
+
return [2 /*return*/];
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
}); })];
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
exports.createImageBitmapFromSvg = createImageBitmapFromSvg;
|
|
156
|
+
var createImageBitmapFromImgSrc = function (imgSrc) {
|
|
157
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
158
|
+
var img;
|
|
159
|
+
var _this = this;
|
|
160
|
+
return tslib_1.__generator(this, function (_a) {
|
|
161
|
+
img = new Image();
|
|
162
|
+
img.src = imgSrc;
|
|
163
|
+
return [2 /*return*/, new Promise(function (resolve) {
|
|
164
|
+
img.onload = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
165
|
+
var imgBitmap;
|
|
166
|
+
return tslib_1.__generator(this, function (_a) {
|
|
167
|
+
switch (_a.label) {
|
|
168
|
+
case 0: return [4 /*yield*/, createImageBitmap(img)];
|
|
169
|
+
case 1:
|
|
170
|
+
imgBitmap = _a.sent();
|
|
171
|
+
resolve(imgBitmap);
|
|
172
|
+
return [2 /*return*/];
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}); };
|
|
176
|
+
})];
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
};
|
|
180
|
+
exports.createImageBitmapFromImgSrc = createImageBitmapFromImgSrc;
|
|
181
|
+
/**
|
|
182
|
+
* Replaces all supported image & font URLs in the given SVG with their base64 representation.
|
|
183
|
+
*/
|
|
184
|
+
var _embedAssets = function (svgSrc) {
|
|
185
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
186
|
+
var _imageExtensions, _fontExtensions, _assetExtensions, urlRegex, allUrls, assetUrls, assetBase64Fetcher, assetFetcherResults;
|
|
187
|
+
return tslib_1.__generator(this, function (_a) {
|
|
188
|
+
switch (_a.label) {
|
|
189
|
+
case 0:
|
|
190
|
+
_imageExtensions = ['png', 'gif', 'jpg', 'jpeg', 'svg', 'bmp'];
|
|
191
|
+
_fontExtensions = ['woff2'];
|
|
192
|
+
_assetExtensions = tslib_1.__spreadArrays(_imageExtensions, _fontExtensions);
|
|
193
|
+
urlRegex = /(\bhttps?:\/\/[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|])/gi;
|
|
194
|
+
allUrls = svgSrc.match(urlRegex);
|
|
195
|
+
assetUrls = allUrls.filter(function (url) { return _assetExtensions.some(function (extension) { return url.toLowerCase().endsWith("." + extension); }); });
|
|
196
|
+
assetBase64Fetcher = assetUrls.map(_fetchBase64AssetUrl);
|
|
197
|
+
return [4 /*yield*/, Promise.all(assetBase64Fetcher)];
|
|
198
|
+
case 1:
|
|
199
|
+
assetFetcherResults = _a.sent();
|
|
200
|
+
return [2 /*return*/, assetFetcherResults.reduce(function (svgSrc, x) { return svgSrc.replace(x.url, x.base64); }, svgSrc)];
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
};
|
|
205
|
+
/**
|
|
206
|
+
* Fetch asset (image or font) and convert it to base64 string representation.
|
|
207
|
+
*/
|
|
208
|
+
var _fetchBase64AssetUrl = function (assetUrl) {
|
|
209
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
210
|
+
var _this = this;
|
|
211
|
+
return tslib_1.__generator(this, function (_a) {
|
|
212
|
+
// TODO: Cache known base64 representation and only fetch/convert when not already known.
|
|
213
|
+
// Usually the fetch shouldn't hit the network but the browser cache since the SVG was already drawn.
|
|
214
|
+
// See comments of "createImageBitmapFromSvg" for some considerations...
|
|
215
|
+
return [2 /*return*/, new Promise(function (resolve, reject) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
216
|
+
var resp, blob, reader;
|
|
217
|
+
return tslib_1.__generator(this, function (_a) {
|
|
218
|
+
switch (_a.label) {
|
|
219
|
+
case 0: return [4 /*yield*/, fetch(assetUrl)];
|
|
220
|
+
case 1:
|
|
221
|
+
resp = _a.sent();
|
|
222
|
+
return [4 /*yield*/, resp.blob()];
|
|
223
|
+
case 2:
|
|
224
|
+
blob = _a.sent();
|
|
225
|
+
reader = new FileReader();
|
|
226
|
+
reader.onloadend = function (event) {
|
|
227
|
+
var target = event.target;
|
|
228
|
+
if (!target) {
|
|
229
|
+
return reject("Asset with URL \"" + assetUrl + "\" could not be loaded.");
|
|
230
|
+
}
|
|
231
|
+
var result = target.result;
|
|
232
|
+
if (!result) {
|
|
233
|
+
return reject("Asset with URL \"" + assetUrl + "\" returned an empty result.");
|
|
234
|
+
}
|
|
235
|
+
resolve({
|
|
236
|
+
url: assetUrl,
|
|
237
|
+
base64: result.toString(),
|
|
238
|
+
});
|
|
239
|
+
};
|
|
240
|
+
reader.readAsDataURL(blob);
|
|
241
|
+
return [2 /*return*/];
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
}); })];
|
|
245
|
+
});
|
|
246
|
+
});
|
|
247
|
+
};
|
|
204
248
|
//# sourceMappingURL=resourceHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resourceHelper.js","sourceRoot":"","sources":["../../../../src/api/util/resourceHelper.ts"],"names":[],"mappings":";;;;AAAA,0CAAkD;AAElD;;;;GAIG;AACH,IAAM,IAAI,GAAG,UAAgB,IAAY;;;;;;oBACxC,eAAO,CAAC,IAAI,CAAE,aAAK,CAAC,aAAa,EAAE,IAAI,CAAE,CAAC;oBAC/B,qBAAM,KAAK,CAAE,IAAI,CAAE,EAAA;;oBAA1B,IAAI,GAAG,SAAmB;oBAC9B,eAAO,CAAC,IAAI,CAAE,aAAK,CAAC,WAAW,EAAE,IAAI,CAAE,CAAC;oBACxC,sBAAO,IAAI,EAAC;;;;CACZ,CAAC;AAEF;;;;GAIG;AACH,IAAM,QAAQ,GAAG,UAAmB,IAAY;;;;;wBAC9B,qBAAM,IAAI,CAAC,IAAI,CAAC,EAAA;;oBAA3B,QAAQ,GAAG,SAAgB;oBACjC,sBAAO,QAAQ,CAAC,IAAI,EAAE,EAAC;;;;CACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"resourceHelper.js","sourceRoot":"","sources":["../../../../src/api/util/resourceHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Creates a random uuidv4.
|
|
3
|
-
*/
|
|
4
|
-
declare const uuidv4: () => any;
|
|
5
|
-
/**
|
|
6
|
-
* Converts a string from camel case to snake case.
|
|
7
|
-
*/
|
|
8
|
-
declare const camelToSnakeCase: (str: string) => string;
|
|
9
|
-
export { uuidv4, camelToSnakeCase, };
|
|
1
|
+
/**
|
|
2
|
+
* Creates a random uuidv4.
|
|
3
|
+
*/
|
|
4
|
+
declare const uuidv4: () => any;
|
|
5
|
+
/**
|
|
6
|
+
* Converts a string from camel case to snake case.
|
|
7
|
+
*/
|
|
8
|
+
declare const camelToSnakeCase: (str: string) => string;
|
|
9
|
+
export { uuidv4, camelToSnakeCase, };
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.camelToSnakeCase = exports.uuidv4 = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Creates a random uuidv4.
|
|
6
|
-
*/
|
|
7
|
-
var uuidv4 = function () {
|
|
8
|
-
// @ts-ignore
|
|
9
|
-
return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, function (c) {
|
|
10
|
-
return (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16);
|
|
11
|
-
});
|
|
12
|
-
};
|
|
13
|
-
exports.uuidv4 = uuidv4;
|
|
14
|
-
/**
|
|
15
|
-
* Converts a string from camel case to snake case.
|
|
16
|
-
*/
|
|
17
|
-
var camelToSnakeCase = function (str) {
|
|
18
|
-
return str
|
|
19
|
-
.replace(/([A-Z])/g, " $1")
|
|
20
|
-
.trim()
|
|
21
|
-
.split(' ')
|
|
22
|
-
.join('_')
|
|
23
|
-
.toLowerCase();
|
|
24
|
-
};
|
|
25
|
-
exports.camelToSnakeCase = camelToSnakeCase;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.camelToSnakeCase = exports.uuidv4 = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Creates a random uuidv4.
|
|
6
|
+
*/
|
|
7
|
+
var uuidv4 = function () {
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, function (c) {
|
|
10
|
+
return (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16);
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
exports.uuidv4 = uuidv4;
|
|
14
|
+
/**
|
|
15
|
+
* Converts a string from camel case to snake case.
|
|
16
|
+
*/
|
|
17
|
+
var camelToSnakeCase = function (str) {
|
|
18
|
+
return str
|
|
19
|
+
.replace(/([A-Z])/g, " $1")
|
|
20
|
+
.trim()
|
|
21
|
+
.split(' ')
|
|
22
|
+
.join('_')
|
|
23
|
+
.toLowerCase();
|
|
24
|
+
};
|
|
25
|
+
exports.camelToSnakeCase = camelToSnakeCase;
|
|
26
26
|
//# sourceMappingURL=stringHelper.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "
|
|
3
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"version": "3.1.2"
|
|
3
|
+
}
|