{"version":3,"sources":["jsdelivr-header.js","/npm/angular2-meteor@0.8.0/dist/bundles/index.umd.js"],"names":[],"mappings":"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","file":"/npm/angular2-meteor@0.8.0/dist/bundles/index.umd.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/angular2-meteor@0.8.0/dist/bundles/index.umd.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('underscore'), require('@angular/core')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'underscore', '@angular/core'], factory) :\n\t(factory((global.ng = global.ng || {}, global.ng.meteor = {}),global.underscore,global.ng.core));\n}(this, (function (exports,_,core) { 'use strict';\n\n'use strict';\nvar subscribeEvents = ['onReady', 'onError', 'onStop'];\nfunction isMeteorCallbacks(callbacks) {\n    return _.isFunction(callbacks) || isCallbacksObject(callbacks);\n}\n// Checks if callbacks of {@link CallbacksObject} type.\nfunction isCallbacksObject(callbacks) {\n    return callbacks && subscribeEvents.some(function (event) {\n        return _.isFunction(callbacks[event]);\n    });\n}\nvar g = typeof global === 'object' ? global :\n    typeof window === 'object' ? window :\n        typeof self === 'object' ? self : undefined;\nvar gZone = g.Zone.current;\nvar check = Package['check'].check;\n/* tslint:disable */\n\nfunction debounce(func, wait, onInit) {\n    var timeout, result, data;\n    var later = function (context, args) {\n        timeout = null;\n        result = func.apply(context, args.concat([data]));\n    };\n    var debounced = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        if (!timeout) {\n            data = onInit && onInit();\n        }\n        if (timeout) {\n            clearTimeout(timeout);\n        }\n        timeout = _.delay(later, wait, this, args);\n        return result;\n    };\n    return debounced;\n}\n\nfunction noop() { }\nfunction isListLikeIterable(obj) {\n    if (!isJsObject(obj))\n        return false;\n    return isArray(obj) ||\n        (!(obj instanceof Map) && // JS Map are iterables but return entries as [k, v]\n            getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop\n}\nfunction isArray(obj) {\n    return Array.isArray(obj);\n}\nfunction isPresent(obj) {\n    return obj !== undefined && obj !== null;\n}\nfunction isBlank(obj) {\n    return obj === undefined || obj === null;\n}\nfunction isJsObject(o) {\n    return o !== null && (typeof o === 'function' || typeof o === 'object');\n}\nvar _symbolIterator = null;\nfunction getSymbolIterator() {\n    if (isBlank(_symbolIterator)) {\n        if (isPresent(g.Symbol) && isPresent(Symbol.iterator)) {\n            _symbolIterator = Symbol.iterator;\n        }\n        else {\n            // es6-shim specific logic\n            var keys = Object.getOwnPropertyNames(Map.prototype);\n            for (var i = 0; i < keys.length; ++i) {\n                var key = keys[i];\n                if (key !== 'entries' && key !== 'size' &&\n                    Map.prototype[key] === Map.prototype['entries']) {\n                    _symbolIterator = key;\n                }\n            }\n        }\n    }\n    return _symbolIterator;\n}\n\n'use strict';\n/**\n * Contains a set of methods to schedule Zone runs.\n * Supposed to be used mostly in @MeteorReactive to patch\n * Meteor methods' callbacks.\n * After patching, callbacks will be run in the global zone\n * (i.e. outside of Angular 2), at the same time,\n * a Angular 2 zone run will be scheduled in order to\n * initiate UI update. In order to reduce number of\n * UI updates caused by the callbacks near the same time,\n * zone runs are debounced.\n */\nvar ZoneRunScheduler = /** @class */ (function () {\n    function ZoneRunScheduler() {\n        this._zoneTasks = new Map();\n        this._onRunCbs = new Map();\n    }\n    ZoneRunScheduler.prototype.zoneRun = function (zone) {\n        var _this = this;\n        return function () {\n            zone.run(noop);\n            _this._runAfterRunCbs(zone);\n            _this._zoneTasks.delete(zone);\n        };\n    };\n    ZoneRunScheduler.prototype.runZones = function () {\n        this._zoneTasks.forEach(function (task, zone) {\n            task.invoke();\n        });\n    };\n    ZoneRunScheduler.prototype._runAfterRunCbs = function (zone) {\n        if (this._onRunCbs.has(zone)) {\n            var cbs = this._onRunCbs.get(zone);\n            while (cbs.length !== 0) {\n                (cbs.pop())();\n            }\n            this._onRunCbs.delete(zone);\n        }\n    };\n    ZoneRunScheduler.prototype.scheduleRun = function (zone) {\n        if (zone === gZone) {\n            return;\n        }\n        var runTask = this._zoneTasks.get(zone);\n        if (runTask) {\n            runTask.cancelFn(runTask);\n            this._zoneTasks.delete(zone);\n        }\n        runTask = gZone.scheduleMacroTask('runZones', this.zoneRun(zone), { isPeriodic: true }, function (task) {\n            task._tHandler = setTimeout(task.invoke);\n        }, function (task) {\n            clearTimeout(task._tHandler);\n        });\n        this._zoneTasks.set(zone, runTask);\n    };\n    ZoneRunScheduler.prototype.onAfterRun = function (zone, cb) {\n        check(cb, Function);\n        if (!this._zoneTasks.has(zone)) {\n            cb();\n            return;\n        }\n        var cbs = this._onRunCbs.get(zone);\n        if (!cbs) {\n            cbs = [];\n            this._onRunCbs.set(zone, cbs);\n        }\n        cbs.push(cb);\n    };\n    return ZoneRunScheduler;\n}());\nvar zoneRunScheduler = new ZoneRunScheduler();\nfunction wrapFuncInZone(zone, method, context) {\n    return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        gZone.run(function () {\n            method.apply(context, args);\n        });\n        zoneRunScheduler.scheduleRun(zone);\n    };\n}\nfunction wrapCallbackInZone(zone, callback, context) {\n    if (_.isFunction(callback)) {\n        return wrapFuncInZone(zone, callback, context);\n    }\n    for (var _i = 0, _a = _.functions(callback); _i < _a.length; _i++) {\n        var fn = _a[_i];\n        callback[fn] = wrapFuncInZone(zone, callback[fn], context);\n    }\n    return callback;\n}\nfunction scheduleMicroTask(fn) {\n    Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n\n'use strict';\nvar CursorHandle = /** @class */ (function () {\n    function CursorHandle(hCurObserver, hAutoNotify) {\n        check(hAutoNotify, Match.Optional(Tracker.Computation));\n        check(hCurObserver, Match.Where(function (observer) {\n            return !!observer.stop;\n        }));\n        this._hAutoNotify = hAutoNotify;\n        this._hCurObserver = hCurObserver;\n    }\n    CursorHandle.prototype.stop = function () {\n        if (this._hAutoNotify) {\n            this._hAutoNotify.stop();\n        }\n        this._hCurObserver.stop();\n    };\n    return CursorHandle;\n}());\n\n'use strict';\nvar AddChange = /** @class */ (function () {\n    function AddChange(index, item) {\n        this.index = index;\n        this.item = item;\n    }\n    return AddChange;\n}());\nvar UpdateChange = /** @class */ (function () {\n    function UpdateChange(index, item) {\n        this.index = index;\n        this.item = item;\n    }\n    return UpdateChange;\n}());\nvar MoveChange = /** @class */ (function () {\n    function MoveChange(fromIndex, toIndex) {\n        this.fromIndex = fromIndex;\n        this.toIndex = toIndex;\n    }\n    return MoveChange;\n}());\nvar RemoveChange = /** @class */ (function () {\n    function RemoveChange(index) {\n        this.index = index;\n    }\n    return RemoveChange;\n}());\n/**\n * Class that does a background work of observing\n * Mongo collection changes (through a cursor)\n * and notifying subscribers about them.\n */\nvar MongoCursorObserver = /** @class */ (function (_super) {\n    __extends(MongoCursorObserver, _super);\n    function MongoCursorObserver(cursor, _debounceMs) {\n        if (_debounceMs === void 0) { _debounceMs = 50; }\n        var _this = _super.call(this) || this;\n        _this._debounceMs = _debounceMs;\n        _this._lastChanges = [];\n        _this._ngZone = g.Zone.current;\n        _this._isSubscribed = false;\n        check(cursor, Match.Where(MongoCursorObserver.isCursor));\n        _this._cursor = cursor;\n        return _this;\n    }\n    MongoCursorObserver.isCursor = function (cursor) {\n        return cursor && !!cursor.observe;\n    };\n    MongoCursorObserver.prototype.subscribe = function (events) {\n        var sub = _super.prototype.subscribe.call(this, events);\n        // Start processing of the cursor lazily.\n        if (!this._isSubscribed) {\n            this._isSubscribed = true;\n            this._hCursor = this._processCursor(this._cursor);\n        }\n        return sub;\n    };\n    Object.defineProperty(MongoCursorObserver.prototype, \"lastChanges\", {\n        get: function () {\n            return this._lastChanges;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    MongoCursorObserver.prototype.destroy = function () {\n        if (this._hCursor) {\n            this._hCursor.stop();\n        }\n        this._hCursor = null;\n    };\n    MongoCursorObserver.prototype._processCursor = function (cursor) {\n        // On the server side fetch data, don't observe.\n        if (Meteor.isServer) {\n            var changes = [];\n            var index = 0;\n            for (var _i = 0, _a = cursor.fetch(); _i < _a.length; _i++) {\n                var doc = _a[_i];\n                changes.push(this._addAt(doc, index++));\n            }\n            this.emit(changes);\n            return null;\n        }\n        var hCurObserver = this._startCursorObserver(cursor);\n        return new CursorHandle(hCurObserver);\n    };\n    MongoCursorObserver.prototype._startCursorObserver = function (cursor) {\n        var _this = this;\n        var changes = [];\n        var callEmit = function () {\n            _this.emit(changes.slice());\n            changes.length = 0;\n        };\n        // Since cursor changes are now applied in bulk\n        // (due to emit debouncing), scheduling macro task\n        // allows us to use MeteorApp.onStable,\n        // i.e. to know when the app is stable.\n        var scheduleEmit = function () {\n            return _this._ngZone.scheduleMacroTask('emit', callEmit, null, noop);\n        };\n        var init = false;\n        var runTask = function (task) {\n            task.invoke();\n            _this._ngZone.run(noop);\n            init = true;\n        };\n        var emit = null;\n        if (this._debounceMs) {\n            emit = debounce(function (task) { return runTask(task); }, this._debounceMs, scheduleEmit);\n        }\n        else {\n            var initAdd_1 = debounce(function (task) { return runTask(task); }, 0, scheduleEmit);\n            emit = function () {\n                // This is for the case when cursor.observe\n                // is called multiple times in a row\n                // when the initial docs are being added.\n                if (!init) {\n                    initAdd_1();\n                    return;\n                }\n                runTask(scheduleEmit());\n            };\n        }\n        return gZone.run(function () { return cursor.observe({\n            addedAt: function (doc, index) {\n                var change = _this._addAt(doc, index);\n                changes.push(change);\n                emit();\n            },\n            changedAt: function (nDoc, oDoc, index) {\n                var change = _this._updateAt(nDoc, index);\n                changes.push(change);\n                emit();\n            },\n            movedTo: function (doc, fromIndex, toIndex) {\n                var change = _this._moveTo(doc, fromIndex, toIndex);\n                changes.push(change);\n                emit();\n            },\n            removedAt: function (doc, atIndex) {\n                var change = _this._removeAt(atIndex);\n                changes.push(change);\n                emit();\n            }\n        }); });\n    };\n    MongoCursorObserver.prototype._updateAt = function (doc, index) {\n        return new UpdateChange(index, doc);\n    };\n    MongoCursorObserver.prototype._addAt = function (doc, index) {\n        var change = new AddChange(index, doc);\n        return change;\n    };\n    MongoCursorObserver.prototype._moveTo = function (doc, fromIndex, toIndex) {\n        return new MoveChange(fromIndex, toIndex);\n    };\n    MongoCursorObserver.prototype._removeAt = function (index) {\n        return new RemoveChange(index);\n    };\n    return MongoCursorObserver;\n}(core.EventEmitter));\n\n'use strict';\n// Not exported anymore by Angular: https://github.com/angular/angular/blob/4.4.5/packages/core/src/util.ts#L58\nfunction stringify(token) {\n    if (typeof token === 'string') {\n        return token;\n    }\n    if (token == null) {\n        return '' + token;\n    }\n    if (token.overriddenName) {\n        return \"\" + token.overriddenName;\n    }\n    if (token.name) {\n        return \"\" + token.name;\n    }\n    var res = token.toString();\n    if (res == null) {\n        return '' + res;\n    }\n    var newLineIndex = res.indexOf('\\n');\n    return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\n// Not exported anymore by Angular: https://github.com/angular/angular/blob/4.4.5/packages/core/src/change_detection/differs/default_iterable_differ.ts#L603\nvar IterableChangeRecord = /** @class */ (function () {\n    function IterableChangeRecord(item, trackById) {\n        this.item = item;\n        this.trackById = trackById;\n        this.currentIndex = null;\n        this.previousIndex = null;\n        this._nextPrevious = null;\n        this._prev = null;\n        this._next = null;\n        this._prevDup = null;\n        this._nextDup = null;\n        this._prevRemoved = null;\n        this._nextRemoved = null;\n        this._nextAdded = null;\n        this._nextMoved = null;\n        this._nextIdentityChange = null;\n    }\n    IterableChangeRecord.prototype.toString = function () {\n        return this.previousIndex === this.currentIndex ? stringify(this.item) :\n            stringify(this.item) + '[' +\n                stringify(this.previousIndex) + '->' + stringify(this.currentIndex) + ']';\n    };\n    return IterableChangeRecord;\n}());\nfunction checkIfMongoCursor(cursor) {\n    return MongoCursorObserver.isCursor(cursor);\n}\n// Creates an MongoCursorObserver instance for a Mongo.Cursor instance.\n// Add one more level of abstraction, but currently is not really needed.\nvar MongoCursorObserverFactory = /** @class */ (function () {\n    function MongoCursorObserverFactory() {\n    }\n    MongoCursorObserverFactory.prototype.create = function (cursor) {\n        if (checkIfMongoCursor(cursor)) {\n            return new MongoCursorObserver(cursor);\n        }\n        return null;\n    };\n    return MongoCursorObserverFactory;\n}());\n// An instance of this factory (see providers.ts) is registered globally\n// as one of the providers of collection differs.\n// These providers are being checked by an ngFor instance to find out which\n// differ it needs to create and use for the current collection.\nvar MongoCursorDifferFactory = /** @class */ (function () {\n    function MongoCursorDifferFactory() {\n    }\n    MongoCursorDifferFactory.prototype.supports = function (obj) { return checkIfMongoCursor(obj); };\n    MongoCursorDifferFactory.prototype.create = function (_cdrOrTrackBy) {\n        return new MongoCursorDiffer(_cdrOrTrackBy, new MongoCursorObserverFactory());\n    };\n    return MongoCursorDifferFactory;\n}());\nvar trackByIdentity = function (index, item) { return item._id; };\n/**\n * A class that implements Angular 2's concept of differs for ngFor.\n * API consists mainly of diff method and methods like forEachAddedItem\n * that is being run on each change detection cycle to apply new changes if any.\n */\nvar MongoCursorDiffer = /** @class */ (function (_super) {\n    __extends(MongoCursorDiffer, _super);\n    function MongoCursorDiffer(_cdr, obsFactory) {\n        var _this = _super.call(this, trackByIdentity) || this;\n        _this._inserted = [];\n        _this._removed = [];\n        _this._moved = [];\n        _this._updated = [];\n        _this._changes = [];\n        _this._forSize = 0;\n        _this._obsFactory = obsFactory;\n        return _this;\n    }\n    MongoCursorDiffer.prototype.forEachAddedItem = function (fn) {\n        for (var _i = 0, _a = this._inserted; _i < _a.length; _i++) {\n            var insert = _a[_i];\n            fn(insert);\n        }\n    };\n    MongoCursorDiffer.prototype.forEachMovedItem = function (fn) {\n        for (var _i = 0, _a = this._moved; _i < _a.length; _i++) {\n            var move = _a[_i];\n            fn(move);\n        }\n    };\n    MongoCursorDiffer.prototype.forEachRemovedItem = function (fn) {\n        for (var _i = 0, _a = this._removed; _i < _a.length; _i++) {\n            var remove = _a[_i];\n            fn(remove);\n        }\n    };\n    MongoCursorDiffer.prototype.forEachIdentityChange = function (fn) {\n        for (var _i = 0, _a = this._updated; _i < _a.length; _i++) {\n            var update = _a[_i];\n            fn(update);\n        }\n    };\n    MongoCursorDiffer.prototype.forEachOperation = function (fn) {\n        for (var _i = 0, _a = this._changes; _i < _a.length; _i++) {\n            var change = _a[_i];\n            fn(change, change.previousIndex, change.currentIndex);\n        }\n    };\n    MongoCursorDiffer.prototype.diff = function (cursor) {\n        var _this = this;\n        this._reset();\n        var newCursor = false;\n        if (cursor && this._cursor !== cursor) {\n            newCursor = true;\n            this._destroyObserver();\n            this._cursor = cursor;\n            this._curObserver = this._obsFactory.create(cursor);\n            this._sub = this._curObserver.subscribe({\n                next: function (changes) { return _this._updateLatestValue(changes); }\n            });\n        }\n        if (this._lastChanges) {\n            this._applyChanges(this._lastChanges);\n        }\n        /**\n         * If either last changes or new cursor is true, then\n         * return \"this\" to notify Angular2 to re-build views.\n         * If last changes or new cursor are true simultaneously\n         * means that Mongo cursor has been changed and it's expected\n         * that last changes (if any) of that cursor are additions only\n         * (otherwise it won't likely work).\n         * So removals of the previous cursor and additions of\n         * the new one will processed at the same time.\n         */\n        if (this._lastChanges || newCursor) {\n            this._lastChanges = null;\n            return this;\n        }\n        return null;\n    };\n    MongoCursorDiffer.prototype.onDestroy = function () {\n        this._destroyObserver();\n    };\n    Object.defineProperty(MongoCursorDiffer.prototype, \"observer\", {\n        get: function () {\n            return this._curObserver;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    MongoCursorDiffer.prototype._destroyObserver = function () {\n        if (this._curObserver) {\n            this._curObserver.destroy();\n        }\n        if (this._sub) {\n            this._sub.unsubscribe();\n        }\n        this._applyCleanup();\n    };\n    MongoCursorDiffer.prototype._updateLatestValue = function (changes) {\n        this._lastChanges = changes;\n    };\n    MongoCursorDiffer.prototype._reset = function () {\n        this._inserted.length = 0;\n        this._moved.length = 0;\n        this._removed.length = 0;\n        this._updated.length = 0;\n        this._changes.length = 0;\n    };\n    // Reset previous state of the differ by removing all currently shown documents.\n    MongoCursorDiffer.prototype._applyCleanup = function () {\n        for (var index = 0; index < this._forSize; index++) {\n            var remove = this._createChangeRecord(null, 0, null);\n            this._removed.push(remove);\n            this._changes.push(remove);\n        }\n        this._forSize = 0;\n    };\n    MongoCursorDiffer.prototype._applyChanges = function (changes) {\n        for (var _i = 0, changes_1 = changes; _i < changes_1.length; _i++) {\n            var change = changes_1[_i];\n            if (change instanceof AddChange) {\n                var add = this._createChangeRecord(change.index, null, change.item);\n                this._inserted.push(add);\n                this._changes.push(add);\n                this._forSize++;\n            }\n            if (change instanceof MoveChange) {\n                var move = this._createChangeRecord(change.toIndex, change.fromIndex, change.item);\n                this._moved.push(move);\n                this._changes.push(move);\n            }\n            if (change instanceof RemoveChange) {\n                var remove = this._createChangeRecord(null, change.index, change.item);\n                this._removed.push(remove);\n                this._changes.push(remove);\n                this._forSize--;\n            }\n            if (change instanceof UpdateChange) {\n                this._updated.push(this._createChangeRecord(change.index, null, change.item));\n            }\n        }\n    };\n    MongoCursorDiffer.prototype._createChangeRecord = function (currentIndex, prevIndex, item) {\n        var record = new IterableChangeRecord(item, trackByIdentity);\n        record.currentIndex = currentIndex;\n        record.previousIndex = prevIndex;\n        return record;\n    };\n    return MongoCursorDiffer;\n}(core.DefaultIterableDiffer));\n\n'use strict';\n/**\n * A basic class to extend @Component and @Pipe.\n * Contains wrappers over main Meteor methods\n * that does some maintenance work behind the scene:\n * - Destroys subscription handles\n *   when the component or pipe is destroyed by Angular 2.\n * - Debounces ngZone runs reducing number of\n *   change detection runs.\n */\nvar MeteorReactive = /** @class */ (function () {\n    function MeteorReactive() {\n        this._hAutoruns = [];\n        this._hSubscribes = [];\n        this._ngZone = g.Zone.current;\n    }\n    /**\n     * Method has the same notation as Meteor.autorun\n     * except the last parameter.\n     * @param {MeteorReactive~autorunCallback} func - Callback to be executed when current computation is\n     * invalidated. The Tracker.Computation object will be passed as argument to\n     * this callback.\n     * @param {Boolean} autoBind - Determine whether Angular2 Zone will run\n     *   after the func call to initiate change detection.\n     * @returns {Tracker.Computation} - Object representing the Meteor computation\n     * @example\n     * class MyComponent extends MeteorReactive {\n     *    private myData: Mongo.Cursor;\n     *    private dataId: any;\n     *\n     *    constructor() {\n     *      super();\n     *\n     *      this.autorun(() => {\n     *        this.myData = MyCollection.find({ _id: dataId});\n     *      }, true);\n     *    }\n     * }\n     *\n     * @see {@link https://docs.meteor.com/api/tracker.html#tracker_computation|Tracker.Computation in Meteor documentation}\n     * @see {@link https://docs.meteor.com/api/tracker.html#Tracker-autorun|autorun in Meteor documentation}\n     */\n    MeteorReactive.prototype.autorun = function (func, autoBind) {\n        if (autoBind === void 0) { autoBind = true; }\n        var pargs = this._prepArgs([func, autoBind]).pargs;\n        var hAutorun = Tracker.autorun(pargs[0]);\n        this._hAutoruns.push(hAutorun);\n        return hAutorun;\n    };\n    /**\n     *  Method has the same notation as Meteor.subscribe:\n     *    subscribe(name, [args1, args2], [callbacks], [autoBind])\n     *  except the last autoBind param (see autorun above).\n     *  @param {String} name - Name of the publication in the Meteor server\n     *  @param {any} args - Parameters that will be forwarded to the publication.\n     *  @param {Boolean} autoBind - Determine whether Angular 2 zone will run\n     *   after the func call to initiate change detection.\n     *  @returns {Meteor.SubscriptionHandle} - The handle of the subscription created by Meteor.\n     *  @example\n     *  class MyComponent extends MeteorReactive {\n     *     constructor() {\n     *       super();\n     *\n     *       this.subscribe(\"myData\", 10);\n     *     }\n     *  }\n     *\n     *  @see {@link http://docs.meteor.com/api/pubsub.html|Publication/Subscription in Meteor documentation}\n     */\n    MeteorReactive.prototype.subscribe = function (name) {\n        var args = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n            args[_i - 1] = arguments[_i];\n        }\n        var pargs = this._prepArgs(args).pargs;\n        if (!Meteor.subscribe) {\n            throw new Error('Meteor.subscribe is not defined on the server side');\n        }\n        var hSubscribe = Meteor.subscribe.apply(Meteor, [name].concat(pargs));\n        if (Meteor.isClient) {\n            this._hSubscribes.push(hSubscribe);\n        }\n        if (Meteor.isServer) {\n            var callback = pargs[pargs.length - 1];\n            if (_.isFunction(callback)) {\n                callback();\n            }\n            if (isCallbacksObject(callback)) {\n                callback.onReady();\n            }\n        }\n        return hSubscribe;\n    };\n    /**\n   *  Method has the same notation as Meteor.call:\n   *    call(name, [args1, args2], [callbacks], [autoBind])\n   *  except the last autoBind param (see autorun above).\n   *  @param {String} name - Name of the publication in the Meteor server\n   *  @param {any} args - Parameters that will be forwarded to the method.\n   *  @param {Boolean} autoBind - autoBind Determine whether Angular 2 zone will run\n   *   after the func call to initiate change detection.\n   *  @example\n   *  class MyComponent extends MeteorReactive {\n   *     constructor() {\n   *       super();\n   *\n   *       this.call(\"serverMethod\", (err, result) => {\n   *          // Handle response...\n   *       });\n   *     }\n   *  }\n   *\n   *  @return {void}\n   */\n    MeteorReactive.prototype.call = function (name) {\n        var args = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n            args[_i - 1] = arguments[_i];\n        }\n        var pargs = this._prepArgs(args).pargs;\n        return Meteor.call.apply(Meteor, [name].concat(pargs));\n    };\n    MeteorReactive.prototype.ngOnDestroy = function () {\n        for (var _i = 0, _a = this._hAutoruns; _i < _a.length; _i++) {\n            var hAutorun = _a[_i];\n            hAutorun.stop();\n        }\n        for (var _b = 0, _c = this._hSubscribes; _b < _c.length; _b++) {\n            var hSubscribe = _c[_b];\n            hSubscribe.stop();\n        }\n        this._hAutoruns = null;\n        this._hSubscribes = null;\n    };\n    MeteorReactive.prototype._prepArgs = function (args) {\n        var lastParam = args[args.length - 1];\n        var penultParam = args[args.length - 2];\n        var autoBind = true;\n        if (_.isBoolean(lastParam) &&\n            isMeteorCallbacks(penultParam)) {\n            args.pop();\n            autoBind = lastParam !== false;\n        }\n        lastParam = args[args.length - 1];\n        if (isMeteorCallbacks(lastParam)) {\n            args.pop();\n        }\n        else {\n            lastParam = noop;\n        }\n        // If autoBind is set to false then\n        // we run user's callback in the global zone\n        // instead of the current Angular 2 zone.\n        var zone = autoBind ? this._ngZone : gZone;\n        lastParam = wrapCallbackInZone(zone, lastParam, this);\n        args.push(lastParam);\n        return { pargs: args, autoBind: autoBind };\n    };\n    return MeteorReactive;\n}());\n/**\n * This callback called when autorun triggered by Meteor.\n * @callback MeteorReactive~autorunCallback\n * @param {Tracker.Computation} computation\n */\n// For the versions compatibility.\n/* tslint:disable */\nvar MeteorComponent = MeteorReactive;\n\n'use strict';\nvar DefaultIterableDifferFactory = /** @class */ (function () {\n    function DefaultIterableDifferFactory() {\n    }\n    DefaultIterableDifferFactory.prototype.supports = function (obj) { return isListLikeIterable(obj); };\n    DefaultIterableDifferFactory.prototype.create = function (_cdr, trackByFn) {\n        return new core.DefaultIterableDiffer(trackByFn);\n    };\n    return DefaultIterableDifferFactory;\n}());\nfunction meteorProviders() {\n    return [\n        {\n            provide: core.IterableDiffers,\n            useFactory: function () { return new core.IterableDiffers([\n                new DefaultIterableDifferFactory(),\n                new MongoCursorDifferFactory()\n            ]); }\n        }\n    ];\n}\nvar METEOR_PROVIDERS = meteorProviders();\n\nexports.ZoneRunScheduler = ZoneRunScheduler;\nexports.zoneRunScheduler = zoneRunScheduler;\nexports.wrapCallbackInZone = wrapCallbackInZone;\nexports.scheduleMicroTask = scheduleMicroTask;\nexports.AddChange = AddChange;\nexports.UpdateChange = UpdateChange;\nexports.MoveChange = MoveChange;\nexports.RemoveChange = RemoveChange;\nexports.MongoCursorObserver = MongoCursorObserver;\nexports.stringify = stringify;\nexports.IterableChangeRecord = IterableChangeRecord;\nexports.MongoCursorDifferFactory = MongoCursorDifferFactory;\nexports.MongoCursorDiffer = MongoCursorDiffer;\nexports.MeteorReactive = MeteorReactive;\nexports.MeteorComponent = MeteorComponent;\nexports.DefaultIterableDifferFactory = DefaultIterableDifferFactory;\nexports.METEOR_PROVIDERS = METEOR_PROVIDERS;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n"]}