lifehash
Version:
TypeScript/JavaScript implementation of LifeHash, a visual hash algorithm
23 lines (22 loc) • 751 B
JavaScript
import { LifeHashVersion } from './types/LifeHashVersion.js';
export var PatternType;
(function (PatternType) {
PatternType[PatternType["snowflake"] = 0] = "snowflake";
PatternType[PatternType["pinwheel"] = 1] = "pinwheel";
PatternType[PatternType["fiducial"] = 2] = "fiducial";
})(PatternType || (PatternType = {}));
export class Pattern {
static select_pattern(entropy, version) {
if ([LifeHashVersion.fiducial, LifeHashVersion.grayscale_fiducial].includes(version)) {
return PatternType.fiducial;
}
else {
if (entropy.next()) {
return PatternType.snowflake;
}
else {
return PatternType.pinwheel;
}
}
}
}