react-magic-state
Version:
React state management without the hassle.
24 lines (23 loc) • 807 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const array_1 = require("./handlers/array");
const set_1 = require("./handlers/set");
const map_1 = require("./handlers/map");
const object_1 = require("./handlers/object");
const canObserve_1 = require("./canObserve");
function createHandler(target) {
if (!canObserve_1.canObserve(target)) {
throw new Error("target type is not supported.");
}
if (target instanceof Array) {
return new array_1.ArrayHandler(target);
}
if (target instanceof Set) {
return new set_1.SetHandler(target);
}
if (target instanceof Map) {
return new map_1.MapHandler(target);
}
return new object_1.ObjectHandler(target);
}
exports.createHandler = createHandler;