UNPKG

repoweaver

Version:

A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies

1 lines 7.48 kB
{"ast":null,"code":"\"use strict\";\n\nimport * as React from 'react';\nimport useLatestCallback from 'use-latest-callback';\nimport { deepFreeze } from \"./deepFreeze.js\";\nvar createStore = function createStore(getInitialState) {\n var listeners = [];\n var initialized = false;\n var state;\n var getState = function getState() {\n if (initialized) {\n return state;\n }\n initialized = true;\n state = deepFreeze(getInitialState());\n return state;\n };\n var isBatching = false;\n var didUpdate = false;\n var setState = function setState(newState) {\n state = deepFreeze(newState);\n didUpdate = true;\n if (!isBatching) {\n listeners.forEach(function (listener) {\n return listener();\n });\n }\n };\n var subscribe = function subscribe(callback) {\n listeners.push(callback);\n return function () {\n var index = listeners.indexOf(callback);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n };\n var batchUpdates = function batchUpdates(callback) {\n isBatching = true;\n callback();\n isBatching = false;\n if (didUpdate) {\n didUpdate = false;\n listeners.forEach(function (listener) {\n return listener();\n });\n }\n };\n return {\n getState: getState,\n setState: setState,\n batchUpdates: batchUpdates,\n subscribe: subscribe\n };\n};\nexport function useSyncState(getInitialState) {\n var store = React.useRef(createStore(getInitialState)).current;\n var state = React.useSyncExternalStore(store.subscribe, store.getState, store.getState);\n React.useDebugValue(state);\n var pendingUpdatesRef = React.useRef([]);\n var scheduleUpdate = useLatestCallback(function (callback) {\n pendingUpdatesRef.current.push(callback);\n });\n var flushUpdates = useLatestCallback(function () {\n var pendingUpdates = pendingUpdatesRef.current;\n pendingUpdatesRef.current = [];\n if (pendingUpdates.length !== 0) {\n store.batchUpdates(function () {\n for (var update of pendingUpdates) {\n update();\n }\n });\n }\n });\n return {\n state: state,\n getState: store.getState,\n setState: store.setState,\n scheduleUpdate: scheduleUpdate,\n flushUpdates: flushUpdates\n };\n}","map":{"version":3,"names":["React","useLatestCallback","deepFreeze","createStore","getInitialState","listeners","initialized","state","getState","isBatching","didUpdate","setState","newState","forEach","listener","subscribe","callback","push","index","indexOf","splice","batchUpdates","useSyncState","store","useRef","current","useSyncExternalStore","useDebugValue","pendingUpdatesRef","scheduleUpdate","flushUpdates","pendingUpdates","length","update"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/@react-navigation/core/src/useSyncState.tsx"],"sourcesContent":["import * as React from 'react';\nimport useLatestCallback from 'use-latest-callback';\n\nimport { deepFreeze } from './deepFreeze';\n\nconst createStore = <T,>(getInitialState: () => T) => {\n const listeners: (() => void)[] = [];\n\n let initialized = false;\n let state: T;\n\n const getState = () => {\n if (initialized) {\n return state;\n }\n\n initialized = true;\n state = deepFreeze(getInitialState());\n\n return state;\n };\n\n let isBatching = false;\n let didUpdate = false;\n\n const setState = (newState: T) => {\n state = deepFreeze(newState);\n didUpdate = true;\n\n if (!isBatching) {\n listeners.forEach((listener) => listener());\n }\n };\n\n const subscribe = (callback: () => void) => {\n listeners.push(callback);\n\n return () => {\n const index = listeners.indexOf(callback);\n\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n };\n\n const batchUpdates = (callback: () => void) => {\n isBatching = true;\n callback();\n isBatching = false;\n\n if (didUpdate) {\n didUpdate = false;\n listeners.forEach((listener) => listener());\n }\n };\n\n return {\n getState,\n setState,\n batchUpdates,\n subscribe,\n };\n};\n\nexport function useSyncState<T>(getInitialState: () => T) {\n const store = React.useRef(createStore(getInitialState)).current;\n\n const state = React.useSyncExternalStore(\n store.subscribe,\n store.getState,\n store.getState\n );\n\n React.useDebugValue(state);\n\n const pendingUpdatesRef = React.useRef<(() => void)[]>([]);\n\n const scheduleUpdate = useLatestCallback((callback: () => void) => {\n pendingUpdatesRef.current.push(callback);\n });\n\n const flushUpdates = useLatestCallback(() => {\n const pendingUpdates = pendingUpdatesRef.current;\n\n pendingUpdatesRef.current = [];\n\n if (pendingUpdates.length !== 0) {\n store.batchUpdates(() => {\n // Flush all the pending updates\n for (const update of pendingUpdates) {\n update();\n }\n });\n }\n });\n\n return {\n state,\n getState: store.getState,\n setState: store.setState,\n scheduleUpdate,\n flushUpdates,\n } as const;\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}