color-theme-generator
Version:
Generates random color themes that are based in color theory.
55 lines (54 loc) • 3.78 kB
JavaScript
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;
};