03c76b6e513aa4c05246a2b62f7fb176692e142f7468825781d44165447a03e8.json 8.7 KB

1
  1. {"ast":null,"code":"import _asyncToGenerator from \"F:/workspace/202226701027/huinongbao-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { Observable } from \"./observable.js\";\n/**\n * Represent a list of observers registered to multiple Observables object.\n */\nexport class MultiObserver {\n /**\n * Release associated resources\n */\n dispose() {\n if (this._observers && this._observables) {\n for (let index = 0; index < this._observers.length; index++) {\n this._observables[index].remove(this._observers[index]);\n }\n }\n this._observers = null;\n this._observables = null;\n }\n /**\n * Raise a callback when one of the observable will notify\n * @param observables defines a list of observables to watch\n * @param callback defines the callback to call on notification\n * @param mask defines the mask used to filter notifications\n * @param scope defines the current scope used to restore the JS context\n * @returns the new MultiObserver\n */\n static Watch(observables, callback, mask = -1, scope = null) {\n const result = new MultiObserver();\n result._observers = new Array();\n result._observables = observables;\n for (const observable of observables) {\n const observer = observable.add(callback, mask, false, scope);\n if (observer) {\n result._observers.push(observer);\n }\n }\n return result;\n }\n}\nObservable.prototype.notifyObserversWithPromise = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (eventData, mask = -1, target, currentTarget, userInfo) {\n // create an empty promise\n let p = Promise.resolve(eventData);\n // no observers? return this promise.\n if (!this.observers.length) {\n return p;\n }\n const state = this._eventState;\n state.mask = mask;\n state.target = target;\n state.currentTarget = currentTarget;\n state.skipNextObservers = false;\n state.userInfo = userInfo;\n // execute one callback after another (not using Promise.all, the order is important)\n this.observers.forEach(obs => {\n if (state.skipNextObservers) {\n return;\n }\n if (obs._willBeUnregistered) {\n return;\n }\n if (obs.mask & mask) {\n if (obs.scope) {\n p = p.then(lastReturnedValue => {\n state.lastReturnValue = lastReturnedValue;\n return obs.callback.apply(obs.scope, [eventData, state]);\n });\n } else {\n p = p.then(lastReturnedValue => {\n state.lastReturnValue = lastReturnedValue;\n return obs.callback(eventData, state);\n });\n }\n if (obs.unregisterOnNextCall) {\n this._deferUnregister(obs);\n }\n }\n });\n // return the eventData\n yield p;\n return eventData;\n });\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n}();","map":{"version":3,"names":["Observable","MultiObserver","dispose","_observers","_observables","index","length","remove","Watch","observables","callback","mask","scope","result","Array","observable","observer","add","push","prototype","notifyObserversWithPromise","_ref","_asyncToGenerator","eventData","target","currentTarget","userInfo","p","Promise","resolve","observers","state","_eventState","skipNextObservers","forEach","obs","_willBeUnregistered","then","lastReturnedValue","lastReturnValue","apply","unregisterOnNextCall","_deferUnregister","_x","arguments"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Misc/observable.extensions.js"],"sourcesContent":["import { Observable } from \"./observable.js\";\n/**\n * Represent a list of observers registered to multiple Observables object.\n */\nexport class MultiObserver {\n /**\n * Release associated resources\n */\n dispose() {\n if (this._observers && this._observables) {\n for (let index = 0; index < this._observers.length; index++) {\n this._observables[index].remove(this._observers[index]);\n }\n }\n this._observers = null;\n this._observables = null;\n }\n /**\n * Raise a callback when one of the observable will notify\n * @param observables defines a list of observables to watch\n * @param callback defines the callback to call on notification\n * @param mask defines the mask used to filter notifications\n * @param scope defines the current scope used to restore the JS context\n * @returns the new MultiObserver\n */\n static Watch(observables, callback, mask = -1, scope = null) {\n const result = new MultiObserver();\n result._observers = new Array();\n result._observables = observables;\n for (const observable of observables) {\n const observer = observable.add(callback, mask, false, scope);\n if (observer) {\n result._observers.push(observer);\n }\n }\n return result;\n }\n}\nObservable.prototype.notifyObserversWithPromise = async function (eventData, mask = -1, target, currentTarget, userInfo) {\n // create an empty promise\n let p = Promise.resolve(eventData);\n // no observers? return this promise.\n if (!this.observers.length) {\n return p;\n }\n const state = this._eventState;\n state.mask = mask;\n state.target = target;\n state.currentTarget = currentTarget;\n state.skipNextObservers = false;\n state.userInfo = userInfo;\n // execute one callback after another (not using Promise.all, the order is important)\n this.observers.forEach((obs) => {\n if (state.skipNextObservers) {\n return;\n }\n if (obs._willBeUnregistered) {\n return;\n }\n if (obs.mask & mask) {\n if (obs.scope) {\n p = p.then((lastReturnedValue) => {\n state.lastReturnValue = lastReturnedValue;\n return obs.callback.apply(obs.scope, [eventData, state]);\n });\n }\n else {\n p = p.then((lastReturnedValue) => {\n state.lastReturnValue = lastReturnedValue;\n return obs.callback(eventData, state);\n });\n }\n if (obs.unregisterOnNextCall) {\n this._deferUnregister(obs);\n }\n }\n });\n // return the eventData\n await p;\n return eventData;\n};\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}