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
5.3 KiB

{"ast":null,"code":"import NativeModules from \"react-native-web/dist/exports/NativeModules\";\nimport { getAssetByID } from \"./AssetRegistry\";\nimport AssetSourceResolver from \"./AssetSourceResolver\";\nvar _customSourceTransformer;\nvar _serverURL;\nvar _sourceCodeScriptURL;\nfunction getSourceCodeScriptURL() {\n var _sourceCode;\n if (_sourceCodeScriptURL) {\n return _sourceCodeScriptURL;\n }\n var sourceCode = typeof nativeExtensions !== 'undefined' ? nativeExtensions.SourceCode : null;\n if (!sourceCode) {\n sourceCode = NativeModules == null ? void 0 : NativeModules.SourceCode;\n }\n _sourceCodeScriptURL = (_sourceCode = sourceCode) == null ? void 0 : _sourceCode.scriptURL;\n return _sourceCodeScriptURL;\n}\nfunction getDevServerURL() {\n if (_serverURL === undefined) {\n var sourceCodeScriptURL = getSourceCodeScriptURL();\n var match = sourceCodeScriptURL && sourceCodeScriptURL.match(/^https?:\\/\\/.*?\\//);\n if (match) {\n _serverURL = match[0];\n } else {\n _serverURL = null;\n }\n }\n return _serverURL;\n}\nexport function setCustomSourceTransformer(transformer) {\n _customSourceTransformer = transformer;\n}\nexport default function resolveAssetSource(source) {\n if (typeof source === 'object') {\n return source;\n }\n var asset = getAssetByID(source);\n if (!asset) {\n return undefined;\n }\n var resolver = new AssetSourceResolver(getDevServerURL(), null, asset);\n if (_customSourceTransformer) {\n return _customSourceTransformer(resolver);\n }\n return resolver.defaultAsset();\n}\nObject.defineProperty(resolveAssetSource, 'setCustomSourceTransformer', {\n get: function get() {\n return setCustomSourceTransformer;\n }\n});\nvar pickScale = AssetSourceResolver.pickScale;\nexport { pickScale };","map":{"version":3,"sources":["../src/resolveAssetSource.web.ts"],"names":[],"mappings":";AAEA,SAAS,YAAY;AACrB,OAAO,mBAA4C;AAInD,IAAI,wBAAwB;AAC5B,IAAI,UAAqC;AACzC,IAAI,oBAA+C;AAEnD,SAAS,sBAAsB,GAAA;EAAA;EAC7B,IAAI,oBAAoB,EAAE;IACxB,OAAO,oBAAoB;EAC5B;EAED,IAAI,UAAU,GAAG,OAAO,gBAAgB,KAAK,WAAW,GAAG,gBAAgB,CAAC,UAAU,GAAG,IAAI;EAC7F,IAAI,CAAC,UAAU,EAAE;IACf,UAAU,GAAG,aAAa,oBAAb,aAAa,CAAE,UAAU;EACvC;EACD,oBAAoB,kBAAG,UAAU,qBAAV,YAAY,SAAS;EAC5C,OAAO,oBAAoB;AAC7B;AAEA,SAAS,eAAe,GAAA;EACtB,IAAI,UAAU,KAAK,SAAS,EAAE;IAC5B,IAAM,mBAAmB,GAAG,sBAAsB,EAAE;IACpD,IAAM,KAAK,GAAG,mBAAmB,IAAI,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,CAAC;IACnF,IAAI,KAAK,EAAE;MAET,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC;KACtB,MAAM;MAEL,UAAU,GAAG,IAAI;IAClB;EACF;EACD,OAAO,UAAU;AACnB;AAEA,OAAM,SAAU,0BAA0B,CACxC,WAAmE,EAAA;EAEnE,wBAAwB,GAAG,WAAW;AACxC;AAMA,eAAc,SAAU,kBAAkB,CAAC,MAAW,EAAA;EACpD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAO,MAAM;EACd;EAED,IAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;EAClC,IAAI,CAAC,KAAK,EAAE;IACV,OAAO,SAAS;EACjB;EAED,IAAM,QAAQ,GAAG,IAAI,mBAAmB,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC;EACxE,IAAI,wBAAwB,EAAE;IAC5B,OAAO,wBAAwB,CAAC,QAAQ,CAAC;EAC1C;EACD,OAAO,QAAQ,CAAC,YAAY,EAAE;AAChC;AAEA,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,4BAA4B,EAAE;EACtE,GAAG,iBAAA;IACD,OAAO,0BAA0B;EACnC;CACD,CAAC;AAEK,IAAQ,SAAS,GAAK,mBAAmB,CAAjC,SAAS;AAAyB","sourcesContent":["import { NativeModules } from 'react-native';\n\nimport { getAssetByID } from './AssetRegistry';\nimport AssetSourceResolver, { ResolvedAssetSource } from './AssetSourceResolver';\n\ndeclare let nativeExtensions: { SourceCode?: { scriptURL: string } } | undefined;\n\nlet _customSourceTransformer;\nlet _serverURL: string | undefined | null;\nlet _sourceCodeScriptURL: string | undefined | null;\n\nfunction getSourceCodeScriptURL(): string | undefined | null {\n if (_sourceCodeScriptURL) {\n return _sourceCodeScriptURL;\n }\n\n let sourceCode = typeof nativeExtensions !== 'undefined' ? nativeExtensions.SourceCode : null;\n if (!sourceCode) {\n sourceCode = NativeModules?.SourceCode;\n }\n _sourceCodeScriptURL = sourceCode?.scriptURL;\n return _sourceCodeScriptURL;\n}\n\nfunction getDevServerURL(): string | null {\n if (_serverURL === undefined) {\n const sourceCodeScriptURL = getSourceCodeScriptURL();\n const match = sourceCodeScriptURL && sourceCodeScriptURL.match(/^https?:\\/\\/.*?\\//);\n if (match) {\n // jsBundle was loaded from network\n _serverURL = match[0];\n } else {\n // jsBundle was loaded from file\n _serverURL = null;\n }\n }\n return _serverURL;\n}\n\nexport function setCustomSourceTransformer(\n transformer: (resolver: AssetSourceResolver) => ResolvedAssetSource\n): void {\n _customSourceTransformer = transformer;\n}\n\n/**\n * `source` is either a number (opaque type returned by require('./foo.png'))\n * or an `ImageSource` like { uri: '<http location || file path>' }\n */\nexport default function resolveAssetSource(source: any): ResolvedAssetSource | undefined {\n if (typeof source === 'object') {\n return source;\n }\n\n const asset = getAssetByID(source);\n if (!asset) {\n return undefined;\n }\n\n const resolver = new AssetSourceResolver(getDevServerURL(), null, asset);\n if (_customSourceTransformer) {\n return _customSourceTransformer(resolver);\n }\n return resolver.defaultAsset();\n}\n\nObject.defineProperty(resolveAssetSource, 'setCustomSourceTransformer', {\n get() {\n return setCustomSourceTransformer;\n },\n});\n\nexport const { pickScale } = AssetSourceResolver;\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"}