refactor(Cypress): Moved Cypress to the main folder of the project, as I don't need a sub project for now.

This commit is contained in:
2021-09-02 16:22:25 +02:00
parent d9226abf85
commit 89ec2d42ac
8402 changed files with 22 additions and 5 deletions

6
node_modules/listr2/dist/utils/assert.d.ts generated vendored Normal file
View File

@@ -0,0 +1,6 @@
/**
* This function asserts the given value as a function or itself.
* If the value itself is a function it will evaluate it with the passed in arguments,
* elsewise it will directly return itself.
*/
export declare function assertFunctionOrSelf<T>(functionOrSelf: T, ...args: T extends (...args: any[]) => any ? Parameters<T> : never): T extends (...args: any[]) => any ? ReturnType<T> : T;

17
node_modules/listr2/dist/utils/assert.js generated vendored Normal file
View File

@@ -0,0 +1,17 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.assertFunctionOrSelf = void 0;
/**
* This function asserts the given value as a function or itself.
* If the value itself is a function it will evaluate it with the passed in arguments,
* elsewise it will directly return itself.
*/
function assertFunctionOrSelf(functionOrSelf, ...args) {
if (typeof functionOrSelf === 'function') {
return functionOrSelf(...args);
}
else {
return functionOrSelf;
}
}
exports.assertFunctionOrSelf = assertFunctionOrSelf;

2
node_modules/listr2/dist/utils/colorette.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
import * as colorette from 'colorette';
export default colorette;

10
node_modules/listr2/dist/utils/colorette.js generated vendored Normal file
View File

@@ -0,0 +1,10 @@
"use strict";
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
const colorette = require("colorette");
/* istanbul ignore if */
if (((_a = process.env) === null || _a === void 0 ? void 0 : _a.LISTR_DISABLE_COLOR) === '1') {
// disable coloring completely
colorette.options.enabled = false;
}
exports.default = colorette;

12
node_modules/listr2/dist/utils/figures.d.ts generated vendored Normal file
View File

@@ -0,0 +1,12 @@
export declare const figures: {
warning: string;
cross: string;
arrowDown: string;
tick: string;
arrowRight: string;
pointer: string;
checkboxOn: string;
arrowLeft: string;
squareSmallFilled: string;
pointerSmall: string;
};

26
node_modules/listr2/dist/utils/figures.js generated vendored Normal file
View File

@@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.figures = void 0;
const is_unicode_supported_1 = require("./is-unicode-supported");
const FIGURES_MAIN = {
warning: '⚠',
cross: '✖',
arrowDown: '↓',
tick: '✔',
arrowRight: '→',
pointer: '',
checkboxOn: '☒',
arrowLeft: '←',
squareSmallFilled: '◼',
pointerSmall: ''
};
const FIGURES_FALLBACK = {
...FIGURES_MAIN,
warning: '‼',
cross: '×',
tick: '√',
pointer: '>',
checkboxOn: '[×]',
squareSmallFilled: '■'
};
exports.figures = is_unicode_supported_1.isUnicodeSupported ? FIGURES_MAIN : FIGURES_FALLBACK;

1
node_modules/listr2/dist/utils/indent-string.d.ts generated vendored Normal file
View File

@@ -0,0 +1 @@
export declare function indentString(string: string, count: number): string;

7
node_modules/listr2/dist/utils/indent-string.js generated vendored Normal file
View File

@@ -0,0 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.indentString = void 0;
function indentString(string, count) {
return string.replace(/^(?!\s*$)/gm, ' '.repeat(count));
}
exports.indentString = indentString;

View File

@@ -0,0 +1 @@
export declare function isUnicodeSupported(): boolean;

10
node_modules/listr2/dist/utils/is-unicode-supported.js generated vendored Normal file
View File

@@ -0,0 +1,10 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isUnicodeSupported = void 0;
function isUnicodeSupported() {
if (process.platform !== 'win32') {
return true;
}
return (Boolean(process.env.CI) || Boolean(process.env.WT_SESSION) || process.env.TERM_PROGRAM === 'vscode' || process.env.TERM === 'xterm-256color' || process.env.TERM === 'alacritty');
}
exports.isUnicodeSupported = isUnicodeSupported;

