{"ast":null,"code":"'use strict';\n\nvar getSideChannel = require('side-channel');\n\nvar utils = require(\"./utils\");\n\nvar formats = require(\"./formats\");\n\nvar has = Object.prototype.hasOwnProperty;\nvar arrayPrefixGenerators = {\n  brackets: function brackets(prefix) {\n    return prefix + '[]';\n  },\n  comma: 'comma',\n  indices: function indices(prefix, key) {\n    return prefix + '[' + key + ']';\n  },\n  repeat: function repeat(prefix) {\n    return prefix;\n  }\n};\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\n\nvar pushToArray = function pushToArray(arr, valueOrArray) {\n  push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\nvar defaultFormat = formats['default'];\nvar defaults = {\n  addQueryPrefix: false,\n  allowDots: false,\n  charset: 'utf-8',\n  charsetSentinel: false,\n  delimiter: '&',\n  encode: true,\n  encoder: utils.encode,\n  encodeValuesOnly: false,\n  format: defaultFormat,\n  formatter: formats.formatters[defaultFormat],\n  indices: false,\n  serializeDate: function serializeDate(date) {\n    return toISO.call(date);\n  },\n  skipNulls: false,\n  strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n  return typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean' || typeof v === 'symbol' || typeof v === 'bigint';\n};\n\nvar stringify = function stringify(object, prefix, generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, sideChannel) {\n  var obj = object;\n\n  if (sideChannel.has(object)) {\n    throw new RangeError('Cyclic object value');\n  }\n\n  if (typeof filter === 'function') {\n    obj = filter(prefix, obj);\n  } else if (obj instanceof Date) {\n    obj = serializeDate(obj);\n  } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n    obj = utils.maybeMap(obj, function (value) {\n      if (value instanceof Date) {\n        return serializeDate(value);\n      }\n\n      return value;\n    });\n  }\n\n  if (obj === null) {\n    if (strictNullHandling) {\n      return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n    }\n\n    obj = '';\n  }\n\n  if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n    if (encoder) {\n      var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n      return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n    }\n\n    return [formatter(prefix) + '=' + formatter(String(obj))];\n  }\n\n  var values = [];\n\n  if (typeof obj === 'undefined') {\n    return values;\n  }\n\n  var objKeys;\n\n  if (generateArrayPrefix === 'comma' && isArray(obj)) {\n    objKeys = [{\n      value: obj.length > 0 ? obj.join(',') || null : undefined\n    }];\n  } else if (isArray(filter)) {\n    objKeys = filter;\n  } else {\n    var keys = Object.keys(obj);\n    objKeys = sort ? keys.sort(sort) : keys;\n  }\n\n  for (var i = 0; i < objKeys.length; ++i) {\n    var key = objKeys[i];\n    var value = typeof key === 'object' && key.value !== undefined ? key.value : obj[key];\n\n    if (skipNulls && value === null) {\n      continue;\n    }\n\n    var keyPrefix = isArray(obj) ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix : prefix + (allowDots ? '.' + key : '[' + key + ']');\n    sideChannel.set(object, true);\n    var valueSideChannel = getSideChannel();\n    pushToArray(values, stringify(value, keyPrefix, generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, valueSideChannel));\n  }\n\n  return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n  if (!opts) {\n    return defaults;\n  }\n\n  if (opts.encoder !== null && opts.encoder !== undefined && typeof opts.encoder !== 'function') {\n    throw new TypeError('Encoder has to be a function.');\n  }\n\n  var charset = opts.charset || defaults.charset;\n\n  if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n    throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n  }\n\n  var format = formats['default'];\n\n  if (typeof opts.format !== 'undefined') {\n    if (!has.call(formats.formatters, opts.format)) {\n      throw new TypeError('Unknown format option provided.');\n    }\n\n    format = opts.format;\n  }\n\n  var formatter = formats.formatters[format];\n  var filter = defaults.filter;\n\n  if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n    filter = opts.filter;\n  }\n\n  return {\n    addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n    allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n    charset: charset,\n    charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n    delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n    encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n    encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n    encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n    filter: filter,\n    format: format,\n    formatter: formatter,\n    serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n    skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n    sort: typeof opts.sort === 'function' ? opts.sort : null,\n    strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n  };\n};\n\nmodule.exports = function (object, opts) {\n  var obj = object;\n  var options = normalizeStringifyOptions(opts);\n  var objKeys;\n  var filter;\n\n  if (typeof options.filter === 'function') {\n    filter = options.filter;\n    obj = filter('', obj);\n  } else if (isArray(options.filter)) {\n    filter = options.filter;\n    objKeys = filter;\n  }\n\n  var keys = [];\n\n  if (typeof obj !== 'object' || obj === null) {\n    return '';\n  }\n\n  var arrayFormat;\n\n  if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n    arrayFormat = opts.arrayFormat;\n  } else if (opts && 'indices' in opts) {\n    arrayFormat = opts.indices ? 'indices' : 'repeat';\n  } else {\n    arrayFormat = 'indices';\n  }\n\n  var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n  if (!objKeys) {\n    objKeys = Object.keys(obj);\n  }\n\n  if (options.sort) {\n    objKeys.sort(options.sort);\n  }\n\n  var sideChannel = getSideChannel();\n\n  for (var i = 0; i < objKeys.length; ++i) {\n    var key = objKeys[i];\n\n    if (options.skipNulls && obj[key] === null) {\n      continue;\n    }\n\n    pushToArray(keys, stringify(obj[key], key, generateArrayPrefix, options.strictNullHandling, options.skipNulls, options.encode ? options.encoder : null, options.filter, options.sort, options.allowDots, options.serializeDate, options.format, options.formatter, options.encodeValuesOnly, options.charset, sideChannel));\n  }\n\n  var joined = keys.join(options.delimiter);\n  var prefix = options.addQueryPrefix === true ? '?' : '';\n\n  if (options.charsetSentinel) {\n    if (options.charset === 'iso-8859-1') {\n      prefix += 'utf8=%26%2310003%3B&';\n    } else {\n      prefix += 'utf8=%E2%9C%93&';\n    }\n  }\n\n  return joined.length > 0 ? prefix + joined : '';\n};","map":{"version":3,"sources":["/Users/nishan/Desktop/oss/responsive-breakpoints/example/node_modules/expo-linking/node_modules/qs/lib/stringify.js"],"names":["getSideChannel","require","utils","formats","has","Object","prototype","hasOwnProperty","arrayPrefixGenerators","brackets","prefix","comma","indices","key","repeat","isArray","Array","push","pushToArray","arr","valueOrArray","apply","toISO","Date","toISOString","defaultFormat","defaults","addQueryPrefix","allowDots","charset","charsetSentinel","delimiter","encode","encoder","encodeValuesOnly","format","formatter","formatters","serializeDate","date","call","skipNulls","strictNullHandling","isNonNullishPrimitive","v","stringify","object","generateArrayPrefix","filter","sort","sideChannel","obj","RangeError","maybeMap","value","isBuffer","keyValue","String","values","objKeys","length","join","undefined","keys","i","keyPrefix","set","valueSideChannel","normalizeStringifyOptions","opts","TypeError","module","exports","options","arrayFormat","joined"],"mappings":"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","sourcesContent":["'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n    brackets: function brackets(prefix) {\n        return prefix + '[]';\n    },\n    comma: 'comma',\n    indices: function indices(prefix, key) {\n        return prefix + '[' + key + ']';\n    },\n    repeat: function repeat(prefix) {\n        return prefix;\n    }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n    push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n    addQueryPrefix: false,\n    allowDots: false,\n    charset: 'utf-8',\n    charsetSentinel: false,\n    delimiter: '&',\n    encode: true,\n    encoder: utils.encode,\n    encodeValuesOnly: false,\n    format: defaultFormat,\n    formatter: formats.formatters[defaultFormat],\n    // deprecated\n    indices: false,\n    serializeDate: function serializeDate(date) {\n        return toISO.call(date);\n    },\n    skipNulls: false,\n    strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n    return typeof v === 'string'\n        || typeof v === 'number'\n        || typeof v === 'boolean'\n        || typeof v === 'symbol'\n        || typeof v === 'bigint';\n};\n\nvar stringify = function stringify(\n    object,\n    prefix,\n    generateArrayPrefix,\n    strictNullHandling,\n    skipNulls,\n    encoder,\n    filter,\n    sort,\n    allowDots,\n    serializeDate,\n    format,\n    formatter,\n    encodeValuesOnly,\n    charset,\n    sideChannel\n) {\n    var obj = object;\n\n    if (sideChannel.has(object)) {\n        throw new RangeError('Cyclic object value');\n    }\n\n    if (typeof filter === 'function') {\n        obj = filter(prefix, obj);\n    } else if (obj instanceof Date) {\n        obj = serializeDate(obj);\n    } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n        obj = utils.maybeMap(obj, function (value) {\n            if (value instanceof Date) {\n                return serializeDate(value);\n            }\n            return value;\n        });\n    }\n\n    if (obj === null) {\n        if (strictNullHandling) {\n            return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n        }\n\n        obj = '';\n    }\n\n    if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n        if (encoder) {\n            var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n            return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n        }\n        return [formatter(prefix) + '=' + formatter(String(obj))];\n    }\n\n    var values = [];\n\n    if (typeof obj === 'undefined') {\n        return values;\n    }\n\n    var objKeys;\n    if (generateArrayPrefix === 'comma' && isArray(obj)) {\n        // we need to join elements in\n        objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : undefined }];\n    } else if (isArray(filter)) {\n        objKeys = filter;\n    } else {\n        var keys = Object.keys(obj);\n        objKeys = sort ? keys.sort(sort) : keys;\n    }\n\n    for (var i = 0; i < objKeys.length; ++i) {\n        var key = objKeys[i];\n        var value = typeof key === 'object' && key.value !== undefined ? key.value : obj[key];\n\n        if (skipNulls && value === null) {\n            continue;\n        }\n\n        var keyPrefix = isArray(obj)\n            ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix\n            : prefix + (allowDots ? '.' + key : '[' + key + ']');\n\n        sideChannel.set(object, true);\n        var valueSideChannel = getSideChannel();\n        pushToArray(values, stringify(\n            value,\n            keyPrefix,\n            generateArrayPrefix,\n            strictNullHandling,\n            skipNulls,\n            encoder,\n            filter,\n            sort,\n            allowDots,\n            serializeDate,\n            format,\n            formatter,\n            encodeValuesOnly,\n            charset,\n            valueSideChannel\n        ));\n    }\n\n    return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n    if (!opts) {\n        return defaults;\n    }\n\n    if (opts.encoder !== null && opts.encoder !== undefined && typeof opts.encoder !== 'function') {\n        throw new TypeError('Encoder has to be a function.');\n    }\n\n    var charset = opts.charset || defaults.charset;\n    if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n        throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n    }\n\n    var format = formats['default'];\n    if (typeof opts.format !== 'undefined') {\n        if (!has.call(formats.formatters, opts.format)) {\n            throw new TypeError('Unknown format option provided.');\n        }\n        format = opts.format;\n    }\n    var formatter = formats.formatters[format];\n\n    var filter = defaults.filter;\n    if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n        filter = opts.filter;\n    }\n\n    return {\n        addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n        allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n        charset: charset,\n        charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n        delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n        encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n        encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n        encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n        filter: filter,\n        format: format,\n        formatter: formatter,\n        serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n        skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n        sort: typeof opts.sort === 'function' ? opts.sort : null,\n        strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n    };\n};\n\nmodule.exports = function (object, opts) {\n    var obj = object;\n    var options = normalizeStringifyOptions(opts);\n\n    var objKeys;\n    var filter;\n\n    if (typeof options.filter === 'function') {\n        filter = options.filter;\n        obj = filter('', obj);\n    } else if (isArray(options.filter)) {\n        filter = options.filter;\n        objKeys = filter;\n    }\n\n    var keys = [];\n\n    if (typeof obj !== 'object' || obj === null) {\n        return '';\n    }\n\n    var arrayFormat;\n    if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n        arrayFormat = opts.arrayFormat;\n    } else if (opts && 'indices' in opts) {\n        arrayFormat = opts.indices ? 'indices' : 'repeat';\n    } else {\n        arrayFormat = 'indices';\n    }\n\n    var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n    if (!objKeys) {\n        objKeys = Object.keys(obj);\n    }\n\n    if (options.sort) {\n        objKeys.sort(options.sort);\n    }\n\n    var sideChannel = getSideChannel();\n    for (var i = 0; i < objKeys.length; ++i) {\n        var key = objKeys[i];\n\n        if (options.skipNulls && obj[key] === null) {\n            continue;\n        }\n        pushToArray(keys, stringify(\n            obj[key],\n            key,\n            generateArrayPrefix,\n            options.strictNullHandling,\n            options.skipNulls,\n            options.encode ? options.encoder : null,\n            options.filter,\n            options.sort,\n            options.allowDots,\n            options.serializeDate,\n            options.format,\n            options.formatter,\n            options.encodeValuesOnly,\n            options.charset,\n            sideChannel\n        ));\n    }\n\n    var joined = keys.join(options.delimiter);\n    var prefix = options.addQueryPrefix === true ? '?' : '';\n\n    if (options.charsetSentinel) {\n        if (options.charset === 'iso-8859-1') {\n            // encodeURIComponent('&#10003;'), the \"numeric entity\" representation of a checkmark\n            prefix += 'utf8=%26%2310003%3B&';\n        } else {\n            // encodeURIComponent('✓')\n            prefix += 'utf8=%E2%9C%93&';\n        }\n    }\n\n    return joined.length > 0 ? prefix + joined : '';\n};\n"]},"metadata":{},"sourceType":"script"}