JavaScript Wrapper

@nxgate/client adalah wrapper resmi untuk Node.js (versi 18 ke atas) dan environment browser modern. Mendukung TypeScript, async/await, serta retry & caching otomatis.

Instalasi

terminal
# npm
npm install @nxgate/client
# yarn
yarn add @nxgate/client
# pnpm
pnpm add @nxgate/client

Penggunaan Dasar

src/license.ts
1import { NxGateClient } from '@nxgate/client'
2
3const client = new NxGateClient({
4 apiKey: process.env.NXGATE_API_KEY!,
5 licenseKey: 'XXXX-XXXX-XXXX-XXXX',
6})
7
8const result = await client.verify()
9
10if (result.valid) {
11 console.log('Lisensi valid! Diberikan kepada:', result.owner)
12} else {
13 console.error('Verifikasi gagal:', result.reason)
14}

Penggunaan Lanjutan

src/license.advanced.ts
1// Verifikasi dengan scope dan metadata
2const result = await client.verify({
3 scope: 'production',
4 metadata: {
5 hostname: require('os').hostname(),
6 version: '1.4.2',
7 },
8})
9
10// Handle hasil spesifik
11switch (result.status) {
12 case 'VALID':
13 enableFeatures()
14 break
15 case 'IP_LIMIT_EXCEEDED':
16 console.warn('Lisensi sudah digunakan di terlalu banyak IP')
17 break
18 case 'EXPIRED':
19 console.warn('Lisensi expired pada', result.expiresAt)
20 break
21 case 'RATE_LIMITED':
22 console.warn('Tunggu', result.retryAfter, 'detik')
23 break
24}

Tips

Simpan API key di environment variable, jangan pernah commit ke repository. Untuk aplikasi browser, gunakan endpoint publik dengan scope read-only.