1234567891011121314151617181920212223242526 |
- import { VERSION } from './_setup.js';
- // If Underscore is called as a function, it returns a wrapped object that can
- // be used OO-style. This wrapper holds altered versions of all functions added
- // through `_.mixin`. Wrapped objects may be chained.
- export default function _(obj) {
- if (obj instanceof _) return obj;
- if (!(this instanceof _)) return new _(obj);
- this._wrapped = obj;
- }
- _.VERSION = VERSION;
- // Extracts the result from a wrapped and chained object.
- _.prototype.value = function() {
- return this._wrapped;
- };
- // Provide unwrapping proxies for some methods used in engine operations
- // such as arithmetic and JSON stringification.
- _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;
- _.prototype.toString = function() {
- return String(this._wrapped);
- };
|