UNPKG

lifehash

Version:

TypeScript/JavaScript implementation of LifeHash, a visual hash algorithm

27 lines (26 loc) 955 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Pattern = exports.PatternType = void 0; const LifeHashVersion_1 = require("./types/LifeHashVersion"); var PatternType; (function (PatternType) { PatternType[PatternType["snowflake"] = 0] = "snowflake"; PatternType[PatternType["pinwheel"] = 1] = "pinwheel"; PatternType[PatternType["fiducial"] = 2] = "fiducial"; })(PatternType = exports.PatternType || (exports.PatternType = {})); class Pattern { static select_pattern(entropy, version) { if ([LifeHashVersion_1.LifeHashVersion.fiducial, LifeHashVersion_1.LifeHashVersion.grayscale_fiducial].includes(version)) { return PatternType.fiducial; } else { if (entropy.next()) { return PatternType.snowflake; } else { return PatternType.pinwheel; } } } } exports.Pattern = Pattern;