@crfmn/device-uuid
v1.0.0
Published
Device ID generator (UUID)
Downloads
43
Readme
@crfmn/device-uuid
A TypeScript library for generating device IDs (UUIDs). This package provides a DeviceUUID
class for creating unique identifiers based on device characteristics.
Installation
To install the package, run:
npm install @crfmn/device-uuid
Usage
DeviceUUID Class
The DeviceUUID
class provides methods to generate a unique device ID based on the user agent and various device characteristics.
Importing the Class
import { DeviceUUID } from '@crfmn/device-uuid';
Creating an Instance
You can create an instance of the DeviceUUID
class by passing the user agent string and optional configuration options.
const deviceUUID = new DeviceUUID(navigator.userAgent, { isMobile: true });
Generating a UUID
To generate a UUID, call the get
method on the instance.
const uuid = deviceUUID.get();
console.log(uuid);
Example
Here is a complete example of using the DeviceUUID
class to generate a device UUID.
import React, { useEffect } from 'react';
import { DeviceUUID } from '@crfmn/device-uuid';
const App = () => {
useEffect(() => {
const deviceUUID = new DeviceUUID(navigator.userAgent, { isMobile: true });
const uuid = deviceUUID.get();
console.log(uuid);
}, []);
return (
<div>
<h1>Check the console for the generated UUID</h1>
</div>
);
};
export default App;
API
DeviceUUID
DeviceUUID
class provides methods for generating device UUIDs.
Constructor
The constructor takes the user agent string and an optional configuration object.
new DeviceUUID(userAgent: string, options?: DeviceUUIDOptions)
Methods
parse(source: string): Agent
: Parses the user agent string and returns anAgent
object.get(customData?: string): string
: Generates and returns a UUID.
Interfaces
Agent
The Agent
interface defines the structure of the object returned by the parse
method.
DeviceUUIDOptions
The DeviceUUIDOptions
interface defines the optional configuration object for the DeviceUUID
class.
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
License
MIT License. See LICENSE for details.
Author
Alex Craftsman
- Website: https://crf.mn/
- Email: [email protected]
- GitHub: https://github.com/Alex-Craftsman