Skip to content

Commit 7b389a9

Browse files
committed
feat(schema): add ObjectMapFromArray helper
1 parent 85a79b4 commit 7b389a9

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

packages/schemas/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ export * from './lib/encryption';
22
export * from './lib/models';
33
export * from './lib/schemas';
44
export * from './lib/validation';
5+
export * from './lib/transformers';
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* @example
3+
* const obj = ['a', 'b', 'c']
4+
* ObjectMapFromArray(obj) // { a: 'a', b: 'b', c: 'c' }
5+
*/
6+
export const ObjectMapFromArray = <T extends readonly string[]>(arr: T) => {
7+
return arr.reduce(
8+
(acc, scope) => ({ ...acc, [scope]: scope }),
9+
{} as { [K in T[number]]: K }
10+
);
11+
};
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './ObjectMapFromArray';

0 commit comments

Comments
 (0)