UNPKG

space-lift

Version:

TypeScript Array, Object, Map, Set, Union, Enum utils

28 lines (27 loc) 823 B
"use strict"; 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;