UNPKG

@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
"use strict"; 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=