UNPKG

color-theme-generator

Version:

Generates random color themes that are based in color theory.

55 lines (54 loc) 3.78 kB
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; var _NumberGenerator_instances, _NumberGenerator_validator, _NumberGenerator_generateNumber, _NumberGenerator_addDeviationToRefrence, _NumberGenerator_subtractDeviationFromRefrence; import { MaxMinObject } from './MaxMinObject.js'; import { Validator } from './Validator.js'; export class NumberGenerator { constructor() { _NumberGenerator_instances.add(this); _NumberGenerator_validator.set(this, void 0); __classPrivateFieldSet(this, _NumberGenerator_validator, new Validator(), "f"); } /** * Generates a random number between the given arguments. * * @param limits - An object containing the properties max and min. * @returns The newly generated number. */ generateRandomNumber(limits) { __classPrivateFieldGet(this, _NumberGenerator_validator, "f").validateNumberArgument(limits.max); __classPrivateFieldGet(this, _NumberGenerator_validator, "f").validateNumberArgument(limits.min); return __classPrivateFieldGet(this, _NumberGenerator_instances, "m", _NumberGenerator_generateNumber).call(this, limits); } /** * Varies a number by generating a new random number that is within +- 10 from the argument. * If number was 40, the newly generated number would be between 30 and 50. * * @param refrenceNumber - The number that is used a refrence for the new number. * @returns The newly generated number that is inside the deviation. */ adjustNumberWithin10(refrenceNumber) { __classPrivateFieldGet(this, _NumberGenerator_validator, "f").validateNumberArgument(refrenceNumber); const maxLimit = __classPrivateFieldGet(this, _NumberGenerator_instances, "m", _NumberGenerator_addDeviationToRefrence).call(this, refrenceNumber); const minLimit = __classPrivateFieldGet(this, _NumberGenerator_instances, "m", _NumberGenerator_subtractDeviationFromRefrence).call(this, refrenceNumber); return __classPrivateFieldGet(this, _NumberGenerator_instances, "m", _NumberGenerator_generateNumber).call(this, new MaxMinObject(maxLimit, minLimit)); } } _NumberGenerator_validator = new WeakMap(), _NumberGenerator_instances = new WeakSet(), _NumberGenerator_generateNumber = function _NumberGenerator_generateNumber(limits) { return Math.round(Math.random() * (limits.max - limits.min) + limits.min); }, _NumberGenerator_addDeviationToRefrence = function _NumberGenerator_addDeviationToRefrence(refrence) { const deviation = 10; return refrence + deviation; }, _NumberGenerator_subtractDeviationFromRefrence = function _NumberGenerator_subtractDeviationFromRefrence(refrence) { const deviation = 10; return refrence - deviation; };