npm.io
5.8.2 • Published 2 months ago

@ember-data-mirror/request-utils

Licence
MIT
Version
5.8.2
Deps
3
Size
293 kB
Vulns
0
Weekly
0
Stars
3.1K

WarpDrive

NPM Stable Version NPM Downloads License EmberJS Discord Community Server WarpDrive Discord Server


WarpDrive is the lightweight data library for web apps —
universal, typed, reactive, and ready to scale.


@ember-data-mirror/request-utils

Utilities for Requests

This package only exists for backwards compatibility

Newer apps should use @warp-drive-mirror/utilities

This package provides Simple utility function to assist in url building, query params, and other common request operations.

It's built for EmberData but useful more broadly if you're looking for lightweight functions to assist in working with urls and query params.

Installation

Install using your javascript package manager of choice. For instance with pnpm

pnpm add @ember-data-mirror/request-utils

Tagged Releases

  • NPM Canary Version
  • NPM Beta Version
  • NPM Stable Version
  • NPM LTS Version
  • NPM LTS 4.12 Version

Utils

As a Library Primitive

These primitives may be used directly or composed by request builders to provide a consistent interface for building requests.

For instance:

import { buildBaseURL, buildQueryParams } from '@ember-data-mirror/request-utils';

const baseURL = buildBaseURL({
  host: 'https://api.example.com',
  namespace: 'api/v1',
  resourcePath: 'emberDevelopers',
  op: 'query',
  identifier: { type: 'ember-developer' }
});
const url = `${baseURL}?${buildQueryParams({ name: 'Chris', include:['pets'] })}`;
// => 'https://api.example.com/api/v1/emberDevelopers?include=pets&name=Chris'

This is useful, but not as useful as the REST request builder for query which is sugar over this (and more!):

import { query } from '@ember-data-mirror/rest/request';

const options = query('ember-developer', { name: 'Chris', include:['pets'] });
// => { url: 'https://api.example.com/api/v1/emberDevelopers?include=pets&name=Chris' }
// Note: options will also include other request options like headers, method, etc.

Keywords