12
node_modules/listr2/dist/utils/logger.constants.d.ts generated vendored Normal file
View File

@@ -0,0 +1,12 @@
/** Default loglevels for the logger */
export declare enum LogLevels {
SILENT = "SILENT",
FAILED = "FAILED",
SKIPPED = "SKIPPED",
SUCCESS = "SUCCESS",
DATA = "DATA",
STARTED = "STARTED",
TITLE = "TITLE",
RETRY = "RETRY",
ROLLBACK = "ROLLBACK"
}

16
node_modules/listr2/dist/utils/logger.constants.js generated vendored Normal file
View File

@@ -0,0 +1,16 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LogLevels = void 0;
/** Default loglevels for the logger */
var LogLevels;
(function (LogLevels) {
LogLevels["SILENT"] = "SILENT";
LogLevels["FAILED"] = "FAILED";
LogLevels["SKIPPED"] = "SKIPPED";
LogLevels["SUCCESS"] = "SUCCESS";
LogLevels["DATA"] = "DATA";
LogLevels["STARTED"] = "STARTED";
LogLevels["TITLE"] = "TITLE";
LogLevels["RETRY"] = "RETRY";
LogLevels["ROLLBACK"] = "ROLLBACK";
})(LogLevels = exports.LogLevels || (exports.LogLevels = {}));

23
node_modules/listr2/dist/utils/logger.d.ts generated vendored Normal file
View File

@@ -0,0 +1,23 @@
import { LogLevels } from './logger.constants';
import { LoggerOptions } from './logger.interface';
/**
* A internal logger for using in the verbose renderer mostly.
*/
export declare class Logger {
private options?;
constructor(options?: LoggerOptions);
fail(message: string): void;
skip(message: string): void;
success(message: string): void;
data(message: string): void;
start(message: string): void;
title(message: string): void;
retry(message: string): void;
rollback(message: string): void;
protected parseMessage(level: LogLevels, message: string): string;
protected logColoring({ level, message }: {
level: LogLevels;
message: string;
}): string;
private wrapInBrackets;
}

6
node_modules/listr2/dist/utils/logger.interface.d.ts generated vendored Normal file
View File

@@ -0,0 +1,6 @@
/**
* Options for the logger
*/
export interface LoggerOptions {
useIcons: boolean;
}

2
node_modules/listr2/dist/utils/logger.interface.js generated vendored Normal file
View File

@@ -0,0 +1,2 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });

159
node_modules/listr2/dist/utils/logger.js generated vendored Normal file
View File

