@skawr/search
v0.1.0
Published
Official SKAWR browser search SDK — lightweight, search-only client
Maintainers
Readme
@skawr/search
Official SKAWR browser search SDK — lightweight, search-only client safe for frontend use.
Installation
npm install @skawr/searchESM 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
Search
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
