'use strict';
							 | 
						|
								
							 | 
						|
								module.exports = {
							 | 
						|
								    emptyTestCases: [
							 | 
						|
								        {
							 | 
						|
								            input: '&',
							 | 
						|
								            withEmptyKeys: {},
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '',
							 | 
						|
								                indices: '',
							 | 
						|
								                repeat: ''
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: {}
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '&&',
							 | 
						|
								            withEmptyKeys: {},
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '',
							 | 
						|
								                indices: '',
							 | 
						|
								                repeat: ''
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: {}
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '&=',
							 | 
						|
								            withEmptyKeys: { '': '' },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '=',
							 | 
						|
								                indices: '=',
							 | 
						|
								                repeat: '='
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: {}
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '&=&',
							 | 
						|
								            withEmptyKeys: { '': '' },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '=',
							 | 
						|
								                indices: '=',
							 | 
						|
								                repeat: '='
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: {}
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '&=&=',
							 | 
						|
								            withEmptyKeys: { '': ['', ''] },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '[]=&[]=',
							 | 
						|
								                indices: '[0]=&[1]=',
							 | 
						|
								                repeat: '=&='
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: {}
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '&=&=&',
							 | 
						|
								            withEmptyKeys: { '': ['', ''] },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '[]=&[]=',
							 | 
						|
								                indices: '[0]=&[1]=',
							 | 
						|
								                repeat: '=&='
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: {}
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '=',
							 | 
						|
								            withEmptyKeys: { '': '' },
							 | 
						|
								            noEmptyKeys: {},
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '=',
							 | 
						|
								                indices: '=',
							 | 
						|
								                repeat: '='
							 | 
						|
								            }
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '=&',
							 | 
						|
								            withEmptyKeys: { '': '' },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '=',
							 | 
						|
								                indices: '=',
							 | 
						|
								                repeat: '='
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: {}
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '=&&&',
							 | 
						|
								            withEmptyKeys: { '': '' },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '=',
							 | 
						|
								                indices: '=',
							 | 
						|
								                repeat: '='
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: {}
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '=&=&=&',
							 | 
						|
								            withEmptyKeys: { '': ['', '', ''] },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '[]=&[]=&[]=',
							 | 
						|
								                indices: '[0]=&[1]=&[2]=',
							 | 
						|
								                repeat: '=&=&='
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: {}
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '=&a[]=b&a[1]=c',
							 | 
						|
								            withEmptyKeys: { '': '', a: ['b', 'c'] },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '=&a[]=b&a[]=c',
							 | 
						|
								                indices: '=&a[0]=b&a[1]=c',
							 | 
						|
								                repeat: '=&a=b&a=c'
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: { a: ['b', 'c'] }
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '=a',
							 | 
						|
								            withEmptyKeys: { '': 'a' },
							 | 
						|
								            noEmptyKeys: {},
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '=a',
							 | 
						|
								                indices: '=a',
							 | 
						|
								                repeat: '=a'
							 | 
						|
								            }
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: 'a==a',
							 | 
						|
								            withEmptyKeys: { a: '=a' },
							 | 
						|
								            noEmptyKeys: { a: '=a' },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: 'a==a',
							 | 
						|
								                indices: 'a==a',
							 | 
						|
								                repeat: 'a==a'
							 | 
						|
								            }
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '=&a[]=b',
							 | 
						|
								            withEmptyKeys: { '': '', a: ['b'] },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '=&a[]=b',
							 | 
						|
								                indices: '=&a[0]=b',
							 | 
						|
								                repeat: '=&a=b'
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: { a: ['b'] }
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '=&a[]=b&a[]=c&a[2]=d',
							 | 
						|
								            withEmptyKeys: { '': '', a: ['b', 'c', 'd'] },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '=&a[]=b&a[]=c&a[]=d',
							 | 
						|
								                indices: '=&a[0]=b&a[1]=c&a[2]=d',
							 | 
						|
								                repeat: '=&a=b&a=c&a=d'
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: { a: ['b', 'c', 'd'] }
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '=a&=b',
							 | 
						|
								            withEmptyKeys: { '': ['a', 'b'] },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '[]=a&[]=b',
							 | 
						|
								                indices: '[0]=a&[1]=b',
							 | 
						|
								                repeat: '=a&=b'
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: {}
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '=a&foo=b',
							 | 
						|
								            withEmptyKeys: { '': 'a', foo: 'b' },
							 | 
						|
								            noEmptyKeys: { foo: 'b' },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '=a&foo=b',
							 | 
						|
								                indices: '=a&foo=b',
							 | 
						|
								                repeat: '=a&foo=b'
							 | 
						|
								            }
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: 'a[]=b&a=c&=',
							 | 
						|
								            withEmptyKeys: { '': '', a: ['b', 'c'] },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '=&a[]=b&a[]=c',
							 | 
						|
								                indices: '=&a[0]=b&a[1]=c',
							 | 
						|
								                repeat: '=&a=b&a=c'
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: { a: ['b', 'c'] }
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: 'a[]=b&a=c&=',
							 | 
						|
								            withEmptyKeys: { '': '', a: ['b', 'c'] },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '=&a[]=b&a[]=c',
							 | 
						|
								                indices: '=&a[0]=b&a[1]=c',
							 | 
						|
								                repeat: '=&a=b&a=c'
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: { a: ['b', 'c'] }
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: 'a[0]=b&a=c&=',
							 | 
						|
								            withEmptyKeys: { '': '', a: ['b', 'c'] },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '=&a[]=b&a[]=c',
							 | 
						|
								                indices: '=&a[0]=b&a[1]=c',
							 | 
						|
								                repeat: '=&a=b&a=c'
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: { a: ['b', 'c'] }
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: 'a=b&a[]=c&=',
							 | 
						|
								            withEmptyKeys: { '': '', a: ['b', 'c'] },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '=&a[]=b&a[]=c',
							 | 
						|
								                indices: '=&a[0]=b&a[1]=c',
							 | 
						|
								                repeat: '=&a=b&a=c'
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: { a: ['b', 'c'] }
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: 'a=b&a[0]=c&=',
							 | 
						|
								            withEmptyKeys: { '': '', a: ['b', 'c'] },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '=&a[]=b&a[]=c',
							 | 
						|
								                indices: '=&a[0]=b&a[1]=c',
							 | 
						|
								                repeat: '=&a=b&a=c'
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: { a: ['b', 'c'] }
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '[]=a&[]=b& []=1',
							 | 
						|
								            withEmptyKeys: { '': ['a', 'b'], ' ': ['1'] },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '[]=a&[]=b& []=1',
							 | 
						|
								                indices: '[0]=a&[1]=b& [0]=1',
							 | 
						|
								                repeat: '=a&=b& =1'
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: { 0: 'a', 1: 'b', ' ': ['1'] }
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '[0]=a&[1]=b&a[0]=1&a[1]=2',
							 | 
						|
								            withEmptyKeys: { '': ['a', 'b'], a: ['1', '2'] },
							 | 
						|
								            noEmptyKeys: { 0: 'a', 1: 'b', a: ['1', '2'] },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '[]=a&[]=b&a[]=1&a[]=2',
							 | 
						|
								                indices: '[0]=a&[1]=b&a[0]=1&a[1]=2',
							 | 
						|
								                repeat: '=a&=b&a=1&a=2'
							 | 
						|
								            }
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '[deep]=a&[deep]=2',
							 | 
						|
								            withEmptyKeys: { '': { deep: ['a', '2'] }
							 | 
						|
								            },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '[deep][]=a&[deep][]=2',
							 | 
						|
								                indices: '[deep][0]=a&[deep][1]=2',
							 | 
						|
								                repeat: '[deep]=a&[deep]=2'
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: { deep: ['a', '2'] }
							 | 
						|
								        },
							 | 
						|
								        {
							 | 
						|
								            input: '%5B0%5D=a&%5B1%5D=b',
							 | 
						|
								            withEmptyKeys: { '': ['a', 'b'] },
							 | 
						|
								            stringifyOutput: {
							 | 
						|
								                brackets: '[]=a&[]=b',
							 | 
						|
								                indices: '[0]=a&[1]=b',
							 | 
						|
								                repeat: '=a&=b'
							 | 
						|
								            },
							 | 
						|
								            noEmptyKeys: { 0: 'a', 1: 'b' }
							 | 
						|
								        }
							 | 
						|
								    ]
							 | 
						|
								};
							 |