@@ -0,0 +1,159 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = void 0;
/* eslint-disable no-console */
const figures_1 = require("./figures");
const logger_constants_1 = require("./logger.constants");
const colorette_1 = require("./colorette");
/**
* A internal logger for using in the verbose renderer mostly.
*/
class Logger {
constructor(options) {
this.options = options;
}
fail(message) {
message = this.parseMessage(logger_constants_1.LogLevels.FAILED, message);
console.error(message);
}
skip(message) {
message = this.parseMessage(logger_constants_1.LogLevels.SKIPPED, message);
console.info(message);
}
success(message) {
message = this.parseMessage(logger_constants_1.LogLevels.SUCCESS, message);
console.log(message);
}
data(message) {
message = this.parseMessage(logger_constants_1.LogLevels.DATA, message);
console.info(message);
}
start(message) {
message = this.parseMessage(logger_constants_1.LogLevels.STARTED, message);
console.log(message);
}
title(message) {
message = this.parseMessage(logger_constants_1.LogLevels.TITLE, message);
console.info(message);
}
retry(message) {
message = this.parseMessage(logger_constants_1.LogLevels.RETRY, message);
console.warn(message);
}
rollback(message) {
message = this.parseMessage(logger_constants_1.LogLevels.ROLLBACK, message);
console.warn(message);
}
parseMessage(level, message) {
// parse multi line messages
let multiLineMessage;
try {
multiLineMessage = message.split('\n');
}
catch /* istanbul ignore next */ {
multiLineMessage = [message];
}
multiLineMessage = multiLineMessage.map((msg) => {
// format messages
return this.logColoring({
level,
message: msg
});
});
// join back multi line messages
message = multiLineMessage.join('\n');
return message;
}
logColoring({ level, message }) {
var _a, _b, _c, _d, _e, _f, _g, _h;
let icon;
// do the coloring
let coloring = (input) => {
return input;
};
switch (level) {
case logger_constants_1.LogLevels.FAILED:
/* istanbul ignore if */
if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.useIcons) {
coloring = colorette_1.default.red;
icon = figures_1.figures.cross;
}
else {
icon = this.wrapInBrackets(level);
}
break;
case logger_constants_1.LogLevels.SKIPPED:
/* istanbul ignore if */
if ((_b = this.options) === null || _b === void 0 ? void 0 : _b.useIcons) {
coloring = colorette_1.default.yellow;
icon = figures_1.figures.arrowDown;
}
else {
icon = this.wrapInBrackets(level);
}
break;
case logger_constants_1.LogLevels.SUCCESS:
/* istanbul ignore if */
if ((_c = this.options) === null || _c === void 0 ? void 0 : _c.useIcons) {
coloring = colorette_1.default.green;
icon = figures_1.figures.tick;
}
else {
icon = this.wrapInBrackets(level);
}
break;
case logger_constants_1.LogLevels.DATA:
/* istanbul ignore if */
if ((_d = this.options) === null || _d === void 0 ? void 0 : _d.useIcons) {
icon = figures_1.figures.arrowRight;
}
else {
icon = this.wrapInBrackets(level);
}
break;
case logger_constants_1.LogLevels.STARTED:
/* istanbul ignore if */
if ((_e = this.options) === null || _e === void 0 ? void 0 : _e.useIcons) {
icon = figures_1.figures.pointer;
}
else {
icon = this.wrapInBrackets(level);
}
break;
case logger_constants_1.LogLevels.TITLE:
/* istanbul ignore if */
if ((_f = this.options) === null || _f === void 0 ? void 0 : _f.useIcons) {
icon = figures_1.figures.checkboxOn;
}
else {
icon = this.wrapInBrackets(level);
}
break;
case logger_constants_1.LogLevels.RETRY:
/* istanbul ignore if */
if ((_g = this.options) === null || _g === void 0 ? void 0 : _g.useIcons) {
coloring = colorette_1.default.yellow;
icon = figures_1.figures.pointer;
}
else {
icon = this.wrapInBrackets(level);
}
break;
case logger_constants_1.LogLevels.ROLLBACK:
/* istanbul ignore if */
if ((_h = this.options) === null || _h === void 0 ? void 0 : _h.useIcons) {
coloring = colorette_1.default.red;
icon = figures_1.figures.arrowLeft;
}
else {
icon = this.wrapInBrackets(level);
}
break;
}
return coloring(`${icon} ${message}`);
}
wrapInBrackets(level) {
return `[${level}]`;
}
}
exports.Logger = Logger;

1
node_modules/listr2/dist/utils/parse-time.d.ts generated vendored Normal file
View File

@@ -0,0 +1 @@
export declare function parseTaskTime(duration: number): string;

19
node_modules/listr2/dist/utils/parse-time.js generated vendored Normal file
View File

@@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseTaskTime = void 0;
function parseTaskTime(duration) {
const seconds = Math.floor(duration / 1000);
const minutes = Math.floor(seconds / 60);
let parsedTime;
if (seconds === 0 && minutes === 0) {
parsedTime = `0.${Math.floor(duration / 100)}s`;
}
if (seconds > 0) {
parsedTime = `${seconds % 60}s`;
}
if (minutes > 0) {
parsedTime = `${minutes}m${parsedTime}`;
}
return parsedTime;
}
exports.parseTaskTime = parseTaskTime;

12
node_modules/listr2/dist/utils/prompt.d.ts generated vendored Normal file
View File

