UXL Browser Utilities
Build Status | Statements | Branches | Functions | Lines |
---|---|---|---|---|
Installation
npm i @uxland/browser-utilities
Usage
Get browser's language
Returns language depending on user's navigator languages
getBrowserLang(); //=> 'ca'
Meta
Display's meta information such as browser version, UA, LitElement version
displayMetaInformation();
Layout sizing
Display's layout sizing
displayLayoutSizing(true);
Convert file to base64
const file = new File(["foo"], "foo.txt", {
type: "text/plain",
});
await toBase64(file); //=> data:text/plain;base64,Zm9v
Browser's device
Returns true depending on device type
isTabletBrowser(); //=> true | false
isMobileBrowser(); //=> true | false
isMobileOrTabletBrowser(); //=> true | false
Animation frame
Asynchronous task that will call provided callback in next window animation frame
const callback = () => console.log("task ended");
const handler = animationFrame.run(callback); //=> 'task ended'
// To cancel asynchronous task
animationFrame.cancel(handler);
Asynchronous queue
Creates an asynchronous queue instance that will call provided function when possible
const executor = (...args: any[]) => console.log("Queue Executor", args);
const queue = new AsyncQueue(executor);
queue.enqueueItem(1); //=> 'Queue Executor' 1;
Debouncer
https://polymer-library.polymer-project.org/3.0/api/utils/debounce
Idle Period
Micro task
https://polymer-library.polymer-project.org/3.0/api/utils/async
Time out
https://polymer-library.polymer-project.org/3.0/api/utils/async