6.1.7 • Published 5 days ago

build-url-ts v6.1.7

Weekly downloads
633
License
MIT
Repository
github
Last release
5 days ago

build-url-ts ( Typescript )

Build Status NPM version

A library that builds a URL, including its path, query parameters and fragment identifier. Works in node and in the browser.

This is a fork from https://github.com/steverydz/build-url to add typescript support for the library

CodeSandBox Demo: https://codesandbox.io/s/build-url-ts-demo-qer8y

Installation

To install with npm:

npm install build-url-ts --save

Usage

import { buildUrl } from 'build-url-ts';

buildUrl('http://example.com', {
  path: 'about',
  hash: 'contact',
  queryParams: {
    foo: bar,
    bar: ['foo', 'bar']
  }
});

Options

The buildUrl function accepts two arguments. The first is a URL e.g. http://example.com. The second is an object where you can specify the path, hash, lowerCase, and an object of queryParams:

buildUrl('http://example.com', {
  path: 'about',
  hash: 'contact',
  queryParams: {
    foo: 'bar',
    bar: 'baz'
  }
});

// returns http://example.com/about?foo=bar&bar=baz#contact

If you pass an array to the queryParams object, it will be transformed to a comma separated list:

buildUrl('http://example.com', {
  queryParams: {
    foo: 'bar',
    bar: ['one', 'two', 'three']
  }
});

// returns http://example.com?foo=bar&bar=one,two,three

If you want to change the path, hash and queryParams case to all lowercase then pass lowerCase as true in arguments, default value of this will be false:

buildUrl('http://example.com', {
  path: 'AbouT',
  hash: 'ConTacT',
  lowerCase: true,
  queryParams: {
    foo: 'bAr',
    bar: ['oNe', 'TWO', 'thrEE', 123]
  }
});

// returns http://example.com/about?foo=bar&bar=one,two,three,123#contact

If you pass an array to the queryParams object, and want that they should not be comma separated use disableCSV:

buildUrl('http://example.com', {
  disableCSV: true,
  queryParams: {
    foo: 'bar',
    bar: ['one', 'two', 'three']
  }
});

// returns http://example.com?foo=bar&bar=one&bar=two&bar=three

If you only want the query string, path, hash, or any combination of the three you can skip the URL parameter or pass in an empty string or null:

buildUrl('', {
  queryParams: {
    foo: 'bar',
    bar: 'baz'
  }
});

// returns ?foo=bar&bar=baz

buildUrl(null, {
  queryParams: {
    foo: 'bar',
    bar: 'baz'
  }
});

// returns ?foo=bar&bar=baz

buildUrl({
  queryParams: {
    foo: 'bar',
    bar: 'baz'
  }
});

Any null values in the queryParams object will be treated as empty strings:

buildUrl('http://example.com', {
  queryParams: {
    foo: 'bar',
    bar: null
  }
});

// returns http://example.com?foo=bar&bar=

License

This is licensed under an MIT License. See details

6.1.6-beta.204

5 days ago

6.1.6-beta.205

5 days ago

6.1.6-beta.203

6 days ago

6.1.6-beta.202

7 days ago

6.1.6-beta.200

12 days ago

6.1.6-beta.201

11 days ago

6.1.6-beta.199

12 days ago

6.1.6-beta.198

13 days ago

6.1.6-beta.197

14 days ago

6.1.6-beta.196

15 days ago

6.1.6-beta.195

19 days ago

6.1.6-beta.194

20 days ago

6.1.6-beta.193

23 days ago

6.1.6-beta.192

24 days ago

6.1.6-beta.191

26 days ago

6.1.6-beta.190

28 days ago

6.1.6-beta.189

1 month ago

6.1.6-beta.187

1 month ago

6.1.6-beta.188

1 month ago

6.1.6-beta.186

1 month ago

6.1.6-beta.185

1 month ago

6.1.6-beta.184

1 month ago

6.1.6-beta.183

2 months ago

6.1.6-beta.182

2 months ago

6.1.6-beta.181

2 months ago

6.1.6-beta.180

2 months ago

6.1.6-beta.178

