BLUE
PHP 7.4.33
Path:
/var/www/uibuilder.cmshelp.dk/httpdocs/node_modules/metro-transform-plugins/src/utils
Run
Logout
Edit File
Size: 3.41 KB
Close
/var/www/uibuilder.cmshelp.dk/httpdocs/node_modules/metro-transform-plugins/src/utils/createInlinePlatformChecks.js
Text
Base64
"use strict"; const importMap = new Map([["ReactNative", "react-native"]]); function createInlinePlatformChecks(t, requireName = "require") { const { isIdentifier, isStringLiteral, isNumericLiteral, isMemberExpression, isCallExpression, } = t; const isPlatformNode = (node, scope, isWrappedModule) => isPlatformOS(node, scope, isWrappedModule) || isReactPlatformOS(node, scope, isWrappedModule); const isPlatformSelectNode = (node, scope, isWrappedModule) => isPlatformSelect(node, scope, isWrappedModule) || isReactPlatformSelect(node, scope, isWrappedModule); const isPlatformOS = (node, scope, isWrappedModule) => isIdentifier(node.property, { name: "OS", }) && isImportOrGlobal( node.object, scope, [ { name: "Platform", }, ], isWrappedModule ); const isReactPlatformOS = (node, scope, isWrappedModule) => isIdentifier(node.property, { name: "OS", }) && isMemberExpression(node.object) && isIdentifier(node.object.property, { name: "Platform", }) && isImportOrGlobal( node.object.object, scope, [ { name: "React", }, { name: "ReactNative", }, ], isWrappedModule ); const isPlatformSelect = (node, scope, isWrappedModule) => isMemberExpression(node.callee) && isIdentifier(node.callee.property, { name: "select", }) && isImportOrGlobal( node.callee.object, scope, [ { name: "Platform", }, ], isWrappedModule ); const isReactPlatformSelect = (node, scope, isWrappedModule) => isMemberExpression(node.callee) && isIdentifier(node.callee.property, { name: "select", }) && isMemberExpression(node.callee.object) && isIdentifier(node.callee.object.property, { name: "Platform", }) && isImportOrGlobal( node.callee.object.object, scope, [ { name: "React", }, { name: "ReactNative", }, ], isWrappedModule ); const isRequireCall = (node, dependencyId, scope) => isCallExpression(node) && isIdentifier(node.callee, { name: requireName, }) && checkRequireArgs(node.arguments, dependencyId); const isImport = (node, scope, patterns) => patterns.some((pattern) => { const importName = importMap.get(pattern.name) || pattern.name; return isRequireCall(node, importName, scope); }); const isImportOrGlobal = (node, scope, patterns, isWrappedModule) => { const identifier = patterns.find((pattern) => isIdentifier(node, pattern)); return ( (!!identifier && isToplevelBinding( scope.getBinding(identifier.name), isWrappedModule )) || isImport(node, scope, patterns) ); }; const checkRequireArgs = (args, dependencyId) => { const pattern = t.stringLiteral(dependencyId); return ( isStringLiteral(args[0], pattern) || (isMemberExpression(args[0]) && isNumericLiteral(args[0].property) && isStringLiteral(args[1], pattern)) ); }; const isToplevelBinding = (binding, isWrappedModule) => !binding || !binding.scope.parent || (isWrappedModule && !binding.scope.parent.parent); return { isPlatformNode, isPlatformSelectNode, }; } module.exports = createInlinePlatformChecks;
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 2
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
createInlinePlatformChecks.js
3.41 KB
lrw-r--r--
2025-03-28 11:04:32
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
createInlinePlatformChecks.js.flow
4.84 KB
lrw-r--r--
2025-03-28 11:04:32
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).