This package has been deprecated

Author message:

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

@amjs/ajax-adapter

0.1.3 • Public • Published

@amjs/ajax-adapter 0.1.3

Statements Branches Functions Lines

Set up of AJAX request adapters

Installation

$ npm i @amjs/ajax-adapter

Usage

  • Register your URL adapter:
const { AmjsAjaxAdpaterJSON } = require('@amjs/ajax-adapter');

class MyURLAdpater extends AmjsAjaxAdpaterJSON
{
    /**
     * @override
     */
    async serialize(config = {}, service = {})
    {
        // apply into 'config' any API required change

        await super.serialize(config, service);
    }

    /**
     * @override
     */
    async unserialize(response, service)
    {
        // do whatever API requires with response object

        return await super.unserialize(response, service);
    }
}

AmjsAjaxAdpaterJSON.register('Adapter::http://my-url', MyURLAdpater);
module.exports = MyURLAdpater;
  • Use your URL adapter before/after fetching request:
async function doFetch()
{
    const AmjsFactory = require('@amjs/factory');
    const URL = 'https://my-url';
    const adapter = AmjsFactory.create(`Adapter::${URL}`);
    const request = {};
    const service = {};
    await adpater.serialize(request, service);
    let response = await fetch(URL, request);
    response = await adapter.unserialize(response.clone(), service);
    console.log(response);  // { data : { ... }}  --> OK: 200 - 399
                            // { errors: [ ... ]} --> ERROR: 400 - 599
}

I suggest to use AmjsAjaxService as long as previous operations are performed internally and has being tested out.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Published

Version History

  • Version
    Downloads (Last 7 Days)
    • Published

Package Sidebar

Install

npm i @amjs/ajax-adapter

Weekly Downloads

1

Version

0.1.3

License

MIT

Unpacked Size

36 kB

Total Files

16

Last publish

Collaborators

  • amjs