Skip to content
smallPict

حزمة SDK الرسمية لـ Node.js وTypeScript

حزمة @smallpict/sdk المخصصة لبيئات Node.js وNext.js وExpress وTypeScript.

تقدم حزمة Node.js الرسمية دعماً صارماً للأنواع عبر TypeScript، وتدفق البيانات (streams)، وتوافقاً مع Node.js 18+ وNext.js وبيئات Edge.


التثبيت

Shell
npm install @smallpict/sdk# أو عبر pnpmpnpm add @smallpict/sdk# أو عبر yarnyarn add @smallpict/sdk

مثال كامل للاستخدام

TypeScript
import { SmallPictClient } from "@smallpict/sdk";import fs from "fs";
// 1. تهيئة العميل ببيانات الاعتمادconst client = new SmallPictClient({  apiKey: process.env.SMALLPICT_API_KEY!,  secretKey: process.env.SMALLPICT_SECRET_KEY!,  maxRetries: 3,  timeoutMs: 10000});
async function main() {  try {    // 2. تحسين صورة محلية عبر Buffer    const imageBuffer = fs.readFileSync("./assets/hero.jpg");
    const result = await client.optimize({      file: imageBuffer,      filename: "hero.jpg",      format: "avif",      quality: 80,      maxWidth: 1920    });
    console.log("اكتمل التحسين بنجاح:");    console.log("- رابط CDN:", result.url);    console.log("- نسبة التوفير:", result.savingsPercentage + "%");    console.log("- الحجم النهائي:", result.optimizedSize, "بايت");
    // 3. الاستعلام عن الرصيد المتبقي    const quota = await client.getQuota();    console.log("- الحصة المتاحة:", quota.remaining, "/", quota.total);
  } catch (error) {    console.error("حدث خطأ أثناء المعالجة:", error);  }}
main();