{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport pack from 'react-native/package.json';\nvar _pack$version$split = pack.version.split('.'),\n  _pack$version$split2 = _slicedToArray(_pack$version$split, 2),\n  majorStr = _pack$version$split2[0],\n  minorStr = _pack$version$split2[1];\nexport var REACT_NATIVE_VERSION = {\n  major: parseInt(majorStr, 10),\n  minor: parseInt(minorStr, 10)\n};\nexport function toArray(object) {\n  if (!Array.isArray(object)) {\n    return [object];\n  }\n  return object;\n}\nexport function withPrevAndCurrent(array, mapFn) {\n  var previousArr = [null];\n  var currentArr = _toConsumableArray(array);\n  var transformedArr = [];\n  currentArr.forEach(function (current, i) {\n    var previous = previousArr[i];\n    var transformed = mapFn(previous, current);\n    previousArr.push(transformed);\n    transformedArr.push(transformed);\n  });\n  return transformedArr;\n}\nexport function hasProperty(object, key) {\n  return Object.prototype.hasOwnProperty.call(object, key);\n}\nexport function isJestEnv() {\n  return hasProperty(global, 'process') && !!process.env.JEST_WORKER_ID;\n}\nexport function tagMessage(msg) {\n  return `[react-native-gesture-handler] ${msg}`;\n}\nexport function isFabric() {\n  var _global;\n  return !!((_global = global) !== null && _global !== void 0 && _global.nativeFabricUIManager);\n}\nexport function isRemoteDebuggingEnabled() {\n  return !global.nativeCallSyncHook || global.__REMOTEDEV__;\n}","map":{"version":3,"sources":["utils.ts"],"names":["pack","majorStr","minorStr","version","split","REACT_NATIVE_VERSION","major","parseInt","minor","toArray","object","Array","isArray","withPrevAndCurrent","array","mapFn","previousArr","currentArr","transformedArr","forEach","current","i","previous","transformed","push","hasProperty","key","Object","prototype","hasOwnProperty","call","isJestEnv","global","process","env","JEST_WORKER_ID","tagMessage","msg","isFabric","nativeFabricUIManager","isRemoteDebuggingEnabled","nativeCallSyncHook","__REMOTEDEV__"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,2BAAjB;AAEA,IAAA,mBAAA,GAA6BA,IAAI,CAACG,OAALH,CAAaI,KAAbJ,CAAmB,GAAnBA,CAA7B;EAAA,oBAAA,GAAA,cAAA,CAAA,mBAAA;EAAOC,QAAD,GAAA,oBAAA;EAAWC,QAAX,GAAA,oBAAA;AACN,OAAO,IAAMG,oBAAoB,GAAG;EAClCC,KAAK,EAAEC,QAAQ,CAACN,QAAD,EAAW,EAAX,CADmB;EAElCO,KAAK,EAAED,QAAQ,CAACL,QAAD,EAAW,EAAX;AAFmB,CAA7B;AAKP,OAAO,SAASO,OAAT,CAAoBC,MAApB,EAA0C;EAC/C,IAAI,CAACC,KAAK,CAACC,OAAND,CAAcD,MAAdC,CAAL,EAA4B;IAC1B,OAAO,CAACD,MAAD,CAAP;EACD;EAED,OAAOA,MAAP;AACD;AAMD,OAAO,SAASG,kBAAT,CACLC,KADK,EAELC,KAFK,EAGU;EACf,IAAMC,WAAmC,GAAG,CAAC,IAAD,CAA5C;EACA,IAAMC,UAAU,GAAA,kBAAA,CAAOH,KAAJ,CAAnB;EACA,IAAMI,cAA6B,GAAG,EAAtC;EACAD,UAAU,CAACE,OAAXF,CAAmB,UAACG,OAAD,EAAUC,CAAV,EAAgB;IACjC,IAAMC,QAAQ,GAAGN,WAAW,CAACK,CAAD,CAA5B;IACA,IAAME,WAAW,GAAGR,KAAK,CAACO,QAAD,EAAWF,OAAX,CAAzB;IACAJ,WAAW,CAACQ,IAAZR,CAAiBO,WAAjBP,CAAAA;IACAE,cAAc,CAACM,IAAfN,CAAoBK,WAApBL,CAAAA;EACD,CALDD,CAAAA;EAMA,OAAOC,cAAP;AACD;AAGD,OAAO,SAASO,WAAT,CAAqBf,MAArB,EAAqCgB,GAArC,EAAkD;EACvD,OAAOC,MAAM,CAACC,SAAPD,CAAiBE,cAAjBF,CAAgCG,IAAhCH,CAAqCjB,MAArCiB,EAA6CD,GAA7CC,CAAP;AACD;AAED,OAAO,SAASI,SAAT,CAAA,EAA8B;EAEnC,OAAON,WAAW,CAACO,MAAD,EAAS,SAAT,CAAXP,IAAkC,CAAC,CAACQ,OAAO,CAACC,GAARD,CAAYE,cAAvD;AACD;AAED,OAAO,SAASC,UAAT,CAAoBC,GAApB,EAAiC;EACtC,OAAQ,kCAAiCA,GAAI,EAA7C;AACD;AAID,OAAO,SAASC,QAAT,CAAA,EAA6B;EAAA,IAAA,OAAA;EAElC,OAAO,CAAC,EAAA,CAAA,OAAA,GAACN,MAAD,MAAA,IAAA,IAAA,OAAA,KAAA,KAAA,CAAA,IAACA,OAAAA,CAAQO,qBAAT,CAAR;AACD;AAED,OAAO,SAASC,wBAAT,CAAA,EAA6C;EAGlD,OAAO,CAAER,MAAD,CAAgBS,kBAAjB,IAAwCT,MAAD,CAAgBU,aAA9D;AACD","sourcesContent":["import pack from 'react-native/package.json';\n\nconst [majorStr, minorStr] = pack.version.split('.');\nexport const REACT_NATIVE_VERSION = {\n  major: parseInt(majorStr, 10),\n  minor: parseInt(minorStr, 10),\n};\n\nexport function toArray<T>(object: T | T[]): T[] {\n  if (!Array.isArray(object)) {\n    return [object];\n  }\n\n  return object;\n}\n\nexport type withPrevAndCurrentMapFn<T, Transformed> = (\n  previous: Transformed | null,\n  current: T\n) => Transformed;\nexport function withPrevAndCurrent<T, Transformed>(\n  array: T[],\n  mapFn: withPrevAndCurrentMapFn<T, Transformed>\n): Transformed[] {\n  const previousArr: (null | Transformed)[] = [null];\n  const currentArr = [...array];\n  const transformedArr: Transformed[] = [];\n  currentArr.forEach((current, i) => {\n    const previous = previousArr[i];\n    const transformed = mapFn(previous, current);\n    previousArr.push(transformed);\n    transformedArr.push(transformed);\n  });\n  return transformedArr;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function hasProperty(object: object, key: string) {\n  return Object.prototype.hasOwnProperty.call(object, key);\n}\n\nexport function isJestEnv(): boolean {\n  // @ts-ignore Do not use `@types/node` because it will prioritise Node types over RN types which breaks the types (ex. setTimeout) in React Native projects.\n  return hasProperty(global, 'process') && !!process.env.JEST_WORKER_ID;\n}\n\nexport function tagMessage(msg: string) {\n  return `[react-native-gesture-handler] ${msg}`;\n}\n\n// helper method to check whether Fabric is enabled, however global.nativeFabricUIManager\n// may not be initialized before the first render\nexport function isFabric(): boolean {\n  // @ts-expect-error nativeFabricUIManager is not yet included in the RN types\n  return !!global?.nativeFabricUIManager;\n}\n\nexport function isRemoteDebuggingEnabled(): boolean {\n  // react-native-reanimated checks if in remote debugging in the same way\n  // @ts-ignore global is available but node types are not included\n  return !(global as any).nativeCallSyncHook || (global as any).__REMOTEDEV__;\n}\n"]},"metadata":{},"sourceType":"module"}