UNPKG

sip.js

Version:

A SIP library for JavaScript

40 lines (39 loc) 1.12 kB
/** * @internal */ export class Parameters { constructor(parameters) { this.parameters = {}; // for in is required here as the Grammar parser is adding to the prototype chain for (const param in parameters) { // eslint-disable-next-line no-prototype-builtins if (parameters.hasOwnProperty(param)) { this.setParam(param, parameters[param]); } } } setParam(key, value) { if (key) { this.parameters[key.toLowerCase()] = (typeof value === "undefined" || value === null) ? null : value.toString(); } } getParam(key) { if (key) { return this.parameters[key.toLowerCase()]; } } hasParam(key) { return !!(key && this.parameters[key.toLowerCase()] !== undefined); } deleteParam(key) { key = key.toLowerCase(); if (this.hasParam(key)) { const value = this.parameters[key]; delete this.parameters[key]; return value; } } clearParams() { this.parameters = {}; } }