2 months ago

6.1.6-beta.179

2 months ago

6.1.6-beta.177

2 months ago

6.1.6-beta.176

2 months ago

6.1.6-beta.175

2 months ago

6.1.6-beta.174

2 months ago

6.1.6-beta.173

2 months ago

6.1.6-beta.172

2 months ago

6.1.6-beta.171

3 months ago

6.1.6-beta.170

3 months ago

6.1.6-beta.169

3 months ago

6.1.6-beta.168

3 months ago

6.1.6-beta.167

3 months ago

6.1.6-beta.166

3 months ago

6.1.6-beta.165

3 months ago

6.1.6-beta.164

3 months ago

6.1.6-beta.163

3 months ago

6.1.6-beta.162

3 months ago

6.1.6-beta.161

3 months ago

6.1.6-beta.160

3 months ago

6.1.6-beta.159

4 months ago

6.1.6-beta.158

4 months ago

6.1.6-beta.156

4 months ago

6.1.6-beta.157

4 months ago

6.1.7

4 months ago

6.1.6-beta.138

9 months ago

6.1.6-beta.139

9 months ago

6.1.6-beta.136

9 months ago

6.1.6-beta.137

9 months ago

6.1.6-beta.134

9 months ago

6.1.6-beta.135

9 months ago

6.1.6-beta.143

8 months ago

6.1.6-beta.144

8 months ago

6.1.6-beta.141

9 months ago

6.1.6-beta.142

9 months ago

6.1.6-beta.140

9 months ago

6.1.6-beta.129

9 months ago

6.1.6-beta.127

9 months ago

6.1.6-beta.128

9 months ago

6.1.6-beta.125

10 months ago

6.1.6-beta.126

10 months ago

6.1.6-beta.123

10 months ago

6.1.6-beta.124

10 months ago

6.1.6-beta.132

9 months ago

6.1.6-beta.133

9 months ago

6.1.6-beta.130

9 months ago

6.1.6-beta.131

9 months ago

6.1.6-beta.149

8 months ago

6.1.6-beta.147

8 months ago

6.1.6-beta.148

8 months ago

6.1.6-beta.145

8 months ago

6.1.6-beta.146

8 months ago

6.1.6-beta.154

8 months ago

6.1.6-beta.155

8 months ago

6.1.6-beta.152

8 months ago

6.1.6-beta.153

8 months ago

6.1.6-beta.150

8 months ago

6.1.6-beta.151

8 months ago

6.1.6-beta.118

10 months ago

6.1.6-beta.119

10 months ago

6.1.6-beta.116

10 months ago

6.1.6-beta.117

10 months ago

6.1.6-beta.121

10 months ago

6.1.6-beta.122

10 months ago

6.1.6-beta.120

10 months ago

6.1.6-beta.114

10 months ago

6.1.6-beta.115

10 months ago

6.1.6-beta.112

10 months ago

6.1.6-beta.113

10 months ago

6.1.6-beta.110

10 months ago

6.1.6-beta.111

10 months ago

6.1.6-beta.107

11 months ago

6.1.6-beta.108

10 months ago

6.1.6-beta.109

10 months ago

6.1.6-beta.99

11 months ago

6.1.6-beta.100

11 months ago

6.1.6-beta.105

11 months ago

6.1.6-beta.106

11 months ago

6.1.6-beta.103

11 months ago

6.1.6-beta.104

11 months ago

6.1.6-beta.101

11 months ago

6.1.6-beta.102

11 months ago

6.1.6-beta.90

11 months ago

6.1.6-beta.91

11 months ago

6.1.6-beta.92

11 months ago

6.1.6-beta.93

11 months ago

6.1.6-beta.94

11 months ago

6.1.6-beta.95

11 months ago

6.1.6-beta.96

11 months ago

6.1.6-beta.97

11 months ago

6.1.6-beta.98

11 months ago

6.1.6-beta.80

12 months ago

6.1.6-beta.81

12 months ago

6.1.6-beta.82

12 months ago

6.1.6-beta.83

12 months ago

6.1.6-beta.84

12 months ago

6.1.6-beta.85

