1234567891011121314151617181920212223242526272829303132 |
- /**
- * Sets a constant default value for the property when it is undefined.
- * @template T
- * @template {keyof T} Property
- * @param {T} object An object.
- * @param {Property} property A property of the provided object.
- * @param {T[Property]} [defaultValue] The default value to set for the property.
- * @returns {T[Property]} The defaulted property value.
- */
- const d = (object, property, defaultValue) => {
- if (typeof object[property] === 'undefined' && typeof defaultValue !== 'undefined') {
- object[property] = defaultValue;
- }
- return object[property];
- };
- /**
- * Resolves the value for a nested object option.
- * @template T
- * @template {keyof T} Property
- * @template Result
- * @param {T} object An object.
- * @param {Property} property A property of the provided object.
- * @param {function(T | undefined): Result} fn The handler to resolve the property's value.
- * @returns {Result} The resolved option value.
- */
- const n = (object, property, fn) => {
- object[property] = fn(object[property]);
- return object[property];
- };
- module.exports = { d, n };
|