{"map":"{\"version\":3,\"file\":\"_multicast.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../../src/operators/foundation/_multicast.ts\"],\"names\":[],\"mappings\":\"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAYnC,MAAM,wBAAiE,UAAa;IAClF,MAAM,CAAC,KAAM,SAAQ,UAAU;QAC7B;;;;WAIG;QACH,UAAU;YACR,MAAM,MAAM,GAAG,IAAI,uBAAuB,EAAK,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACvB,MAAM,CAAC,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC\"}","code":"/** @license\r\n *  Copyright 2016 - present The Material Motion Authors. All Rights Reserved.\r\n *\r\n *  Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\r\n *  use this file except in compliance with the License. You may obtain a copy\r\n *  of the License at\r\n *\r\n *      http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n *  Unless required by applicable law or agreed to in writing, software\r\n *  distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\r\n *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\r\n *  License for the specific language governing permissions and limitations\r\n *  under the License.\r\n */\r\nimport { MemorylessMotionSubject, } from '../../observables/proxies';\r\nexport function withMulticast(superclass) {\r\n    return class extends superclass {\r\n        /**\r\n         * Ensures that upstream operations are shared among all observers.  This is\r\n         * useful to avoid repeating expensive operations and ensuring that any\r\n         * side effects that may occur upstream only happen once.\r\n         */\r\n        _multicast() {\r\n            const result = new MemorylessMotionSubject();\r\n            this.subscribe(result);\r\n            return result;\r\n        }\r\n    };\r\n}\r\n//# sourceMappingURL=_multicast.js.map","dts":{"name":"/Users/brentons/Projects/material-motion-js/packages/core/operators/foundation/_multicast.d.ts","text":"import { Constructor, Observable, ObservableWithMotionOperators } from '../../types';\r\nexport interface MotionMulticastable<T> extends Observable<T> {\r\n    _multicast(): ObservableWithMotionOperators<T>;\r\n}\r\nexport declare function withMulticast<T, S extends Constructor<Observable<T>>>(superclass: S): S & Constructor<MotionMulticastable<T>>;\r\n"}}
