gabster-shortner-client
v1.0.2
Published
Client library for Gabster URL shortener API
Maintainers
Readme
gabster-shortner-client
Create short URLs with a single function call.
npm install gabster-shortner-clientFunction
createShortUrl(params)
Creates a short URL. Returns the API response directly.
import { createShortUrl } from "gabster-shortner-client";
const result = await createShortUrl({
original_url: "https://example.com/very-long-page",
slug: "my-page",
force_slug: true,
});
if (result.status === 201 || result.status === 200) {
console.log(result.data); // "https://go.gabster.ai/my-page"
} else if (result.status === 409) {
console.log(result.message); // "This short is already taken"
}Types
CreateShortUrlParams
interface CreateShortUrlParams {
original_url: string; // required
slug?: string; // optional
force_slug?: boolean; // optional
}CreateShortUrlResponse
Unified shape for all responses:
interface CreateShortUrlResponse {
status: number;
data: string | null;
message?: string;
errors?: Array<{ message: string; field?: string }>;
}Examples
Auto slug
const result = await createShortUrl({
original_url: "https://example.com/page",
});
// result.data → "https://go.gabster.ai/abc123xy"Custom slug
const result = await createShortUrl({
original_url: "https://example.com/page",
slug: "my-page",
});
// result.data → "https://go.gabster.ai/my-page"Slug taken + force
const result = await createShortUrl({
original_url: "https://example.com/page",
slug: "popular",
force_slug: true,
});
// result.data → "https://go.gabster.ai/popular-xK9m2p" (dash + random suffix)Handle conflict
const result = await createShortUrl({
original_url: "https://example.com/page",
slug: "taken-slug",
// force_slug: false (default)
});
if (result.status === 409) {
console.log(result.message); // "This short is already taken"
}