mirror of
https://github.com/JamesIves/github-pages-deploy-action.git
synced 2023-12-15 20:03:39 +08:00
28 lines
629 B
Plaintext
28 lines
629 B
Plaintext
// @flow strict
|
|
|
|
import objectEntries from '../polyfills/objectEntries';
|
|
|
|
import {
|
|
type ObjMap,
|
|
type ObjMapLike,
|
|
type ReadOnlyObjMap,
|
|
type ReadOnlyObjMapLike,
|
|
} from './ObjMap';
|
|
|
|
/* eslint-disable no-redeclare */
|
|
declare function toObjMap<T>(obj: ObjMapLike<T>): ObjMap<T>;
|
|
declare function toObjMap<T>(obj: ReadOnlyObjMapLike<T>): ReadOnlyObjMap<T>;
|
|
|
|
export default function toObjMap(obj) {
|
|
/* eslint-enable no-redeclare */
|
|
if (Object.getPrototypeOf(obj) === null) {
|
|
return obj;
|
|
}
|
|
|
|
const map = Object.create(null);
|
|
for (const [key, value] of objectEntries(obj)) {
|
|
map[key] = value;
|
|
}
|
|
return map;
|
|
}
|