UNPKG

@hydren/linkvertise

Version:

Linkvertise or something..

98 lines (67 loc) 2.53 kB
# @hydren/linkvertise A simple Node.js/Express helper for creating Linkvertise links and executing a callback when users complete the Linkvertise flow. Supports mounting routes as **Router** or directly on the **Express app**. * Localhost testing may not work properly for some dynamic redirect flows; use a public domain or tunneling service like ngrok. --- ## Features * Generate Linkvertise links dynamically. * Detect current host and port automatically. * Execute a callback **after the user returns from Linkvertise**. * Mount routes as **Router** or directly on the **Express app**. --- ## Installation ```bash npm install @hydren/linkvertise ``` --- ## Usage ### 1. Configure your Linkvertise User ID ```js const express = require("express"); const app = express(); const linkvertise = require("@hydren/linkvertise"); linkvertise.config("YOUR_USER_ID"); ``` --- ### 2. Using as Router ```js function openahahha(req) { console.log("User completed Linkvertise:", req.ip); // Add logic to credit user, update DB, etc. } app.use(linkvertise.create({ type: "router", path: "/go", finalPath: "/simple", onComplete: openahahha })); app.listen(3000, () => console.log("Server running on port 3000")); ``` * `/go` → Redirects user to Linkvertise. * `/simple` → Executes `onComplete` after Linkvertise completion. --- ### 3. Using directly on App ```js linkvertise.create({ type: "app", instance: app, path: "/go2", finalPath: "/simple2", onComplete: openahahha }); ``` --- ## Options | Option | Type | Description | | ---------- | --------------------- | ---------------------------------------------------- | | type | `'router'` or `'app'` | Mount type, default is `'router'`. | | instance | Express app/router | Required if `type` is `'app'`. | | path | `string` | Initial route to redirect user to Linkvertise. | | finalPath | `string` | Route where `onComplete` executes after Linkvertise. | | onComplete | `function(req)` | Callback executed when user returns. | --- ## Notes * The module **cannot track Linkvertise server-side completion**, only detects **when the user is redirected back**. * Dynamic host detection (`req.headers.host`) works on localhost or live servers. --- ## License MIT License