diff options
author | Sam Wilkins <samwilkins333@gmail.com> | 2020-05-05 02:48:09 -0700 |
---|---|---|
committer | Sam Wilkins <samwilkins333@gmail.com> | 2020-05-05 02:48:09 -0700 |
commit | df6f48825f37dba00c28bf8d0088b1bd0174095d (patch) | |
tree | 842488e1ab1c76856b888e2edfc2b6d3f0b58f8c /src/Utils.ts | |
parent | aa1eb6ba4217fb48ab10539ca0373b4a1f649192 (diff) | |
parent | ef78d21ca79b62f57b4f32dfd8309eed5616377c (diff) |
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web
Diffstat (limited to 'src/Utils.ts')
-rw-r--r-- | src/Utils.ts | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/Utils.ts b/src/Utils.ts index 23b59ac9d..732f74bfc 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -313,14 +313,18 @@ export namespace Utils { } } -export function OmitKeys(obj: any, keys: string[], addKeyFunc?: (dup: any) => void): { omit: any, extract: any } { +export function OmitKeys(obj: any, keys: string[], pattern?: string, addKeyFunc?: (dup: any) => void): { omit: any, extract: any } { const omit: any = { ...obj }; const extract: any = {}; keys.forEach(key => { extract[key] = omit[key]; delete omit[key]; }); - addKeyFunc && addKeyFunc(omit); + pattern && Array.from(Object.keys(omit)).filter(key => key.match(pattern)).forEach(key => { + extract[key] = omit[key]; + delete omit[key]; + }) + addKeyFunc?.(omit); return { omit, extract }; } |