12 months ago

6.1.6-beta.86

12 months ago

6.1.6-beta.87

12 months ago

6.1.6-beta.88

12 months ago

6.1.6-beta.89

12 months ago

6.1.6-beta.79

12 months ago

6.1.6-beta.70

1 year ago

6.1.6-beta.71

1 year ago

6.1.6-beta.72

1 year ago

6.1.6-beta.73

1 year ago

6.1.6-beta.74

1 year ago

6.1.6-beta.75

12 months ago

6.1.6-beta.76

12 months ago

6.1.6-beta.77

12 months ago

6.1.6-beta.78

12 months ago

6.1.6-beta.60

1 year ago

6.1.6-beta.61

1 year ago

6.1.6-beta.62

1 year ago

6.1.6-beta.63

1 year ago

6.1.6-beta.64

1 year ago

6.1.6-beta.65

1 year ago

6.1.6-beta.66

1 year ago

6.1.6-beta.67

1 year ago

6.1.6-beta.68

1 year ago

6.1.6-beta.69

1 year ago

6.1.6-beta.57

1 year ago

6.1.6-beta.58

1 year ago

6.1.6-beta.59

1 year ago

6.1.6-beta.50

1 year ago

6.1.6-beta.51

1 year ago

6.1.6-beta.52

1 year ago

6.1.6-beta.53

1 year ago

6.1.6-beta.54

1 year ago

6.1.6-beta.55

1 year ago

6.1.6-beta.56

1 year ago

6.1.6-beta.40

1 year ago

6.1.6-beta.41

1 year ago

6.1.6-beta.42

1 year ago

6.1.6-beta.43

1 year ago

6.1.6-beta.44

1 year ago

6.1.6-beta.45

1 year ago

6.1.6-beta.46

1 year ago

6.1.6-beta.47

1 year ago

6.1.6-beta.48

1 year ago

6.1.6-beta.49

1 year ago

6.1.6-beta.30

1 year ago

6.1.6-beta.39

1 year ago

6.1.6-beta.31

1 year ago

6.1.6-beta.32

1 year ago

6.1.6-beta.33

1 year ago

6.1.6-beta.34

1 year ago

6.1.6-beta.35

1 year ago

6.1.6-beta.36

1 year ago

6.1.6-beta.37

1 year ago

6.1.6-beta.38

1 year ago

6.1.6-beta.28

1 year ago

6.1.6-beta.29

1 year ago

6.1.6-beta.24

1 year ago

6.1.6-beta.25

1 year ago

6.1.6-beta.26

1 year ago

6.1.6-beta.27

1 year ago

6.1.6-beta.20

1 year ago

6.1.6-beta.21

1 year ago

6.1.6-beta.22

1 year ago

6.1.6-beta.23

1 year ago

6.1.6-beta.17

1 year ago

6.1.6-beta.18

1 year ago

6.1.6-beta.19

1 year ago

6.1.6-beta.16

1 year ago

6.1.6-alpha.1

1 year ago

6.1.4

1 year ago

6.1.6-beta.6

1 year ago

6.1.6-beta.7

1 year ago

6.1.6-beta.8

1 year ago

6.1.6-beta.9

1 year ago

6.1.6-beta.2

1 year ago

6.1.6-beta.3

1 year ago

6.1.6-beta.4

1 year ago

6.1.6-beta.5

1 year ago

6.1.6-beta.1

1 year ago

6.1.6

1 year ago

6.1.5

1 year ago

6.1.6-beta.10

1 year ago

6.1.6-beta.11

1 year ago

6.1.6-beta.12

1 year ago

6.1.6-beta.13

1 year ago

6.1.6-beta.14

1 year ago

6.1.6-beta.15

1 year ago

6.1.2

2 years ago

6.1.1

2 years ago

6.1.3

2 years ago

6.1.0

3 years ago

6.0.1

3 years ago

6.0.0

4 years ago

5.0.9

4 years ago

5.0.8

4 years ago

5.0.7

4 years ago

5.0.6

4 years ago

5.0.5

4 years ago

5.0.4

4 years ago

5.0.3

4 years ago