{"version":3,"sources":["meteor://💻app/packages/react-meteor-data/index.js","meteor://💻app/packages/react-meteor-data/useFind.ts","meteor://💻app/packages/react-meteor-data/useSubscribe.ts","meteor://💻app/packages/react-meteor-data/useTracker.ts","meteor://💻app/packages/react-meteor-data/withTracker.tsx"],"names":["React","module","link","default","v","useTracker","withTracker","useFind","useSubscribe","Meteor","isDevelopment","version","split","console","warn","export","Mongo","useReducer","useMemo","useEffect","useRef","Tracker","useFindReducer","data","action","type","slice","atIndex","document","doc","fromIndex","copy","splice","toIndex","checkCursor","cursor","undefined","Cursor","_mongo","_cursorDescription","fetchData","observer","observe","addedAt","before","stop","useFindClient","factory","deps","nonreactive","dispatch","didMount","current","changedAt","newDocument","oldDocument","removedAt","movedTo","_suppress_initial","useFindServer","fetch","isServer","useFindDev","expects","pos","arg","Array","isArray","exportDefault","useSubscribeClient","name","args","updateOnReady","subscription","isReady","subscribe","ready","useSubscribeServer","shouldWarn","Package","mongo","Object","getPrototypeOf","prototype","keys","forEach","key","fur","x","useForceUpdate","useTrackerNoDeps","reactiveFn","skipUpdate","refs","isMounted","trackerData","forceUpdate","computation","autorun","c","firstRun","defer","useTrackerWithDeps","comp","useTrackerClient","useTrackerServer","_useTracker","useTrackerDev","_extends","forwardRef","memo","options","Component","getMeteorData","WithTracker","props","ref","pure"],"mappings":"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","file":"/packages/react-meteor-data.js","sourcesContent":["/* global Meteor*/\nimport React from 'react';\n\nif (Meteor.isDevelopment) {\n const v = React.version.split('.');\n if (v[0] < 16 || (v[0] == 16 && v[1] < 8)) {\n console.warn('react-meteor-data 2.x requires React version >= 16.8.');\n }\n}\n\nexport { useTracker } from './useTracker';\nexport { withTracker } from './withTracker.tsx';\nexport { useFind } from './useFind';\nexport { useSubscribe } from './useSubscribe';","import { Meteor } from 'meteor/meteor'\nimport { Mongo } from 'meteor/mongo'\nimport { useReducer, useMemo, useEffect, Reducer, DependencyList, useRef } from 'react'\nimport { Tracker } from 'meteor/tracker'\n\ntype useFindActions =\n | { type: 'refresh', data: T[] }\n | { type: 'addedAt', document: T, atIndex: number }\n | { type: 'changedAt', document: T, atIndex: number }\n | { type: 'removedAt', atIndex: number }\n | { type: 'movedTo', fromIndex: number, toIndex: number }\n\nconst useFindReducer = (data: T[], action: useFindActions): T[] => {\n switch (action.type) {\n case 'refresh':\n return action.data\n case 'addedAt':\n return [\n ...data.slice(0, action.atIndex),\n action.document,\n ...data.slice(action.atIndex)\n ]\n case 'changedAt':\n return [\n ...data.slice(0, action.atIndex),\n action.document,\n ...data.slice(action.atIndex + 1)\n ]\n case 'removedAt':\n return [\n ...data.slice(0, action.atIndex),\n ...data.slice(action.atIndex + 1)\n ]\n case 'movedTo':\n const doc = data[action.fromIndex]\n const copy = [\n ...data.slice(0, action.fromIndex),\n ...data.slice(action.fromIndex + 1)\n ]\n copy.splice(action.toIndex, 0, doc)\n return copy\n }\n}\n\n// Check for valid Cursor or null.\n// On client, we should have a Mongo.Cursor (defined in\n// https://github.com/meteor/meteor/blob/devel/packages/minimongo/cursor.js and\n// https://github.com/meteor/meteor/blob/devel/packages/mongo/collection.js).\n// On server, however, we instead get a private Cursor type from\n// https://github.com/meteor/meteor/blob/devel/packages/mongo/mongo_driver.js\n// which has fields _mongo and _cursorDescription.\nconst checkCursor = (cursor: Mongo.Cursor | Partial<{ _mongo: any, _cursorDescription: any }> | undefined | null) => {\n if (cursor !== null && cursor !== undefined && !(cursor instanceof Mongo.Cursor) &&\n !(cursor._mongo && cursor._cursorDescription)) {\n console.warn(\n 'Warning: useFind requires an instance of Mongo.Cursor. '\n + 'Make sure you do NOT call .fetch() on your cursor.'\n );\n }\n}\n\n// Synchronous data fetch. It uses cursor observing instead of cursor.fetch() because synchronous fetch will be deprecated.\nconst fetchData = (cursor: Mongo.Cursor) => {\n const data: T[] = []\n const observer = cursor.observe({\n addedAt (document, atIndex, before) {\n data.splice(atIndex, 0, document)\n },\n })\n observer.stop()\n return data\n}\n\nconst useFindClient = (factory: () => (Mongo.Cursor | undefined | null), deps: DependencyList = []) => {\n const cursor = useMemo(() => {\n // To avoid creating side effects in render, opt out\n // of Tracker integration altogether.\n const cursor = Tracker.nonreactive(factory);\n if (Meteor.isDevelopment) {\n checkCursor(cursor)\n }\n return cursor\n }, deps)\n\n const [data, dispatch] = useReducer>, null>(\n useFindReducer,\n null,\n () => {\n if (!(cursor instanceof Mongo.Cursor)) {\n return []\n }\n\n return fetchData(cursor)\n }\n )\n\n // Store information about mounting the component.\n // It will be used to run code only if the component is updated.\n const didMount = useRef(false)\n\n useEffect(() => {\n // Fetch intitial data if cursor was changed.\n if (didMount.current) {\n if (!(cursor instanceof Mongo.Cursor)) {\n return\n }\n\n const data = fetchData(cursor)\n dispatch({ type: 'refresh', data })\n } else {\n didMount.current = true\n }\n\n if (!(cursor instanceof Mongo.Cursor)) {\n return\n }\n\n const observer = cursor.observe({\n addedAt (document, atIndex, before) {\n dispatch({ type: 'addedAt', document, atIndex })\n },\n changedAt (newDocument, oldDocument, atIndex) {\n dispatch({ type: 'changedAt', document: newDocument, atIndex })\n },\n removedAt (oldDocument, atIndex) {\n dispatch({ type: 'removedAt', atIndex })\n },\n movedTo (document, fromIndex, toIndex, before) {\n dispatch({ type: 'movedTo', fromIndex, toIndex })\n },\n // @ts-ignore\n _suppress_initial: true\n })\n\n return () => {\n observer.stop()\n }\n }, [cursor])\n\n return cursor ? data : cursor\n}\n\nconst useFindServer = (factory: () => Mongo.Cursor | undefined | null, deps: DependencyList) => (\n Tracker.nonreactive(() => {\n const cursor = factory()\n if (Meteor.isDevelopment) checkCursor(cursor)\n return cursor?.fetch?.() ?? null\n })\n)\n\nexport const useFind = Meteor.isServer\n ? useFindServer\n : useFindClient\n\nfunction useFindDev (factory: () => (Mongo.Cursor | undefined | null), deps: DependencyList = []) {\n function warn (expects: string, pos: string, arg: string, type: string) {\n console.warn(\n `Warning: useFind expected a ${expects} in it\\'s ${pos} argument `\n + `(${arg}), but got type of \\`${type}\\`.`\n );\n }\n\n if (typeof factory !== 'function') {\n warn(\"function\", \"1st\", \"reactiveFn\", factory);\n }\n\n if (!deps || !Array.isArray(deps)) {\n warn(\"array\", \"2nd\", \"deps\", typeof deps);\n }\n\n return useFind(factory, deps);\n}\n\nexport default Meteor.isDevelopment\n ? useFindDev\n : useFind;\n","import { Meteor } from 'meteor/meteor'\nimport { useTracker } from './useTracker'\n\nconst useSubscribeClient = (name?: string, ...args: any[]): () => boolean => {\n let updateOnReady = false\n let subscription: Meteor.SubscriptionHandle\n\n const isReady = useTracker(() => {\n if (!name) return true\n\n subscription = Meteor.subscribe(name, ...args)\n\n return subscription.ready()\n }, () => (!updateOnReady))\n\n return () => {\n updateOnReady = true\n return !isReady\n }\n}\n\nconst useSubscribeServer = (name?: string, ...args: any[]): () => boolean => (\n () => false\n)\n\nexport const useSubscribe = Meteor.isServer\n ? useSubscribeServer\n : useSubscribeClient\n","declare var Package: any\nimport { Meteor } from 'meteor/meteor';\nimport { Tracker } from 'meteor/tracker';\nimport { useReducer, useEffect, useRef, useMemo, DependencyList } from 'react';\n\n// Warns if data is a Mongo.Cursor or a POJO containing a Mongo.Cursor.\nfunction checkCursor (data: any): void {\n let shouldWarn = false;\n if (Package.mongo && Package.mongo.Mongo && data && typeof data === 'object') {\n if (data instanceof Package.mongo.Mongo.Cursor) {\n shouldWarn = true;\n } else if (Object.getPrototypeOf(data) === Object.prototype) {\n Object.keys(data).forEach((key) => {\n if (data[key] instanceof Package.mongo.Mongo.Cursor) {\n shouldWarn = true;\n }\n });\n }\n }\n if (shouldWarn) {\n console.warn(\n 'Warning: your reactive function is returning a Mongo cursor. '\n + 'This value will not be reactive. You probably want to call '\n + '`.fetch()` on the cursor before returning it.'\n );\n }\n}\n\n// Used to create a forceUpdate from useReducer. Forces update by\n// incrementing a number whenever the dispatch method is invoked.\nconst fur = (x: number): number => x + 1;\nconst useForceUpdate = () => useReducer(fur, 0)[1];\n\nexport interface IReactiveFn {\n (c?: Tracker.Computation): T\n}\n\nexport interface ISkipUpdate {\n (prev: T, next: T): boolean\n}\n\ntype TrackerRefs = {\n computation?: Tracker.Computation;\n isMounted: boolean;\n trackerData: any;\n}\n\nconst useTrackerNoDeps = (reactiveFn: IReactiveFn, skipUpdate: ISkipUpdate = null) => {\n const { current: refs } = useRef({\n isMounted: false,\n trackerData: null\n });\n const forceUpdate = useForceUpdate();\n\n // Without deps, always dispose and recreate the computation with every render.\n if (refs.computation) {\n refs.computation.stop();\n // @ts-ignore This makes TS think ref.computation is \"never\" set\n delete refs.computation;\n }\n\n // Use Tracker.nonreactive in case we are inside a Tracker Computation.\n // This can happen if someone calls `ReactDOM.render` inside a Computation.\n // In that case, we want to opt out of the normal behavior of nested\n // Computations, where if the outer one is invalidated or stopped,\n // it stops the inner one.\n Tracker.nonreactive(() => Tracker.autorun((c: Tracker.Computation) => {\n refs.computation = c;\n const data = reactiveFn(c);\n if (c.firstRun) {\n // Always run the reactiveFn on firstRun\n refs.trackerData = data;\n } else if (!skipUpdate || !skipUpdate(refs.trackerData, data)) {\n // For any reactive change, forceUpdate and let the next render rebuild the computation.\n forceUpdate();\n }\n }));\n\n // To clean up side effects in render, stop the computation immediately\n if (!refs.isMounted) {\n Meteor.defer(() => {\n if (!refs.isMounted && refs.computation) {\n refs.computation.stop();\n delete refs.computation;\n }\n });\n }\n\n useEffect(() => {\n // Let subsequent renders know we are mounted (render is committed).\n refs.isMounted = true;\n\n // In some cases, the useEffect hook will run before Meteor.defer, such as\n // when React.lazy is used. In those cases, we might as well leave the\n // computation alone!\n if (!refs.computation) {\n // Render is committed, but we no longer have a computation. Invoke\n // forceUpdate and let the next render recreate the computation.\n if (!skipUpdate) {\n forceUpdate();\n } else {\n Tracker.nonreactive(() => Tracker.autorun((c: Tracker.Computation) => {\n const data = reactiveFn(c);\n refs.computation = c;\n if (!skipUpdate(refs.trackerData, data)) {\n // For any reactive change, forceUpdate and let the next render rebuild the computation.\n forceUpdate();\n }\n }));\n }\n }\n\n // stop the computation on unmount\n return () =>{\n refs.computation?.stop();\n delete refs.computation;\n refs.isMounted = false;\n }\n }, []);\n\n return refs.trackerData;\n}\n\nconst useTrackerWithDeps = (reactiveFn: IReactiveFn, deps: DependencyList, skipUpdate: ISkipUpdate = null): T => {\n const forceUpdate = useForceUpdate();\n\n const { current: refs } = useRef<{\n reactiveFn: IReactiveFn;\n data?: T;\n comp?: Tracker.Computation;\n isMounted?: boolean;\n }>({ reactiveFn });\n\n // keep reactiveFn ref fresh\n refs.reactiveFn = reactiveFn;\n\n useMemo(() => {\n // To jive with the lifecycle interplay between Tracker/Subscribe, run the\n // reactive function in a computation, then stop it, to force flush cycle.\n const comp = Tracker.nonreactive(\n () => Tracker.autorun((c: Tracker.Computation) => {\n const data = refs.reactiveFn();\n if (c.firstRun) {\n refs.data = data;\n } else if (!skipUpdate || !skipUpdate(refs.data, data)) {\n refs.data = data;\n forceUpdate();\n }\n })\n );\n\n // Stop the computation immediately to avoid creating side effects in render.\n // refers to this issues:\n // https://github.com/meteor/react-packages/issues/382\n // https://github.com/meteor/react-packages/issues/381\n if (refs.comp) refs.comp.stop();\n\n // In some cases, the useEffect hook will run before Meteor.defer, such as\n // when React.lazy is used. This will allow it to be stopped earlier in\n // useEffect if needed.\n refs.comp = comp;\n // To avoid creating side effects in render, stop the computation immediately\n Meteor.defer(() => {\n if (!refs.isMounted && refs.comp) {\n refs.comp.stop();\n delete refs.comp;\n }\n });\n }, deps);\n\n useEffect(() => {\n // Let subsequent renders know we are mounted (render is committed).\n refs.isMounted = true;\n\n if (!refs.comp) {\n refs.comp = Tracker.nonreactive(\n () => Tracker.autorun((c) => {\n const data: T = refs.reactiveFn(c);\n if (!skipUpdate || !skipUpdate(refs.data, data)) {\n refs.data = data;\n forceUpdate();\n }\n })\n );\n }\n\n return () => {\n refs.comp.stop();\n delete refs.comp;\n refs.isMounted = false;\n };\n }, deps);\n\n return refs.data as T;\n};\n\nfunction useTrackerClient (reactiveFn: IReactiveFn, skipUpdate?: ISkipUpdate): T;\nfunction useTrackerClient (reactiveFn: IReactiveFn, deps?: DependencyList, skipUpdate?: ISkipUpdate): T;\nfunction useTrackerClient (reactiveFn: IReactiveFn, deps: DependencyList | ISkipUpdate = null, skipUpdate: ISkipUpdate = null): T {\n if (deps === null || deps === undefined || !Array.isArray(deps)) {\n if (typeof deps === \"function\") {\n skipUpdate = deps;\n }\n return useTrackerNoDeps(reactiveFn, skipUpdate);\n } else {\n return useTrackerWithDeps(reactiveFn, deps, skipUpdate);\n }\n}\n\nconst useTrackerServer: typeof useTrackerClient = (reactiveFn) => {\n return Tracker.nonreactive(reactiveFn);\n}\n\n// When rendering on the server, we don't want to use the Tracker.\n// We only do the first rendering on the server so we can get the data right away\nconst _useTracker = Meteor.isServer\n ? useTrackerServer\n : useTrackerClient;\n\nfunction useTrackerDev (reactiveFn, deps = null, skipUpdate = null) {\n function warn (expects: string, pos: string, arg: string, type: string) {\n console.warn(\n `Warning: useTracker expected a ${expects} in it\\'s ${pos} argument `\n + `(${arg}), but got type of \\`${type}\\`.`\n );\n }\n\n if (typeof reactiveFn !== 'function') {\n warn(\"function\", \"1st\", \"reactiveFn\", reactiveFn);\n }\n\n if (deps && skipUpdate && !Array.isArray(deps) && typeof skipUpdate === \"function\") {\n warn(\"array & function\", \"2nd and 3rd\", \"deps, skipUpdate\",\n `${typeof deps} & ${typeof skipUpdate}`);\n } else {\n if (deps && !Array.isArray(deps) && typeof deps !== \"function\") {\n warn(\"array or function\", \"2nd\", \"deps or skipUpdate\", typeof deps);\n }\n if (skipUpdate && typeof skipUpdate !== \"function\") {\n warn(\"function\", \"3rd\", \"skipUpdate\", typeof skipUpdate);\n }\n }\n\n const data = _useTracker(reactiveFn, deps, skipUpdate);\n checkCursor(data);\n return data;\n}\n\nexport const useTracker = Meteor.isDevelopment\n ? useTrackerDev as typeof useTrackerClient\n : _useTracker;\n","import React, { forwardRef, memo } from 'react';\nimport { useTracker } from './useTracker';\n\ntype ReactiveFn = (props: object) => any;\ntype ReactiveOptions = {\n getMeteorData: ReactiveFn;\n pure?: boolean;\n skipUpdate?: (prev: any, next: any) => boolean;\n}\n\nexport const withTracker = (options: ReactiveFn | ReactiveOptions) => {\n return (Component: React.ComponentType) => {\n const getMeteorData = typeof options === 'function'\n ? options\n : options.getMeteorData;\n\n const WithTracker = forwardRef((props, ref) => {\n const data = useTracker(\n () => getMeteorData(props) || {},\n (options as ReactiveOptions).skipUpdate\n );\n return (\n \n );\n });\n\n const { pure = true } = options as ReactiveOptions;\n return pure ? memo(WithTracker) : WithTracker;\n };\n}\n"]}