Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/query-string/index.d.ts')
-rw-r--r--node_modules/query-string/index.d.ts191
1 files changed, 184 insertions, 7 deletions
diff --git a/node_modules/query-string/index.d.ts b/node_modules/query-string/index.d.ts
index a5bd661c2..b3a3c99af 100644
--- a/node_modules/query-string/index.d.ts
+++ b/node_modules/query-string/index.d.ts
@@ -12,6 +12,8 @@ export interface ParseOptions {
- `bracket`: Parse arrays with bracket representation:
```
+ import queryString = require('query-string');
+
queryString.parse('foo[]=1&foo[]=2&foo[]=3', {arrayFormat: 'bracket'});
//=> {foo: ['1', '2', '3']}
```
@@ -19,6 +21,8 @@ export interface ParseOptions {
- `index`: Parse arrays with index representation:
```
+ import queryString = require('query-string');
+
queryString.parse('foo[0]=1&foo[1]=2&foo[3]=3', {arrayFormat: 'index'});
//=> {foo: ['1', '2', '3']}
```
@@ -26,18 +30,38 @@ export interface ParseOptions {
- `comma`: Parse arrays with elements separated by comma:
```
+ import queryString = require('query-string');
+
queryString.parse('foo=1,2,3', {arrayFormat: 'comma'});
//=> {foo: ['1', '2', '3']}
```
+ - `separator`: Parse arrays with elements separated by a custom character:
+
+ ```
+ import queryString = require('query-string');
+
+ queryString.parse('foo=1|2|3', {arrayFormat: 'separator', arrayFormatSeparator: '|'});
+ //=> {foo: ['1', '2', '3']}
+ ```
+
- `none`: Parse arrays with elements using duplicate keys:
```
+ import queryString = require('query-string');
+
queryString.parse('foo=1&foo=2&foo=3');
//=> {foo: ['1', '2', '3']}
```
*/
- readonly arrayFormat?: 'bracket' | 'index' | 'comma' | 'none';
+ readonly arrayFormat?: 'bracket' | 'index' | 'comma' | 'separator' | 'none';
+
+ /**
+ The character used to separate array elements when using `{arrayFormat: 'separator'}`.
+
+ @default ,
+ */
+ readonly arrayFormatSeparator?: string;
/**
Supports both `Function` as a custom sorting function or `false` to disable sorting.
@@ -48,16 +72,22 @@ export interface ParseOptions {
@example
```
+ import queryString = require('query-string');
+
const order = ['c', 'a', 'b'];
queryString.parse('?a=one&b=two&c=three', {
sort: (itemLeft, itemRight) => order.indexOf(itemLeft) - order.indexOf(itemRight)
});
- // => {c: 'three', a: 'one', b: 'two'}
+ //=> {c: 'three', a: 'one', b: 'two'}
+ ```
+
+ @example
```
+ import queryString = require('query-string');
queryString.parse('?a=one&c=three&b=two', {sort: false});
- // => {a: 'one', c: 'three', b: 'two'}
+ //=> {a: 'one', c: 'three', b: 'two'}
```
*/
readonly sort?: ((itemLeft: string, itemRight: string) => number) | false;
@@ -68,7 +98,9 @@ export interface ParseOptions {
@default false
@example
- ```js
+ ```
+ import queryString = require('query-string');
+
queryString.parse('foo=1', {parseNumbers: true});
//=> {foo: 1}
```
@@ -82,11 +114,28 @@ export interface ParseOptions {
@example
```
+ import queryString = require('query-string');
+
queryString.parse('foo=true', {parseBooleans: true});
//=> {foo: true}
```
*/
readonly parseBooleans?: boolean;
+
+ /**
+ Parse the fragment identifier from the URL and add it to result object.
+
+ @default false
+
+ @example
+ ```
+ import queryString = require('query-string');
+
+ queryString.parseUrl('https://foo.bar?foo=bar#xyz', {parseFragmentIdentifier: true});
+ //=> {url: 'https://foo.bar', query: {foo: 'bar'}, fragmentIdentifier: 'xyz'}
+ ```
+ */
+ readonly parseFragmentIdentifier?: boolean;
}
export interface ParsedQuery<T = string> {
@@ -108,17 +157,31 @@ export function parse(query: string, options?: ParseOptions): ParsedQuery;
export interface ParsedUrl {
readonly url: string;
readonly query: ParsedQuery;
+
+ /**
+ The fragment identifier of the URL.
+
+ Present when the `parseFragmentIdentifier` option is `true`.
+ */
+ readonly fragmentIdentifier?: string;
}
/**
Extract the URL and the query string as an object.
+If the `parseFragmentIdentifier` option is `true`, the object will also contain a `fragmentIdentifier` property.
+
@param url - The URL to parse.
@example
```
+import queryString = require('query-string');
+
queryString.parseUrl('https://foo.bar?foo=bar');
//=> {url: 'https://foo.bar', query: {foo: 'bar'}}
+
+queryString.parseUrl('https://foo.bar?foo=bar#xyz', {parseFragmentIdentifier: true});
+//=> {url: 'https://foo.bar', query: {foo: 'bar'}, fragmentIdentifier: 'xyz'}
```
*/
export function parseUrl(url: string, options?: ParseOptions): ParsedUrl;
@@ -144,6 +207,8 @@ export interface StringifyOptions {
- `bracket`: Serialize arrays using bracket representation:
```
+ import queryString = require('query-string');
+
queryString.stringify({foo: [1, 2, 3]}, {arrayFormat: 'bracket'});
//=> 'foo[]=1&foo[]=2&foo[]=3'
```
@@ -151,6 +216,8 @@ export interface StringifyOptions {
- `index`: Serialize arrays using index representation:
```
+ import queryString = require('query-string');
+
queryString.stringify({foo: [1, 2, 3]}, {arrayFormat: 'index'});
//=> 'foo[0]=1&foo[1]=2&foo[2]=3'
```
@@ -158,18 +225,38 @@ export interface StringifyOptions {
- `comma`: Serialize arrays by separating elements with comma:
```
+ import queryString = require('query-string');
+
queryString.stringify({foo: [1, 2, 3]}, {arrayFormat: 'comma'});
//=> 'foo=1,2,3'
```
+ - `separator`: Serialize arrays by separating elements with character:
+
+ ```
+ import queryString = require('query-string');
+
+ queryString.stringify({foo: [1, 2, 3]}, {arrayFormat: 'separator', arrayFormatSeparator: '|'});
+ //=> 'foo=1|2|3'
+ ```
+
- `none`: Serialize arrays by using duplicate keys:
```
+ import queryString = require('query-string');
+
queryString.stringify({foo: [1, 2, 3]});
//=> 'foo=1&foo=2&foo=3'
```
*/
- readonly arrayFormat?: 'bracket' | 'index' | 'comma' | 'none';
+ readonly arrayFormat?: 'bracket' | 'index' | 'comma' | 'separator' | 'none';
+
+ /**
+ The character used to separate array elements when using `{arrayFormat: 'separator'}`.
+
+ @default ,
+ */
+ readonly arrayFormatSeparator?: string;
/**
Supports both `Function` as a custom sorting function or `false` to disable sorting.
@@ -180,18 +267,76 @@ export interface StringifyOptions {
@example
```
+ import queryString = require('query-string');
+
const order = ['c', 'a', 'b'];
queryString.stringify({a: 1, b: 2, c: 3}, {
sort: (itemLeft, itemRight) => order.indexOf(itemLeft) - order.indexOf(itemRight)
});
- // => 'c=3&a=1&b=2'
+ //=> 'c=3&a=1&b=2'
+ ```
+
+ @example
+ ```
+ import queryString = require('query-string');
queryString.stringify({b: 1, c: 2, a: 3}, {sort: false});
- // => 'b=1&c=2&a=3'
+ //=> 'b=1&c=2&a=3'
```
*/
readonly sort?: ((itemLeft: string, itemRight: string) => number) | false;
+
+ /**
+ Skip keys with `null` as the value.
+
+ Note that keys with `undefined` as the value are always skipped.
+
+ @default false
+
+ @example
+ ```
+ import queryString = require('query-string');
+
+ queryString.stringify({a: 1, b: undefined, c: null, d: 4}, {
+ skipNull: true
+ });
+ //=> 'a=1&d=4'
+
+ queryString.stringify({a: undefined, b: null}, {
+ skipNull: true
+ });
+ //=> ''
+ ```
+ */
+ readonly skipNull?: boolean;
+
+ /**
+ Skip keys with an empty string as the value.
+
+ @default false
+
+ @example
+ ```
+ import queryString = require('query-string');
+
+ queryString.stringify({a: 1, b: '', c: '', d: 4}, {
+ skipEmptyString: true
+ });
+ //=> 'a=1&d=4'
+ ```
+
+ @example
+ ```
+ import queryString = require('query-string');
+
+ queryString.stringify({a: '', b: ''}, {
+ skipEmptyString: true
+ });
+ //=> ''
+ ```
+ */
+ readonly skipEmptyString?: boolean;
}
/**
@@ -204,5 +349,37 @@ export function stringify(
/**
Extract a query string from a URL that can be passed into `.parse()`.
+
+Note: This behaviour can be changed with the `skipNull` option.
*/
export function extract(url: string): string;
+
+/**
+Stringify an object into a URL with a query string and sorting the keys. The inverse of [`.parseUrl()`](https://github.com/sindresorhus/query-string#parseurlstring-options)
+
+Query items in the `query` property overrides queries in the `url` property.
+
+The `fragmentIdentifier` property overrides the fragment identifier in the `url` property.
+
+@example
+```
+queryString.stringifyUrl({url: 'https://foo.bar', query: {foo: 'bar'}});
+//=> 'https://foo.bar?foo=bar'
+
+queryString.stringifyUrl({url: 'https://foo.bar?foo=baz', query: {foo: 'bar'}});
+//=> 'https://foo.bar?foo=bar'
+
+queryString.stringifyUrl({
+ url: 'https://foo.bar',
+ query: {
+ top: 'foo'
+ },
+ fragmentIdentifier: 'bar'
+});
+//=> 'https://foo.bar?top=foo#bar'
+```
+*/
+export function stringifyUrl(
+ object: ParsedUrl,
+ options?: StringifyOptions
+): string;