javascript-obfuscator
Version:
JavaScript obfuscator
61 lines (50 loc) • 1.57 kB
text/typescript
export class Utils {
/**
* @type {string}
*/
public static readonly baseMultipleSourcesIdentifiersPrefix: string = 'a';
/**
* @type {string}
*/
public static readonly hexadecimalPrefix: string = '0x';
/**
* @param {string} version
* @param {string} buildTimestamp
* @returns {string}
*/
public static buildVersionMessage (version?: string, buildTimestamp?: string): string {
if (!version || !buildTimestamp) {
return 'unknown';
}
const buildDate: string = new Date(parseInt(buildTimestamp, 10)).toISOString();
return `${version}_${buildDate}`;
}
/**
* @param {string} url
* @returns {string}
*/
public static extractDomainFrom (url: string): string {
let domain: string;
if (url.includes('://') || url.indexOf('//') === 0) {
domain = url.split('/')[2];
} else {
domain = url.split('/')[0];
}
domain = domain.split(':')[0];
return domain;
}
/**
* @param {string | undefined} identifiersPrefix
* @param {number} sourceCodeIndex
* @returns {string}
*/
public static getIdentifiersPrefixForMultipleSources (
identifiersPrefix: string | undefined,
sourceCodeIndex: number
): string {
const baseIdentifiersPrefix: string = !!identifiersPrefix
? identifiersPrefix
: Utils.baseMultipleSourcesIdentifiersPrefix;
return `${baseIdentifiersPrefix}${sourceCodeIndex}`;
}
}