You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
8.2 KiB

{"ast":null,"code":"import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n const batch = getBatch();\n let first = null;\n let last = null;\n return {\n clear() {\n first = null;\n last = null;\n },\n notify() {\n batch(() => {\n let listener = first;\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get() {\n let listeners = [];\n let listener = first;\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n return listeners;\n },\n subscribe(callback) {\n let isSubscribed = true;\n let listener = last = {\n callback,\n next: null,\n prev: last\n };\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\nconst nullListeners = {\n notify() {},\n get: () => []\n};\nexport function createSubscription(store, parentSub) {\n let unsubscribe;\n let listeners = nullListeners;\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n function notifyNestedSubs() {\n listeners.notify();\n }\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n const subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe,\n tryUnsubscribe,\n getListeners: () => listeners\n };\n return subscription;\n}","map":{"version":3,"names":["getBatch","createListenerCollection","batch","first","last","clear","notify","listener","callback","next","get","listeners","push","subscribe","isSubscribed","prev","unsubscribe","nullListeners","createSubscription","store","parentSub","addNestedSub","trySubscribe","notifyNestedSubs","handleChangeWrapper","subscription","onStateChange","Boolean","tryUnsubscribe","undefined","getListeners"],"sources":["C:/Users/noanr/OneDrive/Documents/IUT Annee n°2/FavorSiteWebComplet/Favor/Site Web/client/node_modules/react-redux/es/utils/Subscription.js"],"sourcesContent":["import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n const batch = getBatch();\n let first = null;\n let last = null;\n return {\n clear() {\n first = null;\n last = null;\n },\n\n notify() {\n batch(() => {\n let listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n\n get() {\n let listeners = [];\n let listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n\n subscribe(callback) {\n let isSubscribed = true;\n let listener = last = {\n callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n\n };\n}\n\nconst nullListeners = {\n notify() {},\n\n get: () => []\n};\nexport function createSubscription(store, parentSub) {\n let unsubscribe;\n let listeners = nullListeners;\n\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n const subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe,\n tryUnsubscribe,\n getListeners: () => listeners\n };\n return subscription;\n}"],"mappings":"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"},"metadata":{},"sourceType":"module"}