npm.io
0.1.0 • Published 5 months ago

@skawr/search

Licence
MIT
Version
0.1.0
Deps
0
Size
14 kB
Vulns
0
Weekly
0

@skawr/search

Official SKAWR browser search SDK — lightweight, search-only client safe for frontend use.

Installation

npm install @skawr/search

ESM only. ~1.7 KB minified. Zero runtime dependencies.

Quick Start

import { SkawrSearch } from '@skawr/search';

const search = new SkawrSearch({
  publicKey: 'your-public-key',
  baseUrl: 'https://api.skawr.com', // optional
});

Usage

const results = await search.search('laptop', {
  filters: { category: 'electronics', min_price: 100 },
  page: 1,
  per_page: 20,
  sort_by: 'relevance',
});

console.log(results.total_results);
results.results.forEach((item) => {
  console.log(item.title, item.price);
});
Suggestions
const suggestions = await search.suggest('lap', {
  include_trending: true,
  limit: 10,
});

console.log(suggestions.query_completions); // ['laptop', 'laptop bag', ...]
console.log(suggestions.trending_queries);  // ['phone', 'tablet', ...]
Autocomplete
const { suggestions } = await search.autocomplete('lap', { limit: 5 });
console.log(suggestions); // ['laptop', 'laptop case', 'laptop stand']

Configuration

Option Type Default Description
publicKey string required Your SKAWR public/search key
baseUrl string https://api.skawr.com API base URL
timeout number 10000 Request timeout in ms

Error Handling

import { SearchError } from '@skawr/search';

try {
  await search.search('test');
} catch (error) {
  if (error instanceof SearchError) {
    console.log(error.status); // HTTP status code
    console.log(error.detail); // Error message from API
  }
}

Browser Support

Works in all modern browsers with native fetch support (Chrome 42+, Firefox 39+, Safari 10.1+, Edge 14+).

License

MIT

Keywords