4 Commits

Author SHA1 Message Date
4d6ae3ba87 2.0.2 2023-06-10 16:43:21 +02:00
68ac5e6ec2 fix(core): update 2023-06-10 16:43:20 +02:00
d4401172e6 2.0.1 2023-06-10 16:38:25 +02:00
1887645625 fix(core): update 2023-06-10 16:38:25 +02:00
6 changed files with 30 additions and 7 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "@pushrocks/webdetector", "name": "@pushrocks/webdetector",
"version": "2.0.0", "version": "2.0.2",
"private": false, "private": false,
"description": "detect different environments within the browser", "description": "detect different environments within the browser",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",

View File

@ -1,10 +1,10 @@
import { tap, expect } from '@pushrocks/tapbundle'; import { tap, expect } from '@pushrocks/tapbundle';
import * as webdetector from '../ts/index'; import * as webdetector from '../ts/index.js';
let testWebDetector: webdetector.WebDetector; let testWebDetector: webdetector.WebDetector;
tap.test('first test', async () => { tap.test('first test', async () => {
const testWebDetector = new webdetector.WebDetector({ testWebDetector = new webdetector.WebDetector({
checkOnlineUrl: 'https://pubapi.lossless.one', checkOnlineUrl: 'https://pubapi.lossless.one',
}); });
@ -19,6 +19,12 @@ tap.test('should be online', async () => {
testWebDetector.onlineObservable.subscribe((state) => { testWebDetector.onlineObservable.subscribe((state) => {
console.log(state); console.log(state);
}); });
testWebDetector.stopPeriodicChecks();
});
tap.test('should detect the platform', async () => {
const platform = testWebDetector.platform.detectPlatform();
console.log(platform);
}); });
console.log('hi'); console.log('hi');

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@pushrocks/webdetector', name: '@pushrocks/webdetector',
version: '2.0.0', version: '2.0.2',
description: 'detect different environments within the browser' description: 'detect different environments within the browser'
} }

View File

@ -53,10 +53,17 @@ export class WebDetector {
return reachesInternet; return reachesInternet;
} }
async startPeriodicChecks() { private periodicChecksRunning = false;
while (true) {
public async startPeriodicChecks() {
this.periodicChecksRunning = true;
while (this.periodicChecksRunning) {
await this.isOnline(); await this.isOnline();
await plugins.smartdelay.delayFor(3000); await plugins.smartdelay.delayFor(3000);
} }
} }
public async stopPeriodicChecks() {
this.periodicChecksRunning = false;
}
} }

View File

@ -2,7 +2,7 @@ export type TWebPlatform = 'android' | 'ios' | 'windows' | 'mac' | 'linux' | 'un
export class Platform { export class Platform {
public detectPlatform(): TWebPlatform { public detectPlatform(): TWebPlatform {
const userAgent = navigator?.userAgent?.toLowerCase(); const userAgent = globalThis?.navigator?.userAgent?.toLowerCase();
if (!userAgent) { if (!userAgent) {
return 'unknown'; return 'unknown';

10
tsconfig.json Normal file
View File

@ -0,0 +1,10 @@
{
"compilerOptions": {
"experimentalDecorators": true,
"useDefineForClassFields": false,
"target": "ES2022",
"module": "ES2022",
"moduleResolution": "nodenext",
"esModuleInterop": true
}
}