space-lift
Version:
TypeScript Array, Object, Map, Set, Union, Enum utils
28 lines (27 loc) • 823 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.pipe = exports.lift = void 0;
const array_1 = require("./array");
const map_1 = require("./map");
const object_1 = require("./object");
const set_1 = require("./set");
const wrapper_1 = require("./wrapper");
const is = require("./is");
const lift = function (obj) {
if (wrapper_1.isWrapper(obj))
return obj;
if (is.object(obj))
return new object_1.ObjectWrapper(obj);
if (obj instanceof Array)
return new array_1.ArrayWrapper(obj);
if (obj instanceof Map)
return new map_1.MapWrapper(obj);
if (obj instanceof Set)
return new set_1.SetWrapper(obj);
return obj;
};
exports.lift = lift;
function pipe(func) {
return exports.lift(func(this.value()));
}
exports.pipe = pipe;