0.1.14 • Published 9 months ago

@bygd/opus-hl-config v0.1.14

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

@bygd/opus-hl-config

The @bygd/opus-hl-config project is designed to streamline the process of fetching configuration data for your webpage. It aims to simplify interactions with the HeaderLift API by structuring and caching responses based on the page's URL and asset information.

How It Works

The project uses a combination of given and default parameters to build a uniquely identifiable request to the HeaderLift API. It checks if the required data is already cached to minimize repeated network requests, enhancing performance by reducing latency. If the information isn't cached, it retrieves the necessary data by creating a query to a predefined API endpoint and processes the response for use.

Key Features

  • URL Parsing: Automatically parses the page URL to extract the domain, ensuring correct API request formatting.
  • Conditional Caching: Utilizes a caching mechanism to store and reuse data for repeated requests with the same parameters.
  • Configurable Parameters: Allows overriding of default URL, page width, and type selections to accommodate a variety of use cases.
  • Robust Error Handling: Provides error feedback for missing required parameters and failed network or data responses.

Conclusion

The @bygd/opus-hl-config script is a helpful tool for developers looking to efficiently configure their webpages using HeaderLift data. Its caching functionality saves time and resources by reducing unnecessary network requests, ensuring response data is available quickly and reliably.

Developer Guide for @bygd/opus-hl-config

Overview

The @bygd/opus-hl-config library provides a simple interface for loading configuration data tailored to specific pages or assets on your website. With its key feature of caching responses, the library reduces the need for repetitive and resource-intensive network requests. This makes it particularly useful for applications where configurations change infrequently but need to be accessed often.

Installation

To integrate @bygd/opus-hl-config into your project, you can install it using either npm or yarn:

Using npm:

npm install @bygd/opus-hl-config

Using yarn:

yarn add @bygd/opus-hl-config

Usage

The main functionality of the library is accessible through the default export function. This function fetches configuration data based on the provided URL and other optional parameters.

Function Signature:

async function({
  page_url,
  page_type,
  asset_id,
  width,
} = {})

Parameters:

  • page_url (optional): The URL of the page for which you want the configuration. If not specified, the current window URL will be used.
  • page_type (optional): A string representing the page type, defaults to "gd" if asset_id is provided.
  • asset_id (optional): A unique identifier for the asset. If provided, it influences the resulting page type.
  • width (optional): The width of the page in pixels. Defaults to the current window width.

Returns:

A promise that resolves to the configuration data specific to the provided or inferred URL parameters.

Examples

Below are some examples demonstrating how to use the @bygd/opus-hl-config library:

Basic Example

This example shows how to obtain configuration data for the current page:

import loadConfig from '@bygd/opus-hl-config';

(async () => {
  try {
    const configData = await loadConfig();
    console.log(configData);
  } catch (error) {
    console.error('Error loading configuration:', error);
  }
})();

Specifying Page URL and Asset ID

You can also specify a page URL and asset ID to get configuration data for a specific asset:

import loadConfig from '@bygd/opus-hl-config';

(async () => {
  try {
    const configData = await loadConfig({
      page_url: 'https://example.com',
      asset_id: '12345'
    });
    console.log(configData);
  } catch (error) {
    console.error('Error loading configuration:', error);
  }
})();

Acknowledgement

There are no specific acknowledgments required for @bygd/opus-hl-config.

Input Schema

$schema: https://json-schema.org/draft/2020-12/schema
type: object
properties:
  page_url:
    type: string
    format: uri
    description: The URL of the page. Defaults to the current window URL or
      'https://gry.pl'.
  page_type:
    type: string
    description: The type of the page. Defaults to 'gd' if asset_id is provided,
      otherwise 'default'.
  asset_id:
    type: string
    description: The ID of the asset. Optional parameter.
  width:
    type: integer
    description: The width of the page. Defaults to the current window width or 720.
required:
  - page_url
0.1.14

9 months ago

0.1.11

9 months ago

0.1.12

9 months ago

0.1.13

9 months ago

0.1.10

1 year ago

0.1.9

1 year ago

0.1.8

1 year ago

0.1.7

1 year ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago