esign-ts
v0.0.1
Published
A comprehensive TypeScript SDK for Indonesian e-signature services with type-safe validation schemas and client implementations for both API v1 and v2.
Maintainers
Readme
esign-ts
TypeScript SDK for Indonesian e-signature services with type-safe validation schemas for API v1 and v2.
Features
- 🔒 Type-safe - Full TypeScript support
- 📋 Validation - Built-in Valibot schemas
- 🌐 Dual API - v1 and v2 support
- 🎯 Tree-shakeable - Modular imports
- 📦 Lightweight - ~5.6kB bundle
Quick Start
npm install esign-tsimport { EsignClient } from 'esign-ts';
const client = new EsignClient({
baseURL: 'https://api.esign.service.com',
username: 'your-username',
password: 'your-password',
});
// API v1 - Sign PDF
const signResponse = await client.signPDFV1({
file: pdfFile,
nik: '1234567890123456',
passphrase: 'your-passphrase',
tampilan: 'visible',
});
// API v2 - Advanced features
const signResponse = await client.signPDFV2({
nik: '1234567890123456',
passphrase: 'your-passphrase',
signatureProperties: [{
tampilan: 'VISIBLE',
page: 1,
originX: 100,
originY: 200,
}],
file: ['base64-content'],
});Modular Imports
// Full library
import { EsignClient } from 'esign-ts';
// Only client
import { EsignClient } from 'esign-ts/client';
// Only schemas
import { NIKSchema } from 'esign-ts/schemas';
// Only utilities
import { validateNIK } from 'esign-ts/utils';API Methods
v1 API
signPDFV1()- Sign PDF with File objectsdownloadDocumentV1()- Download signed documentverifyPDFV1()- Verify signatures
v2 API
signPDFV2()- Sign with base64 contentcheckUserStatus()- Check certificate statusregisterUser()- User registrationverifyPDFV2()- Enhanced verification
Browser Utilities
import { BrowserUtils } from 'esign-ts';
const base64 = await BrowserUtils.fileToBase64(file);
const blob = BrowserUtils.base64ToBlob(base64);
BrowserUtils.downloadBlob(blob, 'signed.pdf');Validation
import { validateNIK, validateEmail } from 'esign-ts';
if (validateNIK('1234567890123456')) {
// Valid 16-digit NIK
}Documentation
- Full Documentation: GitHub Repository
- API Reference: API.md
- Contributing: CONTRIBUTING.md
License
MIT © mikeyxmomo
