Socket
Book a DemoInstallSign in
Socket

eprel-client

Package Overview
Dependencies
Maintainers
1
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eprel-client

Typesafe and straightforward fetch client for interacting with the European Product Registry for Energy Labelling (EPREL) API using feature-fetch

latest
Source
npmnpm
Version
0.0.33
Version published
Maintainers
1
Created
Source

eprel-client banner

GitHub License NPM bundle minzipped size NPM total downloads Join Discord

Status: Experimental

eprel-client is a typesafe and straightforward fetch client for interacting with the European Product Registry for Energy Labelling (EPREL) API using feature-fetch.

  • EPREL API Docs

📖 Usage

Create a EPREL Client

Use createEPRELClient() to create a client with your API key.

import { createEPRELClient } from 'eprel-client';

const client = createEPRELClient({
	apiKey: 'YOUR_API_KEY'
});

Fetch Available Product Groups

Fetches the available product groups from the ERAP API.

const productGroupsResult = await client.getProductGroups();
const productGroups = productGroupsResult.unwrap();

Error Handling

Errors can occur during API requests, and the client will return detailed error information. Possible error types include:

  • NetworkError: Indicates a failure in network communication, such as loss of connectivity
  • RequestError: Occurs when the server returns a response with a status code indicating an error (e.g., 4xx or 5xx)
  • FetchError: A general exception type that can encompass other error scenarios not covered by NetworkError or RequestError, for example when the response couldn't be parsed, ..
const productGroupsResult = await client.getProductGroups();

// First Approach: Handle error using `isErr()`
if (productGroupsResult.isErr()) {
	const { error } = productGroupsResult;
	if (error instanceof NetworkError) {
		console.error('Network error:', error.message);
	} else if (error instanceof RequestError) {
		console.error('Request error:', error.message, 'Status:', error.status);
	} else if (error instanceof FetchError) {
		console.error('Service error:', error.message, 'Code:', error.code);
	} else {
		console.error('Unexpected error:', error);
	}
}

// Second Approach: Unwrap response with `try-catch`
try {
	const productGroups = productGroupsResult.unwrap();
} catch (error) {
	if (error instanceof NetworkError) {
		console.error('Network error:', error.message);
	} else if (error instanceof RequestError) {
		console.error('Request error:', error.message, 'Status:', error.status);
	} else if (error instanceof FetchError) {
		console.error('Service error:', error.message, 'Code:', error.code);
	} else {
		console.error('Unexpected error:', error);
	}
}

FAQs

Package last updated on 06 Nov 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts