@nlabs/arkhamjs-utils-react
Version:
ArkhamJS React Utilities
20 lines (19 loc) • 2.24 kB
JavaScript
/**
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
*/ import { isPlainObject } from '@nlabs/utils/checks/isPlainObject';
import { merge } from '@nlabs/utils/objects/merge';
import { useState as useReactState } from 'react';
export const useState = (initialState)=>{
const [state, setNewState] = useReactState((prevState)=>{
if (isPlainObject(initialState)) {
return merge(prevState, initialState);
}
return initialState;
});
return [
state,
setNewState
];
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2Fya2hhbWpzL3BhY2thZ2VzL2Fya2hhbWpzLXV0aWxzLXJlYWN0L3NyYy91c2VTdGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtpc1BsYWluT2JqZWN0fSBmcm9tICdAbmxhYnMvdXRpbHMvY2hlY2tzL2lzUGxhaW5PYmplY3QnO1xuaW1wb3J0IHttZXJnZX0gZnJvbSAnQG5sYWJzL3V0aWxzL29iamVjdHMvbWVyZ2UnO1xuaW1wb3J0IHt1c2VTdGF0ZSBhcyB1c2VSZWFjdFN0YXRlfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBjb25zdCB1c2VTdGF0ZSA9IChpbml0aWFsU3RhdGU6IGFueSkgPT4ge1xuICBjb25zdCBbc3RhdGUsIHNldE5ld1N0YXRlXSA9IHVzZVJlYWN0U3RhdGUoXG4gICAgKHByZXZTdGF0ZTogYW55KSA9PiB7XG4gICAgICBpZihpc1BsYWluT2JqZWN0KGluaXRpYWxTdGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIG1lcmdlKHByZXZTdGF0ZSwgaW5pdGlhbFN0YXRlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGluaXRpYWxTdGF0ZTtcbiAgICB9KTtcblxuICByZXR1cm4gW1xuICAgIHN0YXRlLFxuICAgIHNldE5ld1N0YXRlXG4gIF07XG59O1xuIl0sIm5hbWVzIjpbImlzUGxhaW5PYmplY3QiLCJtZXJnZSIsInVzZVN0YXRlIiwidXNlUmVhY3RTdGF0ZSIsImluaXRpYWxTdGF0ZSIsInN0YXRlIiwic2V0TmV3U3RhdGUiLCJwcmV2U3RhdGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLGFBQWEsUUFBTyxvQ0FBb0M7QUFDaEUsU0FBUUMsS0FBSyxRQUFPLDZCQUE2QjtBQUNqRCxTQUFRQyxZQUFZQyxhQUFhLFFBQU8sUUFBUTtBQUVoRCxPQUFPLE1BQU1ELFdBQVcsQ0FBQ0U7SUFDdkIsTUFBTSxDQUFDQyxPQUFPQyxZQUFZLEdBQUdILGNBQzNCLENBQUNJO1FBQ0MsSUFBR1AsY0FBY0ksZUFBZTtZQUM5QixPQUFPSCxNQUFNTSxXQUFXSDtRQUMxQjtRQUVBLE9BQU9BO0lBQ1Q7SUFFRixPQUFPO1FBQ0xDO1FBQ0FDO0tBQ0Q7QUFDSCxFQUFFIn0=