@oaklean/profiler-core
Version:
Part of the @oaklean suite. It provides all basic functions to work with the `.oak` file format. It allows parsing the `.oak` file format as well as tools for analyzing the measurement values. It also provides all necessary capabilities required for prec
44 lines • 3.19 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Crypto = void 0;
const crypto_1 = __importDefault(require("crypto"));
const UUID4_REGEX = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/;
class Crypto {
static hash(value) {
return crypto_1.default.createHash('sha256').update(value).digest('hex');
}
static smallHash(input) {
return crypto_1.default.createHash('sha1').update(input).digest('hex').slice(0, 8);
}
static getUUIDModule() {
return __awaiter(this, void 0, void 0, function* () {
if (Crypto.uuidModule === null) {
Crypto.uuidModule = (yield import('uuid')).v4;
}
return Crypto.uuidModule;
});
}
static uniqueID() {
return __awaiter(this, void 0, void 0, function* () {
return (yield Crypto.getUUIDModule())();
});
}
static validateUniqueID(id) {
return UUID4_REGEX.test(id);
}
}
exports.Crypto = Crypto;
Crypto.uuidModule = null;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N5c3RlbS9DcnlwdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQTJCO0FBSzNCLE1BQU0sV0FBVyxHQUNoQix1RkFBdUYsQ0FBQTtBQUV4RixNQUFhLE1BQU07SUFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFzQjtRQUNqQyxPQUFPLGdCQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBYTtRQUM3QixPQUFPLGdCQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN6RSxDQUFDO0lBR0QsTUFBTSxDQUFPLGFBQWE7O1lBQ3pCLElBQUksTUFBTSxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDaEMsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1lBQzlDLENBQUM7WUFFRCxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUE7UUFDekIsQ0FBQztLQUFBO0lBRUQsTUFBTSxDQUFPLFFBQVE7O1lBQ3BCLE9BQU8sQ0FBQyxNQUFNLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFpQixDQUFBO1FBQ3ZELENBQUM7S0FBQTtJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFlO1FBQ3RDLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUM1QixDQUFDOztBQXhCRix3QkF5QkM7QUFoQmUsaUJBQVUsR0FBb0MsSUFBSSxDQUFBIn0=