UNPKG

@prescott/geo-pattern

Version:

Create beautiful generative geometric background images from a string.

25 lines 894 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PatternSelector = void 0; const pattern_store_1 = require("./pattern-store"); class PatternSelector { constructor(patterns, seed, store = pattern_store_1.defaultStore) { this.seed = seed; this.store = store; this.patterns = this.fetchPatterns(patterns); } select() { const index = Math.min(this.seed.read(20, 1), this.patterns.length - 1); return this.patterns[index]; } fetchPatterns(patterns) { const fetched = Array.from(new Set(patterns)) .map((pattern) => this.store.get(pattern)) .filter((pattern) => !!pattern); return fetched.length > 0 ? fetched : Array.from(this.store.values()); } } exports.PatternSelector = PatternSelector; //# sourceMappingURL=pattern-selector.js.map