nativescript-plugin-firebase-ssi
Version:
75 lines (74 loc) • 2.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var utils_1 = require("../utils");
function startTrace(name) {
return new FirebaseTrace(FIRPerformance.startTraceWithName(name));
}
exports.startTrace = startTrace;
function startHttpMetric(url, method) {
var httpMetric = FIRHTTPMetric.alloc().initWithURLHTTPMethod(NSURL.URLWithString(url), getHttpMethodFromString(method));
httpMetric.start();
return new FirebaseHttpMetric(httpMetric);
}
exports.startHttpMetric = startHttpMetric;
var FirebaseTrace = (function () {
function FirebaseTrace(nativeTrace) {
this.nativeTrace = nativeTrace;
}
FirebaseTrace.prototype.setValue = function (attribute, value) {
this.nativeTrace.setValueForAttribute(value, attribute);
};
FirebaseTrace.prototype.getValue = function (attribute) {
return this.nativeTrace.valueForAttribute(attribute);
};
FirebaseTrace.prototype.getAttributes = function () {
return utils_1.firebaseUtils.toJsObject(this.nativeTrace.attributes);
};
FirebaseTrace.prototype.removeAttribute = function (attribute) {
this.nativeTrace.removeAttribute(attribute);
};
FirebaseTrace.prototype.incrementMetric = function (metric, by) {
this.nativeTrace.incrementMetricByInt(metric, by);
};
FirebaseTrace.prototype.stop = function () {
this.nativeTrace.stop();
};
return FirebaseTrace;
}());
exports.FirebaseTrace = FirebaseTrace;
var FirebaseHttpMetric = (function () {
function FirebaseHttpMetric(nativeHttpMetric) {
this.nativeHttpMetric = nativeHttpMetric;
}
FirebaseHttpMetric.prototype.setRequestPayloadSize = function (size) {
this.nativeHttpMetric.requestPayloadSize = size;
};
FirebaseHttpMetric.prototype.setHttpResponseCode = function (responseCode) {
this.nativeHttpMetric.responseCode = responseCode;
};
FirebaseHttpMetric.prototype.stop = function () {
this.nativeHttpMetric.stop();
};
return FirebaseHttpMetric;
}());
exports.FirebaseHttpMetric = FirebaseHttpMetric;
function getHttpMethodFromString(method) {
switch (method) {
case 'GET':
return 0;
case 'PUT':
return 1;
case 'POST':
return 2;
case 'DELETE':
return 3;
case 'HEAD':
return 4;
case 'PATCH':
return 5;
case 'OPTIONS':
return 6;
default:
return null;
}
}