@jackgreen2018/job-offer-letter
v1.0.0
Published
A high-performance Rust/WASM library for generating job offer letter PDFs. Fast, client-side, no server required.
Readme
@jackgreen2018/job-offer-letter
A high-performance Rust/WASM library for generating job offer letter PDFs. Fast, client-side, no server required.
Install
npm install @jackgreen2018/job-offer-letterUsage
import { generateJobOfferLetter, initialize } from '@jackgreen2018/job-offer-letter';
await initialize();
const pdf = await generateJobOfferLetter({
candidate_name: "Alice Johnson",
position: "Senior Software Engineer",
company_name: "TechCorp Inc.",
start_date: "2024-09-01",
annual_salary: 120000.00,
salary_type: "yearly", // optional, default "yearly"
benefits: "Health, Dental, 401(k)", // optional
hiring_manager_name: "Bob Smith", // optional
acceptance_deadline: "2024-08-15" // optional
});
// pdf is a Uint8Array containing a valid PDFOptions
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| candidate_name | string | Yes | Full name of the candidate |
| position | string | Yes | Job title |
| company_name | string | Yes | Company name |
| start_date | string | Yes | Start date in YYYY-MM-DD format |
| annual_salary | number | Yes | Salary amount (positive number) |
| salary_type | "yearly" || "hourly" | No | Salary type, default "yearly" |
| benefits | string | No | Benefits description |
| hiring_manager_name | string | No | Hiring manager name |
| acceptance_deadline | string | No | Acceptance deadline in YYYY-MM-DD format |
API
initialize()— initialize the WASM runtime (call once before first use)generateJobOfferLetter(options)— returnsPromise<Uint8Array>with the generated PDF
Benchmark
Benchmark: 100 iterations of a full job offer letter PDF, comparing WASM vs pdf-lib.
| Library | Time (ms) | Docs/sec | Speedup | |---------|-----------|----------|---------| | WASM | 13.3 | 8 | 9.18x | | pdf-lib | 122.0 | 1 | 1x |
Ran on Node.js v22.3 with wasm-pack 0.12.1.
