@shapediver/sdk.geometry-api-sdk-v2 1.0.24 → 1.0.25
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.
|
@@ -51,5 +51,19 @@ export declare class ShapeDiverAssetApi extends BaseResourceApi {
|
|
|
51
51
|
* @returns Array of size 2: [0] = content data, [1] = content type.
|
|
52
52
|
*/
|
|
53
53
|
downloadImage(sessionId: string, url: string): Promise<[ArrayBuffer, string]>;
|
|
54
|
+
/**
|
|
55
|
+
* Fetches a ShapeDiver asset of the following types:
|
|
56
|
+
* * Output
|
|
57
|
+
* * Export
|
|
58
|
+
* * Texture
|
|
59
|
+
*
|
|
60
|
+
* This function works similar to {@link getOutput}, {@link getExport} and {@link getTexture}, but does not require
|
|
61
|
+
* extracted _session ID_ and _asset data_ parameters.
|
|
62
|
+
*
|
|
63
|
+
* @param url - The URL of the asset that should be fetched.
|
|
64
|
+
* @returns Array of size 3: [0] = content data, [1] = content type, [2] = asset type.
|
|
65
|
+
* @throws {@link ShapeDiverError} when the given URL is not a valid ShapeDiver asset URL.
|
|
66
|
+
*/
|
|
67
|
+
getAsset(url: string): Promise<[ArrayBuffer, string, "output" | "export" | "texture"]>;
|
|
54
68
|
}
|
|
55
69
|
//# sourceMappingURL=ShapeDiverAssetApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShapeDiverAssetApi.d.ts","sourceRoot":"","sources":["../../src/resources/ShapeDiverAssetApi.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ShapeDiverAssetApi.d.ts","sourceRoot":"","sources":["../../src/resources/ShapeDiverAssetApi.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EAEf,gBAAgB,EAEnB,MAAM,uCAAuC,CAAA;AAW9C,qBAAa,kBAAmB,SAAQ,eAAe;gBAEtC,GAAG,EAAE,gBAAgB;IAIlC;;;;;OAKG;IACG,SAAS,CAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAE,WAAW,EAAE,MAAM,CAAE,CAAC;IAWxF;;;;;OAKG;IACG,SAAS,CAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAE,WAAW,EAAE,MAAM,CAAE,CAAC;IAWxF;;;;;OAKG;IACG,kBAAkB,CAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAY7F;;;;;OAKG;IACG,UAAU,CAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAE,WAAW,EAAE,MAAM,CAAE,CAAC;IAWzF;;;;;OAKG;IACG,OAAO,CAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAS1E;;;;;OAKG;IACG,OAAO,CAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAS1E;;;;;;OAMG;IACG,aAAa,CAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAE,WAAW,EAAE,MAAM,CAAE,CAAC;IAqBtF;;;;;;;;;;;;OAYG;IACG,QAAQ,CAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAE,CAAC;CAmBlG"}
|
|
@@ -12,6 +12,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.ShapeDiverAssetApi = void 0;
|
|
13
13
|
const sdk_geometry_api_sdk_core_1 = require("@shapediver/sdk.geometry-api-sdk-core");
|
|
14
14
|
const utils_1 = require("../utils/utils");
|
|
15
|
+
const apiAssetExportUri = /.+\/session\/.+\/export\/.+/;
|
|
16
|
+
const apiAssetOutputUri = /.+\/session\/.+\/output\/.+/;
|
|
17
|
+
const apiAssetTextureUri = /.+\/session\/.+\/texture\/.+/;
|
|
18
|
+
const cdnAssetExportUri = /.+\/cdn-asset-exports\/.+/;
|
|
19
|
+
const cdnAssetOutputUri = /.+\/cdn-asset-outputs\/.+/;
|
|
20
|
+
const cdnAssetTextureUri = /.+\/cdn-asset-textures\/.+/;
|
|
15
21
|
class ShapeDiverAssetApi extends sdk_geometry_api_sdk_core_1.BaseResourceApi {
|
|
16
22
|
constructor(api) {
|
|
17
23
|
super(api);
|
|
@@ -115,14 +121,56 @@ class ShapeDiverAssetApi extends sdk_geometry_api_sdk_core_1.BaseResourceApi {
|
|
|
115
121
|
*/
|
|
116
122
|
downloadImage(sessionId, url) {
|
|
117
123
|
return __awaiter(this, void 0, void 0, function* () {
|
|
124
|
+
let targetUrl;
|
|
125
|
+
if (apiAssetTextureUri.test(url) || cdnAssetTextureUri.test(url)) {
|
|
126
|
+
// Call ShapeDiver texture-asset URLs directly
|
|
127
|
+
targetUrl = url;
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
// All other source URLs are called via the download-image endpoint
|
|
131
|
+
targetUrl = `${this.buildSessionUri(sessionId)}/image?url=${(0, utils_1.encodeBase64)(url)}`;
|
|
132
|
+
}
|
|
118
133
|
return yield (0, utils_1.sendRequest)(() => __awaiter(this, void 0, void 0, function* () {
|
|
119
134
|
var _a;
|
|
120
|
-
const [header, data] = yield this.api.get(
|
|
135
|
+
const [header, data] = yield this.api.get(targetUrl, { responseType: sdk_geometry_api_sdk_core_1.ShapeDiverSdkApiResponseType.DATA });
|
|
121
136
|
const contentType = (_a = header["Content-Type"]) !== null && _a !== void 0 ? _a : header["content-type"];
|
|
122
137
|
return [data, contentType];
|
|
123
138
|
}));
|
|
124
139
|
});
|
|
125
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Fetches a ShapeDiver asset of the following types:
|
|
143
|
+
* * Output
|
|
144
|
+
* * Export
|
|
145
|
+
* * Texture
|
|
146
|
+
*
|
|
147
|
+
* This function works similar to {@link getOutput}, {@link getExport} and {@link getTexture}, but does not require
|
|
148
|
+
* extracted _session ID_ and _asset data_ parameters.
|
|
149
|
+
*
|
|
150
|
+
* @param url - The URL of the asset that should be fetched.
|
|
151
|
+
* @returns Array of size 3: [0] = content data, [1] = content type, [2] = asset type.
|
|
152
|
+
* @throws {@link ShapeDiverError} when the given URL is not a valid ShapeDiver asset URL.
|
|
153
|
+
*/
|
|
154
|
+
getAsset(url) {
|
|
155
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
let type;
|
|
157
|
+
// Check if the given URL is a valid API or CDN asset URL
|
|
158
|
+
if (apiAssetExportUri.test(url) || cdnAssetExportUri.test(url))
|
|
159
|
+
type = "export";
|
|
160
|
+
else if (apiAssetOutputUri.test(url) || cdnAssetOutputUri.test(url))
|
|
161
|
+
type = "output";
|
|
162
|
+
else if (apiAssetTextureUri.test(url) || cdnAssetTextureUri.test(url))
|
|
163
|
+
type = "texture";
|
|
164
|
+
else
|
|
165
|
+
throw new sdk_geometry_api_sdk_core_1.ShapeDiverError("Cannot fetch asset: Invalid URL (only ShapeDiver asset URLs are allowed).");
|
|
166
|
+
return yield (0, utils_1.sendRequest)(() => __awaiter(this, void 0, void 0, function* () {
|
|
167
|
+
var _a;
|
|
168
|
+
const [header, data] = yield this.api.get(url, { responseType: sdk_geometry_api_sdk_core_1.ShapeDiverSdkApiResponseType.DATA });
|
|
169
|
+
const contentType = (_a = header["Content-Type"]) !== null && _a !== void 0 ? _a : header["content-type"];
|
|
170
|
+
return [data, contentType, type];
|
|
171
|
+
}));
|
|
172
|
+
});
|
|
173
|
+
}
|
|
126
174
|
}
|
|
127
175
|
exports.ShapeDiverAssetApi = ShapeDiverAssetApi;
|
|
128
176
|
//# sourceMappingURL=ShapeDiverAssetApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShapeDiverAssetApi.js","sourceRoot":"","sources":["../../src/resources/ShapeDiverAssetApi.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"ShapeDiverAssetApi.js","sourceRoot":"","sources":["../../src/resources/ShapeDiverAssetApi.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shapediver/sdk.geometry-api-sdk-v2",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.25",
|
|
4
4
|
"description": "SDK to communicate with the Geometry API version 2",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"shapediver",
|
|
@@ -43,15 +43,15 @@
|
|
|
43
43
|
]
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"jest": "^28.1.
|
|
46
|
+
"jest": "^28.1.2",
|
|
47
47
|
"lerna": "3.22.1",
|
|
48
|
-
"typescript": "^4.7.
|
|
48
|
+
"typescript": "^4.7.4",
|
|
49
49
|
"webpack": "^5.73.0",
|
|
50
|
-
"webpack-cli": "^4.
|
|
51
|
-
"webpack-dev-server": "^4.9.
|
|
50
|
+
"webpack-cli": "^4.10.0",
|
|
51
|
+
"webpack-dev-server": "^4.9.3"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"@shapediver/sdk.geometry-api-sdk-core": "^1.0.14",
|
|
55
|
-
"@shapediver/api.geometry-api-dto-v2": "^1.1.
|
|
55
|
+
"@shapediver/api.geometry-api-dto-v2": "^1.1.13"
|
|
56
56
|
}
|
|
57
57
|
}
|