{"ast":null,"code":"function ownKeys(object, enumerableOnly) {\n  var keys = Object.keys(object);\n\n  if (Object.getOwnPropertySymbols) {\n    var symbols = Object.getOwnPropertySymbols(object);\n    if (enumerableOnly) symbols = symbols.filter(function (sym) {\n      return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n    });\n    keys.push.apply(keys, symbols);\n  }\n\n  return keys;\n}\n\nfunction _objectSpread(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i] != null ? arguments[i] : {};\n\n    if (i % 2) {\n      ownKeys(Object(source), true).forEach(function (key) {\n        _defineProperty(target, key, source[key]);\n      });\n    } else if (Object.getOwnPropertyDescriptors) {\n      Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n    } else {\n      ownKeys(Object(source)).forEach(function (key) {\n        Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n      });\n    }\n  }\n\n  return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nimport UIManager from \"../../exports/UIManager\";\nimport createDOMProps from \"../createDOMProps\";\nimport useStable from \"../useStable\";\nimport { useRef } from 'react';\nvar emptyObject = {};\n\nfunction setNativeProps(node, nativeProps, classList, pointerEvents, style, previousStyleRef) {\n  if (node != null && nativeProps) {\n    var domProps = createDOMProps(null, _objectSpread({\n      pointerEvents: pointerEvents\n    }, nativeProps, {\n      classList: [classList, nativeProps.className],\n      style: [style, nativeProps.style]\n    }));\n    var nextDomStyle = domProps.style;\n\n    if (previousStyleRef.current != null) {\n      if (domProps.style == null) {\n        domProps.style = {};\n      }\n\n      for (var styleName in previousStyleRef.current) {\n        if (domProps.style[styleName] == null) {\n          domProps.style[styleName] = '';\n        }\n      }\n    }\n\n    previousStyleRef.current = nextDomStyle;\n    UIManager.updateView(node, domProps);\n  }\n}\n\nexport default function usePlatformMethods(_ref) {\n  var classList = _ref.classList,\n      pointerEvents = _ref.pointerEvents,\n      style = _ref.style;\n  var previousStyleRef = useRef(null);\n  var setNativePropsArgsRef = useRef(null);\n  setNativePropsArgsRef.current = {\n    classList: classList,\n    pointerEvents: pointerEvents,\n    style: style\n  };\n  var ref = useStable(function () {\n    return function (hostNode) {\n      if (hostNode != null) {\n        hostNode.measure = function (callback) {\n          return UIManager.measure(hostNode, callback);\n        };\n\n        hostNode.measureLayout = function (relativeToNode, success, failure) {\n          return UIManager.measureLayout(hostNode, relativeToNode, failure, success);\n        };\n\n        hostNode.measureInWindow = function (callback) {\n          return UIManager.measureInWindow(hostNode, callback);\n        };\n\n        hostNode.setNativeProps = function (nativeProps) {\n          var _ref2 = setNativePropsArgsRef.current || emptyObject,\n              classList = _ref2.classList,\n              style = _ref2.style,\n              pointerEvents = _ref2.pointerEvents;\n\n          setNativeProps(hostNode, nativeProps, classList, pointerEvents, style, previousStyleRef);\n        };\n      }\n    };\n  });\n  return ref;\n}","map":{"version":3,"sources":["/Users/nishan/Desktop/oss/responsive-breakpoints/example/node_modules/react-native-web/dist/modules/usePlatformMethods/index.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","UIManager","createDOMProps","useStable","useRef","emptyObject","setNativeProps","node","nativeProps","classList","pointerEvents","style","previousStyleRef","domProps","className","nextDomStyle","current","styleName","updateView","usePlatformMethods","_ref","setNativePropsArgsRef","ref","hostNode","measure","callback","measureLayout","relativeToNode","success","failure","measureInWindow","_ref2"],"mappings":"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","sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport UIManager from '../../exports/UIManager';\nimport createDOMProps from '../createDOMProps';\nimport useStable from '../useStable';\nimport { useRef } from 'react';\nvar emptyObject = {};\n\nfunction setNativeProps(node, nativeProps, classList, pointerEvents, style, previousStyleRef) {\n  if (node != null && nativeProps) {\n    var domProps = createDOMProps(null, _objectSpread({\n      pointerEvents: pointerEvents\n    }, nativeProps, {\n      classList: [classList, nativeProps.className],\n      style: [style, nativeProps.style]\n    }));\n    var nextDomStyle = domProps.style;\n\n    if (previousStyleRef.current != null) {\n      if (domProps.style == null) {\n        domProps.style = {};\n      }\n\n      for (var styleName in previousStyleRef.current) {\n        if (domProps.style[styleName] == null) {\n          domProps.style[styleName] = '';\n        }\n      }\n    }\n\n    previousStyleRef.current = nextDomStyle;\n    UIManager.updateView(node, domProps);\n  }\n}\n/**\n * Adds non-standard methods to the hode element. This is temporarily until an\n * API like `ReactNative.measure(hostRef, callback)` is added to React Native.\n */\n\n\nexport default function usePlatformMethods(_ref) {\n  var classList = _ref.classList,\n      pointerEvents = _ref.pointerEvents,\n      style = _ref.style;\n  var previousStyleRef = useRef(null);\n  var setNativePropsArgsRef = useRef(null);\n  setNativePropsArgsRef.current = {\n    classList: classList,\n    pointerEvents: pointerEvents,\n    style: style\n  }; // Avoid creating a new ref on every render. The props only need to be\n  // available to 'setNativeProps' when it is called.\n\n  var ref = useStable(function () {\n    return function (hostNode) {\n      if (hostNode != null) {\n        hostNode.measure = function (callback) {\n          return UIManager.measure(hostNode, callback);\n        };\n\n        hostNode.measureLayout = function (relativeToNode, success, failure) {\n          return UIManager.measureLayout(hostNode, relativeToNode, failure, success);\n        };\n\n        hostNode.measureInWindow = function (callback) {\n          return UIManager.measureInWindow(hostNode, callback);\n        };\n\n        hostNode.setNativeProps = function (nativeProps) {\n          var _ref2 = setNativePropsArgsRef.current || emptyObject,\n              classList = _ref2.classList,\n              style = _ref2.style,\n              pointerEvents = _ref2.pointerEvents;\n\n          setNativeProps(hostNode, nativeProps, classList, pointerEvents, style, previousStyleRef);\n        };\n      }\n    };\n  });\n  return ref;\n}"]},"metadata":{},"sourceType":"module"}