@@ -0,0 +1,12 @@
import { PromptOptions, PromptSettings } from './prompt.interface';
import { TaskWrapper } from '../lib/task-wrapper';
/**
* Create a new prompt with Enquirer externally.
* This extends enquirer so you dont have to give a name to single prompts and such so it is also
* useful to use externally.
* @param this
* @param options
* @param settings
*/
export declare function createPrompt(this: any, options: PromptOptions | PromptOptions<true>[], settings?: PromptSettings): Promise<any>;
export declare function destroyPrompt(this: TaskWrapper<any, any>, throwError?: boolean): void;

129
node_modules/listr2/dist/utils/prompt.interface.d.ts generated vendored Normal file
View File

@@ -0,0 +1,129 @@
/// <reference types="node" />
import * as Enquirer from 'enquirer';
import { WriteStream } from 'fs';
import { Writable } from 'stream';
import { PromptError } from '../interfaces/listr-error.interface';
/** Returns all the prompt options depending on the type selected. */
export declare type PromptOptions<T extends boolean = false> = Unionize<{
[K in PromptTypes]-?: T extends true ? {
type: K;
} & PromptOptionsType<K> & {
name: string | (() => string);
} : {
type: K;
} & PromptOptionsType<K>;
}> | ({
type: string;
} & T extends true ? PromptOptionsType<string> & {
name: string | (() => string);
} : PromptOptionsType<string>);
export declare type Unionize<T extends Record<string, unknown>> = {
[P in keyof T]: T[P];
}[keyof T];
interface BasePromptOptions {
message: string | (() => string) | (() => Promise<string>);
initial?: boolean | number | number[] | string | (() => string) | (() => Promise<string>);
required?: boolean;
stdin?: NodeJS.ReadStream;
stdout?: NodeJS.WriteStream;
header?: string;
footer?: string;
skip?(value: any): boolean | Promise<boolean>;
format?(value: any): any | Promise<any>;
result?(value: any): any | Promise<any>;
validate?(value: any, state: any): boolean | Promise<boolean> | string | Promise<string> | Promise<string | boolean>;
onSubmit?(name: any, value: any, prompt: Enquirer.Prompt): boolean | Promise<boolean>;
onCancel?(name: any, value: any, prompt: Enquirer.Prompt): boolean | Promise<boolean>;
}
interface BasePromptOptionsWithName extends BasePromptOptions {
name: string | (() => string);
}
interface ArrayPromptOptions extends BasePromptOptions {
choices: string[] | BasePromptOptionsWithName[];
maxChoices?: number;
multiple?: boolean;
initial?: number | number[];
delay?: number;
separator?: boolean;
sort?: boolean;
linebreak?: boolean;
edgeLength?: number;
align?: 'left' | 'right';
scroll?: boolean;
}
interface BooleanPromptOptions extends BasePromptOptions {
initial?: boolean | (() => string) | (() => Promise<string>);
}
interface StringPromptOptions extends BasePromptOptions {
initial?: string;
multiline?: boolean;
}
interface ScalePromptOptions extends ArrayPromptOptions {
scale: StringPromptOptions[];
margin?: [number, number, number, number];
}
interface NumberPromptOptions extends BasePromptOptions {
min?: number;
max?: number;
delay?: number;
float?: boolean;
round?: boolean;
major?: number;
minor?: number;
initial?: number;
}
interface SnippetPromptOptions extends BasePromptOptions {
newline?: string;
fields: Partial<BasePromptOptionsWithName>[];
template: string;
}
interface SortPromptOptions extends BasePromptOptions {
hint?: string;
drag?: boolean;
numbered?: boolean;
}
interface SurveyPromptOptions extends ArrayPromptOptions {
scale: BasePromptOptionsWithName[];
margin: [number, number, number, number];
}
interface QuizPromptOptions extends ArrayPromptOptions {
correctChoice: number;
}
interface TogglePromptOptions extends BasePromptOptions {
enabled?: string;
disabled?: string;
}
export declare type PromptTypes = 'AutoComplete' | 'BasicAuth' | 'Confirm' | 'Editable' | 'Form' | 'Input' | 'Invisible' | 'List' | 'MultiSelect' | 'Numeral' | 'Password' | 'Quiz' | 'Scale' | 'Select' | 'Snippet' | 'Sort' | 'Survey' | 'Text' | 'Toggle';
export declare type PromptOptionsType<T> = T extends keyof PromptOptionsMap ? PromptOptionsMap[T] : T extends string ? BasePromptOptions & Record<string, unknown> : any;
export declare class PromptOptionsMap implements Record<PromptTypes, Record<string, any>> {
AutoComplete: ArrayPromptOptions;
BasicAuth: StringPromptOptions;
Confirm: BooleanPromptOptions;
Editable: ArrayPromptOptions;
Form: ArrayPromptOptions;
Input: StringPromptOptions;
Invisible: StringPromptOptions;
List: ArrayPromptOptions;
MultiSelect: ArrayPromptOptions;
Numeral: NumberPromptOptions;
Password: StringPromptOptions;
Quiz: QuizPromptOptions;
Scale: ScalePromptOptions;
Select: ArrayPromptOptions;
Snippet: SnippetPromptOptions;
Sort: SortPromptOptions;
Survey: SurveyPromptOptions;
Text: StringPromptOptions;
Toggle: TogglePromptOptions;
}
export interface PromptSettings {
error?: boolean;
cancelCallback?: (settings?: PromptSettings) => string | Error | PromptError | void;
stdout?: WriteStream | Writable;
enquirer?: Enquirer;
}
export interface PromptInstance extends Omit<BasePromptOptions, 'onCancel' | 'onSubmit'> {
submit(): void;
cancel(err?: string): void;
}
export {};

