Skip to content

hedint/jsonp-ts

Repository files navigation

JSONP typescript Library

npm version npm downloads License

A simple and lightweight library for making JSONP (JSON with Padding) requests in TypeScript/JavaScript.

Table of Contents

Installation

You can install the library using npm:

# Using npm
npm install jsonp-ts

# Using yarn
yarn add --dev jsonp-ts

# Using pnpm
pnpm add -D jsonp-ts

Usage

First, import the jsonp function from the library:

import { jsonp } from 'jsonp-ts';

Then, you can use the jsonp function to make JSONP requests:

// Promise
jsonp('https://api.example.com/data')
  .then(response => {
    console.log(response);
  })
  .catch(error => {
    console.error('Error:', error);
  });

// or

// async/await
async function main() {
  try {
    const response = await jsonp('https://api.example.com/data');
  }
  catch (e) {
    console.error('Error:', e);
  }
}

Api

jsonp(url: string, params?: JsonpParams): Promise<Response> Makes a JSONP request to the specified URL.

Parameters

  • url: The URL to which the JSONP request is made.
  • params: Optional parameters to customize the JSONP request. See Parameters for details.

Returns

  • A Promise that resolves with the response data or rejects with an error.

Parameters

The params object can include the following properties:

  • param (string): The name of the query string parameter to specify the callback (defaults to "callback").
  • prefix (string): The prefix for the global callback functions that handle JSONP responses (defaults to "__jp").
  • name (string): The name of the global callback functions that handle JSONP responses (defaults to prefix + incremented counter).
  • timeout (number): The timeout in milliseconds (defaults to 60000).

Examples

Basic example

import { jsonp } from 'jsonp-ts';

jsonp('https://api.example.com/data')
  .then(response => {
    console.log('Data received:', response);
  })
  .catch(error => {
    console.error('Error:', error);
  });

Custom parameters example:

import { jsonp } from 'jsonp-ts';

const params = {
  param: 'customCallback',
  prefix: '__customPrefix',
  timeout: 30000,
};

jsonp('https://api.example.com/data', params)
  .then(response => {
    console.log('Data received:', response);
  })
  .catch(error => {
    console.error('Error:', error);
  });

License

This project is licensed under the MIT License.