repoweaver
Version:
A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies
1 lines • 20.8 kB
JSON
{"ast":null,"code":"'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport invariant from 'fbjs/lib/invariant';\nclass ViewabilityHelper {\n constructor(config) {\n if (config === void 0) {\n config = {\n viewAreaCoveragePercentThreshold: 0\n };\n }\n this._hasInteracted = false;\n this._timers = new Set();\n this._viewableIndices = [];\n this._viewableItems = new Map();\n this._config = config;\n }\n dispose() {\n this._timers.forEach(clearTimeout);\n }\n computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange) {\n var itemCount = props.getItemCount(props.data);\n var _this$_config = this._config,\n itemVisiblePercentThreshold = _this$_config.itemVisiblePercentThreshold,\n viewAreaCoveragePercentThreshold = _this$_config.viewAreaCoveragePercentThreshold;\n var viewAreaMode = viewAreaCoveragePercentThreshold != null;\n var viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;\n invariant(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), 'Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold');\n var viewableIndices = [];\n if (itemCount === 0) {\n return viewableIndices;\n }\n var firstVisible = -1;\n var _ref = renderRange || {\n first: 0,\n last: itemCount - 1\n },\n first = _ref.first,\n last = _ref.last;\n if (last >= itemCount) {\n console.warn('Invalid render range computing viewability ' + JSON.stringify({\n renderRange,\n itemCount\n }));\n return [];\n }\n for (var idx = first; idx <= last; idx++) {\n var metrics = getFrameMetrics(idx, props);\n if (!metrics) {\n continue;\n }\n var top = metrics.offset - scrollOffset;\n var bottom = top + metrics.length;\n if (top < viewportHeight && bottom > 0) {\n firstVisible = idx;\n if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {\n viewableIndices.push(idx);\n }\n } else if (firstVisible >= 0) {\n break;\n }\n }\n return viewableIndices;\n }\n onUpdate(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange) {\n var itemCount = props.getItemCount(props.data);\n if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) {\n return;\n }\n var viewableIndices = [];\n if (itemCount) {\n viewableIndices = this.computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange);\n }\n if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) {\n return;\n }\n this._viewableIndices = viewableIndices;\n if (this._config.minimumViewTime) {\n var handle = setTimeout(() => {\n this._timers.delete(handle);\n this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);\n }, this._config.minimumViewTime);\n this._timers.add(handle);\n } else {\n this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);\n }\n }\n resetViewableIndices() {\n this._viewableIndices = [];\n }\n recordInteraction() {\n this._hasInteracted = true;\n }\n _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {\n viewableIndicesToCheck = viewableIndicesToCheck.filter(ii => this._viewableIndices.includes(ii));\n var prevItems = this._viewableItems;\n var nextItems = new Map(viewableIndicesToCheck.map(ii => {\n var viewable = createViewToken(ii, true, props);\n return [viewable.key, viewable];\n }));\n var changed = [];\n for (var _iterator = _createForOfIteratorHelperLoose(nextItems), _step; !(_step = _iterator()).done;) {\n var _step$value = _step.value,\n key = _step$value[0],\n viewable = _step$value[1];\n if (!prevItems.has(key)) {\n changed.push(viewable);\n }\n }\n for (var _iterator2 = _createForOfIteratorHelperLoose(prevItems), _step2; !(_step2 = _iterator2()).done;) {\n var _step2$value = _step2.value,\n _key = _step2$value[0],\n _viewable = _step2$value[1];\n if (!nextItems.has(_key)) {\n changed.push(_objectSpread(_objectSpread({}, _viewable), {}, {\n isViewable: false\n }));\n }\n }\n if (changed.length > 0) {\n this._viewableItems = nextItems;\n onViewableItemsChanged({\n viewableItems: Array.from(nextItems.values()),\n changed,\n viewabilityConfig: this._config\n });\n }\n }\n}\nfunction _isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, itemLength) {\n if (_isEntirelyVisible(top, bottom, viewportHeight)) {\n return true;\n } else {\n var pixels = _getPixelsVisible(top, bottom, viewportHeight);\n var percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);\n return percent >= viewablePercentThreshold;\n }\n}\nfunction _getPixelsVisible(top, bottom, viewportHeight) {\n var visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);\n return Math.max(0, visibleHeight);\n}\nfunction _isEntirelyVisible(top, bottom, viewportHeight) {\n return top >= 0 && bottom <= viewportHeight && bottom > top;\n}\nexport default ViewabilityHelper;","map":{"version":3,"names":["_objectSpread","_createForOfIteratorHelperLoose","invariant","ViewabilityHelper","constructor","config","viewAreaCoveragePercentThreshold","_hasInteracted","_timers","Set","_viewableIndices","_viewableItems","Map","_config","dispose","forEach","clearTimeout","computeViewableItems","props","scrollOffset","viewportHeight","getFrameMetrics","renderRange","itemCount","getItemCount","data","_this$_config","itemVisiblePercentThreshold","viewAreaMode","viewablePercentThreshold","viewableIndices","firstVisible","_ref","first","last","console","warn","JSON","stringify","idx","metrics","top","offset","bottom","length","_isViewable","push","onUpdate","createViewToken","onViewableItemsChanged","waitForInteraction","every","v","ii","minimumViewTime","handle","setTimeout","delete","_onUpdateSync","add","resetViewableIndices","recordInteraction","viewableIndicesToCheck","filter","includes","prevItems","nextItems","map","viewable","key","changed","_iterator","_step","done","_step$value","value","has","_iterator2","_step2","_step2$value","_key","_viewable","isViewable","viewableItems","Array","from","values","viewabilityConfig","itemLength","_isEntirelyVisible","pixels","_getPixelsVisible","percent","visibleHeight","Math","min","max"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-web/dist/vendor/react-native/ViewabilityHelper/index.js"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport invariant from 'fbjs/lib/invariant';\n/**\n * A Utility class for calculating viewable items based on current metrics like scroll position and\n * layout.\n *\n * An item is said to be in a \"viewable\" state when any of the following\n * is true for longer than `minimumViewTime` milliseconds (after an interaction if `waitForInteraction`\n * is true):\n *\n * - Occupying >= `viewAreaCoveragePercentThreshold` of the view area XOR fraction of the item\n * visible in the view area >= `itemVisiblePercentThreshold`.\n * - Entirely visible on screen\n */\nclass ViewabilityHelper {\n constructor(config) {\n if (config === void 0) {\n config = {\n viewAreaCoveragePercentThreshold: 0\n };\n }\n this._hasInteracted = false;\n this._timers = new Set();\n this._viewableIndices = [];\n this._viewableItems = new Map();\n this._config = config;\n }\n\n /**\n * Cleanup, e.g. on unmount. Clears any pending timers.\n */\n dispose() {\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To see\n * the error delete this comment and run Flow. */\n this._timers.forEach(clearTimeout);\n }\n\n /**\n * Determines which items are viewable based on the current metrics and config.\n */\n computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics,\n // Optional optimization to reduce the scan size\n renderRange) {\n var itemCount = props.getItemCount(props.data);\n var _this$_config = this._config,\n itemVisiblePercentThreshold = _this$_config.itemVisiblePercentThreshold,\n viewAreaCoveragePercentThreshold = _this$_config.viewAreaCoveragePercentThreshold;\n var viewAreaMode = viewAreaCoveragePercentThreshold != null;\n var viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;\n invariant(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), 'Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold');\n var viewableIndices = [];\n if (itemCount === 0) {\n return viewableIndices;\n }\n var firstVisible = -1;\n var _ref = renderRange || {\n first: 0,\n last: itemCount - 1\n },\n first = _ref.first,\n last = _ref.last;\n if (last >= itemCount) {\n console.warn('Invalid render range computing viewability ' + JSON.stringify({\n renderRange,\n itemCount\n }));\n return [];\n }\n for (var idx = first; idx <= last; idx++) {\n var metrics = getFrameMetrics(idx, props);\n if (!metrics) {\n continue;\n }\n var top = metrics.offset - scrollOffset;\n var bottom = top + metrics.length;\n if (top < viewportHeight && bottom > 0) {\n firstVisible = idx;\n if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {\n viewableIndices.push(idx);\n }\n } else if (firstVisible >= 0) {\n break;\n }\n }\n return viewableIndices;\n }\n\n /**\n * Figures out which items are viewable and how that has changed from before and calls\n * `onViewableItemsChanged` as appropriate.\n */\n onUpdate(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged,\n // Optional optimization to reduce the scan size\n renderRange) {\n var itemCount = props.getItemCount(props.data);\n if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) {\n return;\n }\n var viewableIndices = [];\n if (itemCount) {\n viewableIndices = this.computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange);\n }\n if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) {\n // We might get a lot of scroll events where visibility doesn't change and we don't want to do\n // extra work in those cases.\n return;\n }\n this._viewableIndices = viewableIndices;\n if (this._config.minimumViewTime) {\n var handle = setTimeout(() => {\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To\n * see the error delete this comment and run Flow. */\n this._timers.delete(handle);\n this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);\n }, this._config.minimumViewTime);\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To see\n * the error delete this comment and run Flow. */\n this._timers.add(handle);\n } else {\n this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);\n }\n }\n\n /**\n * clean-up cached _viewableIndices to evaluate changed items on next update\n */\n resetViewableIndices() {\n this._viewableIndices = [];\n }\n\n /**\n * Records that an interaction has happened even if there has been no scroll.\n */\n recordInteraction() {\n this._hasInteracted = true;\n }\n _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {\n // Filter out indices that have gone out of view since this call was scheduled.\n viewableIndicesToCheck = viewableIndicesToCheck.filter(ii => this._viewableIndices.includes(ii));\n var prevItems = this._viewableItems;\n var nextItems = new Map(viewableIndicesToCheck.map(ii => {\n var viewable = createViewToken(ii, true, props);\n return [viewable.key, viewable];\n }));\n var changed = [];\n for (var _iterator = _createForOfIteratorHelperLoose(nextItems), _step; !(_step = _iterator()).done;) {\n var _step$value = _step.value,\n key = _step$value[0],\n viewable = _step$value[1];\n if (!prevItems.has(key)) {\n changed.push(viewable);\n }\n }\n for (var _iterator2 = _createForOfIteratorHelperLoose(prevItems), _step2; !(_step2 = _iterator2()).done;) {\n var _step2$value = _step2.value,\n _key = _step2$value[0],\n _viewable = _step2$value[1];\n if (!nextItems.has(_key)) {\n changed.push(_objectSpread(_objectSpread({}, _viewable), {}, {\n isViewable: false\n }));\n }\n }\n if (changed.length > 0) {\n this._viewableItems = nextItems;\n onViewableItemsChanged({\n viewableItems: Array.from(nextItems.values()),\n changed,\n viewabilityConfig: this._config\n });\n }\n }\n}\nfunction _isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, itemLength) {\n if (_isEntirelyVisible(top, bottom, viewportHeight)) {\n return true;\n } else {\n var pixels = _getPixelsVisible(top, bottom, viewportHeight);\n var percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);\n return percent >= viewablePercentThreshold;\n }\n}\nfunction _getPixelsVisible(top, bottom, viewportHeight) {\n var visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);\n return Math.max(0, visibleHeight);\n}\nfunction _isEntirelyVisible(top, bottom, viewportHeight) {\n return top >= 0 && bottom <= viewportHeight && bottom > top;\n}\nexport default ViewabilityHelper;"],"mappings":"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","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}