2
node_modules/listr2/dist/utils/prompt.interface.js generated vendored Normal file
View File

@@ -0,0 +1,2 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });

110
node_modules/listr2/dist/utils/prompt.js generated vendored Normal file
View File

@@ -0,0 +1,110 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.destroyPrompt = exports.createPrompt = void 0;
const event_constants_1 = require("../constants/event.constants");
const state_constants_1 = require("../constants/state.constants");
const listr_error_interface_1 = require("../interfaces/listr-error.interface");
const task_wrapper_1 = require("../lib/task-wrapper");
/**
* Create a new prompt with Enquirer externally.
* This extends enquirer so you dont have to give a name to single prompts and such so it is also
* useful to use externally.
* @param this
* @param options
* @param settings
*/
async function createPrompt(options, settings) {
// override cancel callback
let cancelCallback;
/* istanbul ignore if */
if (settings === null || settings === void 0 ? void 0 : settings.cancelCallback) {
cancelCallback = settings.cancelCallback;
} /* istanbul ignore next */
else {
cancelCallback = defaultCancelCallback;
}
// assign default if there is single prompt
if (!Array.isArray(options)) {
options = [{ ...options, name: 'default' }];
} /* istanbul ignore next */
else if (options.length === 1) {
options = options.reduce((o, option) => {
return [...o, Object.assign(option, { name: 'default' })];
}, []);
}
// assign default enquirer options
options = options.reduce((o, option) => {
var _a;
return [
...o,
Object.assign(option, {
// this is for outside calls, if it is not called from taskwrapper with bind
stdout: this instanceof task_wrapper_1.TaskWrapper ? (_a = settings === null || settings === void 0 ? void 0 : settings.stdout) !== null && _a !== void 0 ? _a : this.stdout() : process.stdout,
onCancel: cancelCallback.bind(this, settings)
})
];
}, []);
let enquirer;
if (settings === null || settings === void 0 ? void 0 : settings.enquirer) {
// injected enquirer
enquirer = settings.enquirer;
}
else {
try {
enquirer = new (await Promise.resolve().then(() => require('enquirer')))();
} /* istanbul ignore next */
catch (e) {
this.task.prompt = new listr_error_interface_1.PromptError('Enquirer is a peer dependency that must be installed separately.');
throw new Error(e);
}
}
// i use this externally as well, this is a bandaid
if (this instanceof task_wrapper_1.TaskWrapper) {
// Capture the prompt instance so we can use it later
enquirer.on('prompt', (prompt) => this.task.prompt = prompt);
// Clear the prompt instance once it's submitted
// Can't use on cancel, since that might hold a PromptError object
enquirer.on('submit', () => this.task.prompt = undefined);
this.task.subscribe((event) => {
if (event.type === event_constants_1.ListrEventType.STATE && event.data === state_constants_1.ListrTaskState.SKIPPED) {
if (this.task.prompt && !(this.task.prompt instanceof listr_error_interface_1.PromptError)) {
this.task.prompt.submit();
}
}
});
}
const response = (await enquirer.prompt(options));
// return default name if it is single prompt
if (options.length === 1) {
return response.default;
}
else {
return response;
}
}
exports.createPrompt = createPrompt;
function destroyPrompt(throwError = false) {
if (!this.task.prompt || this.task.prompt instanceof listr_error_interface_1.PromptError) {
// If there's no prompt, can't cancel
return;
}
if (throwError) {
this.task.prompt.cancel();
}
else {
this.task.prompt.submit();
}
}
exports.destroyPrompt = destroyPrompt;
function defaultCancelCallback(settings) {
const errorMsg = 'Cancelled prompt.';
if (this instanceof task_wrapper_1.TaskWrapper) {
this.task.prompt = new listr_error_interface_1.PromptError(errorMsg);
} /* istanbul ignore next */
else if ((settings === null || settings === void 0 ? void 0 : settings.error) !== false) {
throw new Error(errorMsg);
} /* istanbul ignore next */
else {
return errorMsg;
}
}

