universal-env
Advanced tools
Comparing version 1.0.1 to 1.0.2
@@ -6,1 +6,3 @@ export declare const isMiniApp: boolean; | ||
export declare const isReactNative: boolean; | ||
export declare const isAndroid: boolean; | ||
export declare const isIOS: boolean; |
"use strict"; | ||
exports.__esModule = true; | ||
exports.isReactNative = exports.isWeex = exports.isNode = exports.isWeb = exports.isMiniApp = void 0; | ||
exports.isIOS = exports.isAndroid = exports.isReactNative = exports.isWeex = exports.isNode = exports.isWeb = exports.isMiniApp = void 0; | ||
var isWebPure = typeof navigator === 'object' && (navigator.appCodeName === 'Mozilla' || navigator.product === 'Gecko'); | ||
@@ -15,2 +15,35 @@ var isMiniApp = typeof my === 'object' && typeof my.getSystemInfo !== 'undefined'; | ||
var isReactNative = typeof __fbBatchedBridgeConfig !== 'undefined'; | ||
exports.isReactNative = isReactNative; | ||
exports.isReactNative = isReactNative; | ||
var miniAppSystemInfo = {}; | ||
if (isMiniApp) { | ||
miniAppSystemInfo = my.getSystemInfoSync(); | ||
} | ||
var isAndroid = function () { | ||
if (isMiniApp) { | ||
return ['Android', 'android'].includes(miniAppSystemInfo.platform); | ||
} else if (isWeex) { | ||
return navigator.platform.toLowerCase() === 'android'; | ||
} else if (isWeb) { | ||
return Boolean(navigator.userAgent.match(/android/i)); | ||
} | ||
return false; | ||
}(); | ||
exports.isAndroid = isAndroid; | ||
var isIOS = function () { | ||
if (isMiniApp) { | ||
return ['iPhone OS', 'iOS'].includes(miniAppSystemInfo.platform); | ||
} else if (isWeex) { | ||
return navigator.platform.toLowerCase() === 'ios'; | ||
} else if (isWeb) { | ||
return Boolean(navigator.userAgent.match(/(iphone|ipod|ipad)/i)); | ||
} | ||
return false; | ||
}(); | ||
exports.isIOS = isIOS; |
{ | ||
"name": "universal-env", | ||
"author": "rax", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"license": "BSD-3-Clause", | ||
"main": "lib/index.js", | ||
"types": "lib/index.d.ts", | ||
"miniappConfig": { | ||
"main": "lib/index.js" | ||
}, | ||
"scripts": { | ||
@@ -48,3 +45,3 @@ "start": "rax-scripts start --type 'component' -p 8000", | ||
}, | ||
"homepage": "https://github.com/alibaba/rax#readme" | ||
"homepage": "https://github.com/raxjs/universal-env" | ||
} |
@@ -21,6 +21,6 @@ # universal-env [![npm](https://img.shields.io/npm/v/universal-env.svg)](https://www.npmjs.com/package/universal-env) | ||
### `isWeex: boolean` | ||
校验weex环境 | ||
校验 Weex 环境 | ||
### `isWeb: boolean` | ||
校验web环境 | ||
校验 Web 环境 | ||
@@ -31,5 +31,11 @@ ### `isMiniApp: boolean` | ||
### `isReactNative: boolean` | ||
校验React Native环境 | ||
校验 React Native 环境 | ||
### `isNode: boolean` | ||
校验Node.js环境 | ||
校验 Node.js 环境 | ||
### `isAndroid: boolean` | ||
校验 Android 环境 | ||
### `isIOS: boolean` | ||
校验 iOS 环境 |
@@ -34,1 +34,7 @@ # universal-env [![npm](https://img.shields.io/npm/v/universal-env.svg)](https://www.npmjs.com/package/universal-env) | ||
Checks if environment is a Node.js environment. | ||
### `isAndroid: boolean` | ||
Checks if environment is a android environment. | ||
### `isIOS: boolean` | ||
Checks if environment is a iOS environment. |
// eslint-disable-next-line | ||
(global as any).my = { | ||
getSystemInfo: () => {} | ||
getSystemInfo: () => {}, | ||
getSystemInfoSync: () => { | ||
return { | ||
platform: 'android' | ||
}; | ||
} | ||
}; | ||
@@ -12,2 +17,14 @@ | ||
}); | ||
it('Is android mini app environment', (): void => { | ||
// eslint-disable-next-line | ||
const { isAndroid } = require('../index'); | ||
expect(isAndroid).toBeTruthy(); | ||
}); | ||
it('Is not iOS mini app environment', (): void => { | ||
// eslint-disable-next-line | ||
const { isIOS } = require('../index'); | ||
expect(isIOS).toBe(false); | ||
}); | ||
}); |
@@ -13,1 +13,28 @@ // https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appcodename | ||
export const isReactNative: boolean = typeof __fbBatchedBridgeConfig !== 'undefined'; | ||
let miniAppSystemInfo: any = {}; | ||
if (isMiniApp) { | ||
miniAppSystemInfo = my.getSystemInfoSync(); | ||
} | ||
export const isAndroid = (() => { | ||
if (isMiniApp) { | ||
return ['Android', 'android'].includes(miniAppSystemInfo.platform); | ||
} else if (isWeex) { | ||
return navigator.platform.toLowerCase() === 'android'; | ||
} else if (isWeb) { | ||
return Boolean(navigator.userAgent.match(/android/i)); | ||
} | ||
return false; | ||
})(); | ||
export const isIOS = (() => { | ||
if (isMiniApp) { | ||
return ['iPhone OS', 'iOS'].includes(miniAppSystemInfo.platform); | ||
} else if (isWeex) { | ||
return navigator.platform.toLowerCase() === 'ios'; | ||
} else if (isWeb) { | ||
return Boolean(navigator.userAgent.match(/(iphone|ipod|ipad)/i)); | ||
} | ||
return false; | ||
})(); |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
40
11279
16
172
1
1