npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

apigee-utils

v4.1.0

Published

A set of utility functions to ease javascript development on the Apigee Edge api platform

Downloads

11

Readme

apigee-utils

A set of utility functions to ease javascript development on the Apigee Edge api platform

Installation

npm i -S apigee-utils
yarn add apigee-utils

How to use?

The utilities can be imported directly by using the modular build or all of them directly.

import getBody from 'apigee-utils/getBody';
import {getBody} from 'apigee-utils';

Reference

getBody

This will get the post body from the request

Returns any The body of the request

getQueryParam

This will get a queryParam from the passed url string

Parameters

  • queryParamKey string The key for the queryParam
  • defaultValue string? The default value to return when nothing is available

Returns string? The value of the queryParam

getQueryParams

This will get a set of queryParams from the passed url string

Parameters

  • possibleQueryParams Array<string> An array containing possible queryparams
  • settings any Object containing the settings for getting the queryparams
    • settings.defaultValues The value to return when no value is found. The keys of the default values should be identical to the queryparam keys.

Returns {} An object containing values for the passed in queryparams

setQueryParam

This will set a query parameter to the provided value

Parameters

  • key string The key of the queryparam to set
  • value any The value to set the queryparam to

Returns void

setQueryParams

This will convert an object with key value pairs to query parameters

Parameters

  • queryParams {} An object containing key value pairs to be used as query parameters

Returns void

validateValues

This will validate a set of query parameters and will set a error variable in the apigee with an errorpayload variable which can be send down to the client It is advised to set up a raise on error policy which will return the payload when the error variable == true

Parameters

  • values {} The keys the values to get are stored with
  • settings any Object containing the settings for getting the variables
    • settings.validator The validator is an object containing functions which take a value and tests whether the value matches to required format returning true for a valid parameter and false for invalid. Or it can return a custom error message as a string. It is also possible to return mutliple error messages as an array of strings. The keys of the validator should be identical to the queryparam keys.
    • settings.prefix The prefix to use for the variables which will be used to set the potential error messages

Returns boolean A boolean indicating whether the query param were valid or not

createErrorObject

This will create the default error message

Parameters

  • key string The key of the query parameter
  • value any The value of the query parameter
  • message string The custom message to use

Returns {title: string, message: string, source: string} A default error object

setVariable

This will store a value in the Apigee flow

Parameters

  • key string The key the value should be stored in
  • value any The value to store
  • settings any Object containing the settings for setting the variable
    • settings.prefix A prefix which is used to store the value with

Returns void

setVariables

This will store a set of values in the Apigee flow

Parameters

  • variables {} An object containing key value pairs to store
  • settings any Object containing the settings for setting the variables
    • settings.prefix A prefix which is used to store the value with

Returns void

validateBoolean

This will do a simple check if the passed string is a stringified boolean or not

Parameters

  • settings any An object containing the options for validation
    • settings.name The name of the variable to check
    • settings.value The value of the variable to check
    • settings.required Whether it's required (allow undefined values or not)

Returns string A default error message or an empty string

validateEnum

This will do a simple check if the passed value is one of the valid values

Parameters

  • settings any An object containing the options for validation
    • settings.name The name of the variable to check
    • settings.value The value of the variable to check
    • settings.required Whether it's required (allow undefined values or not)
    • settings.validValues The possible values

Returns string A default error message or an empty string

validateMultipleEnum

This will do a simple check if the passed string of values contains one or more valid values

Parameters

  • settings any An object containing the options for validation
    • settings.name The name of the variable to check
    • settings.values The values of the variable to check (must be a string seperated by commas)
    • settings.required Whether it's required (allow undefined values or not)
    • settings.validValues The possible values

Returns string A default error message or an empty string

validateBounds

This will do a simple check if the passed string of values is a valid latitude and longitude map bounds

Parameters

  • settings any An object containing the options for validation
    • settings.name The name of the variable to check
    • settings.value The bounds value
    • settings.required Whether it's required (allow undefined values or not)

Returns any A default error message or an empty array

getProxyResponse

This will get the response from the proxy

Parameters

  • settings any Object containing the settings for getting the response from the proxy
    • settings.characterEncoding Optionally convert the response to UTF-8

Returns any The response from the targetted API

setResponse

This will set the response to the provided content

Parameters

  • content any The response to set for the proxy
  • settings any Object containing the settings for setting the response
    • settings.contentType An optional contenttype header to set for the response

Returns void

getVariable

This will get a value from the Apigee flow

Parameters

  • key string The key the value to get is stored with
  • settings any Object containing the settings for getting the variable
    • settings.prefix A prefix which is used to store the value with
    • settings.defaultValue The value to return when no value is found
    • settings.parser The parser is a function which takes a value and transforms it to return something else

Returns any The value parsed from the apigee flow

getVariables

This will get a set of values from the Apigee flow

Parameters

  • keys Array<string> The keys the values to get are stored with
  • settings any Object containing the settings for getting the variables
    • settings.prefix A prefix which is used to store the value with
    • settings.defaultValues The value to return when no value is found. The keys of the default values should be identical to the variable keys.
    • settings.parser The parser is an object containing functions which take a value and transforms it to return something else. The keys of the parser should be identical to the variable keys.

Returns {} The values parsed from the apigee flow

logMessage

This will log a message to the syslog variable

Parameters

  • additionalLogvalues {}? Object containing additional key values to be logged

Returns void