1.0.0 • Published 3 years ago

@wanjapflueger/modify-url-parameters v1.0.0

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
3 years ago

modify-url-parameters

Enabled you to modify a URL, add and remove parameters and hashes.

Pipeline status npm npm bundle size


Table of contents


Install

npm i @wanjapflueger/modify-url-parameters

Usage

var modifyUrlParameters = require("@wanjapflueger/modify-url-parameters");
modifyUrlParameters.modifyUrlParameters({
  // ...options
});

// or

import { modifyUrlParameters } from "@wanjapflueger/modify-url-parameters";
modifyUrlParameters({
  // ...options
});

Options

You will find all type declarations like Parameter here: src/index.ts.

add

TypeRequired
Parameter[]❌ No

Parameters to add. Paramter names or parameter name and specific parameter values.

modifyUrlParams({
  add: [
    'darkmode',
  ],
  url: 'https://example.com/'
}) // https://example.com/?darkmode=

modifyUrlParams({
  add: [
    {
      color: ['blue', 'yellow']
    }
  ],
  url: 'https://example.com/'
}) // https://example.com/?color=blue&color=yellow

remove

TypeRequired
Parameter[]❌ No

Parameters to remove. Paramter names or parameter name and specific parameter values.

modifyUrlParams({
  remove: [
    'darkmode',
  ],
  url: 'https://example.com/?darkmode=true'
}) // https://example.com/

modifyUrlParams({
  remove: [
    {
      color: ['blue']
    }
  ],
  url: 'https://example.com/?color=blue&color=yellow'
}) // https://example.com/?&color=yellow

changeUrl

TypeRequired
boolean❌ No

Apply changed parameters in the current URL in the browsers address bar if true. Only if url is undefined.

redirect

TypeRequired
boolean❌ No

Redirect to updated URL with modified parameters if true

url

TypeRequired
string❌ No

Any URL. Default is the current URL window.location.href

hash

TypeRequired
string❌ No

Any hash that will be added to the URL. Will overwrite existing hash.

modifyUrlParams({
  hash: [
    'foo',
  ],
  url: 'https://example.com/'
}) // https://example.com/#foo

joinSeparator

TypeRequired
string❌ No

The separator will be used to split and join parameter values. Will only join parameter values if joined is true.

modifyUrlParams({
  joinSeparator: '+',
  url: 'https://example.com/?color=blue+yellow'
}) // https://example.com/?color=blue&color=yellow

modifyUrlParams({
  joinSeparator: '+',
  joined: true,
  url: 'https://example.com/?color=blue+yellow'
}) // https://example.com/?color=blue+yellow

joined

TypeRequired
boolean❌ No

Use joinSeparator to join parameters. The default format of the returned URL changes from 'https://example.com/?color=red&color=blue' to 'https://example.com/?color=red+blue' (where '+' is the joinSeparator).

modifyUrlParams({
  joinSeparator: '+',
  joined: true,
  url: 'https://example.com/?color=blue&color=yellow'
}) // https://example.com/?color=blue+yellow

modifyUrlParams({
  joinSeparator: ',',
  joined: true,
  url: 'https://example.com/?color=blue&color=yellow'
}) // https://example.com/?color=blue,yellow
1.0.0

3 years ago