@aws-amplify/core
Version:
Core category of aws-amplify
72 lines (71 loc) • 2.76 kB
JavaScript
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAmplifyUserAgent = exports.getAmplifyUserAgentObject = exports.Platform = void 0;
var types_1 = require("./types");
var version_1 = require("./version");
var detectFramework_1 = require("./detectFramework");
var BASE_USER_AGENT = "aws-amplify";
var PlatformBuilder = /** @class */ (function () {
function PlatformBuilder() {
this.userAgent = "".concat(BASE_USER_AGENT, "/").concat(version_1.version);
}
Object.defineProperty(PlatformBuilder.prototype, "framework", {
get: function () {
return (0, detectFramework_1.detectFramework)();
},
enumerable: false,
configurable: true
});
Object.defineProperty(PlatformBuilder.prototype, "isReactNative", {
get: function () {
return (this.framework === types_1.Framework.ReactNative ||
this.framework === types_1.Framework.Expo);
},
enumerable: false,
configurable: true
});
PlatformBuilder.prototype.observeFrameworkChanges = function (fcn) {
(0, detectFramework_1.observeFrameworkChanges)(fcn);
};
return PlatformBuilder;
}());
exports.Platform = new PlatformBuilder();
var getAmplifyUserAgentObject = function (_a) {
var _b = _a === void 0 ? {} : _a, category = _b.category, action = _b.action, framework = _b.framework;
var userAgent = [[BASE_USER_AGENT, version_1.version]];
if (category) {
userAgent.push([category, action]);
}
userAgent.push(['framework', (0, detectFramework_1.detectFramework)()]);
return userAgent;
};
exports.getAmplifyUserAgentObject = getAmplifyUserAgentObject;
var getAmplifyUserAgent = function (customUserAgentDetails) {
var userAgent = (0, exports.getAmplifyUserAgentObject)(customUserAgentDetails);
var userAgentString = userAgent
.map(function (_a) {
var _b = __read(_a, 2), agentKey = _b[0], agentValue = _b[1];
return "".concat(agentKey, "/").concat(agentValue);
})
.join(' ');
return userAgentString;
};
exports.getAmplifyUserAgent = getAmplifyUserAgent;
;