Spaces:
Sleeping
Sleeping
| /** | |
| * 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 }; | |