@itwin/object-storage-azure
Version:
Object storage implementation using Azure Blob Storage
27 lines • 1.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.assertAzureTransferConfig = assertAzureTransferConfig;
exports.buildBlobUrl = buildBlobUrl;
exports.buildBlobName = buildBlobName;
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
const internal_1 = require("@itwin/cloud-agnostic-core/lib/internal");
const internal_2 = require("@itwin/object-storage-core/lib/common/internal");
function assertAzureTransferConfig(transferConfig) {
(0, internal_2.assertTransferConfig)(transferConfig);
if (!("authentication" in transferConfig))
throw new internal_1.FalsyValueError("transferConfig.authentication");
(0, internal_1.assertPrimitiveType)(transferConfig.authentication, "transferConfig.authentication", "string");
}
function buildBlobUrl(input) {
assertAzureTransferConfig(input.transferConfig);
const { authentication, baseUrl } = input.transferConfig;
return `${baseUrl}/${(0, internal_2.buildObjectKey)(input.reference)}?${authentication}`;
}
function buildBlobName(reference) {
const { relativeDirectory, objectName } = reference;
return (relativeDirectory ? `${relativeDirectory}/` : "") + objectName;
}
//# sourceMappingURL=Helpers.js.map