mirror of
https://github.com/lancedikson/bowser
synced 2024-10-27 20:34:22 +00:00
chore(bulding): trying pika
This commit is contained in:
parent
8fb6e3a080
commit
eda9e7326b
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,3 +5,4 @@ coverage
|
|||||||
dist
|
dist
|
||||||
bundled.js*
|
bundled.js*
|
||||||
es5.js*
|
es5.js*
|
||||||
|
pkg
|
||||||
|
223
index.d.ts
vendored
223
index.d.ts
vendored
@ -1,223 +0,0 @@
|
|||||||
// Type definitions for Bowser v2
|
|
||||||
// Project: https://github.com/lancedikson/bowser
|
|
||||||
// Definitions by: Alexander P. Cerutti <https://github.com/alexandercerutti>,
|
|
||||||
|
|
||||||
export = Bowser;
|
|
||||||
export as namespace Bowser;
|
|
||||||
|
|
||||||
declare namespace Bowser {
|
|
||||||
/**
|
|
||||||
* Creates a Parser instance
|
|
||||||
* @param {string} UA - User agent string
|
|
||||||
* @param {boolean} skipParsing
|
|
||||||
*/
|
|
||||||
|
|
||||||
function getParser(UA: string, skipParsing?: boolean): Parser.Parser;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a Parser instance and runs Parser.getResult immediately
|
|
||||||
* @param UA - User agent string
|
|
||||||
* @returns {Parser.ParsedResult}
|
|
||||||
*/
|
|
||||||
|
|
||||||
function parse(UA: string): Parser.ParsedResult;
|
|
||||||
|
|
||||||
namespace Parser {
|
|
||||||
interface Parser {
|
|
||||||
constructor(UA: string, skipParsing?: boolean): Parser.Parser;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get parsed browser object
|
|
||||||
* @return {BrowserDetails} Browser's details
|
|
||||||
*/
|
|
||||||
|
|
||||||
getBrowser(): BrowserDetails;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get browser's name
|
|
||||||
* @return {String} Browser's name or an empty string
|
|
||||||
*/
|
|
||||||
|
|
||||||
getBrowserName(): string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get browser's version
|
|
||||||
* @return {String} version of browser
|
|
||||||
*/
|
|
||||||
|
|
||||||
getBrowserVersion(): string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get OS
|
|
||||||
* @return {OSDetails} - OS Details
|
|
||||||
*
|
|
||||||
* @example
|
|
||||||
* this.getOS(); // {
|
|
||||||
* // name: 'macOS',
|
|
||||||
* // version: '10.11.12',
|
|
||||||
* // }
|
|
||||||
*/
|
|
||||||
|
|
||||||
getOS(): OSDetails;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get OS name
|
|
||||||
* @param {Boolean} [toLowerCase] return lower-cased value
|
|
||||||
* @return {String} name of the OS — macOS, Windows, Linux, etc.
|
|
||||||
*/
|
|
||||||
|
|
||||||
getOSName(toLowerCase?: boolean): string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get OS version
|
|
||||||
* @return {String} full version with dots ('10.11.12', '5.6', etc)
|
|
||||||
*/
|
|
||||||
|
|
||||||
getOSVersion(): string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get parsed platform
|
|
||||||
* @returns {PlatformDetails}
|
|
||||||
*/
|
|
||||||
|
|
||||||
getPlatform(): PlatformDetails;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get platform name
|
|
||||||
* @param {boolean} toLowerCase
|
|
||||||
*/
|
|
||||||
|
|
||||||
getPlatformType(toLowerCase?: boolean): string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get parsed engine
|
|
||||||
* @returns {EngineDetails}
|
|
||||||
*/
|
|
||||||
|
|
||||||
getEngine(): EngineDetails;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get parsed result
|
|
||||||
* @return {ParsedResult}
|
|
||||||
*/
|
|
||||||
|
|
||||||
getResult(): ParsedResult;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get UserAgent string of current Parser instance
|
|
||||||
* @return {String} User-Agent String of the current <Parser> object
|
|
||||||
*/
|
|
||||||
|
|
||||||
getUA(): string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Is anything? Check if the browser is called "anything",
|
|
||||||
* the OS called "anything" or the platform called "anything"
|
|
||||||
* @param {String} anything
|
|
||||||
* @returns {Boolean}
|
|
||||||
*/
|
|
||||||
|
|
||||||
is(anything: any): boolean;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Parse full information about the browser
|
|
||||||
*/
|
|
||||||
|
|
||||||
parse(): void;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get parsed browser object
|
|
||||||
* @returns {BrowserDetails}
|
|
||||||
*/
|
|
||||||
|
|
||||||
parseBrowser(): BrowserDetails;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get parsed engine
|
|
||||||
* @returns {EngineDetails}
|
|
||||||
*/
|
|
||||||
|
|
||||||
parseEngine(): EngineDetails;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Parse OS and save it to this.parsedResult.os
|
|
||||||
* @returns {OSDetails}
|
|
||||||
*/
|
|
||||||
|
|
||||||
parseOS(): OSDetails;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get parsed platform
|
|
||||||
* @returns {PlatformDetails}
|
|
||||||
*/
|
|
||||||
|
|
||||||
parsePlatform(): PlatformDetails;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if parsed browser matches certain conditions
|
|
||||||
*
|
|
||||||
* @param {checkTree} checkTree It's one or two layered object,
|
|
||||||
* which can include a platform or an OS on the first layer
|
|
||||||
* and should have browsers specs on the bottom-laying layer
|
|
||||||
*
|
|
||||||
* @returns {Boolean|undefined} Whether the browser satisfies the set conditions or not.
|
|
||||||
* Returns `undefined` when the browser is no described in the checkTree object.
|
|
||||||
*
|
|
||||||
* @example
|
|
||||||
* const browser = new Bowser(UA);
|
|
||||||
* if (browser.check({chrome: '>118.01.1322' }))
|
|
||||||
* // or with os
|
|
||||||
* if (browser.check({windows: { chrome: '>118.01.1322' } }))
|
|
||||||
* // or with platforms
|
|
||||||
* if (browser.check({desktop: { chrome: '>118.01.1322' } }))
|
|
||||||
*/
|
|
||||||
|
|
||||||
satisfies(checkTree: checkTree): boolean | undefined;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if any of the given values satifies `.is(anything)`
|
|
||||||
* @param {string[]} anythings
|
|
||||||
* @returns {boolean} true if at least one condition is satisfied, false otherwise.
|
|
||||||
*/
|
|
||||||
|
|
||||||
some(anythings: string[]): boolean | undefined;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test a UA string for a regexp
|
|
||||||
* @param regex
|
|
||||||
* @returns {boolean} true if the regex matches the UA, false otherwise.
|
|
||||||
*/
|
|
||||||
|
|
||||||
test(regex: RegExp): boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface ParsedResult {
|
|
||||||
browser: BrowserDetails;
|
|
||||||
os: OSDetails;
|
|
||||||
platform: PlatformDetails;
|
|
||||||
engine: EngineDetails;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface Details {
|
|
||||||
name?: string;
|
|
||||||
version?: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface OSDetails extends Details {
|
|
||||||
versionName?: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface PlatformDetails {
|
|
||||||
type?: string;
|
|
||||||
vendor?: string;
|
|
||||||
model?: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
type BrowserDetails = Details;
|
|
||||||
type EngineDetails = Details;
|
|
||||||
|
|
||||||
interface checkTree {
|
|
||||||
[key: string]: any;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
1473
package-lock.json
generated
1473
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
19
package.json
19
package.json
@ -21,7 +21,6 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"main": "es5.js",
|
"main": "es5.js",
|
||||||
"types": "index.d.ts",
|
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/lancedikson/bowser.git"
|
"url": "git+https://github.com/lancedikson/bowser.git"
|
||||||
@ -32,6 +31,11 @@
|
|||||||
"@babel/polyfill": "^7.4.4",
|
"@babel/polyfill": "^7.4.4",
|
||||||
"@babel/preset-env": "^7.5.4",
|
"@babel/preset-env": "^7.5.4",
|
||||||
"@babel/register": "^7.4.4",
|
"@babel/register": "^7.4.4",
|
||||||
|
"@pika/pack": "^0.5.0",
|
||||||
|
"@pika/plugin-build-node": "^0.6.0",
|
||||||
|
"@pika/plugin-build-types": "^0.6.0",
|
||||||
|
"@pika/plugin-build-web": "^0.6.0",
|
||||||
|
"@pika/plugin-standard-pkg": "^0.6.0",
|
||||||
"ava": "^2.2.0",
|
"ava": "^2.2.0",
|
||||||
"babel-eslint": "^10.0.2",
|
"babel-eslint": "^10.0.2",
|
||||||
"babel-loader": "^8.0.6",
|
"babel-loader": "^8.0.6",
|
||||||
@ -59,6 +63,19 @@
|
|||||||
"@babel/register"
|
"@babel/register"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"@pika/pack": {
|
||||||
|
"pipeline": [
|
||||||
|
[
|
||||||
|
"@pika/plugin-standard-pkg"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"@pika/plugin-build-node"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"@pika/plugin-build-web"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/lancedikson/bowser/issues"
|
"url": "https://github.com/lancedikson/bowser/issues"
|
||||||
},
|
},
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import test from 'ava';
|
import test from 'ava';
|
||||||
import yaml from 'yamljs';
|
import yaml from 'yamljs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import Bowser from '../../src/bowser';
|
import Bowser from '../../src';
|
||||||
import BowserBuild from '../../es5';
|
import BowserBuild from '../../es5';
|
||||||
|
|
||||||
const listOfUA = yaml.load(path.join(__dirname, 'useragentstrings.yml'));
|
const listOfUA = yaml.load(path.join(__dirname, 'useragentstrings.yml'));
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import test from 'ava';
|
import test from 'ava';
|
||||||
import Bowser from '../../src/bowser';
|
import Bowser from '../../src';
|
||||||
import Parser from '../../src/parser';
|
import Parser from '../../src/parser';
|
||||||
|
|
||||||
const UA = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1165';
|
const UA = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1165';
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import test from 'ava';
|
import test from 'ava';
|
||||||
import sinon from 'sinon';
|
import sinon from 'sinon';
|
||||||
import Parser from '../../src/parser';
|
import Parser from '../../src/parser';
|
||||||
import Bowser from '../../src/bowser';
|
import Bowser from '../../src';
|
||||||
|
|
||||||
const UA = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1165';
|
const UA = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1165';
|
||||||
const parser = new Parser(UA, true);
|
const parser = new Parser(UA, true);
|
||||||
|
Loading…
Reference in New Issue
Block a user