-
Notifications
You must be signed in to change notification settings - Fork 12
/
component---node-modules-gatsby-theme-mini-src-pages-tags-jsx-6b7ab5467a418e47f377.js.map
1 lines (1 loc) · 40.9 KB
/
component---node-modules-gatsby-theme-mini-src-pages-tags-jsx-6b7ab5467a418e47f377.js.map
1
{"version":3,"file":"component---node-modules-gatsby-theme-mini-src-pages-tags-jsx-6b7ab5467a418e47f377.js","mappings":"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","sources":["webpack://blog/./node_modules/gatsby-theme-mini/src/components/PageHeader/index.jsx","webpack://blog/./node_modules/gatsby-theme-mini/src/components/Tag/index.jsx","webpack://blog/./node_modules/gatsby-theme-mini/src/components/TagList/index.jsx","webpack://blog/./node_modules/gatsby-theme-mini/src/pages/tags.jsx","webpack://blog/./node_modules/lodash/_apply.js","webpack://blog/./node_modules/lodash/_arrayAggregator.js","webpack://blog/./node_modules/lodash/_arrayIncludes.js","webpack://blog/./node_modules/lodash/_arrayIncludesWith.js","webpack://blog/./node_modules/lodash/_assignValue.js","webpack://blog/./node_modules/lodash/_baseAggregator.js","webpack://blog/./node_modules/lodash/_baseAssignValue.js","webpack://blog/./node_modules/lodash/_baseFindIndex.js","webpack://blog/./node_modules/lodash/_baseFlatten.js","webpack://blog/./node_modules/lodash/_baseIndexOf.js","webpack://blog/./node_modules/lodash/_baseIsNaN.js","webpack://blog/./node_modules/lodash/_baseRest.js","webpack://blog/./node_modules/lodash/_baseSetToString.js","webpack://blog/./node_modules/lodash/_baseUniq.js","webpack://blog/./node_modules/lodash/_copyObject.js","webpack://blog/./node_modules/lodash/_createAggregator.js","webpack://blog/./node_modules/lodash/_createAssigner.js","webpack://blog/./node_modules/lodash/_createSet.js","webpack://blog/./node_modules/lodash/_defineProperty.js","webpack://blog/./node_modules/lodash/_isFlattenable.js","webpack://blog/./node_modules/lodash/_isIterateeCall.js","webpack://blog/./node_modules/lodash/_overRest.js","webpack://blog/./node_modules/lodash/_setToString.js","webpack://blog/./node_modules/lodash/_shortOut.js","webpack://blog/./node_modules/lodash/_strictIndexOf.js","webpack://blog/./node_modules/lodash/assign.js","webpack://blog/./node_modules/lodash/constant.js","webpack://blog/./node_modules/lodash/flatMap.js","webpack://blog/./node_modules/lodash/groupBy.js","webpack://blog/./node_modules/lodash/noop.js","webpack://blog/./node_modules/lodash/uniq.js"],"sourcesContent":["import React from 'react'\nimport PropTypes from 'prop-types'\n\nexport default function PageHeader(props) {\n const { title, description, cover, mini } = props\n\n return (\n <div className=\"header relative bg-gray-50 dark:bg-gray-900\">\n {cover ? (\n <div className=\"absolute left-0 top-0 w-full h-full\">\n <img className=\"w-full h-full object-cover\" src={cover} alt={cover} />\n </div>\n ) : null}\n <div\n className={`relative container mx-auto px-2 md:px-10 lg:px-40 text-center text-gray-900 dark:text-white ${\n mini ? 'py-24 pb-10 md:py-32' : 'py-56'\n }`}\n >\n <h1 className={`py-8 ${mini ? 'text-4xl' : 'text-6xl'}`}>{title}</h1>\n <h2 className={`font-normal ${mini ? 'text-xl' : 'text-3xl'}`}>\n {description}\n </h2>\n </div>\n </div>\n )\n}\n\nPageHeader.propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n cover: PropTypes.string,\n mini: PropTypes.bool,\n}\n\nPageHeader.defaultProps = {\n title: '',\n description: '',\n cover: '',\n mini: false,\n}\n","import React from 'react'\nimport { Link } from 'gatsby'\n\nexport default function Tag(props) {\n const { children } = props\n\n return (\n <Link to={`/tags#tag-${children.toString()}`}>\n <span className=\"block px-2 py-1 rounded-md text-sm bg-yellow-100 text-yellow-700\">\n {children}\n </span>\n </Link>\n )\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport Tag from '../Tag'\n\nexport default function TagList(props) {\n const { tags } = props\n\n return (\n <ul className=\"flex flex-wrap -mx-1\">\n {tags.map((item) => (\n <li key={item} className=\"m-1\">\n <Tag>{item}</Tag>\n </li>\n ))}\n </ul>\n )\n}\n\nTagList.propTypes = {\n tags: PropTypes.array,\n}\n\nTagList.defaultProps = {\n tags: [],\n}\n","import React from 'react'\nimport _ from 'lodash'\nimport { graphql, Link } from 'gatsby'\n\nimport Layout from '../components/Layout'\nimport PageHeader from '../components/PageHeader'\nimport TagList from '../components/TagList'\n\nexport const query = graphql`\n query TagQuery {\n allMarkdownRemark {\n nodes {\n id\n frontmatter {\n title\n tags\n date\n }\n excerpt\n fields {\n slug\n permalink\n }\n }\n }\n }\n`\n\nexport default function TagPage(props) {\n const { data } = props\n const { nodes } = data.allMarkdownRemark\n\n const tags = _.uniq(\n _.flatMap(nodes, (item) => _.get(item, 'frontmatter.tags') || [])\n )\n const postGroups = _.groupBy(\n _.flatMap(nodes, (item) =>\n _.map(_.get(item, 'frontmatter.tags'), (tag) =>\n _.assign({}, item, {\n tag,\n })\n )\n ),\n 'tag'\n )\n\n return (\n <Layout>\n <PageHeader title=\"Say Hi to All Tags\" mini />\n <div className=\"dark:bg-gray-800\">\n <div className=\"container mx-auto px-4 py-12\">\n <div className=\"relative z-10\">\n <TagList tags={tags} />\n </div>\n <div className=\"my-4 flex flex-col space-y-4\">\n {_.map(postGroups, (posts, tag) => (\n <div key={tag}>\n <div id={`tag-${tag}`} className=\"pt-16 -mt-16\">\n <div className=\"mt-6 mb-2\">\n <h2 className=\"text-xl text-blue-600\">\n <Link to={`#tag-${tag}`}>{tag}</Link>\n </h2>\n </div>\n <ul className=\"relative z-10 divide-y divide-gray-100 dark:divide-gray-900\">\n {posts.map((post) => (\n <li\n key={post.id}\n className=\"py-5 pl-4 hover:bg-gray-100 dark:hover:bg-gray-900\"\n >\n <Link to={post.fields.permalink}>\n <h3 className=\"text-lg mb-2 dark:text-gray-400\">\n {post.frontmatter.title}\n </h3>\n <p className=\"text-sm truncate text-gray-500 dark:text-gray-600 hover:text-gray-800\">\n {post.excerpt}\n </p>\n </Link>\n </li>\n ))}\n </ul>\n </div>\n </div>\n ))}\n </div>\n </div>\n </div>\n </Layout>\n )\n}\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayAggregator;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var baseEach = require('./_baseEach');\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\nmodule.exports = baseAggregator;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var arrayAggregator = require('./_arrayAggregator'),\n baseAggregator = require('./_baseAggregator'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\nmodule.exports = createAggregator;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var assignValue = require('./_assignValue'),\n copyObject = require('./_copyObject'),\n createAssigner = require('./_createAssigner'),\n isArrayLike = require('./isArrayLike'),\n isPrototype = require('./_isPrototype'),\n keys = require('./keys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\nmodule.exports = assign;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var baseFlatten = require('./_baseFlatten'),\n map = require('./map');\n\n/**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\nfunction flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n}\n\nmodule.exports = flatMap;\n","var baseAssignValue = require('./_baseAssignValue'),\n createAggregator = require('./_createAggregator');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n});\n\nmodule.exports = groupBy;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var baseUniq = require('./_baseUniq');\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n}\n\nmodule.exports = uniq;\n"],"names":["PageHeader","props","title","description","cover","mini","className","src","alt","defaultProps","Tag","children","to","toString","TagList","tags","map","item","key","TagPage","nodes","data","allMarkdownRemark","postGroups","tag","posts","id","post","fields","permalink","frontmatter","excerpt","module","exports","func","thisArg","args","length","call","apply","array","setter","iteratee","accumulator","index","value","baseIndexOf","comparator","baseAssignValue","eq","hasOwnProperty","Object","prototype","object","objValue","undefined","baseEach","collection","defineProperty","predicate","fromIndex","fromRight","arrayPush","isFlattenable","baseFlatten","depth","isStrict","result","baseFindIndex","baseIsNaN","strictIndexOf","identity","overRest","setToString","start","constant","baseSetToString","string","SetCache","arrayIncludes","arrayIncludesWith","cacheHas","createSet","setToArray","includes","isCommon","seen","set","outer","computed","seenIndex","push","assignValue","source","customizer","isNew","newValue","arrayAggregator","baseAggregator","baseIteratee","isArray","initializer","baseRest","isIterateeCall","assigner","sources","guard","Set","noop","values","getNative","e","Symbol","isArguments","spreadableSymbol","isConcatSpreadable","isArrayLike","isIndex","isObject","type","nativeMax","Math","max","transform","arguments","Array","otherArgs","this","shortOut","nativeNow","Date","now","count","lastCalled","stamp","remaining","copyObject","createAssigner","isPrototype","keys","assign","createAggregator","groupBy","baseUniq"],"sourceRoot":""}