3
node_modules/listr2/dist/utils/renderer.d.ts generated vendored Normal file
View File

@@ -0,0 +1,3 @@
import { ListrOptions } from '../interfaces/listr.interface';
import { SupportedRenderer, ListrRendererValue } from '../interfaces/renderer.interface';
export declare function getRenderer(renderer: ListrRendererValue, fallbackRenderer?: ListrRendererValue, fallbackCondition?: ListrOptions['rendererFallback'], silentCondition?: ListrOptions['rendererSilent']): SupportedRenderer;

40
node_modules/listr2/dist/utils/renderer.js generated vendored Normal file
View File

@@ -0,0 +1,40 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRenderer = void 0;
const default_renderer_1 = require("../renderer/default.renderer");
const silent_renderer_1 = require("../renderer/silent.renderer");
const simple_renderer_1 = require("../renderer/simple.renderer");
const verbose_renderer_1 = require("../renderer/verbose.renderer");
const assert_1 = require("./assert");
const renderers = {
default: default_renderer_1.DefaultRenderer,
simple: simple_renderer_1.SimpleRenderer,
verbose: verbose_renderer_1.VerboseRenderer,
silent: silent_renderer_1.SilentRenderer
};
function isRendererSupported(renderer) {
return process.stdout.isTTY === true || renderer.nonTTY === true;
}
function getRendererClass(renderer) {
if (typeof renderer === 'string') {
return renderers[renderer] || renderers.default;
}
return typeof renderer === 'function' ? renderer : renderers.default;
}
function getRenderer(renderer, fallbackRenderer, fallbackCondition, silentCondition) {
let returnValue;
let ret = getRendererClass(renderer);
returnValue = { renderer: ret, nonTTY: false };
const evaluateSilent = (0, assert_1.assertFunctionOrSelf)(silentCondition);
const evaluateFallback = (0, assert_1.assertFunctionOrSelf)(fallbackCondition);
if (evaluateSilent) {
ret = getRendererClass('silent');
returnValue = { renderer: ret, nonTTY: true };
}
else if (!isRendererSupported(ret) || evaluateFallback) {
ret = getRendererClass(fallbackRenderer);
returnValue = { renderer: ret, nonTTY: true };
}
return returnValue;
}
exports.getRenderer = getRenderer;

2
node_modules/listr2/dist/utils/uuid.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
/** Generate a basic uuid with no requirement of being unbelievable unique. */
export declare function generateUUID(): string;

12
node_modules/listr2/dist/utils/uuid.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateUUID = void 0;
/** Generate a basic uuid with no requirement of being unbelievable unique. */
function generateUUID() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
const r = Math.random() * 16 || 0;
const v = c === 'x' ? r : r && 0x3 || 0x8;
return v.toString(16);
});
}
exports.generateUUID = generateUUID;