diff options
| author | bobzel <zzzman@gmail.com> | 2024-05-19 01:01:02 -0400 | 
|---|---|---|
| committer | bobzel <zzzman@gmail.com> | 2024-05-19 01:01:02 -0400 | 
| commit | 6e72f969029c22fe797397a6437836a0482260b6 (patch) | |
| tree | e8ccde75702e557b2226c9069263e1bc3bd21a4b /src/server/DashSession/Session/utilities/utilities.ts | |
| parent | 5ff0bef5d3c4825aa7210a26c98aae3b24f4a835 (diff) | |
| parent | 13dc6de0e0099f699ad0d2bb54401e6a0aa25018 (diff) | |
Merge branch 'restoringEslint' into alyssa-starter
Diffstat (limited to 'src/server/DashSession/Session/utilities/utilities.ts')
| -rw-r--r-- | src/server/DashSession/Session/utilities/utilities.ts | 43 | 
1 files changed, 21 insertions, 22 deletions
| diff --git a/src/server/DashSession/Session/utilities/utilities.ts b/src/server/DashSession/Session/utilities/utilities.ts index eb8de9d7e..a2ba29c67 100644 --- a/src/server/DashSession/Session/utilities/utilities.ts +++ b/src/server/DashSession/Session/utilities/utilities.ts @@ -1,31 +1,16 @@ -import { v4 } from "uuid"; +import { v4 } from 'uuid';  export namespace Utilities { -      export function guid() {          return v4();      } -    /** -         * At any arbitrary layer of nesting within the configuration objects, any single value that -         * is not specified by the configuration is given the default counterpart. If, within an object, -         * one peer is given by configuration and two are not, the one is preserved while the two are given -         * the default value. -         * @returns the composition of all of the assigned objects, much like Object.assign(), but with more -         * granularity in the overwriting of nested objects -         */ -    export function preciseAssign(target: any, ...sources: any[]): any { -        for (const source of sources) { -            preciseAssignHelper(target, source); -        } -        return target; -    } -      export function preciseAssignHelper(target: any, source: any) { -        Array.from(new Set([...Object.keys(target), ...Object.keys(source)])).map(property => { -            let targetValue: any, sourceValue: any; -            if (sourceValue = source[property]) { -                if (typeof sourceValue === "object" && typeof (targetValue = target[property]) === "object") { +        Array.from(new Set([...Object.keys(target), ...Object.keys(source)])).forEach(property => { +            const targetValue = target[property]; +            const sourceValue = source[property]; +            if (sourceValue) { +                if (typeof sourceValue === 'object' && typeof targetValue === 'object') {                      preciseAssignHelper(targetValue, sourceValue);                  } else {                      target[property] = sourceValue; @@ -34,4 +19,18 @@ export namespace Utilities {          });      } -}
\ No newline at end of file +    /** +     * At any arbitrary layer of nesting within the configuration objects, any single value that +     * is not specified by the configuration is given the default counterpart. If, within an object, +     * one peer is given by configuration and two are not, the one is preserved while the two are given +     * the default value. +     * @returns the composition of all of the assigned objects, much like Object.assign(), but with more +     * granularity in the overwriting of nested objects +     */ +    export function preciseAssign(target: any, ...sources: any[]): any { +        sources.forEach(source => { +            preciseAssignHelper(target, source); +        }); +        return target; +    } +} | 
