├── .vscode
└── settings.json
├── C++
├── c++扩展.md
└── 概述.md
├── C
└── C_Overview.md
├── Git
└── vscode_and_git.md
├── Linux
├── 6818_Linux_drive
│ ├── Bootloader应用分析.md
│ ├── Linux内核开发移植.md
│ ├── Linux字符设备驱动设计.md
│ ├── Linux设备驱动核心.md
│ ├── 嵌入式文件系统.md
│ └── 裸机工程开发调试.md
├── A.md
├── Linux设备驱动开发详解.md
└── 正点Linux驱动开发
│ └── Linux 块设备驱动.md
├── README.md
├── SUMMARY.md
├── _book
├── .vscode
│ └── settings.json
├── android_bottom
│ ├── AOSP.html
│ ├── AOSP.md
│ ├── hardware_abstraction_layer.html
│ ├── hardware_abstraction_layer.md
│ ├── smart_pointer.html
│ ├── smart_pointer.md
│ ├── summary.html
│ └── summary.md
├── gitbook
│ ├── fonts
│ │ └── fontawesome
│ │ │ ├── FontAwesome.otf
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.svg
│ │ │ ├── fontawesome-webfont.ttf
│ │ │ ├── fontawesome-webfont.woff
│ │ │ └── fontawesome-webfont.woff2
│ ├── gitbook-plugin-back-to-top-button
│ │ ├── plugin.css
│ │ └── plugin.js
│ ├── gitbook-plugin-chapter-fold
│ │ ├── chapter-fold.css
│ │ └── chapter-fold.js
│ ├── gitbook-plugin-code
│ │ ├── plugin.css
│ │ └── plugin.js
│ ├── gitbook-plugin-fontsettings
│ │ ├── fontsettings.js
│ │ └── website.css
│ ├── gitbook-plugin-highlight
│ │ ├── ebook.css
│ │ └── website.css
│ ├── gitbook-plugin-insert-logo
│ │ ├── plugin.css
│ │ └── plugin.js
│ ├── gitbook-plugin-livereload
│ │ └── plugin.js
│ ├── gitbook-plugin-pageview-count
│ │ ├── plugin.css
│ │ └── plugin.js
│ ├── gitbook-plugin-search-pro
│ │ ├── jquery.mark.min.js
│ │ ├── search.css
│ │ └── search.js
│ ├── gitbook-plugin-sharing-plus
│ │ └── buttons.js
│ ├── gitbook-plugin-splitter
│ │ ├── splitter.css
│ │ └── splitter.js
│ ├── gitbook-plugin-tbfed-pagefooter
│ │ └── footer.css
│ ├── gitbook.js
│ ├── images
│ │ ├── apple-touch-icon-precomposed-152.png
│ │ └── favicon.ico
│ ├── style.css
│ └── theme.js
├── index.html
├── linux_driver
│ ├── character_device_driver.html
│ ├── character_device_driver.md
│ ├── linux_driver.html
│ └── linux_driver.md
├── linux_in_a_word
│ ├── network_indepen.html
│ └── network_indepen.md
├── linux_kernel_0_12
│ ├── computer_composition.html
│ └── computer_composition.md
├── operating_system
│ ├── operat_mechanism.html
│ ├── operat_mechanism.md
│ ├── process.html
│ └── process.md
├── readthedec.md
└── search_plus_index.json
├── android_bottom
├── binder
│ ├── README.md
│ └── binder.md
├── hardware_abstraction_layer
│ ├── README.md
│ ├── android_application.md
│ ├── android_hardware_abstraction_layer_module.md
│ ├── android_hardware_access_service.md
│ └── android_hardware_driver.md
├── logger_log_system
│ ├── README.md
│ ├── log_interface.md
│ ├── logcat.md
│ └── logger_log.md
└── smart_pointer.md
├── book.json
├── c
└── print_cpucode.md
├── gtk
├── control.md
├── event_handling.md
├── glade.md
└── gtk_overview.md
├── iot
├── iot_overview.md
└── rfid.md
├── learning_route.md
├── linux_driver
├── character_device_driver.md
└── linux_driver.md
├── linux_in_a_word
└── network_indepen.md
├── linux_kernel_0_12
└── computer_composition.md
├── mu-lu
├── c.md
├── gtk.md
├── linux-nei-he-0.12.md
├── qi-ta.md
├── qt.md
├── shell.md
├── sqlite.md
└── ubuntu.md
├── mysql
└── mysql_make.md
├── node_modules
├── gitbook-plugin-back-to-top-button
│ ├── LICENSE
│ ├── README.md
│ ├── assets
│ │ ├── plugin.css
│ │ └── plugin.js
│ ├── index.js
│ ├── package.json
│ └── screenshots.png
├── gitbook-plugin-chapter-fold
│ ├── .npmignore
│ ├── README.md
│ ├── book
│ │ ├── chapter-fold.css
│ │ └── chapter-fold.js
│ ├── index.js
│ └── package.json
├── gitbook-plugin-code
│ ├── LICENSE
│ ├── README.md
│ ├── assets
│ │ ├── plugin.css
│ │ └── plugin.js
│ ├── index.js
│ └── package.json
├── gitbook-plugin-custom-favicon
│ ├── .npmignore
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── gitbook-plugin-insert-logo
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── lib
│ │ ├── plugin.css
│ │ └── plugin.js
│ └── package.json
├── gitbook-plugin-pageview-count
│ ├── LICENSE
│ ├── README.md
│ ├── assets
│ │ ├── plugin.css
│ │ └── plugin.js
│ ├── index.js
│ └── package.json
├── gitbook-plugin-popup
│ ├── .npmignore
│ ├── README.md
│ ├── index.js
│ └── package.json
├── gitbook-plugin-search-pro
│ ├── .npmignore
│ ├── LICENSE
│ ├── README.md
│ ├── _layouts
│ │ └── website
│ │ │ └── page.html
│ ├── assets
│ │ ├── jquery.mark.min.js
│ │ ├── search.css
│ │ └── search.js
│ ├── index.js
│ ├── package.json
│ └── previews
│ │ ├── search1.gif
│ │ ├── search2.gif
│ │ └── search3.gif
├── gitbook-plugin-sharing-plus
│ ├── .eslintrc
│ ├── .npmignore
│ ├── LICENSE
│ ├── README.md
│ ├── assets
│ │ └── buttons.js
│ ├── index.js
│ └── package.json
├── gitbook-plugin-splitter
│ ├── .npmignore
│ ├── LICENSE.txt
│ ├── README.md
│ ├── book
│ │ ├── splitter.css
│ │ └── splitter.js
│ ├── gitbook-splitter-demo.gif
│ ├── index.js
│ └── package.json
├── gitbook-plugin-tbfed-pagefooter
│ ├── LICENSE
│ ├── README.md
│ ├── assets
│ │ └── footer.css
│ ├── index.js
│ └── package.json
├── html-entities
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── lib
│ │ ├── html4-entities.js
│ │ ├── html5-entities.js
│ │ └── xml-entities.js
│ └── package.json
├── lodash
│ ├── LICENSE
│ ├── README.md
│ ├── array.js
│ ├── array
│ │ ├── chunk.js
│ │ ├── compact.js
│ │ ├── difference.js
│ │ ├── drop.js
│ │ ├── dropRight.js
│ │ ├── dropRightWhile.js
│ │ ├── dropWhile.js
│ │ ├── fill.js
│ │ ├── findIndex.js
│ │ ├── findLastIndex.js
│ │ ├── first.js
│ │ ├── flatten.js
│ │ ├── flattenDeep.js
│ │ ├── head.js
│ │ ├── indexOf.js
│ │ ├── initial.js
│ │ ├── intersection.js
│ │ ├── last.js
│ │ ├── lastIndexOf.js
│ │ ├── object.js
│ │ ├── pull.js
│ │ ├── pullAt.js
│ │ ├── remove.js
│ │ ├── rest.js
│ │ ├── slice.js
│ │ ├── sortedIndex.js
│ │ ├── sortedLastIndex.js
│ │ ├── tail.js
│ │ ├── take.js
│ │ ├── takeRight.js
│ │ ├── takeRightWhile.js
│ │ ├── takeWhile.js
│ │ ├── union.js
│ │ ├── uniq.js
│ │ ├── unique.js
│ │ ├── unzip.js
│ │ ├── unzipWith.js
│ │ ├── without.js
│ │ ├── xor.js
│ │ ├── zip.js
│ │ ├── zipObject.js
│ │ └── zipWith.js
│ ├── chain.js
│ ├── chain
│ │ ├── chain.js
│ │ ├── commit.js
│ │ ├── concat.js
│ │ ├── lodash.js
│ │ ├── plant.js
│ │ ├── reverse.js
│ │ ├── run.js
│ │ ├── tap.js
│ │ ├── thru.js
│ │ ├── toJSON.js
│ │ ├── toString.js
│ │ ├── value.js
│ │ ├── valueOf.js
│ │ ├── wrapperChain.js
│ │ ├── wrapperCommit.js
│ │ ├── wrapperConcat.js
│ │ ├── wrapperPlant.js
│ │ ├── wrapperReverse.js
│ │ ├── wrapperToString.js
│ │ └── wrapperValue.js
│ ├── collection.js
│ ├── collection
│ │ ├── all.js
│ │ ├── any.js
│ │ ├── at.js
│ │ ├── collect.js
│ │ ├── contains.js
│ │ ├── countBy.js
│ │ ├── detect.js
│ │ ├── each.js
│ │ ├── eachRight.js
│ │ ├── every.js
│ │ ├── filter.js
│ │ ├── find.js
│ │ ├── findLast.js
│ │ ├── findWhere.js
│ │ ├── foldl.js
│ │ ├── foldr.js
│ │ ├── forEach.js
│ │ ├── forEachRight.js
│ │ ├── groupBy.js
│ │ ├── include.js
│ │ ├── includes.js
│ │ ├── indexBy.js
│ │ ├── inject.js
│ │ ├── invoke.js
│ │ ├── map.js
│ │ ├── max.js
│ │ ├── min.js
│ │ ├── partition.js
│ │ ├── pluck.js
│ │ ├── reduce.js
│ │ ├── reduceRight.js
│ │ ├── reject.js
│ │ ├── sample.js
│ │ ├── select.js
│ │ ├── shuffle.js
│ │ ├── size.js
│ │ ├── some.js
│ │ ├── sortBy.js
│ │ ├── sortByAll.js
│ │ ├── sortByOrder.js
│ │ ├── sum.js
│ │ └── where.js
│ ├── date.js
│ ├── date
│ │ └── now.js
│ ├── function.js
│ ├── function
│ │ ├── after.js
│ │ ├── ary.js
│ │ ├── backflow.js
│ │ ├── before.js
│ │ ├── bind.js
│ │ ├── bindAll.js
│ │ ├── bindKey.js
│ │ ├── compose.js
│ │ ├── curry.js
│ │ ├── curryRight.js
│ │ ├── debounce.js
│ │ ├── defer.js
│ │ ├── delay.js
│ │ ├── flow.js
│ │ ├── flowRight.js
│ │ ├── memoize.js
│ │ ├── modArgs.js
│ │ ├── negate.js
│ │ ├── once.js
│ │ ├── partial.js
│ │ ├── partialRight.js
│ │ ├── rearg.js
│ │ ├── restParam.js
│ │ ├── spread.js
│ │ ├── throttle.js
│ │ └── wrap.js
│ ├── index.js
│ ├── internal
│ │ ├── LazyWrapper.js
│ │ ├── LodashWrapper.js
│ │ ├── MapCache.js
│ │ ├── SetCache.js
│ │ ├── arrayConcat.js
│ │ ├── arrayCopy.js
│ │ ├── arrayEach.js
│ │ ├── arrayEachRight.js
│ │ ├── arrayEvery.js
│ │ ├── arrayExtremum.js
│ │ ├── arrayFilter.js
│ │ ├── arrayMap.js
│ │ ├── arrayPush.js
│ │ ├── arrayReduce.js
│ │ ├── arrayReduceRight.js
│ │ ├── arraySome.js
│ │ ├── arraySum.js
│ │ ├── assignDefaults.js
│ │ ├── assignOwnDefaults.js
│ │ ├── assignWith.js
│ │ ├── baseAssign.js
│ │ ├── baseAt.js
│ │ ├── baseCallback.js
│ │ ├── baseClone.js
│ │ ├── baseCompareAscending.js
│ │ ├── baseCopy.js
│ │ ├── baseCreate.js
│ │ ├── baseDelay.js
│ │ ├── baseDifference.js
│ │ ├── baseEach.js
│ │ ├── baseEachRight.js
│ │ ├── baseEvery.js
│ │ ├── baseExtremum.js
│ │ ├── baseFill.js
│ │ ├── baseFilter.js
│ │ ├── baseFind.js
│ │ ├── baseFindIndex.js
│ │ ├── baseFlatten.js
│ │ ├── baseFor.js
│ │ ├── baseForIn.js
│ │ ├── baseForOwn.js
│ │ ├── baseForOwnRight.js
│ │ ├── baseForRight.js
│ │ ├── baseFunctions.js
│ │ ├── baseGet.js
│ │ ├── baseIndexOf.js
│ │ ├── baseIsEqual.js
│ │ ├── baseIsEqualDeep.js
│ │ ├── baseIsFunction.js
│ │ ├── baseIsMatch.js
│ │ ├── baseLodash.js
│ │ ├── baseMap.js
│ │ ├── baseMatches.js
│ │ ├── baseMatchesProperty.js
│ │ ├── baseMerge.js
│ │ ├── baseMergeDeep.js
│ │ ├── baseProperty.js
│ │ ├── basePropertyDeep.js
│ │ ├── basePullAt.js
│ │ ├── baseRandom.js
│ │ ├── baseReduce.js
│ │ ├── baseSetData.js
│ │ ├── baseSlice.js
│ │ ├── baseSome.js
│ │ ├── baseSortBy.js
│ │ ├── baseSortByOrder.js
│ │ ├── baseSum.js
│ │ ├── baseToString.js
│ │ ├── baseUniq.js
│ │ ├── baseValues.js
│ │ ├── baseWhile.js
│ │ ├── baseWrapperValue.js
│ │ ├── binaryIndex.js
│ │ ├── binaryIndexBy.js
│ │ ├── bindCallback.js
│ │ ├── bufferClone.js
│ │ ├── cacheIndexOf.js
│ │ ├── cachePush.js
│ │ ├── charsLeftIndex.js
│ │ ├── charsRightIndex.js
│ │ ├── compareAscending.js
│ │ ├── compareMultiple.js
│ │ ├── composeArgs.js
│ │ ├── composeArgsRight.js
│ │ ├── createAggregator.js
│ │ ├── createAssigner.js
│ │ ├── createBaseEach.js
│ │ ├── createBaseFor.js
│ │ ├── createBindWrapper.js
│ │ ├── createCache.js
│ │ ├── createCompounder.js
│ │ ├── createCtorWrapper.js
│ │ ├── createCurry.js
│ │ ├── createDefaults.js
│ │ ├── createExtremum.js
│ │ ├── createFind.js
│ │ ├── createFindIndex.js
│ │ ├── createFindKey.js
│ │ ├── createFlow.js
│ │ ├── createForEach.js
│ │ ├── createForIn.js
│ │ ├── createForOwn.js
│ │ ├── createHybridWrapper.js
│ │ ├── createObjectMapper.js
│ │ ├── createPadDir.js
│ │ ├── createPadding.js
│ │ ├── createPartial.js
│ │ ├── createPartialWrapper.js
│ │ ├── createReduce.js
│ │ ├── createRound.js
│ │ ├── createSortedIndex.js
│ │ ├── createWrapper.js
│ │ ├── deburrLetter.js
│ │ ├── equalArrays.js
│ │ ├── equalByTag.js
│ │ ├── equalObjects.js
│ │ ├── escapeHtmlChar.js
│ │ ├── escapeRegExpChar.js
│ │ ├── escapeStringChar.js
│ │ ├── getData.js
│ │ ├── getFuncName.js
│ │ ├── getLength.js
│ │ ├── getMatchData.js
│ │ ├── getNative.js
│ │ ├── getView.js
│ │ ├── indexOfNaN.js
│ │ ├── initCloneArray.js
│ │ ├── initCloneByTag.js
│ │ ├── initCloneObject.js
│ │ ├── invokePath.js
│ │ ├── isArrayLike.js
│ │ ├── isIndex.js
│ │ ├── isIterateeCall.js
│ │ ├── isKey.js
│ │ ├── isLaziable.js
│ │ ├── isLength.js
│ │ ├── isObjectLike.js
│ │ ├── isSpace.js
│ │ ├── isStrictComparable.js
│ │ ├── lazyClone.js
│ │ ├── lazyReverse.js
│ │ ├── lazyValue.js
│ │ ├── mapDelete.js
│ │ ├── mapGet.js
│ │ ├── mapHas.js
│ │ ├── mapSet.js
│ │ ├── mergeData.js
│ │ ├── mergeDefaults.js
│ │ ├── metaMap.js
│ │ ├── pickByArray.js
│ │ ├── pickByCallback.js
│ │ ├── reEscape.js
│ │ ├── reEvaluate.js
│ │ ├── reInterpolate.js
│ │ ├── realNames.js
│ │ ├── reorder.js
│ │ ├── replaceHolders.js
│ │ ├── setData.js
│ │ ├── shimKeys.js
│ │ ├── sortedUniq.js
│ │ ├── toIterable.js
│ │ ├── toObject.js
│ │ ├── toPath.js
│ │ ├── trimmedLeftIndex.js
│ │ ├── trimmedRightIndex.js
│ │ ├── unescapeHtmlChar.js
│ │ └── wrapperClone.js
│ ├── lang.js
│ ├── lang
│ │ ├── clone.js
│ │ ├── cloneDeep.js
│ │ ├── eq.js
│ │ ├── gt.js
│ │ ├── gte.js
│ │ ├── isArguments.js
│ │ ├── isArray.js
│ │ ├── isBoolean.js
│ │ ├── isDate.js
│ │ ├── isElement.js
│ │ ├── isEmpty.js
│ │ ├── isEqual.js
│ │ ├── isError.js
│ │ ├── isFinite.js
│ │ ├── isFunction.js
│ │ ├── isMatch.js
│ │ ├── isNaN.js
│ │ ├── isNative.js
│ │ ├── isNull.js
│ │ ├── isNumber.js
│ │ ├── isObject.js
│ │ ├── isPlainObject.js
│ │ ├── isRegExp.js
│ │ ├── isString.js
│ │ ├── isTypedArray.js
│ │ ├── isUndefined.js
│ │ ├── lt.js
│ │ ├── lte.js
│ │ ├── toArray.js
│ │ └── toPlainObject.js
│ ├── math.js
│ ├── math
│ │ ├── add.js
│ │ ├── ceil.js
│ │ ├── floor.js
│ │ ├── max.js
│ │ ├── min.js
│ │ ├── round.js
│ │ └── sum.js
│ ├── number.js
│ ├── number
│ │ ├── inRange.js
│ │ └── random.js
│ ├── object.js
│ ├── object
│ │ ├── assign.js
│ │ ├── create.js
│ │ ├── defaults.js
│ │ ├── defaultsDeep.js
│ │ ├── extend.js
│ │ ├── findKey.js
│ │ ├── findLastKey.js
│ │ ├── forIn.js
│ │ ├── forInRight.js
│ │ ├── forOwn.js
│ │ ├── forOwnRight.js
│ │ ├── functions.js
│ │ ├── get.js
│ │ ├── has.js
│ │ ├── invert.js
│ │ ├── keys.js
│ │ ├── keysIn.js
│ │ ├── mapKeys.js
│ │ ├── mapValues.js
│ │ ├── merge.js
│ │ ├── methods.js
│ │ ├── omit.js
│ │ ├── pairs.js
│ │ ├── pick.js
│ │ ├── result.js
│ │ ├── set.js
│ │ ├── transform.js
│ │ ├── values.js
│ │ └── valuesIn.js
│ ├── package.json
│ ├── string.js
│ ├── string
│ │ ├── camelCase.js
│ │ ├── capitalize.js
│ │ ├── deburr.js
│ │ ├── endsWith.js
│ │ ├── escape.js
│ │ ├── escapeRegExp.js
│ │ ├── kebabCase.js
│ │ ├── pad.js
│ │ ├── padLeft.js
│ │ ├── padRight.js
│ │ ├── parseInt.js
│ │ ├── repeat.js
│ │ ├── snakeCase.js
│ │ ├── startCase.js
│ │ ├── startsWith.js
│ │ ├── template.js
│ │ ├── templateSettings.js
│ │ ├── trim.js
│ │ ├── trimLeft.js
│ │ ├── trimRight.js
│ │ ├── trunc.js
│ │ ├── unescape.js
│ │ └── words.js
│ ├── support.js
│ ├── utility.js
│ └── utility
│ │ ├── attempt.js
│ │ ├── callback.js
│ │ ├── constant.js
│ │ ├── identity.js
│ │ ├── iteratee.js
│ │ ├── matches.js
│ │ ├── matchesProperty.js
│ │ ├── method.js
│ │ ├── methodOf.js
│ │ ├── mixin.js
│ │ ├── noop.js
│ │ ├── property.js
│ │ ├── propertyOf.js
│ │ ├── range.js
│ │ ├── times.js
│ │ └── uniqueId.js
└── moment
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── dist
│ ├── locale
│ │ ├── af.js
│ │ ├── ar-dz.js
│ │ ├── ar-kw.js
│ │ ├── ar-ly.js
│ │ ├── ar-ma.js
│ │ ├── ar-sa.js
│ │ ├── ar-tn.js
│ │ ├── ar.js
│ │ ├── az.js
│ │ ├── be.js
│ │ ├── bg.js
│ │ ├── bm.js
│ │ ├── bn.js
│ │ ├── bo.js
│ │ ├── br.js
│ │ ├── bs.js
│ │ ├── ca.js
│ │ ├── cs.js
│ │ ├── cv.js
│ │ ├── cy.js
│ │ ├── da.js
│ │ ├── de-at.js
│ │ ├── de-ch.js
│ │ ├── de.js
│ │ ├── dv.js
│ │ ├── el.js
│ │ ├── en-au.js
│ │ ├── en-ca.js
│ │ ├── en-gb.js
│ │ ├── en-ie.js
│ │ ├── en-il.js
│ │ ├── en-in.js
│ │ ├── en-nz.js
│ │ ├── en-sg.js
│ │ ├── eo.js
│ │ ├── es-do.js
│ │ ├── es-us.js
│ │ ├── es.js
│ │ ├── et.js
│ │ ├── eu.js
│ │ ├── fa.js
│ │ ├── fi.js
│ │ ├── fil.js
│ │ ├── fo.js
│ │ ├── fr-ca.js
│ │ ├── fr-ch.js
│ │ ├── fr.js
│ │ ├── fy.js
│ │ ├── ga.js
│ │ ├── gd.js
│ │ ├── gl.js
│ │ ├── gom-deva.js
│ │ ├── gom-latn.js
│ │ ├── gu.js
│ │ ├── he.js
│ │ ├── hi.js
│ │ ├── hr.js
│ │ ├── hu.js
│ │ ├── hy-am.js
│ │ ├── id.js
│ │ ├── is.js
│ │ ├── it-ch.js
│ │ ├── it.js
│ │ ├── ja.js
│ │ ├── jv.js
│ │ ├── ka.js
│ │ ├── kk.js
│ │ ├── km.js
│ │ ├── kn.js
│ │ ├── ko.js
│ │ ├── ku.js
│ │ ├── ky.js
│ │ ├── lb.js
│ │ ├── lo.js
│ │ ├── lt.js
│ │ ├── lv.js
│ │ ├── me.js
│ │ ├── mi.js
│ │ ├── mk.js
│ │ ├── ml.js
│ │ ├── mn.js
│ │ ├── mr.js
│ │ ├── ms-my.js
│ │ ├── ms.js
│ │ ├── mt.js
│ │ ├── my.js
│ │ ├── nb.js
│ │ ├── ne.js
│ │ ├── nl-be.js
│ │ ├── nl.js
│ │ ├── nn.js
│ │ ├── oc-lnc.js
│ │ ├── pa-in.js
│ │ ├── pl.js
│ │ ├── pt-br.js
│ │ ├── pt.js
│ │ ├── ro.js
│ │ ├── ru.js
│ │ ├── sd.js
│ │ ├── se.js
│ │ ├── si.js
│ │ ├── sk.js
│ │ ├── sl.js
│ │ ├── sq.js
│ │ ├── sr-cyrl.js
│ │ ├── sr.js
│ │ ├── ss.js
│ │ ├── sv.js
│ │ ├── sw.js
│ │ ├── ta.js
│ │ ├── te.js
│ │ ├── tet.js
│ │ ├── tg.js
│ │ ├── th.js
│ │ ├── tk.js
│ │ ├── tl-ph.js
│ │ ├── tlh.js
│ │ ├── tr.js
│ │ ├── tzl.js
│ │ ├── tzm-latn.js
│ │ ├── tzm.js
│ │ ├── ug-cn.js
│ │ ├── uk.js
│ │ ├── ur.js
│ │ ├── uz-latn.js
│ │ ├── uz.js
│ │ ├── vi.js
│ │ ├── x-pseudo.js
│ │ ├── yo.js
│ │ ├── zh-cn.js
│ │ ├── zh-hk.js
│ │ ├── zh-mo.js
│ │ └── zh-tw.js
│ └── moment.js
│ ├── ender.js
│ ├── locale
│ ├── af.js
│ ├── ar-dz.js
│ ├── ar-kw.js
│ ├── ar-ly.js
│ ├── ar-ma.js
│ ├── ar-sa.js
│ ├── ar-tn.js
│ ├── ar.js
│ ├── az.js
│ ├── be.js
│ ├── bg.js
│ ├── bm.js
│ ├── bn.js
│ ├── bo.js
│ ├── br.js
│ ├── bs.js
│ ├── ca.js
│ ├── cs.js
│ ├── cv.js
│ ├── cy.js
│ ├── da.js
│ ├── de-at.js
│ ├── de-ch.js
│ ├── de.js
│ ├── dv.js
│ ├── el.js
│ ├── en-au.js
│ ├── en-ca.js
│ ├── en-gb.js
│ ├── en-ie.js
│ ├── en-il.js
│ ├── en-in.js
│ ├── en-nz.js
│ ├── en-sg.js
│ ├── eo.js
│ ├── es-do.js
│ ├── es-us.js
│ ├── es.js
│ ├── et.js
│ ├── eu.js
│ ├── fa.js
│ ├── fi.js
│ ├── fil.js
│ ├── fo.js
│ ├── fr-ca.js
│ ├── fr-ch.js
│ ├── fr.js
│ ├── fy.js
│ ├── ga.js
│ ├── gd.js
│ ├── gl.js
│ ├── gom-deva.js
│ ├── gom-latn.js
│ ├── gu.js
│ ├── he.js
│ ├── hi.js
│ ├── hr.js
│ ├── hu.js
│ ├── hy-am.js
│ ├── id.js
│ ├── is.js
│ ├── it-ch.js
│ ├── it.js
│ ├── ja.js
│ ├── jv.js
│ ├── ka.js
│ ├── kk.js
│ ├── km.js
│ ├── kn.js
│ ├── ko.js
│ ├── ku.js
│ ├── ky.js
│ ├── lb.js
│ ├── lo.js
│ ├── lt.js
│ ├── lv.js
│ ├── me.js
│ ├── mi.js
│ ├── mk.js
│ ├── ml.js
│ ├── mn.js
│ ├── mr.js
│ ├── ms-my.js
│ ├── ms.js
│ ├── mt.js
│ ├── my.js
│ ├── nb.js
│ ├── ne.js
│ ├── nl-be.js
│ ├── nl.js
│ ├── nn.js
│ ├── oc-lnc.js
│ ├── pa-in.js
│ ├── pl.js
│ ├── pt-br.js
│ ├── pt.js
│ ├── ro.js
│ ├── ru.js
│ ├── sd.js
│ ├── se.js
│ ├── si.js
│ ├── sk.js
│ ├── sl.js
│ ├── sq.js
│ ├── sr-cyrl.js
│ ├── sr.js
│ ├── ss.js
│ ├── sv.js
│ ├── sw.js
│ ├── ta.js
│ ├── te.js
│ ├── tet.js
│ ├── tg.js
│ ├── th.js
│ ├── tk.js
│ ├── tl-ph.js
│ ├── tlh.js
│ ├── tr.js
│ ├── tzl.js
│ ├── tzm-latn.js
│ ├── tzm.js
│ ├── ug-cn.js
│ ├── uk.js
│ ├── ur.js
│ ├── uz-latn.js
│ ├── uz.js
│ ├── vi.js
│ ├── x-pseudo.js
│ ├── yo.js
│ ├── zh-cn.js
│ ├── zh-hk.js
│ ├── zh-mo.js
│ └── zh-tw.js
│ ├── min
│ ├── locales.js
│ ├── locales.min.js
│ ├── locales.min.js.map
│ ├── moment-with-locales.js
│ ├── moment-with-locales.min.js
│ ├── moment-with-locales.min.js.map
│ ├── moment.min.js
│ └── moment.min.js.map
│ ├── moment.d.ts
│ ├── moment.js
│ ├── package.js
│ ├── package.json
│ ├── src
│ ├── lib
│ │ ├── create
│ │ │ ├── check-overflow.js
│ │ │ ├── date-from-array.js
│ │ │ ├── from-anything.js
│ │ │ ├── from-array.js
│ │ │ ├── from-object.js
│ │ │ ├── from-string-and-array.js
│ │ │ ├── from-string-and-format.js
│ │ │ ├── from-string.js
│ │ │ ├── local.js
│ │ │ ├── parsing-flags.js
│ │ │ ├── utc.js
│ │ │ └── valid.js
│ │ ├── duration
│ │ │ ├── abs.js
│ │ │ ├── add-subtract.js
│ │ │ ├── as.js
│ │ │ ├── bubble.js
│ │ │ ├── clone.js
│ │ │ ├── constructor.js
│ │ │ ├── create.js
│ │ │ ├── duration.js
│ │ │ ├── get.js
│ │ │ ├── humanize.js
│ │ │ ├── iso-string.js
│ │ │ ├── prototype.js
│ │ │ └── valid.js
│ │ ├── format
│ │ │ └── format.js
│ │ ├── locale
│ │ │ ├── base-config.js
│ │ │ ├── calendar.js
│ │ │ ├── constructor.js
│ │ │ ├── en.js
│ │ │ ├── formats.js
│ │ │ ├── invalid.js
│ │ │ ├── lists.js
│ │ │ ├── locale.js
│ │ │ ├── locales.js
│ │ │ ├── ordinal.js
│ │ │ ├── pre-post-format.js
│ │ │ ├── prototype.js
│ │ │ ├── relative.js
│ │ │ └── set.js
│ │ ├── moment
│ │ │ ├── add-subtract.js
│ │ │ ├── calendar.js
│ │ │ ├── clone.js
│ │ │ ├── compare.js
│ │ │ ├── constructor.js
│ │ │ ├── creation-data.js
│ │ │ ├── diff.js
│ │ │ ├── format.js
│ │ │ ├── from.js
│ │ │ ├── get-set.js
│ │ │ ├── locale.js
│ │ │ ├── min-max.js
│ │ │ ├── moment.js
│ │ │ ├── now.js
│ │ │ ├── prototype.js
│ │ │ ├── start-end-of.js
│ │ │ ├── to-type.js
│ │ │ ├── to.js
│ │ │ └── valid.js
│ │ ├── parse
│ │ │ ├── regex.js
│ │ │ └── token.js
│ │ ├── units
│ │ │ ├── aliases.js
│ │ │ ├── constants.js
│ │ │ ├── day-of-month.js
│ │ │ ├── day-of-week.js
│ │ │ ├── day-of-year.js
│ │ │ ├── era.js
│ │ │ ├── hour.js
│ │ │ ├── millisecond.js
│ │ │ ├── minute.js
│ │ │ ├── month.js
│ │ │ ├── offset.js
│ │ │ ├── priorities.js
│ │ │ ├── quarter.js
│ │ │ ├── second.js
│ │ │ ├── timestamp.js
│ │ │ ├── timezone.js
│ │ │ ├── units.js
│ │ │ ├── week-calendar-utils.js
│ │ │ ├── week-year.js
│ │ │ ├── week.js
│ │ │ └── year.js
│ │ └── utils
│ │ │ ├── abs-ceil.js
│ │ │ ├── abs-floor.js
│ │ │ ├── abs-round.js
│ │ │ ├── compare-arrays.js
│ │ │ ├── defaults.js
│ │ │ ├── deprecate.js
│ │ │ ├── extend.js
│ │ │ ├── has-own-prop.js
│ │ │ ├── hooks.js
│ │ │ ├── index-of.js
│ │ │ ├── is-array.js
│ │ │ ├── is-calendar-spec.js
│ │ │ ├── is-date.js
│ │ │ ├── is-function.js
│ │ │ ├── is-leap-year.js
│ │ │ ├── is-moment-input.js
│ │ │ ├── is-number.js
│ │ │ ├── is-object-empty.js
│ │ │ ├── is-object.js
│ │ │ ├── is-string.js
│ │ │ ├── is-undefined.js
│ │ │ ├── keys.js
│ │ │ ├── map.js
│ │ │ ├── mod.js
│ │ │ ├── some.js
│ │ │ ├── to-int.js
│ │ │ └── zero-fill.js
│ ├── locale
│ │ ├── af.js
│ │ ├── ar-dz.js
│ │ ├── ar-kw.js
│ │ ├── ar-ly.js
│ │ ├── ar-ma.js
│ │ ├── ar-sa.js
│ │ ├── ar-tn.js
│ │ ├── ar.js
│ │ ├── az.js
│ │ ├── be.js
│ │ ├── bg.js
│ │ ├── bm.js
│ │ ├── bn.js
│ │ ├── bo.js
│ │ ├── br.js
│ │ ├── bs.js
│ │ ├── ca.js
│ │ ├── cs.js
│ │ ├── cv.js
│ │ ├── cy.js
│ │ ├── da.js
│ │ ├── de-at.js
│ │ ├── de-ch.js
│ │ ├── de.js
│ │ ├── dv.js
│ │ ├── el.js
│ │ ├── en-au.js
│ │ ├── en-ca.js
│ │ ├── en-gb.js
│ │ ├── en-ie.js
│ │ ├── en-il.js
│ │ ├── en-in.js
│ │ ├── en-nz.js
│ │ ├── en-sg.js
│ │ ├── eo.js
│ │ ├── es-do.js
│ │ ├── es-us.js
│ │ ├── es.js
│ │ ├── et.js
│ │ ├── eu.js
│ │ ├── fa.js
│ │ ├── fi.js
│ │ ├── fil.js
│ │ ├── fo.js
│ │ ├── fr-ca.js
│ │ ├── fr-ch.js
│ │ ├── fr.js
│ │ ├── fy.js
│ │ ├── ga.js
│ │ ├── gd.js
│ │ ├── gl.js
│ │ ├── gom-deva.js
│ │ ├── gom-latn.js
│ │ ├── gu.js
│ │ ├── he.js
│ │ ├── hi.js
│ │ ├── hr.js
│ │ ├── hu.js
│ │ ├── hy-am.js
│ │ ├── id.js
│ │ ├── is.js
│ │ ├── it-ch.js
│ │ ├── it.js
│ │ ├── ja.js
│ │ ├── jv.js
│ │ ├── ka.js
│ │ ├── kk.js
│ │ ├── km.js
│ │ ├── kn.js
│ │ ├── ko.js
│ │ ├── ku.js
│ │ ├── ky.js
│ │ ├── lb.js
│ │ ├── lo.js
│ │ ├── lt.js
│ │ ├── lv.js
│ │ ├── me.js
│ │ ├── mi.js
│ │ ├── mk.js
│ │ ├── ml.js
│ │ ├── mn.js
│ │ ├── mr.js
│ │ ├── ms-my.js
│ │ ├── ms.js
│ │ ├── mt.js
│ │ ├── my.js
│ │ ├── nb.js
│ │ ├── ne.js
│ │ ├── nl-be.js
│ │ ├── nl.js
│ │ ├── nn.js
│ │ ├── oc-lnc.js
│ │ ├── pa-in.js
│ │ ├── pl.js
│ │ ├── pt-br.js
│ │ ├── pt.js
│ │ ├── ro.js
│ │ ├── ru.js
│ │ ├── sd.js
│ │ ├── se.js
│ │ ├── si.js
│ │ ├── sk.js
│ │ ├── sl.js
│ │ ├── sq.js
│ │ ├── sr-cyrl.js
│ │ ├── sr.js
│ │ ├── ss.js
│ │ ├── sv.js
│ │ ├── sw.js
│ │ ├── ta.js
│ │ ├── te.js
│ │ ├── tet.js
│ │ ├── tg.js
│ │ ├── th.js
│ │ ├── tk.js
│ │ ├── tl-ph.js
│ │ ├── tlh.js
│ │ ├── tr.js
│ │ ├── tzl.js
│ │ ├── tzm-latn.js
│ │ ├── tzm.js
│ │ ├── ug-cn.js
│ │ ├── uk.js
│ │ ├── ur.js
│ │ ├── uz-latn.js
│ │ ├── uz.js
│ │ ├── vi.js
│ │ ├── x-pseudo.js
│ │ ├── yo.js
│ │ ├── zh-cn.js
│ │ ├── zh-hk.js
│ │ ├── zh-mo.js
│ │ └── zh-tw.js
│ └── moment.js
│ └── ts3.1-typings
│ └── moment.d.ts
├── operating_system
├── operat_mechanism.md
└── process.md
├── other
├── typora-tu-chuang.md
└── typora_picture_bed.md
├── qt
└── first_qt.md
├── shell
├── auto_packaging.md
├── condition.md
├── control.md
├── shell_overview.md
└── variable.md
├── sqlite
├── database_overview.md
├── shu-ju-ku-gai-shu.md
├── sql_basis.md
├── sql_improve.md
└── sqlite_c.md
├── ubuntu
├── format_problem.md
├── linux_use.md
├── use_notebook.md
├── use_samba.md
├── use_ubuntu.md
└── use_vscode.md
├── web
├── cgi.md
└── xml.md
├── 单片机
└── 单片机复习资料.md
├── 安卓底层开发
├── Android手机底层软硬件.md
├── 安卓深度探索
│ └── Android驱动开发前的准备.md
└── 硬件控制服务.md
├── 操作系统
├── linux操作系统原理
│ └── 操作系统概述.md
└── 王道操作系统笔记
│ ├── 操作系统的运行机制.md
│ └── 进程.md
├── 数据结构
├── 堆.md
├── 数组和字符串.md
├── 栈.md
└── 队列.md
├── 模电
└── 模电复习题.md
├── 算法
├── 二分法.md
├── 算法导论.md
└── 递归分治.md
├── 面试
├── 公司分类
│ ├── 18_360_未解.md
│ ├── 18_北京华油信通_未解.md
│ ├── 18_易兆微电子_未解.md
│ └── 19威泰视信.md
├── 嵌入式系统.md
├── 智商题.md
├── 知识点分
│ ├── CC++
│ │ └── C++100必会题.md
│ └── 网络
│ │ ├── C++_十进制转IPV4点分.md
│ │ ├── 三次握手.md
│ │ └── 网络分层.md
└── 面试问题.md
└── 音视频
└── audio音频
├── IIS.md
├── alsa(audio)驱动分析.md
├── linux音视频框架.md
├── wave音频数据的格式.md
└── 多媒体音频格式.md
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "restructuredtext.confPath": ""
3 | }
--------------------------------------------------------------------------------
/C/C_Overview.md:
--------------------------------------------------------------------------------
1 |
9 | * @Author: cpu_code
10 | * @Date: 2020-06-24 20:49:48
11 | * @LastEditTime: 2020-06-27 23:07:52
12 | * @FilePath: \md\C\C语言概述.md
13 | * @Gitee: https://gitee.com/cpu_code
14 | * @CSDN: https://blog.csdn.net/qq_44226094
15 |
16 |
17 | # C语言概述
18 |
19 |
20 |
21 | ### C语言的发展简史与特色
22 |
23 |
24 |
25 | ### 简单的C程序介绍
26 |
27 | ```c
28 | main( )
29 | {
30 | printf(″A simple c program.\n″);
31 | }
32 | ```
33 |
34 |
35 |
36 |
37 |
38 | ### 用C语言解决实际问题的步骤
--------------------------------------------------------------------------------
/_book/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "restructuredtext.confPath": ""
3 | }
--------------------------------------------------------------------------------
/_book/gitbook/fonts/fontawesome/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CPU-Code/notes/f6704eb142ac3a66888a49979a934b23961e152a/_book/gitbook/fonts/fontawesome/FontAwesome.otf
--------------------------------------------------------------------------------
/_book/gitbook/fonts/fontawesome/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CPU-Code/notes/f6704eb142ac3a66888a49979a934b23961e152a/_book/gitbook/fonts/fontawesome/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/_book/gitbook/fonts/fontawesome/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CPU-Code/notes/f6704eb142ac3a66888a49979a934b23961e152a/_book/gitbook/fonts/fontawesome/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CPU-Code/notes/f6704eb142ac3a66888a49979a934b23961e152a/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CPU-Code/notes/f6704eb142ac3a66888a49979a934b23961e152a/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/_book/gitbook/gitbook-plugin-back-to-top-button/plugin.js:
--------------------------------------------------------------------------------
1 | var gitbook = window.gitbook;
2 |
3 | gitbook.events.on('page.change', function() {
4 |
5 | var back_to_top_button = ['
'].join("");
6 | $(".book").append(back_to_top_button)
7 |
8 | $(".back-to-top").hide();
9 |
10 | $('.book-body,.body-inner').on('scroll', function () {
11 | if ($(this).scrollTop() > 100) {
12 | $('.back-to-top').fadeIn();
13 | } else {
14 | $('.back-to-top').fadeOut();
15 | }
16 | });
17 |
18 | $('.back-to-top').click(function () {
19 | $('.book-body,.body-inner').animate({
20 | scrollTop: 0
21 | }, 800);
22 | return false;
23 | });
24 |
25 | });
26 |
--------------------------------------------------------------------------------
/_book/gitbook/gitbook-plugin-chapter-fold/chapter-fold.css:
--------------------------------------------------------------------------------
1 | .book .book-summary .chapter > .articles {
2 | overflow: hidden;
3 | max-height: 0px;
4 | }
5 |
6 | .book .book-summary .chapter.expanded > .articles {
7 | max-height: 9999px;
8 | }
9 |
10 | .book .book-summary .exc-trigger {
11 | position: absolute;
12 | left: 12px;
13 | top: 12px;
14 | }
15 |
16 | .book .book-summary ul.summary li a,
17 | .book .book-summary ul.summary li span {
18 | padding-left: 30px;
19 | }
20 |
21 | .book .book-summary .exc-trigger:before {
22 | content: "\f105";
23 | }
24 |
25 | .book .book-summary .expanded > a .exc-trigger:before,
26 | .book .book-summary .expanded > span .exc-trigger:before {
27 | content: "\f107";
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/_book/gitbook/gitbook-plugin-code/plugin.css:
--------------------------------------------------------------------------------
1 | #code-textarea {
2 | height: 0;
3 | position: fixed;
4 | top: -1000px;
5 | width: 0;
6 | }
7 |
8 | .code-wrapper {
9 | position: relative;
10 | }
11 |
12 | .code-wrapper i {
13 | color: #c1c7cd;
14 | cursor: pointer;
15 | font-size: 12px;
16 | font-weight: bold;
17 | position: absolute;
18 | right: 1em;
19 | top: 1em;
20 | }
21 |
22 | .code-wrapper pre {
23 | background: #f7f8f9;
24 | border-radius: 3px;
25 | counter-reset: line;
26 | font-size: 15px;
27 | }
28 |
29 | .code-wrapper pre > code > span.code-line:before {
30 | counter-increment: line;
31 | color: #c1c7cd;
32 | content: counter(line);
33 | display: inline-block;
34 | font-size: 12px;
35 | margin-right: 1.5em;
36 | width: 1em;
37 | }
38 |
--------------------------------------------------------------------------------
/_book/gitbook/gitbook-plugin-insert-logo/plugin.css:
--------------------------------------------------------------------------------
1 | .book .book-summary .book-logo {
2 | text-align: center;
3 | padding: 20px;
4 | }
--------------------------------------------------------------------------------
/_book/gitbook/gitbook-plugin-insert-logo/plugin.js:
--------------------------------------------------------------------------------
1 | require(['gitbook', 'jQuery'], function (gitbook, $) {
2 | var url = ''
3 | var style = ''
4 | var insertLogo = function (url, style) {
5 | $('.book-summary').children().eq(0).before('
')
6 | }
7 | gitbook.events.bind('start', function (e, config) {
8 | url = config['insert-logo']['url']
9 | style = config['insert-logo']['style']
10 | })
11 |
12 | gitbook.events.bind("page.change", function() {
13 | insertLogo(url, style)
14 | })
15 | })
16 |
--------------------------------------------------------------------------------
/_book/gitbook/gitbook-plugin-livereload/plugin.js:
--------------------------------------------------------------------------------
1 | (function() {
2 | var newEl = document.createElement('script'),
3 | firstScriptTag = document.getElementsByTagName('script')[0];
4 |
5 | if (firstScriptTag) {
6 | newEl.async = 1;
7 | newEl.src = '//' + window.location.hostname + ':35729/livereload.js';
8 | firstScriptTag.parentNode.insertBefore(newEl, firstScriptTag);
9 | }
10 |
11 | })();
12 |
--------------------------------------------------------------------------------
/_book/gitbook/gitbook-plugin-pageview-count/plugin.css:
--------------------------------------------------------------------------------
1 | .page-view-wrapper .btn{
2 | display: inline-block;
3 | }
4 | .page-view-counter{
5 | margin-left: -14px;
6 | font-size: 15px;
7 | display:inline-block;
8 | }
--------------------------------------------------------------------------------
/_book/gitbook/gitbook-plugin-splitter/splitter.css:
--------------------------------------------------------------------------------
1 | .divider-content-summary {
2 | position: absolute;
3 | top: 0;
4 | right: 0;
5 | height: 100%;
6 | width: 5px;
7 | display: table;
8 | cursor: col-resize;
9 | color: #ccc;
10 | -webkit-transition: color 350ms ease;
11 | -moz-transition: color 350ms ease;
12 | -o-transition: color 350ms ease;
13 | transition: color 350ms ease
14 | }
15 | .divider-content-summary:hover {
16 | color: #444;
17 | }
18 | .divider-content-summary__icon {
19 | display: table-cell;
20 | vertical-align: middle;
21 | text-align: center;
22 | }
23 |
--------------------------------------------------------------------------------
/_book/gitbook/gitbook-plugin-tbfed-pagefooter/footer.css:
--------------------------------------------------------------------------------
1 | .page-footer {
2 | margin-top: 50px;
3 | border-top: 1px solid #ccc;
4 | overflow: hidden;
5 | padding: 10px 0;
6 | font-size: 12px;
7 | color: #808080;
8 | }
9 | .page-footer a {
10 | color: #808080!important;
11 | text-decoration: underline!important;
12 | }
13 | .footer-modification {
14 | float: right;
15 | }
16 |
--------------------------------------------------------------------------------
/_book/gitbook/images/apple-touch-icon-precomposed-152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CPU-Code/notes/f6704eb142ac3a66888a49979a934b23961e152a/_book/gitbook/images/apple-touch-icon-precomposed-152.png
--------------------------------------------------------------------------------
/_book/gitbook/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CPU-Code/notes/f6704eb142ac3a66888a49979a934b23961e152a/_book/gitbook/images/favicon.ico
--------------------------------------------------------------------------------
/android_bottom/binder/README.md:
--------------------------------------------------------------------------------
1 | # binder
2 |
3 |
--------------------------------------------------------------------------------
/android_bottom/hardware_abstraction_layer/README.md:
--------------------------------------------------------------------------------
1 | # 硬件抽象层
2 |
3 | * @Author: cpu\_code
4 | * @Date: 2020-07-15 11:51:27
5 | * @LastEditTime: 2020-07-15 12:46:44
6 | * @FilePath: \notes\android\_bottom\hardware\_abstraction\_layer\README.md
7 | * @Gitee: [https://gitee.com/cpu\_code](https://gitee.com/cpu_code)
8 | * @Github: [https://github.com/CPU-Code](https://github.com/CPU-Code)
9 | * @CSDN: [https://blog.csdn.net/qq\_44226094](https://blog.csdn.net/qq_44226094)
10 | * @Gitbook: [https://923992029.gitbook.io/cpucode/](https://923992029.gitbook.io/cpucode/)
11 | * [安卓硬件驱动](android_hardware_driver.md)
12 | * [安卓硬件抽象层模块](android_hardware_abstraction_layer_module.md)
13 | * [安卓硬件访问服务](android_hardware_access_service.md)
14 | * [安卓应用](android_application.md)
15 |
16 |
--------------------------------------------------------------------------------
/android_bottom/logger_log_system/README.md:
--------------------------------------------------------------------------------
1 | # Logger日志系统
2 |
3 | 
4 |
5 | ## [Logger日志系统](https://github.com/CPU-Code/notes/tree/3e00b3574737cc9efaf9e1d768d76396ca9416cc/android_bottom/logger_log_system/android_bottom/logger_log_system/README.md)
6 |
7 | * [Logger日志](https://github.com/CPU-Code/notes/tree/3e00b3574737cc9efaf9e1d768d76396ca9416cc/android_bottom/logger_log_system/android_bottom/logger_log_system/Logger_log.md)
8 | * [Logger写接口](https://github.com/CPU-Code/notes/tree/3e00b3574737cc9efaf9e1d768d76396ca9416cc/android_bottom/logger_log_system/android_bottom/logger_log_system/Log_interface.md)
9 | * [Logcat](https://github.com/CPU-Code/notes/tree/3e00b3574737cc9efaf9e1d768d76396ca9416cc/android_bottom/logger_log_system/android_bottom/logger_log_system/logcat.md)
10 |
11 |
--------------------------------------------------------------------------------
/gtk/glade.md:
--------------------------------------------------------------------------------
1 | # Glade使用
2 |
3 | 
4 |
5 | ## Glade 的使用
6 |
7 | Glade 是 GTK+的界面辅助设计工具, 可以通过拖放控件的方式快速设计出用户界面, 这样的优势在于在设计的同时能直观地看到界面上的控件, 并且可以随时调整界面上的设计。
8 |
9 | 由于开发板的库版本为 gtk2.12 之前的版本\(gtk1.0\), 所以只支持 libglade 模式, 而 Linux 环境的版本比较新,只能保存 GtkBuilder 格式的 Glade, 但是能运行 libglade 的代码, 而 window 的 glade 安装包两种格式都支持, 所以我们主要使用 window 的 glade 设计界面, 然后在 Linux 编译运行代码。
10 |
11 | 常用控件选择区: 列举了常用的控件, 常用的有三类: 顶层\(主窗口等\), 容器\(各种布局容器等\), 控制和显示\(按钮、 便签、 图片控件等\) 当鼠标放在控件时, 会自动显示控件的中文文字, 同时, 还能人为设置, 如下图
12 |
13 | 界面编辑区: 把控件拖放在这进行进行相应的布局
14 |
15 | 控件监视区: 能够看到界面上所有的控件, 同时, 选中这个控件, 可以看到这个控件的具体类型
16 |
17 |
--------------------------------------------------------------------------------
/linux_driver/character_device_driver.md:
--------------------------------------------------------------------------------
1 | # 字符设备驱动开发
2 |
3 | * @Author: cpu\_code
4 | * @Date: 2020-07-12 14:09:20
5 | * @LastEditTime: 2020-07-12 21:08:35
6 | * @FilePath: \note\android\_bottom\smart\_pointer.md
7 | * @Gitee: [https://gitee.com/cpu\_code](https://gitee.com/cpu_code)
8 | * @Github: [https://github.com/CPU-Code](https://github.com/CPU-Code)
9 | * @CSDN: [https://blog.csdn.net/qq\_44226094](https://blog.csdn.net/qq_44226094)
10 | * @Gitbook: [https://923992029.gitbook.io/cpucode/](https://923992029.gitbook.io/cpucode/)
11 |
12 | ## 字符设备驱动简介
13 |
14 | **字符设备**是 Linux 驱动中最基本的设备驱动,字符设备就是一个一个字节,按照**字节流**进行读写操作的设备,读写数据是分**先后顺序**的。比如我们最常见的点灯、按键、 IIC、 SPI,LCD 等等都是字符设备,这些设备的驱动就叫做字符设备驱动
15 |
16 | 
17 |
18 |
--------------------------------------------------------------------------------
/mu-lu/c.md:
--------------------------------------------------------------------------------
1 | # C
2 |
3 |
--------------------------------------------------------------------------------
/mu-lu/gtk.md:
--------------------------------------------------------------------------------
1 | # GTK
2 |
3 |
--------------------------------------------------------------------------------
/mu-lu/linux-nei-he-0.12.md:
--------------------------------------------------------------------------------
1 | # Linux内核0.12
2 |
3 |
--------------------------------------------------------------------------------
/mu-lu/qi-ta.md:
--------------------------------------------------------------------------------
1 | # 其他
2 |
3 |
--------------------------------------------------------------------------------
/mu-lu/qt.md:
--------------------------------------------------------------------------------
1 | # QT
2 |
3 |
--------------------------------------------------------------------------------
/mu-lu/shell.md:
--------------------------------------------------------------------------------
1 | # shell
2 |
3 |
--------------------------------------------------------------------------------
/mu-lu/sqlite.md:
--------------------------------------------------------------------------------
1 | # sqlite
2 |
3 |
--------------------------------------------------------------------------------
/mu-lu/ubuntu.md:
--------------------------------------------------------------------------------
1 | # ubuntu
2 |
3 |
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-back-to-top-button/README.md:
--------------------------------------------------------------------------------
1 | # Gitbook Back to Top Button Plugin [](https://badge.fury.io/js/gitbook-plugin-back-to-top-button)
2 |
3 | This plugin adds a back to top button to your GitBook. All three GitBook themes (White, Sepia, Night) are supported.
4 |
5 | ## Usage
6 |
7 | Add the plugin to your `book.json`:
8 |
9 | ```
10 | {
11 | "plugins" : [ "back-to-top-button" ]
12 | }
13 | ```
14 |
15 | ## Screenshots
16 |
17 | The back to top button in action:
18 |
19 | 
20 |
21 | ## Changelog
22 |
23 | * 0.1.0 Releases:
24 | * 0.1.0 First working release
25 | * 0.1.1 Minimal Gitbook version changed to 3.1.1
26 | * 0.1.2 Added link to GitHub repository
27 | * 0.1.3 Added support for GitBook themes (White, Sepia, Night)
28 |
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-back-to-top-button/assets/plugin.js:
--------------------------------------------------------------------------------
1 | var gitbook = window.gitbook;
2 |
3 | gitbook.events.on('page.change', function() {
4 |
5 | var back_to_top_button = ['
'].join("");
6 | $(".book").append(back_to_top_button)
7 |
8 | $(".back-to-top").hide();
9 |
10 | $('.book-body,.body-inner').on('scroll', function () {
11 | if ($(this).scrollTop() > 100) {
12 | $('.back-to-top').fadeIn();
13 | } else {
14 | $('.back-to-top').fadeOut();
15 | }
16 | });
17 |
18 | $('.back-to-top').click(function () {
19 | $('.book-body,.body-inner').animate({
20 | scrollTop: 0
21 | }, 800);
22 | return false;
23 | });
24 |
25 | });
26 |
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-back-to-top-button/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | website: {
3 | assets: './assets',
4 | js: [
5 | 'plugin.js'
6 | ],
7 | css: [
8 | 'plugin.css'
9 | ]
10 | }
11 | };
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-back-to-top-button/screenshots.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CPU-Code/notes/f6704eb142ac3a66888a49979a934b23961e152a/node_modules/gitbook-plugin-back-to-top-button/screenshots.png
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-chapter-fold/.npmignore:
--------------------------------------------------------------------------------
1 | package.json
2 | README
3 | CHANGELOG
4 | LICENSE / LICENCE
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-chapter-fold/book/chapter-fold.css:
--------------------------------------------------------------------------------
1 | .book .book-summary .chapter > .articles {
2 | overflow: hidden;
3 | max-height: 0px;
4 | }
5 |
6 | .book .book-summary .chapter.expanded > .articles {
7 | max-height: 9999px;
8 | }
9 |
10 | .book .book-summary .exc-trigger {
11 | position: absolute;
12 | left: 12px;
13 | top: 12px;
14 | }
15 |
16 | .book .book-summary ul.summary li a,
17 | .book .book-summary ul.summary li span {
18 | padding-left: 30px;
19 | }
20 |
21 | .book .book-summary .exc-trigger:before {
22 | content: "\f105";
23 | }
24 |
25 | .book .book-summary .expanded > a .exc-trigger:before,
26 | .book .book-summary .expanded > span .exc-trigger:before {
27 | content: "\f107";
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-chapter-fold/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | // Extend website resources and html
3 | website: {
4 | assets: "./book",
5 | js: [
6 | "chapter-fold.js"
7 | ],
8 | css: [
9 | "chapter-fold.css"
10 | ]
11 | }
12 | };
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-code/assets/plugin.css:
--------------------------------------------------------------------------------
1 | #code-textarea {
2 | height: 0;
3 | position: fixed;
4 | top: -1000px;
5 | width: 0;
6 | }
7 |
8 | .code-wrapper {
9 | position: relative;
10 | }
11 |
12 | .code-wrapper i {
13 | color: #c1c7cd;
14 | cursor: pointer;
15 | font-size: 12px;
16 | font-weight: bold;
17 | position: absolute;
18 | right: 1em;
19 | top: 1em;
20 | }
21 |
22 | .code-wrapper pre {
23 | background: #f7f8f9;
24 | border-radius: 3px;
25 | counter-reset: line;
26 | font-size: 15px;
27 | }
28 |
29 | .code-wrapper pre > code > span.code-line:before {
30 | counter-increment: line;
31 | color: #c1c7cd;
32 | content: counter(line);
33 | display: inline-block;
34 | font-size: 12px;
35 | margin-right: 1.5em;
36 | width: 1em;
37 | }
38 |
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-code/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |
3 | website: {
4 | assets: './assets',
5 | js: [
6 | 'plugin.js'
7 | ],
8 | css: [
9 | 'plugin.css'
10 | ]
11 | }
12 |
13 | };
14 |
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-custom-favicon/.npmignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 |
6 | # Runtime data
7 | pids
8 | *.pid
9 | *.seed
10 |
11 | # Directory for instrumented libs generated by jscoverage/JSCover
12 | lib-cov
13 |
14 | # Coverage directory used by tools like istanbul
15 | coverage
16 |
17 | # nyc test coverage
18 | .nyc_output
19 |
20 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
21 | .grunt
22 |
23 | # node-waf configuration
24 | .lock-wscript
25 |
26 | # Compiled binary addons (http://nodejs.org/api/addons.html)
27 | build/Release
28 |
29 | # Dependency directories
30 | node_modules
31 | jspm_packages
32 |
33 | # Optional npm cache directory
34 | .npm
35 |
36 | # Optional REPL history
37 | .node_repl_history
38 |
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-custom-favicon/README.md:
--------------------------------------------------------------------------------
1 | # gitbook-plugin-custom-favicon
2 | Add your own favicon to gitbook themes.
3 |
4 | Plugin deletes the gitbook favicon located at `"_book/gitbook/images/favicon.ico"` and replaces with your favicon.
5 |
6 | There is probably a better way to do this, but this at least works for _most_ use cases. However, this is a hack :smiley:
7 |
8 | ## Install via gitbook
9 |
10 | ### In book.json
11 |
12 | * Add `custom-favicon` to your `plugins` array
13 | * Add path to your favicon in `favicon` under `pluginsConfig`
14 |
15 | #### book.json
16 | ```json
17 | {
18 | "plugins" : ["custom-favicon"],
19 | "pluginsConfig" : {
20 | "favicon": "path/to/favicon.ico"
21 | }
22 | }
23 | ```
24 |
25 | ### using gitbook-cli
26 |
27 | ```bash
28 | gitbook install
29 | ```
30 |
31 | ### Using NPM
32 | ```bash
33 | npm install gitbook-plugin-custom-favicon
34 | ```
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-custom-favicon/index.js:
--------------------------------------------------------------------------------
1 | var fs = require('fs');
2 | var path = require('path');
3 |
4 |
5 | module.exports = {
6 | // Map of hooks
7 | hooks: {
8 |
9 | "finish" : function () {
10 | var pathFile = this.options.pluginsConfig && this.options.pluginsConfig.favicon;
11 | var favicon = path.join(process.cwd(), pathFile);
12 | var gitbookFaviconPath = path.join(process.cwd(), '_book', 'gitbook', 'images', 'favicon.ico');
13 | if (pathFile && fs.existsSync(pathFile) && fs.existsSync(gitbookFaviconPath)){
14 | fs.unlinkSync(gitbookFaviconPath);
15 | fs.createReadStream(favicon).pipe(fs.createWriteStream(gitbookFaviconPath));
16 | }
17 | }
18 | },
19 |
20 | // Map of new blocks
21 | blocks: {},
22 |
23 | // Map of new filters
24 | filters: {}
25 | };
26 |
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-insert-logo/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | book: {
3 | assets: './lib',
4 | js: [
5 | 'plugin.js'
6 | ],
7 | css: [
8 | 'plugin.css'
9 | ]
10 | }
11 |
12 | };
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-insert-logo/lib/plugin.css:
--------------------------------------------------------------------------------
1 | .book .book-summary .book-logo {
2 | text-align: center;
3 | padding: 20px;
4 | }
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-insert-logo/lib/plugin.js:
--------------------------------------------------------------------------------
1 | require(['gitbook', 'jQuery'], function (gitbook, $) {
2 | var url = ''
3 | var style = ''
4 | var insertLogo = function (url, style) {
5 | $('.book-summary').children().eq(0).before('
')
6 | }
7 | gitbook.events.bind('start', function (e, config) {
8 | url = config['insert-logo']['url']
9 | style = config['insert-logo']['style']
10 | })
11 |
12 | gitbook.events.bind("page.change", function() {
13 | insertLogo(url, style)
14 | })
15 | })
16 |
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-pageview-count/README.md:
--------------------------------------------------------------------------------
1 | # GitBook Page View Count
2 |
3 | [](https://travis-ci.org/todvora/gitbook-plugin-image-captions)
4 | [](https://david-dm.org/todvora/gitbook-plugin-image-captions/)
5 | [](https://david-dm.org/todvora/gitbook-plugin-image-captions/#info=devDependencies)
6 | [](https://badge.fury.io/js/gitbook-plugin-image-captions)
7 |
8 |
9 | 文档页面阅读数插件
10 |
11 |
12 | ## Installation
13 | In your book.json add the plugin:
14 | ```json
15 | {
16 | "plugins": [
17 | "pageview-count"
18 | ]
19 | }
20 | ```
21 |
22 | ### Changes
23 |
24 |
25 | #### 1.0.0
26 | - 初始化系统
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-pageview-count/assets/plugin.css:
--------------------------------------------------------------------------------
1 | .page-view-wrapper .btn{
2 | display: inline-block;
3 | }
4 | .page-view-counter{
5 | margin-left: -14px;
6 | font-size: 15px;
7 | display:inline-block;
8 | }
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-pageview-count/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | website: {
3 | assets: './assets',
4 | js: [
5 | 'plugin.js'
6 | ],
7 | css: [
8 | 'plugin.css'
9 | ]
10 | }
11 | };
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-popup/.npmignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | npm-debug.log
3 |
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-popup/README.md:
--------------------------------------------------------------------------------
1 | # Gitbook-plugin-popup
2 |
3 | 一个简单的 Gitbook 插件,在新窗口打开图片
4 |
5 |
6 | {
7 | "plugins": [
8 | "popup"
9 | ]
10 | }
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-popup/index.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = {
3 | hooks: {
4 | "page": function(page) {
5 | page.content = page.content + '\n';
6 | return page;
7 | }
8 | }
9 | };
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-search-pro/.npmignore:
--------------------------------------------------------------------------------
1 | .idea
2 | .history
3 | *.swp
4 | /examples
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-search-pro/_layouts/website/page.html:
--------------------------------------------------------------------------------
1 | {% extends template.self %}
2 |
3 | {% block search_input %}
4 |
5 |
6 |
7 | {% endblock %}
8 |
9 | {% block search_results %}
10 |
11 |
12 | {{ super() }}
13 |
14 |
15 |
16 | {% block search_has_results %}
17 |
{{ 'SEARCH_RESULTS_TITLE'|t|safe }}
18 |
19 | {% endblock %}
20 |
21 |
22 | {% block search_no_results %}
23 |
{{ 'SEARCH_NO_RESULTS_TITLE'|t|safe }}
24 | {% endblock %}
25 |
26 |
27 |
28 | {% endblock %}
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-search-pro/previews/search1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CPU-Code/notes/f6704eb142ac3a66888a49979a934b23961e152a/node_modules/gitbook-plugin-search-pro/previews/search1.gif
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-search-pro/previews/search2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CPU-Code/notes/f6704eb142ac3a66888a49979a934b23961e152a/node_modules/gitbook-plugin-search-pro/previews/search2.gif
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-search-pro/previews/search3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CPU-Code/notes/f6704eb142ac3a66888a49979a934b23961e152a/node_modules/gitbook-plugin-search-pro/previews/search3.gif
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-sharing-plus/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "indent": [ 2, 4 ],
4 | "quotes": [ 2, "single" ],
5 | "linebreak-style": [ 2, "unix" ],
6 | "semi": [ 2, "always" ],
7 | "no-unused-vars": [ 2, {
8 | "vars": "all",
9 | "args": "none"
10 | } ],
11 | "spaced-comment": [ 2, "always" ]
12 | },
13 | "env": {
14 | "node": true,
15 | "mocha": true,
16 | "browser": true
17 | },
18 | "extends": "eslint:recommended"
19 | }
20 |
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-sharing-plus/.npmignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 |
5 | # Runtime data
6 | pids
7 | *.pid
8 | *.seed
9 |
10 | # Directory for instrumented libs generated by jscoverage/JSCover
11 | lib-cov
12 |
13 | # Coverage directory used by tools like istanbul
14 | coverage
15 |
16 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
17 | .grunt
18 |
19 | # node-waf configuration
20 | .lock-wscript
21 |
22 | # Compiled binary addons (http://nodejs.org/api/addons.html)
23 | build/Release
24 |
25 | # Dependency directory
26 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
27 | node_modules
28 | .idea
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-sharing-plus/index.js:
--------------------------------------------------------------------------------
1 | var _ = require('lodash');
2 |
3 | module.exports = {
4 | book: {
5 | assets: './assets',
6 | js: [
7 | 'buttons.js'
8 | ]
9 | },
10 | hooks: {
11 | // Compatibility layer for gitbook < 2.5.0
12 | config: function(cfg) {
13 | var sharingLink = _.get(cfg, 'links.sharing', {});
14 | cfg.pluginsConfig.sharing = _.defaults(cfg.pluginsConfig.sharing || {}, {});
15 |
16 | _.each(sharingLink, function(enabled, type) {
17 | if (enabled != false) return;
18 |
19 | if (type == 'all') cfg.pluginsConfig.sharing[type] = [];
20 | else cfg.pluginsConfig.sharing[type] = false;
21 | });
22 |
23 | return cfg;
24 | }
25 | }
26 | };
27 |
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-splitter/book/splitter.css:
--------------------------------------------------------------------------------
1 | .divider-content-summary {
2 | position: absolute;
3 | top: 0;
4 | right: 0;
5 | height: 100%;
6 | width: 5px;
7 | display: table;
8 | cursor: col-resize;
9 | color: #ccc;
10 | -webkit-transition: color 350ms ease;
11 | -moz-transition: color 350ms ease;
12 | -o-transition: color 350ms ease;
13 | transition: color 350ms ease
14 | }
15 | .divider-content-summary:hover {
16 | color: #444;
17 | }
18 | .divider-content-summary__icon {
19 | display: table-cell;
20 | vertical-align: middle;
21 | text-align: center;
22 | }
23 |
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-splitter/gitbook-splitter-demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CPU-Code/notes/f6704eb142ac3a66888a49979a934b23961e152a/node_modules/gitbook-plugin-splitter/gitbook-splitter-demo.gif
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-splitter/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | website: {
3 | assets: './book',
4 | js: [
5 | 'splitter.js'
6 | ],
7 | css: [
8 | 'splitter.css'
9 | ]
10 | }
11 | };
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-tbfed-pagefooter/README.md:
--------------------------------------------------------------------------------
1 | # gitbook-plugin-tbfed-pagefooter
2 |
3 | * 插件配置
4 |
5 | ```javascript
6 | "tbfed-pagefooter": {
7 | "copyright":"© Taobao FED Team",
8 | "modify_label": "该文件修订时间:",
9 | "modify_format": "YYYY-MM-DD HH:mm:ss"
10 | }
11 | ```
12 |
13 | > copyright 和 modify_label 支持 html 代码
14 |
--------------------------------------------------------------------------------
/node_modules/gitbook-plugin-tbfed-pagefooter/assets/footer.css:
--------------------------------------------------------------------------------
1 | .page-footer {
2 | margin-top: 50px;
3 | border-top: 1px solid #ccc;
4 | overflow: hidden;
5 | padding: 10px 0;
6 | font-size: 12px;
7 | color: #808080;
8 | }
9 | .page-footer a {
10 | color: #808080!important;
11 | text-decoration: underline!important;
12 | }
13 | .footer-modification {
14 | float: right;
15 | }
16 |
--------------------------------------------------------------------------------
/node_modules/html-entities/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | XmlEntities: require('./lib/xml-entities.js'),
3 | Html4Entities: require('./lib/html4-entities.js'),
4 | Html5Entities: require('./lib/html5-entities.js'),
5 | AllHtmlEntities: require('./lib/html5-entities.js')
6 | };
7 |
--------------------------------------------------------------------------------
/node_modules/lodash/array/compact.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Creates an array with all falsey values removed. The values `false`, `null`,
3 | * `0`, `""`, `undefined`, and `NaN` are falsey.
4 | *
5 | * @static
6 | * @memberOf _
7 | * @category Array
8 | * @param {Array} array The array to compact.
9 | * @returns {Array} Returns the new array of filtered values.
10 | * @example
11 | *
12 | * _.compact([0, 1, false, 2, '', 3]);
13 | * // => [1, 2, 3]
14 | */
15 | function compact(array) {
16 | var index = -1,
17 | length = array ? array.length : 0,
18 | resIndex = -1,
19 | result = [];
20 |
21 | while (++index < length) {
22 | var value = array[index];
23 | if (value) {
24 | result[++resIndex] = value;
25 | }
26 | }
27 | return result;
28 | }
29 |
30 | module.exports = compact;
31 |
--------------------------------------------------------------------------------
/node_modules/lodash/array/first.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Gets the first element of `array`.
3 | *
4 | * @static
5 | * @memberOf _
6 | * @alias head
7 | * @category Array
8 | * @param {Array} array The array to query.
9 | * @returns {*} Returns the first element of `array`.
10 | * @example
11 | *
12 | * _.first([1, 2, 3]);
13 | * // => 1
14 | *
15 | * _.first([]);
16 | * // => undefined
17 | */
18 | function first(array) {
19 | return array ? array[0] : undefined;
20 | }
21 |
22 | module.exports = first;
23 |
--------------------------------------------------------------------------------
/node_modules/lodash/array/flattenDeep.js:
--------------------------------------------------------------------------------
1 | var baseFlatten = require('../internal/baseFlatten');
2 |
3 | /**
4 | * Recursively flattens a nested array.
5 | *
6 | * @static
7 | * @memberOf _
8 | * @category Array
9 | * @param {Array} array The array to recursively flatten.
10 | * @returns {Array} Returns the new flattened array.
11 | * @example
12 | *
13 | * _.flattenDeep([1, [2, 3, [4]]]);
14 | * // => [1, 2, 3, 4]
15 | */
16 | function flattenDeep(array) {
17 | var length = array ? array.length : 0;
18 | return length ? baseFlatten(array, true) : [];
19 | }
20 |
21 | module.exports = flattenDeep;
22 |
--------------------------------------------------------------------------------
/node_modules/lodash/array/head.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./first');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/array/initial.js:
--------------------------------------------------------------------------------
1 | var dropRight = require('./dropRight');
2 |
3 | /**
4 | * Gets all but the last element of `array`.
5 | *
6 | * @static
7 | * @memberOf _
8 | * @category Array
9 | * @param {Array} array The array to query.
10 | * @returns {Array} Returns the slice of `array`.
11 | * @example
12 | *
13 | * _.initial([1, 2, 3]);
14 | * // => [1, 2]
15 | */
16 | function initial(array) {
17 | return dropRight(array, 1);
18 | }
19 |
20 | module.exports = initial;
21 |
--------------------------------------------------------------------------------
/node_modules/lodash/array/last.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Gets the last element of `array`.
3 | *
4 | * @static
5 | * @memberOf _
6 | * @category Array
7 | * @param {Array} array The array to query.
8 | * @returns {*} Returns the last element of `array`.
9 | * @example
10 | *
11 | * _.last([1, 2, 3]);
12 | * // => 3
13 | */
14 | function last(array) {
15 | var length = array ? array.length : 0;
16 | return length ? array[length - 1] : undefined;
17 | }
18 |
19 | module.exports = last;
20 |
--------------------------------------------------------------------------------
/node_modules/lodash/array/object.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./zipObject');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/array/rest.js:
--------------------------------------------------------------------------------
1 | var drop = require('./drop');
2 |
3 | /**
4 | * Gets all but the first element of `array`.
5 | *
6 | * @static
7 | * @memberOf _
8 | * @alias tail
9 | * @category Array
10 | * @param {Array} array The array to query.
11 | * @returns {Array} Returns the slice of `array`.
12 | * @example
13 | *
14 | * _.rest([1, 2, 3]);
15 | * // => [2, 3]
16 | */
17 | function rest(array) {
18 | return drop(array, 1);
19 | }
20 |
21 | module.exports = rest;
22 |
--------------------------------------------------------------------------------
/node_modules/lodash/array/sortedLastIndex.js:
--------------------------------------------------------------------------------
1 | var createSortedIndex = require('../internal/createSortedIndex');
2 |
3 | /**
4 | * This method is like `_.sortedIndex` except that it returns the highest
5 | * index at which `value` should be inserted into `array` in order to
6 | * maintain its sort order.
7 | *
8 | * @static
9 | * @memberOf _
10 | * @category Array
11 | * @param {Array} array The sorted array to inspect.
12 | * @param {*} value The value to evaluate.
13 | * @param {Function|Object|string} [iteratee=_.identity] The function invoked
14 | * per iteration.
15 | * @param {*} [thisArg] The `this` binding of `iteratee`.
16 | * @returns {number} Returns the index at which `value` should be inserted
17 | * into `array`.
18 | * @example
19 | *
20 | * _.sortedLastIndex([4, 4, 5, 5], 5);
21 | * // => 4
22 | */
23 | var sortedLastIndex = createSortedIndex(true);
24 |
25 | module.exports = sortedLastIndex;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/array/tail.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./rest');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/array/union.js:
--------------------------------------------------------------------------------
1 | var baseFlatten = require('../internal/baseFlatten'),
2 | baseUniq = require('../internal/baseUniq'),
3 | restParam = require('../function/restParam');
4 |
5 | /**
6 | * Creates an array of unique values, in order, from all of the provided arrays
7 | * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
8 | * for equality comparisons.
9 | *
10 | * @static
11 | * @memberOf _
12 | * @category Array
13 | * @param {...Array} [arrays] The arrays to inspect.
14 | * @returns {Array} Returns the new array of combined values.
15 | * @example
16 | *
17 | * _.union([1, 2], [4, 2], [2, 1]);
18 | * // => [1, 2, 4]
19 | */
20 | var union = restParam(function(arrays) {
21 | return baseUniq(baseFlatten(arrays, false, true));
22 | });
23 |
24 | module.exports = union;
25 |
--------------------------------------------------------------------------------
/node_modules/lodash/array/unique.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./uniq');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/array/without.js:
--------------------------------------------------------------------------------
1 | var baseDifference = require('../internal/baseDifference'),
2 | isArrayLike = require('../internal/isArrayLike'),
3 | restParam = require('../function/restParam');
4 |
5 | /**
6 | * Creates an array excluding all provided values using
7 | * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
8 | * for equality comparisons.
9 | *
10 | * @static
11 | * @memberOf _
12 | * @category Array
13 | * @param {Array} array The array to filter.
14 | * @param {...*} [values] The values to exclude.
15 | * @returns {Array} Returns the new array of filtered values.
16 | * @example
17 | *
18 | * _.without([1, 2, 1, 3], 1, 2);
19 | * // => [3]
20 | */
21 | var without = restParam(function(array, values) {
22 | return isArrayLike(array)
23 | ? baseDifference(array, values)
24 | : [];
25 | });
26 |
27 | module.exports = without;
28 |
--------------------------------------------------------------------------------
/node_modules/lodash/array/zip.js:
--------------------------------------------------------------------------------
1 | var restParam = require('../function/restParam'),
2 | unzip = require('./unzip');
3 |
4 | /**
5 | * Creates an array of grouped elements, the first of which contains the first
6 | * elements of the given arrays, the second of which contains the second elements
7 | * of the given arrays, and so on.
8 | *
9 | * @static
10 | * @memberOf _
11 | * @category Array
12 | * @param {...Array} [arrays] The arrays to process.
13 | * @returns {Array} Returns the new array of grouped elements.
14 | * @example
15 | *
16 | * _.zip(['fred', 'barney'], [30, 40], [true, false]);
17 | * // => [['fred', 30, true], ['barney', 40, false]]
18 | */
19 | var zip = restParam(unzip);
20 |
21 | module.exports = zip;
22 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | 'chain': require('./chain/chain'),
3 | 'commit': require('./chain/commit'),
4 | 'concat': require('./chain/concat'),
5 | 'lodash': require('./chain/lodash'),
6 | 'plant': require('./chain/plant'),
7 | 'reverse': require('./chain/reverse'),
8 | 'run': require('./chain/run'),
9 | 'tap': require('./chain/tap'),
10 | 'thru': require('./chain/thru'),
11 | 'toJSON': require('./chain/toJSON'),
12 | 'toString': require('./chain/toString'),
13 | 'value': require('./chain/value'),
14 | 'valueOf': require('./chain/valueOf'),
15 | 'wrapperChain': require('./chain/wrapperChain')
16 | };
17 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/chain.js:
--------------------------------------------------------------------------------
1 | var lodash = require('./lodash');
2 |
3 | /**
4 | * Creates a `lodash` object that wraps `value` with explicit method
5 | * chaining enabled.
6 | *
7 | * @static
8 | * @memberOf _
9 | * @category Chain
10 | * @param {*} value The value to wrap.
11 | * @returns {Object} Returns the new `lodash` wrapper instance.
12 | * @example
13 | *
14 | * var users = [
15 | * { 'user': 'barney', 'age': 36 },
16 | * { 'user': 'fred', 'age': 40 },
17 | * { 'user': 'pebbles', 'age': 1 }
18 | * ];
19 | *
20 | * var youngest = _.chain(users)
21 | * .sortBy('age')
22 | * .map(function(chr) {
23 | * return chr.user + ' is ' + chr.age;
24 | * })
25 | * .first()
26 | * .value();
27 | * // => 'pebbles is 1'
28 | */
29 | function chain(value) {
30 | var result = lodash(value);
31 | result.__chain__ = true;
32 | return result;
33 | }
34 |
35 | module.exports = chain;
36 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/commit.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./wrapperCommit');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/concat.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./wrapperConcat');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/plant.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./wrapperPlant');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/reverse.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./wrapperReverse');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/run.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./wrapperValue');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/tap.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This method invokes `interceptor` and returns `value`. The interceptor is
3 | * bound to `thisArg` and invoked with one argument; (value). The purpose of
4 | * this method is to "tap into" a method chain in order to perform operations
5 | * on intermediate results within the chain.
6 | *
7 | * @static
8 | * @memberOf _
9 | * @category Chain
10 | * @param {*} value The value to provide to `interceptor`.
11 | * @param {Function} interceptor The function to invoke.
12 | * @param {*} [thisArg] The `this` binding of `interceptor`.
13 | * @returns {*} Returns `value`.
14 | * @example
15 | *
16 | * _([1, 2, 3])
17 | * .tap(function(array) {
18 | * array.pop();
19 | * })
20 | * .reverse()
21 | * .value();
22 | * // => [2, 1]
23 | */
24 | function tap(value, interceptor, thisArg) {
25 | interceptor.call(thisArg, value);
26 | return value;
27 | }
28 |
29 | module.exports = tap;
30 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/thru.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This method is like `_.tap` except that it returns the result of `interceptor`.
3 | *
4 | * @static
5 | * @memberOf _
6 | * @category Chain
7 | * @param {*} value The value to provide to `interceptor`.
8 | * @param {Function} interceptor The function to invoke.
9 | * @param {*} [thisArg] The `this` binding of `interceptor`.
10 | * @returns {*} Returns the result of `interceptor`.
11 | * @example
12 | *
13 | * _(' abc ')
14 | * .chain()
15 | * .trim()
16 | * .thru(function(value) {
17 | * return [value];
18 | * })
19 | * .value();
20 | * // => ['abc']
21 | */
22 | function thru(value, interceptor, thisArg) {
23 | return interceptor.call(thisArg, value);
24 | }
25 |
26 | module.exports = thru;
27 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/toJSON.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./wrapperValue');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/toString.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./wrapperToString');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/value.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./wrapperValue');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/valueOf.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./wrapperValue');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/wrapperChain.js:
--------------------------------------------------------------------------------
1 | var chain = require('./chain');
2 |
3 | /**
4 | * Enables explicit method chaining on the wrapper object.
5 | *
6 | * @name chain
7 | * @memberOf _
8 | * @category Chain
9 | * @returns {Object} Returns the new `lodash` wrapper instance.
10 | * @example
11 | *
12 | * var users = [
13 | * { 'user': 'barney', 'age': 36 },
14 | * { 'user': 'fred', 'age': 40 }
15 | * ];
16 | *
17 | * // without explicit chaining
18 | * _(users).first();
19 | * // => { 'user': 'barney', 'age': 36 }
20 | *
21 | * // with explicit chaining
22 | * _(users).chain()
23 | * .first()
24 | * .pick('user')
25 | * .value();
26 | * // => { 'user': 'barney' }
27 | */
28 | function wrapperChain() {
29 | return chain(this);
30 | }
31 |
32 | module.exports = wrapperChain;
33 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/wrapperCommit.js:
--------------------------------------------------------------------------------
1 | var LodashWrapper = require('../internal/LodashWrapper');
2 |
3 | /**
4 | * Executes the chained sequence and returns the wrapped result.
5 | *
6 | * @name commit
7 | * @memberOf _
8 | * @category Chain
9 | * @returns {Object} Returns the new `lodash` wrapper instance.
10 | * @example
11 | *
12 | * var array = [1, 2];
13 | * var wrapped = _(array).push(3);
14 | *
15 | * console.log(array);
16 | * // => [1, 2]
17 | *
18 | * wrapped = wrapped.commit();
19 | * console.log(array);
20 | * // => [1, 2, 3]
21 | *
22 | * wrapped.last();
23 | * // => 3
24 | *
25 | * console.log(array);
26 | * // => [1, 2, 3]
27 | */
28 | function wrapperCommit() {
29 | return new LodashWrapper(this.value(), this.__chain__);
30 | }
31 |
32 | module.exports = wrapperCommit;
33 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/wrapperToString.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Produces the result of coercing the unwrapped value to a string.
3 | *
4 | * @name toString
5 | * @memberOf _
6 | * @category Chain
7 | * @returns {string} Returns the coerced string value.
8 | * @example
9 | *
10 | * _([1, 2, 3]).toString();
11 | * // => '1,2,3'
12 | */
13 | function wrapperToString() {
14 | return (this.value() + '');
15 | }
16 |
17 | module.exports = wrapperToString;
18 |
--------------------------------------------------------------------------------
/node_modules/lodash/chain/wrapperValue.js:
--------------------------------------------------------------------------------
1 | var baseWrapperValue = require('../internal/baseWrapperValue');
2 |
3 | /**
4 | * Executes the chained sequence to extract the unwrapped value.
5 | *
6 | * @name value
7 | * @memberOf _
8 | * @alias run, toJSON, valueOf
9 | * @category Chain
10 | * @returns {*} Returns the resolved unwrapped value.
11 | * @example
12 | *
13 | * _([1, 2, 3]).value();
14 | * // => [1, 2, 3]
15 | */
16 | function wrapperValue() {
17 | return baseWrapperValue(this.__wrapped__, this.__actions__);
18 | }
19 |
20 | module.exports = wrapperValue;
21 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/all.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./every');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/any.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./some');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/collect.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./map');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/contains.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./includes');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/detect.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./find');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/each.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./forEach');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/eachRight.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./forEachRight');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/findLast.js:
--------------------------------------------------------------------------------
1 | var baseEachRight = require('../internal/baseEachRight'),
2 | createFind = require('../internal/createFind');
3 |
4 | /**
5 | * This method is like `_.find` except that it iterates over elements of
6 | * `collection` from right to left.
7 | *
8 | * @static
9 | * @memberOf _
10 | * @category Collection
11 | * @param {Array|Object|string} collection The collection to search.
12 | * @param {Function|Object|string} [predicate=_.identity] The function invoked
13 | * per iteration.
14 | * @param {*} [thisArg] The `this` binding of `predicate`.
15 | * @returns {*} Returns the matched element, else `undefined`.
16 | * @example
17 | *
18 | * _.findLast([1, 2, 3, 4], function(n) {
19 | * return n % 2 == 1;
20 | * });
21 | * // => 3
22 | */
23 | var findLast = createFind(baseEachRight, true);
24 |
25 | module.exports = findLast;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/foldl.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./reduce');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/foldr.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./reduceRight');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/include.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./includes');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/inject.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./reduce');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/max.js:
--------------------------------------------------------------------------------
1 | module.exports = require('../math/max');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/min.js:
--------------------------------------------------------------------------------
1 | module.exports = require('../math/min');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/pluck.js:
--------------------------------------------------------------------------------
1 | var map = require('./map'),
2 | property = require('../utility/property');
3 |
4 | /**
5 | * Gets the property value of `path` from all elements in `collection`.
6 | *
7 | * @static
8 | * @memberOf _
9 | * @category Collection
10 | * @param {Array|Object|string} collection The collection to iterate over.
11 | * @param {Array|string} path The path of the property to pluck.
12 | * @returns {Array} Returns the property values.
13 | * @example
14 | *
15 | * var users = [
16 | * { 'user': 'barney', 'age': 36 },
17 | * { 'user': 'fred', 'age': 40 }
18 | * ];
19 | *
20 | * _.pluck(users, 'user');
21 | * // => ['barney', 'fred']
22 | *
23 | * var userIndex = _.indexBy(users, 'user');
24 | * _.pluck(userIndex, 'age');
25 | * // => [36, 40] (iteration order is not guaranteed)
26 | */
27 | function pluck(collection, path) {
28 | return map(collection, property(path));
29 | }
30 |
31 | module.exports = pluck;
32 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/select.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./filter');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/shuffle.js:
--------------------------------------------------------------------------------
1 | var sample = require('./sample');
2 |
3 | /** Used as references for `-Infinity` and `Infinity`. */
4 | var POSITIVE_INFINITY = Number.POSITIVE_INFINITY;
5 |
6 | /**
7 | * Creates an array of shuffled values, using a version of the
8 | * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).
9 | *
10 | * @static
11 | * @memberOf _
12 | * @category Collection
13 | * @param {Array|Object|string} collection The collection to shuffle.
14 | * @returns {Array} Returns the new shuffled array.
15 | * @example
16 | *
17 | * _.shuffle([1, 2, 3, 4]);
18 | * // => [4, 1, 3, 2]
19 | */
20 | function shuffle(collection) {
21 | return sample(collection, POSITIVE_INFINITY);
22 | }
23 |
24 | module.exports = shuffle;
25 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/size.js:
--------------------------------------------------------------------------------
1 | var getLength = require('../internal/getLength'),
2 | isLength = require('../internal/isLength'),
3 | keys = require('../object/keys');
4 |
5 | /**
6 | * Gets the size of `collection` by returning its length for array-like
7 | * values or the number of own enumerable properties for objects.
8 | *
9 | * @static
10 | * @memberOf _
11 | * @category Collection
12 | * @param {Array|Object|string} collection The collection to inspect.
13 | * @returns {number} Returns the size of `collection`.
14 | * @example
15 | *
16 | * _.size([1, 2, 3]);
17 | * // => 3
18 | *
19 | * _.size({ 'a': 1, 'b': 2 });
20 | * // => 2
21 | *
22 | * _.size('pebbles');
23 | * // => 7
24 | */
25 | function size(collection) {
26 | var length = collection ? getLength(collection) : 0;
27 | return isLength(length) ? length : keys(collection).length;
28 | }
29 |
30 | module.exports = size;
31 |
--------------------------------------------------------------------------------
/node_modules/lodash/collection/sum.js:
--------------------------------------------------------------------------------
1 | module.exports = require('../math/sum');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/date.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | 'now': require('./date/now')
3 | };
4 |
--------------------------------------------------------------------------------
/node_modules/lodash/date/now.js:
--------------------------------------------------------------------------------
1 | var getNative = require('../internal/getNative');
2 |
3 | /* Native method references for those with the same name as other `lodash` methods. */
4 | var nativeNow = getNative(Date, 'now');
5 |
6 | /**
7 | * Gets the number of milliseconds that have elapsed since the Unix epoch
8 | * (1 January 1970 00:00:00 UTC).
9 | *
10 | * @static
11 | * @memberOf _
12 | * @category Date
13 | * @example
14 | *
15 | * _.defer(function(stamp) {
16 | * console.log(_.now() - stamp);
17 | * }, _.now());
18 | * // => logs the number of milliseconds it took for the deferred function to be invoked
19 | */
20 | var now = nativeNow || function() {
21 | return new Date().getTime();
22 | };
23 |
24 | module.exports = now;
25 |
--------------------------------------------------------------------------------
/node_modules/lodash/function/backflow.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./flowRight');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/function/compose.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./flowRight');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/function/defer.js:
--------------------------------------------------------------------------------
1 | var baseDelay = require('../internal/baseDelay'),
2 | restParam = require('./restParam');
3 |
4 | /**
5 | * Defers invoking the `func` until the current call stack has cleared. Any
6 | * additional arguments are provided to `func` when it's invoked.
7 | *
8 | * @static
9 | * @memberOf _
10 | * @category Function
11 | * @param {Function} func The function to defer.
12 | * @param {...*} [args] The arguments to invoke the function with.
13 | * @returns {number} Returns the timer id.
14 | * @example
15 | *
16 | * _.defer(function(text) {
17 | * console.log(text);
18 | * }, 'deferred');
19 | * // logs 'deferred' after one or more milliseconds
20 | */
21 | var defer = restParam(function(func, args) {
22 | return baseDelay(func, 1, args);
23 | });
24 |
25 | module.exports = defer;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/function/delay.js:
--------------------------------------------------------------------------------
1 | var baseDelay = require('../internal/baseDelay'),
2 | restParam = require('./restParam');
3 |
4 | /**
5 | * Invokes `func` after `wait` milliseconds. Any additional arguments are
6 | * provided to `func` when it's invoked.
7 | *
8 | * @static
9 | * @memberOf _
10 | * @category Function
11 | * @param {Function} func The function to delay.
12 | * @param {number} wait The number of milliseconds to delay invocation.
13 | * @param {...*} [args] The arguments to invoke the function with.
14 | * @returns {number} Returns the timer id.
15 | * @example
16 | *
17 | * _.delay(function(text) {
18 | * console.log(text);
19 | * }, 1000, 'later');
20 | * // => logs 'later' after one second
21 | */
22 | var delay = restParam(function(func, wait, args) {
23 | return baseDelay(func, wait, args);
24 | });
25 |
26 | module.exports = delay;
27 |
--------------------------------------------------------------------------------
/node_modules/lodash/function/flow.js:
--------------------------------------------------------------------------------
1 | var createFlow = require('../internal/createFlow');
2 |
3 | /**
4 | * Creates a function that returns the result of invoking the provided
5 | * functions with the `this` binding of the created function, where each
6 | * successive invocation is supplied the return value of the previous.
7 | *
8 | * @static
9 | * @memberOf _
10 | * @category Function
11 | * @param {...Function} [funcs] Functions to invoke.
12 | * @returns {Function} Returns the new function.
13 | * @example
14 | *
15 | * function square(n) {
16 | * return n * n;
17 | * }
18 | *
19 | * var addSquare = _.flow(_.add, square);
20 | * addSquare(1, 2);
21 | * // => 9
22 | */
23 | var flow = createFlow();
24 |
25 | module.exports = flow;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/function/flowRight.js:
--------------------------------------------------------------------------------
1 | var createFlow = require('../internal/createFlow');
2 |
3 | /**
4 | * This method is like `_.flow` except that it creates a function that
5 | * invokes the provided functions from right to left.
6 | *
7 | * @static
8 | * @memberOf _
9 | * @alias backflow, compose
10 | * @category Function
11 | * @param {...Function} [funcs] Functions to invoke.
12 | * @returns {Function} Returns the new function.
13 | * @example
14 | *
15 | * function square(n) {
16 | * return n * n;
17 | * }
18 | *
19 | * var addSquare = _.flowRight(square, _.add);
20 | * addSquare(1, 2);
21 | * // => 9
22 | */
23 | var flowRight = createFlow(true);
24 |
25 | module.exports = flowRight;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/function/negate.js:
--------------------------------------------------------------------------------
1 | /** Used as the `TypeError` message for "Functions" methods. */
2 | var FUNC_ERROR_TEXT = 'Expected a function';
3 |
4 | /**
5 | * Creates a function that negates the result of the predicate `func`. The
6 | * `func` predicate is invoked with the `this` binding and arguments of the
7 | * created function.
8 | *
9 | * @static
10 | * @memberOf _
11 | * @category Function
12 | * @param {Function} predicate The predicate to negate.
13 | * @returns {Function} Returns the new function.
14 | * @example
15 | *
16 | * function isEven(n) {
17 | * return n % 2 == 0;
18 | * }
19 | *
20 | * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));
21 | * // => [1, 3, 5]
22 | */
23 | function negate(predicate) {
24 | if (typeof predicate != 'function') {
25 | throw new TypeError(FUNC_ERROR_TEXT);
26 | }
27 | return function() {
28 | return !predicate.apply(this, arguments);
29 | };
30 | }
31 |
32 | module.exports = negate;
33 |
--------------------------------------------------------------------------------
/node_modules/lodash/function/once.js:
--------------------------------------------------------------------------------
1 | var before = require('./before');
2 |
3 | /**
4 | * Creates a function that is restricted to invoking `func` once. Repeat calls
5 | * to the function return the value of the first call. The `func` is invoked
6 | * with the `this` binding and arguments of the created function.
7 | *
8 | * @static
9 | * @memberOf _
10 | * @category Function
11 | * @param {Function} func The function to restrict.
12 | * @returns {Function} Returns the new restricted function.
13 | * @example
14 | *
15 | * var initialize = _.once(createApplication);
16 | * initialize();
17 | * initialize();
18 | * // `initialize` invokes `createApplication` once
19 | */
20 | function once(func) {
21 | return before(2, func);
22 | }
23 |
24 | module.exports = once;
25 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/LazyWrapper.js:
--------------------------------------------------------------------------------
1 | var baseCreate = require('./baseCreate'),
2 | baseLodash = require('./baseLodash');
3 |
4 | /** Used as references for `-Infinity` and `Infinity`. */
5 | var POSITIVE_INFINITY = Number.POSITIVE_INFINITY;
6 |
7 | /**
8 | * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.
9 | *
10 | * @private
11 | * @param {*} value The value to wrap.
12 | */
13 | function LazyWrapper(value) {
14 | this.__wrapped__ = value;
15 | this.__actions__ = [];
16 | this.__dir__ = 1;
17 | this.__filtered__ = false;
18 | this.__iteratees__ = [];
19 | this.__takeCount__ = POSITIVE_INFINITY;
20 | this.__views__ = [];
21 | }
22 |
23 | LazyWrapper.prototype = baseCreate(baseLodash.prototype);
24 | LazyWrapper.prototype.constructor = LazyWrapper;
25 |
26 | module.exports = LazyWrapper;
27 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/LodashWrapper.js:
--------------------------------------------------------------------------------
1 | var baseCreate = require('./baseCreate'),
2 | baseLodash = require('./baseLodash');
3 |
4 | /**
5 | * The base constructor for creating `lodash` wrapper objects.
6 | *
7 | * @private
8 | * @param {*} value The value to wrap.
9 | * @param {boolean} [chainAll] Enable chaining for all wrapper methods.
10 | * @param {Array} [actions=[]] Actions to peform to resolve the unwrapped value.
11 | */
12 | function LodashWrapper(value, chainAll, actions) {
13 | this.__wrapped__ = value;
14 | this.__actions__ = actions || [];
15 | this.__chain__ = !!chainAll;
16 | }
17 |
18 | LodashWrapper.prototype = baseCreate(baseLodash.prototype);
19 | LodashWrapper.prototype.constructor = LodashWrapper;
20 |
21 | module.exports = LodashWrapper;
22 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/MapCache.js:
--------------------------------------------------------------------------------
1 | var mapDelete = require('./mapDelete'),
2 | mapGet = require('./mapGet'),
3 | mapHas = require('./mapHas'),
4 | mapSet = require('./mapSet');
5 |
6 | /**
7 | * Creates a cache object to store key/value pairs.
8 | *
9 | * @private
10 | * @static
11 | * @name Cache
12 | * @memberOf _.memoize
13 | */
14 | function MapCache() {
15 | this.__data__ = {};
16 | }
17 |
18 | // Add functions to the `Map` cache.
19 | MapCache.prototype['delete'] = mapDelete;
20 | MapCache.prototype.get = mapGet;
21 | MapCache.prototype.has = mapHas;
22 | MapCache.prototype.set = mapSet;
23 |
24 | module.exports = MapCache;
25 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/SetCache.js:
--------------------------------------------------------------------------------
1 | var cachePush = require('./cachePush'),
2 | getNative = require('./getNative');
3 |
4 | /** Native method references. */
5 | var Set = getNative(global, 'Set');
6 |
7 | /* Native method references for those with the same name as other `lodash` methods. */
8 | var nativeCreate = getNative(Object, 'create');
9 |
10 | /**
11 | *
12 | * Creates a cache object to store unique values.
13 | *
14 | * @private
15 | * @param {Array} [values] The values to cache.
16 | */
17 | function SetCache(values) {
18 | var length = values ? values.length : 0;
19 |
20 | this.data = { 'hash': nativeCreate(null), 'set': new Set };
21 | while (length--) {
22 | this.push(values[length]);
23 | }
24 | }
25 |
26 | // Add functions to the `Set` cache.
27 | SetCache.prototype.push = cachePush;
28 |
29 | module.exports = SetCache;
30 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/arrayConcat.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Creates a new array joining `array` with `other`.
3 | *
4 | * @private
5 | * @param {Array} array The array to join.
6 | * @param {Array} other The other array to join.
7 | * @returns {Array} Returns the new concatenated array.
8 | */
9 | function arrayConcat(array, other) {
10 | var index = -1,
11 | length = array.length,
12 | othIndex = -1,
13 | othLength = other.length,
14 | result = Array(length + othLength);
15 |
16 | while (++index < length) {
17 | result[index] = array[index];
18 | }
19 | while (++othIndex < othLength) {
20 | result[index++] = other[othIndex];
21 | }
22 | return result;
23 | }
24 |
25 | module.exports = arrayConcat;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/arrayCopy.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copies the values of `source` to `array`.
3 | *
4 | * @private
5 | * @param {Array} source The array to copy values from.
6 | * @param {Array} [array=[]] The array to copy values to.
7 | * @returns {Array} Returns `array`.
8 | */
9 | function arrayCopy(source, array) {
10 | var index = -1,
11 | length = source.length;
12 |
13 | array || (array = Array(length));
14 | while (++index < length) {
15 | array[index] = source[index];
16 | }
17 | return array;
18 | }
19 |
20 | module.exports = arrayCopy;
21 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/arrayEach.js:
--------------------------------------------------------------------------------
1 | /**
2 | * A specialized version of `_.forEach` for arrays without support for callback
3 | * shorthands and `this` binding.
4 | *
5 | * @private
6 | * @param {Array} array The array to iterate over.
7 | * @param {Function} iteratee The function invoked per iteration.
8 | * @returns {Array} Returns `array`.
9 | */
10 | function arrayEach(array, iteratee) {
11 | var index = -1,
12 | length = array.length;
13 |
14 | while (++index < length) {
15 | if (iteratee(array[index], index, array) === false) {
16 | break;
17 | }
18 | }
19 | return array;
20 | }
21 |
22 | module.exports = arrayEach;
23 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/arrayEachRight.js:
--------------------------------------------------------------------------------
1 | /**
2 | * A specialized version of `_.forEachRight` for arrays without support for
3 | * callback shorthands and `this` binding.
4 | *
5 | * @private
6 | * @param {Array} array The array to iterate over.
7 | * @param {Function} iteratee The function invoked per iteration.
8 | * @returns {Array} Returns `array`.
9 | */
10 | function arrayEachRight(array, iteratee) {
11 | var length = array.length;
12 |
13 | while (length--) {
14 | if (iteratee(array[length], length, array) === false) {
15 | break;
16 | }
17 | }
18 | return array;
19 | }
20 |
21 | module.exports = arrayEachRight;
22 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/arrayEvery.js:
--------------------------------------------------------------------------------
1 | /**
2 | * A specialized version of `_.every` for arrays without support for callback
3 | * shorthands and `this` binding.
4 | *
5 | * @private
6 | * @param {Array} array The array to iterate over.
7 | * @param {Function} predicate The function invoked per iteration.
8 | * @returns {boolean} Returns `true` if all elements pass the predicate check,
9 | * else `false`.
10 | */
11 | function arrayEvery(array, predicate) {
12 | var index = -1,
13 | length = array.length;
14 |
15 | while (++index < length) {
16 | if (!predicate(array[index], index, array)) {
17 | return false;
18 | }
19 | }
20 | return true;
21 | }
22 |
23 | module.exports = arrayEvery;
24 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/arrayExtremum.js:
--------------------------------------------------------------------------------
1 | /**
2 | * A specialized version of `baseExtremum` for arrays which invokes `iteratee`
3 | * with one argument: (value).
4 | *
5 | * @private
6 | * @param {Array} array The array to iterate over.
7 | * @param {Function} iteratee The function invoked per iteration.
8 | * @param {Function} comparator The function used to compare values.
9 | * @param {*} exValue The initial extremum value.
10 | * @returns {*} Returns the extremum value.
11 | */
12 | function arrayExtremum(array, iteratee, comparator, exValue) {
13 | var index = -1,
14 | length = array.length,
15 | computed = exValue,
16 | result = computed;
17 |
18 | while (++index < length) {
19 | var value = array[index],
20 | current = +iteratee(value);
21 |
22 | if (comparator(current, computed)) {
23 | computed = current;
24 | result = value;
25 | }
26 | }
27 | return result;
28 | }
29 |
30 | module.exports = arrayExtremum;
31 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/arrayFilter.js:
--------------------------------------------------------------------------------
1 | /**
2 | * A specialized version of `_.filter` for arrays without support for callback
3 | * shorthands and `this` binding.
4 | *
5 | * @private
6 | * @param {Array} array The array to iterate over.
7 | * @param {Function} predicate The function invoked per iteration.
8 | * @returns {Array} Returns the new filtered array.
9 | */
10 | function arrayFilter(array, predicate) {
11 | var index = -1,
12 | length = array.length,
13 | resIndex = -1,
14 | result = [];
15 |
16 | while (++index < length) {
17 | var value = array[index];
18 | if (predicate(value, index, array)) {
19 | result[++resIndex] = value;
20 | }
21 | }
22 | return result;
23 | }
24 |
25 | module.exports = arrayFilter;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/arrayMap.js:
--------------------------------------------------------------------------------
1 | /**
2 | * A specialized version of `_.map` for arrays without support for callback
3 | * shorthands and `this` binding.
4 | *
5 | * @private
6 | * @param {Array} array The array to iterate over.
7 | * @param {Function} iteratee The function invoked per iteration.
8 | * @returns {Array} Returns the new mapped array.
9 | */
10 | function arrayMap(array, iteratee) {
11 | var index = -1,
12 | length = array.length,
13 | result = Array(length);
14 |
15 | while (++index < length) {
16 | result[index] = iteratee(array[index], index, array);
17 | }
18 | return result;
19 | }
20 |
21 | module.exports = arrayMap;
22 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/arrayPush.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Appends the elements of `values` to `array`.
3 | *
4 | * @private
5 | * @param {Array} array The array to modify.
6 | * @param {Array} values The values to append.
7 | * @returns {Array} Returns `array`.
8 | */
9 | function arrayPush(array, values) {
10 | var index = -1,
11 | length = values.length,
12 | offset = array.length;
13 |
14 | while (++index < length) {
15 | array[offset + index] = values[index];
16 | }
17 | return array;
18 | }
19 |
20 | module.exports = arrayPush;
21 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/arrayReduce.js:
--------------------------------------------------------------------------------
1 | /**
2 | * A specialized version of `_.reduce` for arrays without support for callback
3 | * shorthands and `this` binding.
4 | *
5 | * @private
6 | * @param {Array} array The array to iterate over.
7 | * @param {Function} iteratee The function invoked per iteration.
8 | * @param {*} [accumulator] The initial value.
9 | * @param {boolean} [initFromArray] Specify using the first element of `array`
10 | * as the initial value.
11 | * @returns {*} Returns the accumulated value.
12 | */
13 | function arrayReduce(array, iteratee, accumulator, initFromArray) {
14 | var index = -1,
15 | length = array.length;
16 |
17 | if (initFromArray && length) {
18 | accumulator = array[++index];
19 | }
20 | while (++index < length) {
21 | accumulator = iteratee(accumulator, array[index], index, array);
22 | }
23 | return accumulator;
24 | }
25 |
26 | module.exports = arrayReduce;
27 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/arrayReduceRight.js:
--------------------------------------------------------------------------------
1 | /**
2 | * A specialized version of `_.reduceRight` for arrays without support for
3 | * callback shorthands and `this` binding.
4 | *
5 | * @private
6 | * @param {Array} array The array to iterate over.
7 | * @param {Function} iteratee The function invoked per iteration.
8 | * @param {*} [accumulator] The initial value.
9 | * @param {boolean} [initFromArray] Specify using the last element of `array`
10 | * as the initial value.
11 | * @returns {*} Returns the accumulated value.
12 | */
13 | function arrayReduceRight(array, iteratee, accumulator, initFromArray) {
14 | var length = array.length;
15 | if (initFromArray && length) {
16 | accumulator = array[--length];
17 | }
18 | while (length--) {
19 | accumulator = iteratee(accumulator, array[length], length, array);
20 | }
21 | return accumulator;
22 | }
23 |
24 | module.exports = arrayReduceRight;
25 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/arraySome.js:
--------------------------------------------------------------------------------
1 | /**
2 | * A specialized version of `_.some` for arrays without support for callback
3 | * shorthands and `this` binding.
4 | *
5 | * @private
6 | * @param {Array} array The array to iterate over.
7 | * @param {Function} predicate The function invoked per iteration.
8 | * @returns {boolean} Returns `true` if any element passes the predicate check,
9 | * else `false`.
10 | */
11 | function arraySome(array, predicate) {
12 | var index = -1,
13 | length = array.length;
14 |
15 | while (++index < length) {
16 | if (predicate(array[index], index, array)) {
17 | return true;
18 | }
19 | }
20 | return false;
21 | }
22 |
23 | module.exports = arraySome;
24 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/arraySum.js:
--------------------------------------------------------------------------------
1 | /**
2 | * A specialized version of `_.sum` for arrays without support for callback
3 | * shorthands and `this` binding..
4 | *
5 | * @private
6 | * @param {Array} array The array to iterate over.
7 | * @param {Function} iteratee The function invoked per iteration.
8 | * @returns {number} Returns the sum.
9 | */
10 | function arraySum(array, iteratee) {
11 | var length = array.length,
12 | result = 0;
13 |
14 | while (length--) {
15 | result += +iteratee(array[length]) || 0;
16 | }
17 | return result;
18 | }
19 |
20 | module.exports = arraySum;
21 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/assignDefaults.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Used by `_.defaults` to customize its `_.assign` use.
3 | *
4 | * @private
5 | * @param {*} objectValue The destination object property value.
6 | * @param {*} sourceValue The source object property value.
7 | * @returns {*} Returns the value to assign to the destination object.
8 | */
9 | function assignDefaults(objectValue, sourceValue) {
10 | return objectValue === undefined ? sourceValue : objectValue;
11 | }
12 |
13 | module.exports = assignDefaults;
14 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseAssign.js:
--------------------------------------------------------------------------------
1 | var baseCopy = require('./baseCopy'),
2 | keys = require('../object/keys');
3 |
4 | /**
5 | * The base implementation of `_.assign` without support for argument juggling,
6 | * multiple sources, and `customizer` functions.
7 | *
8 | * @private
9 | * @param {Object} object The destination object.
10 | * @param {Object} source The source object.
11 | * @returns {Object} Returns `object`.
12 | */
13 | function baseAssign(object, source) {
14 | return source == null
15 | ? object
16 | : baseCopy(source, keys(source), object);
17 | }
18 |
19 | module.exports = baseAssign;
20 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseCopy.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copies properties of `source` to `object`.
3 | *
4 | * @private
5 | * @param {Object} source The object to copy properties from.
6 | * @param {Array} props The property names to copy.
7 | * @param {Object} [object={}] The object to copy properties to.
8 | * @returns {Object} Returns `object`.
9 | */
10 | function baseCopy(source, props, object) {
11 | object || (object = {});
12 |
13 | var index = -1,
14 | length = props.length;
15 |
16 | while (++index < length) {
17 | var key = props[index];
18 | object[key] = source[key];
19 | }
20 | return object;
21 | }
22 |
23 | module.exports = baseCopy;
24 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseCreate.js:
--------------------------------------------------------------------------------
1 | var isObject = require('../lang/isObject');
2 |
3 | /**
4 | * The base implementation of `_.create` without support for assigning
5 | * properties to the created object.
6 | *
7 | * @private
8 | * @param {Object} prototype The object to inherit from.
9 | * @returns {Object} Returns the new object.
10 | */
11 | var baseCreate = (function() {
12 | function object() {}
13 | return function(prototype) {
14 | if (isObject(prototype)) {
15 | object.prototype = prototype;
16 | var result = new object;
17 | object.prototype = undefined;
18 | }
19 | return result || {};
20 | };
21 | }());
22 |
23 | module.exports = baseCreate;
24 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseDelay.js:
--------------------------------------------------------------------------------
1 | /** Used as the `TypeError` message for "Functions" methods. */
2 | var FUNC_ERROR_TEXT = 'Expected a function';
3 |
4 | /**
5 | * The base implementation of `_.delay` and `_.defer` which accepts an index
6 | * of where to slice the arguments to provide to `func`.
7 | *
8 | * @private
9 | * @param {Function} func The function to delay.
10 | * @param {number} wait The number of milliseconds to delay invocation.
11 | * @param {Object} args The arguments provide to `func`.
12 | * @returns {number} Returns the timer id.
13 | */
14 | function baseDelay(func, wait, args) {
15 | if (typeof func != 'function') {
16 | throw new TypeError(FUNC_ERROR_TEXT);
17 | }
18 | return setTimeout(function() { func.apply(undefined, args); }, wait);
19 | }
20 |
21 | module.exports = baseDelay;
22 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseEach.js:
--------------------------------------------------------------------------------
1 | var baseForOwn = require('./baseForOwn'),
2 | createBaseEach = require('./createBaseEach');
3 |
4 | /**
5 | * The base implementation of `_.forEach` without support for callback
6 | * shorthands and `this` binding.
7 | *
8 | * @private
9 | * @param {Array|Object|string} collection The collection to iterate over.
10 | * @param {Function} iteratee The function invoked per iteration.
11 | * @returns {Array|Object|string} Returns `collection`.
12 | */
13 | var baseEach = createBaseEach(baseForOwn);
14 |
15 | module.exports = baseEach;
16 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseEachRight.js:
--------------------------------------------------------------------------------
1 | var baseForOwnRight = require('./baseForOwnRight'),
2 | createBaseEach = require('./createBaseEach');
3 |
4 | /**
5 | * The base implementation of `_.forEachRight` without support for callback
6 | * shorthands and `this` binding.
7 | *
8 | * @private
9 | * @param {Array|Object|string} collection The collection to iterate over.
10 | * @param {Function} iteratee The function invoked per iteration.
11 | * @returns {Array|Object|string} Returns `collection`.
12 | */
13 | var baseEachRight = createBaseEach(baseForOwnRight, true);
14 |
15 | module.exports = baseEachRight;
16 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseEvery.js:
--------------------------------------------------------------------------------
1 | var baseEach = require('./baseEach');
2 |
3 | /**
4 | * The base implementation of `_.every` without support for callback
5 | * shorthands and `this` binding.
6 | *
7 | * @private
8 | * @param {Array|Object|string} collection The collection to iterate over.
9 | * @param {Function} predicate The function invoked per iteration.
10 | * @returns {boolean} Returns `true` if all elements pass the predicate check,
11 | * else `false`
12 | */
13 | function baseEvery(collection, predicate) {
14 | var result = true;
15 | baseEach(collection, function(value, index, collection) {
16 | result = !!predicate(value, index, collection);
17 | return result;
18 | });
19 | return result;
20 | }
21 |
22 | module.exports = baseEvery;
23 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseFill.js:
--------------------------------------------------------------------------------
1 | /**
2 | * The base implementation of `_.fill` without an iteratee call guard.
3 | *
4 | * @private
5 | * @param {Array} array The array to fill.
6 | * @param {*} value The value to fill `array` with.
7 | * @param {number} [start=0] The start position.
8 | * @param {number} [end=array.length] The end position.
9 | * @returns {Array} Returns `array`.
10 | */
11 | function baseFill(array, value, start, end) {
12 | var length = array.length;
13 |
14 | start = start == null ? 0 : (+start || 0);
15 | if (start < 0) {
16 | start = -start > length ? 0 : (length + start);
17 | }
18 | end = (end === undefined || end > length) ? length : (+end || 0);
19 | if (end < 0) {
20 | end += length;
21 | }
22 | length = start > end ? 0 : (end >>> 0);
23 | start >>>= 0;
24 |
25 | while (start < length) {
26 | array[start++] = value;
27 | }
28 | return array;
29 | }
30 |
31 | module.exports = baseFill;
32 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseFilter.js:
--------------------------------------------------------------------------------
1 | var baseEach = require('./baseEach');
2 |
3 | /**
4 | * The base implementation of `_.filter` without support for callback
5 | * shorthands and `this` binding.
6 | *
7 | * @private
8 | * @param {Array|Object|string} collection The collection to iterate over.
9 | * @param {Function} predicate The function invoked per iteration.
10 | * @returns {Array} Returns the new filtered array.
11 | */
12 | function baseFilter(collection, predicate) {
13 | var result = [];
14 | baseEach(collection, function(value, index, collection) {
15 | if (predicate(value, index, collection)) {
16 | result.push(value);
17 | }
18 | });
19 | return result;
20 | }
21 |
22 | module.exports = baseFilter;
23 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseFindIndex.js:
--------------------------------------------------------------------------------
1 | /**
2 | * The base implementation of `_.findIndex` and `_.findLastIndex` without
3 | * support for callback shorthands and `this` binding.
4 | *
5 | * @private
6 | * @param {Array} array The array to search.
7 | * @param {Function} predicate The function invoked per iteration.
8 | * @param {boolean} [fromRight] Specify iterating from right to left.
9 | * @returns {number} Returns the index of the matched value, else `-1`.
10 | */
11 | function baseFindIndex(array, predicate, fromRight) {
12 | var length = array.length,
13 | index = fromRight ? length : -1;
14 |
15 | while ((fromRight ? index-- : ++index < length)) {
16 | if (predicate(array[index], index, array)) {
17 | return index;
18 | }
19 | }
20 | return -1;
21 | }
22 |
23 | module.exports = baseFindIndex;
24 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseFor.js:
--------------------------------------------------------------------------------
1 | var createBaseFor = require('./createBaseFor');
2 |
3 | /**
4 | * The base implementation of `baseForIn` and `baseForOwn` which iterates
5 | * over `object` properties returned by `keysFunc` invoking `iteratee` for
6 | * each property. Iteratee functions may exit iteration early by explicitly
7 | * returning `false`.
8 | *
9 | * @private
10 | * @param {Object} object The object to iterate over.
11 | * @param {Function} iteratee The function invoked per iteration.
12 | * @param {Function} keysFunc The function to get the keys of `object`.
13 | * @returns {Object} Returns `object`.
14 | */
15 | var baseFor = createBaseFor();
16 |
17 | module.exports = baseFor;
18 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseForIn.js:
--------------------------------------------------------------------------------
1 | var baseFor = require('./baseFor'),
2 | keysIn = require('../object/keysIn');
3 |
4 | /**
5 | * The base implementation of `_.forIn` without support for callback
6 | * shorthands and `this` binding.
7 | *
8 | * @private
9 | * @param {Object} object The object to iterate over.
10 | * @param {Function} iteratee The function invoked per iteration.
11 | * @returns {Object} Returns `object`.
12 | */
13 | function baseForIn(object, iteratee) {
14 | return baseFor(object, iteratee, keysIn);
15 | }
16 |
17 | module.exports = baseForIn;
18 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseForOwn.js:
--------------------------------------------------------------------------------
1 | var baseFor = require('./baseFor'),
2 | keys = require('../object/keys');
3 |
4 | /**
5 | * The base implementation of `_.forOwn` without support for callback
6 | * shorthands and `this` binding.
7 | *
8 | * @private
9 | * @param {Object} object The object to iterate over.
10 | * @param {Function} iteratee The function invoked per iteration.
11 | * @returns {Object} Returns `object`.
12 | */
13 | function baseForOwn(object, iteratee) {
14 | return baseFor(object, iteratee, keys);
15 | }
16 |
17 | module.exports = baseForOwn;
18 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseForOwnRight.js:
--------------------------------------------------------------------------------
1 | var baseForRight = require('./baseForRight'),
2 | keys = require('../object/keys');
3 |
4 | /**
5 | * The base implementation of `_.forOwnRight` without support for callback
6 | * shorthands and `this` binding.
7 | *
8 | * @private
9 | * @param {Object} object The object to iterate over.
10 | * @param {Function} iteratee The function invoked per iteration.
11 | * @returns {Object} Returns `object`.
12 | */
13 | function baseForOwnRight(object, iteratee) {
14 | return baseForRight(object, iteratee, keys);
15 | }
16 |
17 | module.exports = baseForOwnRight;
18 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseForRight.js:
--------------------------------------------------------------------------------
1 | var createBaseFor = require('./createBaseFor');
2 |
3 | /**
4 | * This function is like `baseFor` except that it iterates over properties
5 | * in the opposite order.
6 | *
7 | * @private
8 | * @param {Object} object The object to iterate over.
9 | * @param {Function} iteratee The function invoked per iteration.
10 | * @param {Function} keysFunc The function to get the keys of `object`.
11 | * @returns {Object} Returns `object`.
12 | */
13 | var baseForRight = createBaseFor(true);
14 |
15 | module.exports = baseForRight;
16 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseFunctions.js:
--------------------------------------------------------------------------------
1 | var isFunction = require('../lang/isFunction');
2 |
3 | /**
4 | * The base implementation of `_.functions` which creates an array of
5 | * `object` function property names filtered from those provided.
6 | *
7 | * @private
8 | * @param {Object} object The object to inspect.
9 | * @param {Array} props The property names to filter.
10 | * @returns {Array} Returns the new array of filtered property names.
11 | */
12 | function baseFunctions(object, props) {
13 | var index = -1,
14 | length = props.length,
15 | resIndex = -1,
16 | result = [];
17 |
18 | while (++index < length) {
19 | var key = props[index];
20 | if (isFunction(object[key])) {
21 | result[++resIndex] = key;
22 | }
23 | }
24 | return result;
25 | }
26 |
27 | module.exports = baseFunctions;
28 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseGet.js:
--------------------------------------------------------------------------------
1 | var toObject = require('./toObject');
2 |
3 | /**
4 | * The base implementation of `get` without support for string paths
5 | * and default values.
6 | *
7 | * @private
8 | * @param {Object} object The object to query.
9 | * @param {Array} path The path of the property to get.
10 | * @param {string} [pathKey] The key representation of path.
11 | * @returns {*} Returns the resolved value.
12 | */
13 | function baseGet(object, path, pathKey) {
14 | if (object == null) {
15 | return;
16 | }
17 | if (pathKey !== undefined && pathKey in toObject(object)) {
18 | path = [pathKey];
19 | }
20 | var index = 0,
21 | length = path.length;
22 |
23 | while (object != null && index < length) {
24 | object = object[path[index++]];
25 | }
26 | return (index && index == length) ? object : undefined;
27 | }
28 |
29 | module.exports = baseGet;
30 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseIndexOf.js:
--------------------------------------------------------------------------------
1 | var indexOfNaN = require('./indexOfNaN');
2 |
3 | /**
4 | * The base implementation of `_.indexOf` without support for binary searches.
5 | *
6 | * @private
7 | * @param {Array} array The array to search.
8 | * @param {*} value The value to search for.
9 | * @param {number} fromIndex The index to search from.
10 | * @returns {number} Returns the index of the matched value, else `-1`.
11 | */
12 | function baseIndexOf(array, value, fromIndex) {
13 | if (value !== value) {
14 | return indexOfNaN(array, fromIndex);
15 | }
16 | var index = fromIndex - 1,
17 | length = array.length;
18 |
19 | while (++index < length) {
20 | if (array[index] === value) {
21 | return index;
22 | }
23 | }
24 | return -1;
25 | }
26 |
27 | module.exports = baseIndexOf;
28 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseIsFunction.js:
--------------------------------------------------------------------------------
1 | /**
2 | * The base implementation of `_.isFunction` without support for environments
3 | * with incorrect `typeof` results.
4 | *
5 | * @private
6 | * @param {*} value The value to check.
7 | * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
8 | */
9 | function baseIsFunction(value) {
10 | // Avoid a Chakra JIT bug in compatibility modes of IE 11.
11 | // See https://github.com/jashkenas/underscore/issues/1621 for more details.
12 | return typeof value == 'function' || false;
13 | }
14 |
15 | module.exports = baseIsFunction;
16 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseLodash.js:
--------------------------------------------------------------------------------
1 | /**
2 | * The function whose prototype all chaining wrappers inherit from.
3 | *
4 | * @private
5 | */
6 | function baseLodash() {
7 | // No operation performed.
8 | }
9 |
10 | module.exports = baseLodash;
11 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseMap.js:
--------------------------------------------------------------------------------
1 | var baseEach = require('./baseEach'),
2 | isArrayLike = require('./isArrayLike');
3 |
4 | /**
5 | * The base implementation of `_.map` without support for callback shorthands
6 | * and `this` binding.
7 | *
8 | * @private
9 | * @param {Array|Object|string} collection The collection to iterate over.
10 | * @param {Function} iteratee The function invoked per iteration.
11 | * @returns {Array} Returns the new mapped array.
12 | */
13 | function baseMap(collection, iteratee) {
14 | var index = -1,
15 | result = isArrayLike(collection) ? Array(collection.length) : [];
16 |
17 | baseEach(collection, function(value, key, collection) {
18 | result[++index] = iteratee(value, key, collection);
19 | });
20 | return result;
21 | }
22 |
23 | module.exports = baseMap;
24 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseMatches.js:
--------------------------------------------------------------------------------
1 | var baseIsMatch = require('./baseIsMatch'),
2 | getMatchData = require('./getMatchData'),
3 | toObject = require('./toObject');
4 |
5 | /**
6 | * The base implementation of `_.matches` which does not clone `source`.
7 | *
8 | * @private
9 | * @param {Object} source The object of property values to match.
10 | * @returns {Function} Returns the new function.
11 | */
12 | function baseMatches(source) {
13 | var matchData = getMatchData(source);
14 | if (matchData.length == 1 && matchData[0][2]) {
15 | var key = matchData[0][0],
16 | value = matchData[0][1];
17 |
18 | return function(object) {
19 | if (object == null) {
20 | return false;
21 | }
22 | return object[key] === value && (value !== undefined || (key in toObject(object)));
23 | };
24 | }
25 | return function(object) {
26 | return baseIsMatch(object, matchData);
27 | };
28 | }
29 |
30 | module.exports = baseMatches;
31 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseProperty.js:
--------------------------------------------------------------------------------
1 | /**
2 | * The base implementation of `_.property` without support for deep paths.
3 | *
4 | * @private
5 | * @param {string} key The key of the property to get.
6 | * @returns {Function} Returns the new function.
7 | */
8 | function baseProperty(key) {
9 | return function(object) {
10 | return object == null ? undefined : object[key];
11 | };
12 | }
13 |
14 | module.exports = baseProperty;
15 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/basePropertyDeep.js:
--------------------------------------------------------------------------------
1 | var baseGet = require('./baseGet'),
2 | toPath = require('./toPath');
3 |
4 | /**
5 | * A specialized version of `baseProperty` which supports deep paths.
6 | *
7 | * @private
8 | * @param {Array|string} path The path of the property to get.
9 | * @returns {Function} Returns the new function.
10 | */
11 | function basePropertyDeep(path) {
12 | var pathKey = (path + '');
13 | path = toPath(path);
14 | return function(object) {
15 | return baseGet(object, path, pathKey);
16 | };
17 | }
18 |
19 | module.exports = basePropertyDeep;
20 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/basePullAt.js:
--------------------------------------------------------------------------------
1 | var isIndex = require('./isIndex');
2 |
3 | /** Used for native method references. */
4 | var arrayProto = Array.prototype;
5 |
6 | /** Native method references. */
7 | var splice = arrayProto.splice;
8 |
9 | /**
10 | * The base implementation of `_.pullAt` without support for individual
11 | * index arguments and capturing the removed elements.
12 | *
13 | * @private
14 | * @param {Array} array The array to modify.
15 | * @param {number[]} indexes The indexes of elements to remove.
16 | * @returns {Array} Returns `array`.
17 | */
18 | function basePullAt(array, indexes) {
19 | var length = array ? indexes.length : 0;
20 | while (length--) {
21 | var index = indexes[length];
22 | if (index != previous && isIndex(index)) {
23 | var previous = index;
24 | splice.call(array, index, 1);
25 | }
26 | }
27 | return array;
28 | }
29 |
30 | module.exports = basePullAt;
31 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseRandom.js:
--------------------------------------------------------------------------------
1 | /* Native method references for those with the same name as other `lodash` methods. */
2 | var nativeFloor = Math.floor,
3 | nativeRandom = Math.random;
4 |
5 | /**
6 | * The base implementation of `_.random` without support for argument juggling
7 | * and returning floating-point numbers.
8 | *
9 | * @private
10 | * @param {number} min The minimum possible value.
11 | * @param {number} max The maximum possible value.
12 | * @returns {number} Returns the random number.
13 | */
14 | function baseRandom(min, max) {
15 | return min + nativeFloor(nativeRandom() * (max - min + 1));
16 | }
17 |
18 | module.exports = baseRandom;
19 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseSetData.js:
--------------------------------------------------------------------------------
1 | var identity = require('../utility/identity'),
2 | metaMap = require('./metaMap');
3 |
4 | /**
5 | * The base implementation of `setData` without support for hot loop detection.
6 | *
7 | * @private
8 | * @param {Function} func The function to associate metadata with.
9 | * @param {*} data The metadata.
10 | * @returns {Function} Returns `func`.
11 | */
12 | var baseSetData = !metaMap ? identity : function(func, data) {
13 | metaMap.set(func, data);
14 | return func;
15 | };
16 |
17 | module.exports = baseSetData;
18 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseSome.js:
--------------------------------------------------------------------------------
1 | var baseEach = require('./baseEach');
2 |
3 | /**
4 | * The base implementation of `_.some` without support for callback shorthands
5 | * and `this` binding.
6 | *
7 | * @private
8 | * @param {Array|Object|string} collection The collection to iterate over.
9 | * @param {Function} predicate The function invoked per iteration.
10 | * @returns {boolean} Returns `true` if any element passes the predicate check,
11 | * else `false`.
12 | */
13 | function baseSome(collection, predicate) {
14 | var result;
15 |
16 | baseEach(collection, function(value, index, collection) {
17 | result = predicate(value, index, collection);
18 | return !result;
19 | });
20 | return !!result;
21 | }
22 |
23 | module.exports = baseSome;
24 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseSortBy.js:
--------------------------------------------------------------------------------
1 | /**
2 | * The base implementation of `_.sortBy` which uses `comparer` to define
3 | * the sort order of `array` and replaces criteria objects with their
4 | * corresponding values.
5 | *
6 | * @private
7 | * @param {Array} array The array to sort.
8 | * @param {Function} comparer The function to define sort order.
9 | * @returns {Array} Returns `array`.
10 | */
11 | function baseSortBy(array, comparer) {
12 | var length = array.length;
13 |
14 | array.sort(comparer);
15 | while (length--) {
16 | array[length] = array[length].value;
17 | }
18 | return array;
19 | }
20 |
21 | module.exports = baseSortBy;
22 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseSum.js:
--------------------------------------------------------------------------------
1 | var baseEach = require('./baseEach');
2 |
3 | /**
4 | * The base implementation of `_.sum` without support for callback shorthands
5 | * and `this` binding.
6 | *
7 | * @private
8 | * @param {Array|Object|string} collection The collection to iterate over.
9 | * @param {Function} iteratee The function invoked per iteration.
10 | * @returns {number} Returns the sum.
11 | */
12 | function baseSum(collection, iteratee) {
13 | var result = 0;
14 | baseEach(collection, function(value, index, collection) {
15 | result += +iteratee(value, index, collection) || 0;
16 | });
17 | return result;
18 | }
19 |
20 | module.exports = baseSum;
21 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseToString.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Converts `value` to a string if it's not one. An empty string is returned
3 | * for `null` or `undefined` values.
4 | *
5 | * @private
6 | * @param {*} value The value to process.
7 | * @returns {string} Returns the string.
8 | */
9 | function baseToString(value) {
10 | return value == null ? '' : (value + '');
11 | }
12 |
13 | module.exports = baseToString;
14 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/baseValues.js:
--------------------------------------------------------------------------------
1 | /**
2 | * The base implementation of `_.values` and `_.valuesIn` which creates an
3 | * array of `object` property values corresponding to the property names
4 | * of `props`.
5 | *
6 | * @private
7 | * @param {Object} object The object to query.
8 | * @param {Array} props The property names to get values for.
9 | * @returns {Object} Returns the array of property values.
10 | */
11 | function baseValues(object, props) {
12 | var index = -1,
13 | length = props.length,
14 | result = Array(length);
15 |
16 | while (++index < length) {
17 | result[index] = object[props[index]];
18 | }
19 | return result;
20 | }
21 |
22 | module.exports = baseValues;
23 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/bufferClone.js:
--------------------------------------------------------------------------------
1 | /** Native method references. */
2 | var ArrayBuffer = global.ArrayBuffer,
3 | Uint8Array = global.Uint8Array;
4 |
5 | /**
6 | * Creates a clone of the given array buffer.
7 | *
8 | * @private
9 | * @param {ArrayBuffer} buffer The array buffer to clone.
10 | * @returns {ArrayBuffer} Returns the cloned array buffer.
11 | */
12 | function bufferClone(buffer) {
13 | var result = new ArrayBuffer(buffer.byteLength),
14 | view = new Uint8Array(result);
15 |
16 | view.set(new Uint8Array(buffer));
17 | return result;
18 | }
19 |
20 | module.exports = bufferClone;
21 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/cacheIndexOf.js:
--------------------------------------------------------------------------------
1 | var isObject = require('../lang/isObject');
2 |
3 | /**
4 | * Checks if `value` is in `cache` mimicking the return signature of
5 | * `_.indexOf` by returning `0` if the value is found, else `-1`.
6 | *
7 | * @private
8 | * @param {Object} cache The cache to search.
9 | * @param {*} value The value to search for.
10 | * @returns {number} Returns `0` if `value` is found, else `-1`.
11 | */
12 | function cacheIndexOf(cache, value) {
13 | var data = cache.data,
14 | result = (typeof value == 'string' || isObject(value)) ? data.set.has(value) : data.hash[value];
15 |
16 | return result ? 0 : -1;
17 | }
18 |
19 | module.exports = cacheIndexOf;
20 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/cachePush.js:
--------------------------------------------------------------------------------
1 | var isObject = require('../lang/isObject');
2 |
3 | /**
4 | * Adds `value` to the cache.
5 | *
6 | * @private
7 | * @name push
8 | * @memberOf SetCache
9 | * @param {*} value The value to cache.
10 | */
11 | function cachePush(value) {
12 | var data = this.data;
13 | if (typeof value == 'string' || isObject(value)) {
14 | data.set.add(value);
15 | } else {
16 | data.hash[value] = true;
17 | }
18 | }
19 |
20 | module.exports = cachePush;
21 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/charsLeftIndex.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Used by `_.trim` and `_.trimLeft` to get the index of the first character
3 | * of `string` that is not found in `chars`.
4 | *
5 | * @private
6 | * @param {string} string The string to inspect.
7 | * @param {string} chars The characters to find.
8 | * @returns {number} Returns the index of the first character not found in `chars`.
9 | */
10 | function charsLeftIndex(string, chars) {
11 | var index = -1,
12 | length = string.length;
13 |
14 | while (++index < length && chars.indexOf(string.charAt(index)) > -1) {}
15 | return index;
16 | }
17 |
18 | module.exports = charsLeftIndex;
19 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/charsRightIndex.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Used by `_.trim` and `_.trimRight` to get the index of the last character
3 | * of `string` that is not found in `chars`.
4 | *
5 | * @private
6 | * @param {string} string The string to inspect.
7 | * @param {string} chars The characters to find.
8 | * @returns {number} Returns the index of the last character not found in `chars`.
9 | */
10 | function charsRightIndex(string, chars) {
11 | var index = string.length;
12 |
13 | while (index-- && chars.indexOf(string.charAt(index)) > -1) {}
14 | return index;
15 | }
16 |
17 | module.exports = charsRightIndex;
18 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/compareAscending.js:
--------------------------------------------------------------------------------
1 | var baseCompareAscending = require('./baseCompareAscending');
2 |
3 | /**
4 | * Used by `_.sortBy` to compare transformed elements of a collection and stable
5 | * sort them in ascending order.
6 | *
7 | * @private
8 | * @param {Object} object The object to compare.
9 | * @param {Object} other The other object to compare.
10 | * @returns {number} Returns the sort order indicator for `object`.
11 | */
12 | function compareAscending(object, other) {
13 | return baseCompareAscending(object.criteria, other.criteria) || (object.index - other.index);
14 | }
15 |
16 | module.exports = compareAscending;
17 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createBaseFor.js:
--------------------------------------------------------------------------------
1 | var toObject = require('./toObject');
2 |
3 | /**
4 | * Creates a base function for `_.forIn` or `_.forInRight`.
5 | *
6 | * @private
7 | * @param {boolean} [fromRight] Specify iterating from right to left.
8 | * @returns {Function} Returns the new base function.
9 | */
10 | function createBaseFor(fromRight) {
11 | return function(object, iteratee, keysFunc) {
12 | var iterable = toObject(object),
13 | props = keysFunc(object),
14 | length = props.length,
15 | index = fromRight ? length : -1;
16 |
17 | while ((fromRight ? index-- : ++index < length)) {
18 | var key = props[index];
19 | if (iteratee(iterable[key], key, iterable) === false) {
20 | break;
21 | }
22 | }
23 | return object;
24 | };
25 | }
26 |
27 | module.exports = createBaseFor;
28 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createBindWrapper.js:
--------------------------------------------------------------------------------
1 | var createCtorWrapper = require('./createCtorWrapper');
2 |
3 | /**
4 | * Creates a function that wraps `func` and invokes it with the `this`
5 | * binding of `thisArg`.
6 | *
7 | * @private
8 | * @param {Function} func The function to bind.
9 | * @param {*} [thisArg] The `this` binding of `func`.
10 | * @returns {Function} Returns the new bound function.
11 | */
12 | function createBindWrapper(func, thisArg) {
13 | var Ctor = createCtorWrapper(func);
14 |
15 | function wrapper() {
16 | var fn = (this && this !== global && this instanceof wrapper) ? Ctor : func;
17 | return fn.apply(thisArg, arguments);
18 | }
19 | return wrapper;
20 | }
21 |
22 | module.exports = createBindWrapper;
23 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createCache.js:
--------------------------------------------------------------------------------
1 | var SetCache = require('./SetCache'),
2 | getNative = require('./getNative');
3 |
4 | /** Native method references. */
5 | var Set = getNative(global, 'Set');
6 |
7 | /* Native method references for those with the same name as other `lodash` methods. */
8 | var nativeCreate = getNative(Object, 'create');
9 |
10 | /**
11 | * Creates a `Set` cache object to optimize linear searches of large arrays.
12 | *
13 | * @private
14 | * @param {Array} [values] The values to cache.
15 | * @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`.
16 | */
17 | function createCache(values) {
18 | return (nativeCreate && Set) ? new SetCache(values) : null;
19 | }
20 |
21 | module.exports = createCache;
22 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createCompounder.js:
--------------------------------------------------------------------------------
1 | var deburr = require('../string/deburr'),
2 | words = require('../string/words');
3 |
4 | /**
5 | * Creates a function that produces compound words out of the words in a
6 | * given string.
7 | *
8 | * @private
9 | * @param {Function} callback The function to combine each word.
10 | * @returns {Function} Returns the new compounder function.
11 | */
12 | function createCompounder(callback) {
13 | return function(string) {
14 | var index = -1,
15 | array = words(deburr(string)),
16 | length = array.length,
17 | result = '';
18 |
19 | while (++index < length) {
20 | result = callback(result, array[index], index);
21 | }
22 | return result;
23 | };
24 | }
25 |
26 | module.exports = createCompounder;
27 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createCurry.js:
--------------------------------------------------------------------------------
1 | var createWrapper = require('./createWrapper'),
2 | isIterateeCall = require('./isIterateeCall');
3 |
4 | /**
5 | * Creates a `_.curry` or `_.curryRight` function.
6 | *
7 | * @private
8 | * @param {boolean} flag The curry bit flag.
9 | * @returns {Function} Returns the new curry function.
10 | */
11 | function createCurry(flag) {
12 | function curryFunc(func, arity, guard) {
13 | if (guard && isIterateeCall(func, arity, guard)) {
14 | arity = undefined;
15 | }
16 | var result = createWrapper(func, flag, undefined, undefined, undefined, undefined, undefined, arity);
17 | result.placeholder = curryFunc.placeholder;
18 | return result;
19 | }
20 | return curryFunc;
21 | }
22 |
23 | module.exports = createCurry;
24 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createDefaults.js:
--------------------------------------------------------------------------------
1 | var restParam = require('../function/restParam');
2 |
3 | /**
4 | * Creates a `_.defaults` or `_.defaultsDeep` function.
5 | *
6 | * @private
7 | * @param {Function} assigner The function to assign values.
8 | * @param {Function} customizer The function to customize assigned values.
9 | * @returns {Function} Returns the new defaults function.
10 | */
11 | function createDefaults(assigner, customizer) {
12 | return restParam(function(args) {
13 | var object = args[0];
14 | if (object == null) {
15 | return object;
16 | }
17 | args.push(customizer);
18 | return assigner.apply(undefined, args);
19 | });
20 | }
21 |
22 | module.exports = createDefaults;
23 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createFind.js:
--------------------------------------------------------------------------------
1 | var baseCallback = require('./baseCallback'),
2 | baseFind = require('./baseFind'),
3 | baseFindIndex = require('./baseFindIndex'),
4 | isArray = require('../lang/isArray');
5 |
6 | /**
7 | * Creates a `_.find` or `_.findLast` function.
8 | *
9 | * @private
10 | * @param {Function} eachFunc The function to iterate over a collection.
11 | * @param {boolean} [fromRight] Specify iterating from right to left.
12 | * @returns {Function} Returns the new find function.
13 | */
14 | function createFind(eachFunc, fromRight) {
15 | return function(collection, predicate, thisArg) {
16 | predicate = baseCallback(predicate, thisArg, 3);
17 | if (isArray(collection)) {
18 | var index = baseFindIndex(collection, predicate, fromRight);
19 | return index > -1 ? collection[index] : undefined;
20 | }
21 | return baseFind(collection, predicate, eachFunc);
22 | };
23 | }
24 |
25 | module.exports = createFind;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createFindIndex.js:
--------------------------------------------------------------------------------
1 | var baseCallback = require('./baseCallback'),
2 | baseFindIndex = require('./baseFindIndex');
3 |
4 | /**
5 | * Creates a `_.findIndex` or `_.findLastIndex` function.
6 | *
7 | * @private
8 | * @param {boolean} [fromRight] Specify iterating from right to left.
9 | * @returns {Function} Returns the new find function.
10 | */
11 | function createFindIndex(fromRight) {
12 | return function(array, predicate, thisArg) {
13 | if (!(array && array.length)) {
14 | return -1;
15 | }
16 | predicate = baseCallback(predicate, thisArg, 3);
17 | return baseFindIndex(array, predicate, fromRight);
18 | };
19 | }
20 |
21 | module.exports = createFindIndex;
22 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createFindKey.js:
--------------------------------------------------------------------------------
1 | var baseCallback = require('./baseCallback'),
2 | baseFind = require('./baseFind');
3 |
4 | /**
5 | * Creates a `_.findKey` or `_.findLastKey` function.
6 | *
7 | * @private
8 | * @param {Function} objectFunc The function to iterate over an object.
9 | * @returns {Function} Returns the new find function.
10 | */
11 | function createFindKey(objectFunc) {
12 | return function(object, predicate, thisArg) {
13 | predicate = baseCallback(predicate, thisArg, 3);
14 | return baseFind(object, predicate, objectFunc, true);
15 | };
16 | }
17 |
18 | module.exports = createFindKey;
19 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createForEach.js:
--------------------------------------------------------------------------------
1 | var bindCallback = require('./bindCallback'),
2 | isArray = require('../lang/isArray');
3 |
4 | /**
5 | * Creates a function for `_.forEach` or `_.forEachRight`.
6 | *
7 | * @private
8 | * @param {Function} arrayFunc The function to iterate over an array.
9 | * @param {Function} eachFunc The function to iterate over a collection.
10 | * @returns {Function} Returns the new each function.
11 | */
12 | function createForEach(arrayFunc, eachFunc) {
13 | return function(collection, iteratee, thisArg) {
14 | return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection))
15 | ? arrayFunc(collection, iteratee)
16 | : eachFunc(collection, bindCallback(iteratee, thisArg, 3));
17 | };
18 | }
19 |
20 | module.exports = createForEach;
21 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createForIn.js:
--------------------------------------------------------------------------------
1 | var bindCallback = require('./bindCallback'),
2 | keysIn = require('../object/keysIn');
3 |
4 | /**
5 | * Creates a function for `_.forIn` or `_.forInRight`.
6 | *
7 | * @private
8 | * @param {Function} objectFunc The function to iterate over an object.
9 | * @returns {Function} Returns the new each function.
10 | */
11 | function createForIn(objectFunc) {
12 | return function(object, iteratee, thisArg) {
13 | if (typeof iteratee != 'function' || thisArg !== undefined) {
14 | iteratee = bindCallback(iteratee, thisArg, 3);
15 | }
16 | return objectFunc(object, iteratee, keysIn);
17 | };
18 | }
19 |
20 | module.exports = createForIn;
21 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createForOwn.js:
--------------------------------------------------------------------------------
1 | var bindCallback = require('./bindCallback');
2 |
3 | /**
4 | * Creates a function for `_.forOwn` or `_.forOwnRight`.
5 | *
6 | * @private
7 | * @param {Function} objectFunc The function to iterate over an object.
8 | * @returns {Function} Returns the new each function.
9 | */
10 | function createForOwn(objectFunc) {
11 | return function(object, iteratee, thisArg) {
12 | if (typeof iteratee != 'function' || thisArg !== undefined) {
13 | iteratee = bindCallback(iteratee, thisArg, 3);
14 | }
15 | return objectFunc(object, iteratee);
16 | };
17 | }
18 |
19 | module.exports = createForOwn;
20 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createObjectMapper.js:
--------------------------------------------------------------------------------
1 | var baseCallback = require('./baseCallback'),
2 | baseForOwn = require('./baseForOwn');
3 |
4 | /**
5 | * Creates a function for `_.mapKeys` or `_.mapValues`.
6 | *
7 | * @private
8 | * @param {boolean} [isMapKeys] Specify mapping keys instead of values.
9 | * @returns {Function} Returns the new map function.
10 | */
11 | function createObjectMapper(isMapKeys) {
12 | return function(object, iteratee, thisArg) {
13 | var result = {};
14 | iteratee = baseCallback(iteratee, thisArg, 3);
15 |
16 | baseForOwn(object, function(value, key, object) {
17 | var mapped = iteratee(value, key, object);
18 | key = isMapKeys ? mapped : key;
19 | value = isMapKeys ? value : mapped;
20 | result[key] = value;
21 | });
22 | return result;
23 | };
24 | }
25 |
26 | module.exports = createObjectMapper;
27 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createPadDir.js:
--------------------------------------------------------------------------------
1 | var baseToString = require('./baseToString'),
2 | createPadding = require('./createPadding');
3 |
4 | /**
5 | * Creates a function for `_.padLeft` or `_.padRight`.
6 | *
7 | * @private
8 | * @param {boolean} [fromRight] Specify padding from the right.
9 | * @returns {Function} Returns the new pad function.
10 | */
11 | function createPadDir(fromRight) {
12 | return function(string, length, chars) {
13 | string = baseToString(string);
14 | return (fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string);
15 | };
16 | }
17 |
18 | module.exports = createPadDir;
19 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createPartial.js:
--------------------------------------------------------------------------------
1 | var createWrapper = require('./createWrapper'),
2 | replaceHolders = require('./replaceHolders'),
3 | restParam = require('../function/restParam');
4 |
5 | /**
6 | * Creates a `_.partial` or `_.partialRight` function.
7 | *
8 | * @private
9 | * @param {boolean} flag The partial bit flag.
10 | * @returns {Function} Returns the new partial function.
11 | */
12 | function createPartial(flag) {
13 | var partialFunc = restParam(function(func, partials) {
14 | var holders = replaceHolders(partials, partialFunc.placeholder);
15 | return createWrapper(func, flag, undefined, partials, holders);
16 | });
17 | return partialFunc;
18 | }
19 |
20 | module.exports = createPartial;
21 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createReduce.js:
--------------------------------------------------------------------------------
1 | var baseCallback = require('./baseCallback'),
2 | baseReduce = require('./baseReduce'),
3 | isArray = require('../lang/isArray');
4 |
5 | /**
6 | * Creates a function for `_.reduce` or `_.reduceRight`.
7 | *
8 | * @private
9 | * @param {Function} arrayFunc The function to iterate over an array.
10 | * @param {Function} eachFunc The function to iterate over a collection.
11 | * @returns {Function} Returns the new each function.
12 | */
13 | function createReduce(arrayFunc, eachFunc) {
14 | return function(collection, iteratee, accumulator, thisArg) {
15 | var initFromArray = arguments.length < 3;
16 | return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection))
17 | ? arrayFunc(collection, iteratee, accumulator, initFromArray)
18 | : baseReduce(collection, baseCallback(iteratee, thisArg, 4), accumulator, initFromArray, eachFunc);
19 | };
20 | }
21 |
22 | module.exports = createReduce;
23 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createRound.js:
--------------------------------------------------------------------------------
1 | /** Native method references. */
2 | var pow = Math.pow;
3 |
4 | /**
5 | * Creates a `_.ceil`, `_.floor`, or `_.round` function.
6 | *
7 | * @private
8 | * @param {string} methodName The name of the `Math` method to use when rounding.
9 | * @returns {Function} Returns the new round function.
10 | */
11 | function createRound(methodName) {
12 | var func = Math[methodName];
13 | return function(number, precision) {
14 | precision = precision === undefined ? 0 : (+precision || 0);
15 | if (precision) {
16 | precision = pow(10, precision);
17 | return func(number * precision) / precision;
18 | }
19 | return func(number);
20 | };
21 | }
22 |
23 | module.exports = createRound;
24 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/createSortedIndex.js:
--------------------------------------------------------------------------------
1 | var baseCallback = require('./baseCallback'),
2 | binaryIndex = require('./binaryIndex'),
3 | binaryIndexBy = require('./binaryIndexBy');
4 |
5 | /**
6 | * Creates a `_.sortedIndex` or `_.sortedLastIndex` function.
7 | *
8 | * @private
9 | * @param {boolean} [retHighest] Specify returning the highest qualified index.
10 | * @returns {Function} Returns the new index function.
11 | */
12 | function createSortedIndex(retHighest) {
13 | return function(array, value, iteratee, thisArg) {
14 | return iteratee == null
15 | ? binaryIndex(array, value, retHighest)
16 | : binaryIndexBy(array, value, baseCallback(iteratee, thisArg, 1), retHighest);
17 | };
18 | }
19 |
20 | module.exports = createSortedIndex;
21 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/escapeHtmlChar.js:
--------------------------------------------------------------------------------
1 | /** Used to map characters to HTML entities. */
2 | var htmlEscapes = {
3 | '&': '&',
4 | '<': '<',
5 | '>': '>',
6 | '"': '"',
7 | "'": ''',
8 | '`': '`'
9 | };
10 |
11 | /**
12 | * Used by `_.escape` to convert characters to HTML entities.
13 | *
14 | * @private
15 | * @param {string} chr The matched character to escape.
16 | * @returns {string} Returns the escaped character.
17 | */
18 | function escapeHtmlChar(chr) {
19 | return htmlEscapes[chr];
20 | }
21 |
22 | module.exports = escapeHtmlChar;
23 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/escapeStringChar.js:
--------------------------------------------------------------------------------
1 | /** Used to escape characters for inclusion in compiled string literals. */
2 | var stringEscapes = {
3 | '\\': '\\',
4 | "'": "'",
5 | '\n': 'n',
6 | '\r': 'r',
7 | '\u2028': 'u2028',
8 | '\u2029': 'u2029'
9 | };
10 |
11 | /**
12 | * Used by `_.template` to escape characters for inclusion in compiled string literals.
13 | *
14 | * @private
15 | * @param {string} chr The matched character to escape.
16 | * @returns {string} Returns the escaped character.
17 | */
18 | function escapeStringChar(chr) {
19 | return '\\' + stringEscapes[chr];
20 | }
21 |
22 | module.exports = escapeStringChar;
23 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/getData.js:
--------------------------------------------------------------------------------
1 | var metaMap = require('./metaMap'),
2 | noop = require('../utility/noop');
3 |
4 | /**
5 | * Gets metadata for `func`.
6 | *
7 | * @private
8 | * @param {Function} func The function to query.
9 | * @returns {*} Returns the metadata for `func`.
10 | */
11 | var getData = !metaMap ? noop : function(func) {
12 | return metaMap.get(func);
13 | };
14 |
15 | module.exports = getData;
16 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/getFuncName.js:
--------------------------------------------------------------------------------
1 | var realNames = require('./realNames');
2 |
3 | /**
4 | * Gets the name of `func`.
5 | *
6 | * @private
7 | * @param {Function} func The function to query.
8 | * @returns {string} Returns the function name.
9 | */
10 | function getFuncName(func) {
11 | var result = (func.name + ''),
12 | array = realNames[result],
13 | length = array ? array.length : 0;
14 |
15 | while (length--) {
16 | var data = array[length],
17 | otherFunc = data.func;
18 | if (otherFunc == null || otherFunc == func) {
19 | return data.name;
20 | }
21 | }
22 | return result;
23 | }
24 |
25 | module.exports = getFuncName;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/getLength.js:
--------------------------------------------------------------------------------
1 | var baseProperty = require('./baseProperty');
2 |
3 | /**
4 | * Gets the "length" property value of `object`.
5 | *
6 | * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
7 | * that affects Safari on at least iOS 8.1-8.3 ARM64.
8 | *
9 | * @private
10 | * @param {Object} object The object to query.
11 | * @returns {*} Returns the "length" value.
12 | */
13 | var getLength = baseProperty('length');
14 |
15 | module.exports = getLength;
16 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/getMatchData.js:
--------------------------------------------------------------------------------
1 | var isStrictComparable = require('./isStrictComparable'),
2 | pairs = require('../object/pairs');
3 |
4 | /**
5 | * Gets the propery names, values, and compare flags of `object`.
6 | *
7 | * @private
8 | * @param {Object} object The object to query.
9 | * @returns {Array} Returns the match data of `object`.
10 | */
11 | function getMatchData(object) {
12 | var result = pairs(object),
13 | length = result.length;
14 |
15 | while (length--) {
16 | result[length][2] = isStrictComparable(result[length][1]);
17 | }
18 | return result;
19 | }
20 |
21 | module.exports = getMatchData;
22 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/getNative.js:
--------------------------------------------------------------------------------
1 | var isNative = require('../lang/isNative');
2 |
3 | /**
4 | * Gets the native function at `key` of `object`.
5 | *
6 | * @private
7 | * @param {Object} object The object to query.
8 | * @param {string} key The key of the method to get.
9 | * @returns {*} Returns the function if it's native, else `undefined`.
10 | */
11 | function getNative(object, key) {
12 | var value = object == null ? undefined : object[key];
13 | return isNative(value) ? value : undefined;
14 | }
15 |
16 | module.exports = getNative;
17 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/indexOfNaN.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Gets the index at which the first occurrence of `NaN` is found in `array`.
3 | *
4 | * @private
5 | * @param {Array} array The array to search.
6 | * @param {number} fromIndex The index to search from.
7 | * @param {boolean} [fromRight] Specify iterating from right to left.
8 | * @returns {number} Returns the index of the matched `NaN`, else `-1`.
9 | */
10 | function indexOfNaN(array, fromIndex, fromRight) {
11 | var length = array.length,
12 | index = fromIndex + (fromRight ? 0 : -1);
13 |
14 | while ((fromRight ? index-- : ++index < length)) {
15 | var other = array[index];
16 | if (other !== other) {
17 | return index;
18 | }
19 | }
20 | return -1;
21 | }
22 |
23 | module.exports = indexOfNaN;
24 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/initCloneArray.js:
--------------------------------------------------------------------------------
1 | /** Used for native method references. */
2 | var objectProto = Object.prototype;
3 |
4 | /** Used to check objects for own properties. */
5 | var hasOwnProperty = objectProto.hasOwnProperty;
6 |
7 | /**
8 | * Initializes an array clone.
9 | *
10 | * @private
11 | * @param {Array} array The array to clone.
12 | * @returns {Array} Returns the initialized clone.
13 | */
14 | function initCloneArray(array) {
15 | var length = array.length,
16 | result = new array.constructor(length);
17 |
18 | // Add array properties assigned by `RegExp#exec`.
19 | if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
20 | result.index = array.index;
21 | result.input = array.input;
22 | }
23 | return result;
24 | }
25 |
26 | module.exports = initCloneArray;
27 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/initCloneObject.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Initializes an object clone.
3 | *
4 | * @private
5 | * @param {Object} object The object to clone.
6 | * @returns {Object} Returns the initialized clone.
7 | */
8 | function initCloneObject(object) {
9 | var Ctor = object.constructor;
10 | if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {
11 | Ctor = Object;
12 | }
13 | return new Ctor;
14 | }
15 |
16 | module.exports = initCloneObject;
17 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/invokePath.js:
--------------------------------------------------------------------------------
1 | var baseGet = require('./baseGet'),
2 | baseSlice = require('./baseSlice'),
3 | isKey = require('./isKey'),
4 | last = require('../array/last'),
5 | toPath = require('./toPath');
6 |
7 | /**
8 | * Invokes the method at `path` on `object`.
9 | *
10 | * @private
11 | * @param {Object} object The object to query.
12 | * @param {Array|string} path The path of the method to invoke.
13 | * @param {Array} args The arguments to invoke the method with.
14 | * @returns {*} Returns the result of the invoked method.
15 | */
16 | function invokePath(object, path, args) {
17 | if (object != null && !isKey(path, object)) {
18 | path = toPath(path);
19 | object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
20 | path = last(path);
21 | }
22 | var func = object == null ? object : object[path];
23 | return func == null ? undefined : func.apply(object, args);
24 | }
25 |
26 | module.exports = invokePath;
27 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/isArrayLike.js:
--------------------------------------------------------------------------------
1 | var getLength = require('./getLength'),
2 | isLength = require('./isLength');
3 |
4 | /**
5 | * Checks if `value` is array-like.
6 | *
7 | * @private
8 | * @param {*} value The value to check.
9 | * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
10 | */
11 | function isArrayLike(value) {
12 | return value != null && isLength(getLength(value));
13 | }
14 |
15 | module.exports = isArrayLike;
16 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/isIndex.js:
--------------------------------------------------------------------------------
1 | /** Used to detect unsigned integer values. */
2 | var reIsUint = /^\d+$/;
3 |
4 | /**
5 | * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
6 | * of an array-like value.
7 | */
8 | var MAX_SAFE_INTEGER = 9007199254740991;
9 |
10 | /**
11 | * Checks if `value` is a valid array-like index.
12 | *
13 | * @private
14 | * @param {*} value The value to check.
15 | * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
16 | * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
17 | */
18 | function isIndex(value, length) {
19 | value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;
20 | length = length == null ? MAX_SAFE_INTEGER : length;
21 | return value > -1 && value % 1 == 0 && value < length;
22 | }
23 |
24 | module.exports = isIndex;
25 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/isKey.js:
--------------------------------------------------------------------------------
1 | var isArray = require('../lang/isArray'),
2 | toObject = require('./toObject');
3 |
4 | /** Used to match property names within property paths. */
5 | var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,
6 | reIsPlainProp = /^\w*$/;
7 |
8 | /**
9 | * Checks if `value` is a property name and not a property path.
10 | *
11 | * @private
12 | * @param {*} value The value to check.
13 | * @param {Object} [object] The object to query keys on.
14 | * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
15 | */
16 | function isKey(value, object) {
17 | var type = typeof value;
18 | if ((type == 'string' && reIsPlainProp.test(value)) || type == 'number') {
19 | return true;
20 | }
21 | if (isArray(value)) {
22 | return false;
23 | }
24 | var result = !reIsDeepProp.test(value);
25 | return result || (object != null && value in toObject(object));
26 | }
27 |
28 | module.exports = isKey;
29 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/isLaziable.js:
--------------------------------------------------------------------------------
1 | var LazyWrapper = require('./LazyWrapper'),
2 | getData = require('./getData'),
3 | getFuncName = require('./getFuncName'),
4 | lodash = require('../chain/lodash');
5 |
6 | /**
7 | * Checks if `func` has a lazy counterpart.
8 | *
9 | * @private
10 | * @param {Function} func The function to check.
11 | * @returns {boolean} Returns `true` if `func` has a lazy counterpart, else `false`.
12 | */
13 | function isLaziable(func) {
14 | var funcName = getFuncName(func),
15 | other = lodash[funcName];
16 |
17 | if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {
18 | return false;
19 | }
20 | if (func === other) {
21 | return true;
22 | }
23 | var data = getData(other);
24 | return !!data && func === data[0];
25 | }
26 |
27 | module.exports = isLaziable;
28 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/isLength.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
3 | * of an array-like value.
4 | */
5 | var MAX_SAFE_INTEGER = 9007199254740991;
6 |
7 | /**
8 | * Checks if `value` is a valid array-like length.
9 | *
10 | * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
11 | *
12 | * @private
13 | * @param {*} value The value to check.
14 | * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
15 | */
16 | function isLength(value) {
17 | return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
18 | }
19 |
20 | module.exports = isLength;
21 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/isObjectLike.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Checks if `value` is object-like.
3 | *
4 | * @private
5 | * @param {*} value The value to check.
6 | * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
7 | */
8 | function isObjectLike(value) {
9 | return !!value && typeof value == 'object';
10 | }
11 |
12 | module.exports = isObjectLike;
13 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/isSpace.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Used by `trimmedLeftIndex` and `trimmedRightIndex` to determine if a
3 | * character code is whitespace.
4 | *
5 | * @private
6 | * @param {number} charCode The character code to inspect.
7 | * @returns {boolean} Returns `true` if `charCode` is whitespace, else `false`.
8 | */
9 | function isSpace(charCode) {
10 | return ((charCode <= 160 && (charCode >= 9 && charCode <= 13) || charCode == 32 || charCode == 160) || charCode == 5760 || charCode == 6158 ||
11 | (charCode >= 8192 && (charCode <= 8202 || charCode == 8232 || charCode == 8233 || charCode == 8239 || charCode == 8287 || charCode == 12288 || charCode == 65279)));
12 | }
13 |
14 | module.exports = isSpace;
15 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/isStrictComparable.js:
--------------------------------------------------------------------------------
1 | var isObject = require('../lang/isObject');
2 |
3 | /**
4 | * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
5 | *
6 | * @private
7 | * @param {*} value The value to check.
8 | * @returns {boolean} Returns `true` if `value` if suitable for strict
9 | * equality comparisons, else `false`.
10 | */
11 | function isStrictComparable(value) {
12 | return value === value && !isObject(value);
13 | }
14 |
15 | module.exports = isStrictComparable;
16 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/lazyClone.js:
--------------------------------------------------------------------------------
1 | var LazyWrapper = require('./LazyWrapper'),
2 | arrayCopy = require('./arrayCopy');
3 |
4 | /**
5 | * Creates a clone of the lazy wrapper object.
6 | *
7 | * @private
8 | * @name clone
9 | * @memberOf LazyWrapper
10 | * @returns {Object} Returns the cloned `LazyWrapper` object.
11 | */
12 | function lazyClone() {
13 | var result = new LazyWrapper(this.__wrapped__);
14 | result.__actions__ = arrayCopy(this.__actions__);
15 | result.__dir__ = this.__dir__;
16 | result.__filtered__ = this.__filtered__;
17 | result.__iteratees__ = arrayCopy(this.__iteratees__);
18 | result.__takeCount__ = this.__takeCount__;
19 | result.__views__ = arrayCopy(this.__views__);
20 | return result;
21 | }
22 |
23 | module.exports = lazyClone;
24 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/lazyReverse.js:
--------------------------------------------------------------------------------
1 | var LazyWrapper = require('./LazyWrapper');
2 |
3 | /**
4 | * Reverses the direction of lazy iteration.
5 | *
6 | * @private
7 | * @name reverse
8 | * @memberOf LazyWrapper
9 | * @returns {Object} Returns the new reversed `LazyWrapper` object.
10 | */
11 | function lazyReverse() {
12 | if (this.__filtered__) {
13 | var result = new LazyWrapper(this);
14 | result.__dir__ = -1;
15 | result.__filtered__ = true;
16 | } else {
17 | result = this.clone();
18 | result.__dir__ *= -1;
19 | }
20 | return result;
21 | }
22 |
23 | module.exports = lazyReverse;
24 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/mapDelete.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Removes `key` and its value from the cache.
3 | *
4 | * @private
5 | * @name delete
6 | * @memberOf _.memoize.Cache
7 | * @param {string} key The key of the value to remove.
8 | * @returns {boolean} Returns `true` if the entry was removed successfully, else `false`.
9 | */
10 | function mapDelete(key) {
11 | return this.has(key) && delete this.__data__[key];
12 | }
13 |
14 | module.exports = mapDelete;
15 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/mapGet.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Gets the cached value for `key`.
3 | *
4 | * @private
5 | * @name get
6 | * @memberOf _.memoize.Cache
7 | * @param {string} key The key of the value to get.
8 | * @returns {*} Returns the cached value.
9 | */
10 | function mapGet(key) {
11 | return key == '__proto__' ? undefined : this.__data__[key];
12 | }
13 |
14 | module.exports = mapGet;
15 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/mapHas.js:
--------------------------------------------------------------------------------
1 | /** Used for native method references. */
2 | var objectProto = Object.prototype;
3 |
4 | /** Used to check objects for own properties. */
5 | var hasOwnProperty = objectProto.hasOwnProperty;
6 |
7 | /**
8 | * Checks if a cached value for `key` exists.
9 | *
10 | * @private
11 | * @name has
12 | * @memberOf _.memoize.Cache
13 | * @param {string} key The key of the entry to check.
14 | * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
15 | */
16 | function mapHas(key) {
17 | return key != '__proto__' && hasOwnProperty.call(this.__data__, key);
18 | }
19 |
20 | module.exports = mapHas;
21 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/mapSet.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Sets `value` to `key` of the cache.
3 | *
4 | * @private
5 | * @name set
6 | * @memberOf _.memoize.Cache
7 | * @param {string} key The key of the value to cache.
8 | * @param {*} value The value to cache.
9 | * @returns {Object} Returns the cache object.
10 | */
11 | function mapSet(key, value) {
12 | if (key != '__proto__') {
13 | this.__data__[key] = value;
14 | }
15 | return this;
16 | }
17 |
18 | module.exports = mapSet;
19 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/mergeDefaults.js:
--------------------------------------------------------------------------------
1 | var merge = require('../object/merge');
2 |
3 | /**
4 | * Used by `_.defaultsDeep` to customize its `_.merge` use.
5 | *
6 | * @private
7 | * @param {*} objectValue The destination object property value.
8 | * @param {*} sourceValue The source object property value.
9 | * @returns {*} Returns the value to assign to the destination object.
10 | */
11 | function mergeDefaults(objectValue, sourceValue) {
12 | return objectValue === undefined ? sourceValue : merge(objectValue, sourceValue, mergeDefaults);
13 | }
14 |
15 | module.exports = mergeDefaults;
16 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/metaMap.js:
--------------------------------------------------------------------------------
1 | var getNative = require('./getNative');
2 |
3 | /** Native method references. */
4 | var WeakMap = getNative(global, 'WeakMap');
5 |
6 | /** Used to store function metadata. */
7 | var metaMap = WeakMap && new WeakMap;
8 |
9 | module.exports = metaMap;
10 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/pickByArray.js:
--------------------------------------------------------------------------------
1 | var toObject = require('./toObject');
2 |
3 | /**
4 | * A specialized version of `_.pick` which picks `object` properties specified
5 | * by `props`.
6 | *
7 | * @private
8 | * @param {Object} object The source object.
9 | * @param {string[]} props The property names to pick.
10 | * @returns {Object} Returns the new object.
11 | */
12 | function pickByArray(object, props) {
13 | object = toObject(object);
14 |
15 | var index = -1,
16 | length = props.length,
17 | result = {};
18 |
19 | while (++index < length) {
20 | var key = props[index];
21 | if (key in object) {
22 | result[key] = object[key];
23 | }
24 | }
25 | return result;
26 | }
27 |
28 | module.exports = pickByArray;
29 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/pickByCallback.js:
--------------------------------------------------------------------------------
1 | var baseForIn = require('./baseForIn');
2 |
3 | /**
4 | * A specialized version of `_.pick` which picks `object` properties `predicate`
5 | * returns truthy for.
6 | *
7 | * @private
8 | * @param {Object} object The source object.
9 | * @param {Function} predicate The function invoked per iteration.
10 | * @returns {Object} Returns the new object.
11 | */
12 | function pickByCallback(object, predicate) {
13 | var result = {};
14 | baseForIn(object, function(value, key, object) {
15 | if (predicate(value, key, object)) {
16 | result[key] = value;
17 | }
18 | });
19 | return result;
20 | }
21 |
22 | module.exports = pickByCallback;
23 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/reEscape.js:
--------------------------------------------------------------------------------
1 | /** Used to match template delimiters. */
2 | var reEscape = /<%-([\s\S]+?)%>/g;
3 |
4 | module.exports = reEscape;
5 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/reEvaluate.js:
--------------------------------------------------------------------------------
1 | /** Used to match template delimiters. */
2 | var reEvaluate = /<%([\s\S]+?)%>/g;
3 |
4 | module.exports = reEvaluate;
5 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/reInterpolate.js:
--------------------------------------------------------------------------------
1 | /** Used to match template delimiters. */
2 | var reInterpolate = /<%=([\s\S]+?)%>/g;
3 |
4 | module.exports = reInterpolate;
5 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/realNames.js:
--------------------------------------------------------------------------------
1 | /** Used to lookup unminified function names. */
2 | var realNames = {};
3 |
4 | module.exports = realNames;
5 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/replaceHolders.js:
--------------------------------------------------------------------------------
1 | /** Used as the internal argument placeholder. */
2 | var PLACEHOLDER = '__lodash_placeholder__';
3 |
4 | /**
5 | * Replaces all `placeholder` elements in `array` with an internal placeholder
6 | * and returns an array of their indexes.
7 | *
8 | * @private
9 | * @param {Array} array The array to modify.
10 | * @param {*} placeholder The placeholder to replace.
11 | * @returns {Array} Returns the new array of placeholder indexes.
12 | */
13 | function replaceHolders(array, placeholder) {
14 | var index = -1,
15 | length = array.length,
16 | resIndex = -1,
17 | result = [];
18 |
19 | while (++index < length) {
20 | if (array[index] === placeholder) {
21 | array[index] = PLACEHOLDER;
22 | result[++resIndex] = index;
23 | }
24 | }
25 | return result;
26 | }
27 |
28 | module.exports = replaceHolders;
29 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/sortedUniq.js:
--------------------------------------------------------------------------------
1 | /**
2 | * An implementation of `_.uniq` optimized for sorted arrays without support
3 | * for callback shorthands and `this` binding.
4 | *
5 | * @private
6 | * @param {Array} array The array to inspect.
7 | * @param {Function} [iteratee] The function invoked per iteration.
8 | * @returns {Array} Returns the new duplicate free array.
9 | */
10 | function sortedUniq(array, iteratee) {
11 | var seen,
12 | index = -1,
13 | length = array.length,
14 | resIndex = -1,
15 | result = [];
16 |
17 | while (++index < length) {
18 | var value = array[index],
19 | computed = iteratee ? iteratee(value, index, array) : value;
20 |
21 | if (!index || seen !== computed) {
22 | seen = computed;
23 | result[++resIndex] = value;
24 | }
25 | }
26 | return result;
27 | }
28 |
29 | module.exports = sortedUniq;
30 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/toIterable.js:
--------------------------------------------------------------------------------
1 | var isArrayLike = require('./isArrayLike'),
2 | isObject = require('../lang/isObject'),
3 | values = require('../object/values');
4 |
5 | /**
6 | * Converts `value` to an array-like object if it's not one.
7 | *
8 | * @private
9 | * @param {*} value The value to process.
10 | * @returns {Array|Object} Returns the array-like object.
11 | */
12 | function toIterable(value) {
13 | if (value == null) {
14 | return [];
15 | }
16 | if (!isArrayLike(value)) {
17 | return values(value);
18 | }
19 | return isObject(value) ? value : Object(value);
20 | }
21 |
22 | module.exports = toIterable;
23 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/toObject.js:
--------------------------------------------------------------------------------
1 | var isObject = require('../lang/isObject');
2 |
3 | /**
4 | * Converts `value` to an object if it's not one.
5 | *
6 | * @private
7 | * @param {*} value The value to process.
8 | * @returns {Object} Returns the object.
9 | */
10 | function toObject(value) {
11 | return isObject(value) ? value : Object(value);
12 | }
13 |
14 | module.exports = toObject;
15 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/toPath.js:
--------------------------------------------------------------------------------
1 | var baseToString = require('./baseToString'),
2 | isArray = require('../lang/isArray');
3 |
4 | /** Used to match property names within property paths. */
5 | var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;
6 |
7 | /** Used to match backslashes in property paths. */
8 | var reEscapeChar = /\\(\\)?/g;
9 |
10 | /**
11 | * Converts `value` to property path array if it's not one.
12 | *
13 | * @private
14 | * @param {*} value The value to process.
15 | * @returns {Array} Returns the property path array.
16 | */
17 | function toPath(value) {
18 | if (isArray(value)) {
19 | return value;
20 | }
21 | var result = [];
22 | baseToString(value).replace(rePropName, function(match, number, quote, string) {
23 | result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
24 | });
25 | return result;
26 | }
27 |
28 | module.exports = toPath;
29 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/trimmedLeftIndex.js:
--------------------------------------------------------------------------------
1 | var isSpace = require('./isSpace');
2 |
3 | /**
4 | * Used by `_.trim` and `_.trimLeft` to get the index of the first non-whitespace
5 | * character of `string`.
6 | *
7 | * @private
8 | * @param {string} string The string to inspect.
9 | * @returns {number} Returns the index of the first non-whitespace character.
10 | */
11 | function trimmedLeftIndex(string) {
12 | var index = -1,
13 | length = string.length;
14 |
15 | while (++index < length && isSpace(string.charCodeAt(index))) {}
16 | return index;
17 | }
18 |
19 | module.exports = trimmedLeftIndex;
20 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/trimmedRightIndex.js:
--------------------------------------------------------------------------------
1 | var isSpace = require('./isSpace');
2 |
3 | /**
4 | * Used by `_.trim` and `_.trimRight` to get the index of the last non-whitespace
5 | * character of `string`.
6 | *
7 | * @private
8 | * @param {string} string The string to inspect.
9 | * @returns {number} Returns the index of the last non-whitespace character.
10 | */
11 | function trimmedRightIndex(string) {
12 | var index = string.length;
13 |
14 | while (index-- && isSpace(string.charCodeAt(index))) {}
15 | return index;
16 | }
17 |
18 | module.exports = trimmedRightIndex;
19 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/unescapeHtmlChar.js:
--------------------------------------------------------------------------------
1 | /** Used to map HTML entities to characters. */
2 | var htmlUnescapes = {
3 | '&': '&',
4 | '<': '<',
5 | '>': '>',
6 | '"': '"',
7 | ''': "'",
8 | '`': '`'
9 | };
10 |
11 | /**
12 | * Used by `_.unescape` to convert HTML entities to characters.
13 | *
14 | * @private
15 | * @param {string} chr The matched character to unescape.
16 | * @returns {string} Returns the unescaped character.
17 | */
18 | function unescapeHtmlChar(chr) {
19 | return htmlUnescapes[chr];
20 | }
21 |
22 | module.exports = unescapeHtmlChar;
23 |
--------------------------------------------------------------------------------
/node_modules/lodash/internal/wrapperClone.js:
--------------------------------------------------------------------------------
1 | var LazyWrapper = require('./LazyWrapper'),
2 | LodashWrapper = require('./LodashWrapper'),
3 | arrayCopy = require('./arrayCopy');
4 |
5 | /**
6 | * Creates a clone of `wrapper`.
7 | *
8 | * @private
9 | * @param {Object} wrapper The wrapper to clone.
10 | * @returns {Object} Returns the cloned wrapper.
11 | */
12 | function wrapperClone(wrapper) {
13 | return wrapper instanceof LazyWrapper
14 | ? wrapper.clone()
15 | : new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__, arrayCopy(wrapper.__actions__));
16 | }
17 |
18 | module.exports = wrapperClone;
19 |
--------------------------------------------------------------------------------
/node_modules/lodash/lang/eq.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./isEqual');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/lang/gt.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Checks if `value` is greater than `other`.
3 | *
4 | * @static
5 | * @memberOf _
6 | * @category Lang
7 | * @param {*} value The value to compare.
8 | * @param {*} other The other value to compare.
9 | * @returns {boolean} Returns `true` if `value` is greater than `other`, else `false`.
10 | * @example
11 | *
12 | * _.gt(3, 1);
13 | * // => true
14 | *
15 | * _.gt(3, 3);
16 | * // => false
17 | *
18 | * _.gt(1, 3);
19 | * // => false
20 | */
21 | function gt(value, other) {
22 | return value > other;
23 | }
24 |
25 | module.exports = gt;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/lang/gte.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Checks if `value` is greater than or equal to `other`.
3 | *
4 | * @static
5 | * @memberOf _
6 | * @category Lang
7 | * @param {*} value The value to compare.
8 | * @param {*} other The other value to compare.
9 | * @returns {boolean} Returns `true` if `value` is greater than or equal to `other`, else `false`.
10 | * @example
11 | *
12 | * _.gte(3, 1);
13 | * // => true
14 | *
15 | * _.gte(3, 3);
16 | * // => true
17 | *
18 | * _.gte(1, 3);
19 | * // => false
20 | */
21 | function gte(value, other) {
22 | return value >= other;
23 | }
24 |
25 | module.exports = gte;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/lang/isElement.js:
--------------------------------------------------------------------------------
1 | var isObjectLike = require('../internal/isObjectLike'),
2 | isPlainObject = require('./isPlainObject');
3 |
4 | /**
5 | * Checks if `value` is a DOM element.
6 | *
7 | * @static
8 | * @memberOf _
9 | * @category Lang
10 | * @param {*} value The value to check.
11 | * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.
12 | * @example
13 | *
14 | * _.isElement(document.body);
15 | * // => true
16 | *
17 | * _.isElement('');
18 | * // => false
19 | */
20 | function isElement(value) {
21 | return !!value && value.nodeType === 1 && isObjectLike(value) && !isPlainObject(value);
22 | }
23 |
24 | module.exports = isElement;
25 |
--------------------------------------------------------------------------------
/node_modules/lodash/lang/isFinite.js:
--------------------------------------------------------------------------------
1 | /* Native method references for those with the same name as other `lodash` methods. */
2 | var nativeIsFinite = global.isFinite;
3 |
4 | /**
5 | * Checks if `value` is a finite primitive number.
6 | *
7 | * **Note:** This method is based on [`Number.isFinite`](http://ecma-international.org/ecma-262/6.0/#sec-number.isfinite).
8 | *
9 | * @static
10 | * @memberOf _
11 | * @category Lang
12 | * @param {*} value The value to check.
13 | * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
14 | * @example
15 | *
16 | * _.isFinite(10);
17 | * // => true
18 | *
19 | * _.isFinite('10');
20 | * // => false
21 | *
22 | * _.isFinite(true);
23 | * // => false
24 | *
25 | * _.isFinite(Object(10));
26 | * // => false
27 | *
28 | * _.isFinite(Infinity);
29 | * // => false
30 | */
31 | function isFinite(value) {
32 | return typeof value == 'number' && nativeIsFinite(value);
33 | }
34 |
35 | module.exports = isFinite;
36 |
--------------------------------------------------------------------------------
/node_modules/lodash/lang/isNaN.js:
--------------------------------------------------------------------------------
1 | var isNumber = require('./isNumber');
2 |
3 | /**
4 | * Checks if `value` is `NaN`.
5 | *
6 | * **Note:** This method is not the same as [`isNaN`](https://es5.github.io/#x15.1.2.4)
7 | * which returns `true` for `undefined` and other non-numeric values.
8 | *
9 | * @static
10 | * @memberOf _
11 | * @category Lang
12 | * @param {*} value The value to check.
13 | * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
14 | * @example
15 | *
16 | * _.isNaN(NaN);
17 | * // => true
18 | *
19 | * _.isNaN(new Number(NaN));
20 | * // => true
21 | *
22 | * isNaN(undefined);
23 | * // => true
24 | *
25 | * _.isNaN(undefined);
26 | * // => false
27 | */
28 | function isNaN(value) {
29 | // An `NaN` primitive is the only value that is not equal to itself.
30 | // Perform the `toStringTag` check first to avoid errors with some host objects in IE.
31 | return isNumber(value) && value != +value;
32 | }
33 |
34 | module.exports = isNaN;
35 |
--------------------------------------------------------------------------------
/node_modules/lodash/lang/isNull.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Checks if `value` is `null`.
3 | *
4 | * @static
5 | * @memberOf _
6 | * @category Lang
7 | * @param {*} value The value to check.
8 | * @returns {boolean} Returns `true` if `value` is `null`, else `false`.
9 | * @example
10 | *
11 | * _.isNull(null);
12 | * // => true
13 | *
14 | * _.isNull(void 0);
15 | * // => false
16 | */
17 | function isNull(value) {
18 | return value === null;
19 | }
20 |
21 | module.exports = isNull;
22 |
--------------------------------------------------------------------------------
/node_modules/lodash/lang/isObject.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
3 | * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
4 | *
5 | * @static
6 | * @memberOf _
7 | * @category Lang
8 | * @param {*} value The value to check.
9 | * @returns {boolean} Returns `true` if `value` is an object, else `false`.
10 | * @example
11 | *
12 | * _.isObject({});
13 | * // => true
14 | *
15 | * _.isObject([1, 2, 3]);
16 | * // => true
17 | *
18 | * _.isObject(1);
19 | * // => false
20 | */
21 | function isObject(value) {
22 | // Avoid a V8 JIT bug in Chrome 19-20.
23 | // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
24 | var type = typeof value;
25 | return !!value && (type == 'object' || type == 'function');
26 | }
27 |
28 | module.exports = isObject;
29 |
--------------------------------------------------------------------------------
/node_modules/lodash/lang/isUndefined.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Checks if `value` is `undefined`.
3 | *
4 | * @static
5 | * @memberOf _
6 | * @category Lang
7 | * @param {*} value The value to check.
8 | * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
9 | * @example
10 | *
11 | * _.isUndefined(void 0);
12 | * // => true
13 | *
14 | * _.isUndefined(null);
15 | * // => false
16 | */
17 | function isUndefined(value) {
18 | return value === undefined;
19 | }
20 |
21 | module.exports = isUndefined;
22 |
--------------------------------------------------------------------------------
/node_modules/lodash/lang/lt.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Checks if `value` is less than `other`.
3 | *
4 | * @static
5 | * @memberOf _
6 | * @category Lang
7 | * @param {*} value The value to compare.
8 | * @param {*} other The other value to compare.
9 | * @returns {boolean} Returns `true` if `value` is less than `other`, else `false`.
10 | * @example
11 | *
12 | * _.lt(1, 3);
13 | * // => true
14 | *
15 | * _.lt(3, 3);
16 | * // => false
17 | *
18 | * _.lt(3, 1);
19 | * // => false
20 | */
21 | function lt(value, other) {
22 | return value < other;
23 | }
24 |
25 | module.exports = lt;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/lang/lte.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Checks if `value` is less than or equal to `other`.
3 | *
4 | * @static
5 | * @memberOf _
6 | * @category Lang
7 | * @param {*} value The value to compare.
8 | * @param {*} other The other value to compare.
9 | * @returns {boolean} Returns `true` if `value` is less than or equal to `other`, else `false`.
10 | * @example
11 | *
12 | * _.lte(1, 3);
13 | * // => true
14 | *
15 | * _.lte(3, 3);
16 | * // => true
17 | *
18 | * _.lte(3, 1);
19 | * // => false
20 | */
21 | function lte(value, other) {
22 | return value <= other;
23 | }
24 |
25 | module.exports = lte;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/lang/toArray.js:
--------------------------------------------------------------------------------
1 | var arrayCopy = require('../internal/arrayCopy'),
2 | getLength = require('../internal/getLength'),
3 | isLength = require('../internal/isLength'),
4 | values = require('../object/values');
5 |
6 | /**
7 | * Converts `value` to an array.
8 | *
9 | * @static
10 | * @memberOf _
11 | * @category Lang
12 | * @param {*} value The value to convert.
13 | * @returns {Array} Returns the converted array.
14 | * @example
15 | *
16 | * (function() {
17 | * return _.toArray(arguments).slice(1);
18 | * }(1, 2, 3));
19 | * // => [2, 3]
20 | */
21 | function toArray(value) {
22 | var length = value ? getLength(value) : 0;
23 | if (!isLength(length)) {
24 | return values(value);
25 | }
26 | if (!length) {
27 | return [];
28 | }
29 | return arrayCopy(value);
30 | }
31 |
32 | module.exports = toArray;
33 |
--------------------------------------------------------------------------------
/node_modules/lodash/lang/toPlainObject.js:
--------------------------------------------------------------------------------
1 | var baseCopy = require('../internal/baseCopy'),
2 | keysIn = require('../object/keysIn');
3 |
4 | /**
5 | * Converts `value` to a plain object flattening inherited enumerable
6 | * properties of `value` to own properties of the plain object.
7 | *
8 | * @static
9 | * @memberOf _
10 | * @category Lang
11 | * @param {*} value The value to convert.
12 | * @returns {Object} Returns the converted plain object.
13 | * @example
14 | *
15 | * function Foo() {
16 | * this.b = 2;
17 | * }
18 | *
19 | * Foo.prototype.c = 3;
20 | *
21 | * _.assign({ 'a': 1 }, new Foo);
22 | * // => { 'a': 1, 'b': 2 }
23 | *
24 | * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
25 | * // => { 'a': 1, 'b': 2, 'c': 3 }
26 | */
27 | function toPlainObject(value) {
28 | return baseCopy(value, keysIn(value));
29 | }
30 |
31 | module.exports = toPlainObject;
32 |
--------------------------------------------------------------------------------
/node_modules/lodash/math.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | 'add': require('./math/add'),
3 | 'ceil': require('./math/ceil'),
4 | 'floor': require('./math/floor'),
5 | 'max': require('./math/max'),
6 | 'min': require('./math/min'),
7 | 'round': require('./math/round'),
8 | 'sum': require('./math/sum')
9 | };
10 |
--------------------------------------------------------------------------------
/node_modules/lodash/math/add.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Adds two numbers.
3 | *
4 | * @static
5 | * @memberOf _
6 | * @category Math
7 | * @param {number} augend The first number to add.
8 | * @param {number} addend The second number to add.
9 | * @returns {number} Returns the sum.
10 | * @example
11 | *
12 | * _.add(6, 4);
13 | * // => 10
14 | */
15 | function add(augend, addend) {
16 | return (+augend || 0) + (+addend || 0);
17 | }
18 |
19 | module.exports = add;
20 |
--------------------------------------------------------------------------------
/node_modules/lodash/math/ceil.js:
--------------------------------------------------------------------------------
1 | var createRound = require('../internal/createRound');
2 |
3 | /**
4 | * Calculates `n` rounded up to `precision`.
5 | *
6 | * @static
7 | * @memberOf _
8 | * @category Math
9 | * @param {number} n The number to round up.
10 | * @param {number} [precision=0] The precision to round up to.
11 | * @returns {number} Returns the rounded up number.
12 | * @example
13 | *
14 | * _.ceil(4.006);
15 | * // => 5
16 | *
17 | * _.ceil(6.004, 2);
18 | * // => 6.01
19 | *
20 | * _.ceil(6040, -2);
21 | * // => 6100
22 | */
23 | var ceil = createRound('ceil');
24 |
25 | module.exports = ceil;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/math/floor.js:
--------------------------------------------------------------------------------
1 | var createRound = require('../internal/createRound');
2 |
3 | /**
4 | * Calculates `n` rounded down to `precision`.
5 | *
6 | * @static
7 | * @memberOf _
8 | * @category Math
9 | * @param {number} n The number to round down.
10 | * @param {number} [precision=0] The precision to round down to.
11 | * @returns {number} Returns the rounded down number.
12 | * @example
13 | *
14 | * _.floor(4.006);
15 | * // => 4
16 | *
17 | * _.floor(0.046, 2);
18 | * // => 0.04
19 | *
20 | * _.floor(4060, -2);
21 | * // => 4000
22 | */
23 | var floor = createRound('floor');
24 |
25 | module.exports = floor;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/math/round.js:
--------------------------------------------------------------------------------
1 | var createRound = require('../internal/createRound');
2 |
3 | /**
4 | * Calculates `n` rounded to `precision`.
5 | *
6 | * @static
7 | * @memberOf _
8 | * @category Math
9 | * @param {number} n The number to round.
10 | * @param {number} [precision=0] The precision to round to.
11 | * @returns {number} Returns the rounded number.
12 | * @example
13 | *
14 | * _.round(4.006);
15 | * // => 4
16 | *
17 | * _.round(4.006, 2);
18 | * // => 4.01
19 | *
20 | * _.round(4060, -2);
21 | * // => 4100
22 | */
23 | var round = createRound('round');
24 |
25 | module.exports = round;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/number.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | 'inRange': require('./number/inRange'),
3 | 'random': require('./number/random')
4 | };
5 |
--------------------------------------------------------------------------------
/node_modules/lodash/object/defaults.js:
--------------------------------------------------------------------------------
1 | var assign = require('./assign'),
2 | assignDefaults = require('../internal/assignDefaults'),
3 | createDefaults = require('../internal/createDefaults');
4 |
5 | /**
6 | * Assigns own enumerable properties of source object(s) to the destination
7 | * object for all destination properties that resolve to `undefined`. Once a
8 | * property is set, additional values of the same property are ignored.
9 | *
10 | * **Note:** This method mutates `object`.
11 | *
12 | * @static
13 | * @memberOf _
14 | * @category Object
15 | * @param {Object} object The destination object.
16 | * @param {...Object} [sources] The source objects.
17 | * @returns {Object} Returns `object`.
18 | * @example
19 | *
20 | * _.defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });
21 | * // => { 'user': 'barney', 'age': 36 }
22 | */
23 | var defaults = createDefaults(assign, assignDefaults);
24 |
25 | module.exports = defaults;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/object/defaultsDeep.js:
--------------------------------------------------------------------------------
1 | var createDefaults = require('../internal/createDefaults'),
2 | merge = require('./merge'),
3 | mergeDefaults = require('../internal/mergeDefaults');
4 |
5 | /**
6 | * This method is like `_.defaults` except that it recursively assigns
7 | * default properties.
8 | *
9 | * **Note:** This method mutates `object`.
10 | *
11 | * @static
12 | * @memberOf _
13 | * @category Object
14 | * @param {Object} object The destination object.
15 | * @param {...Object} [sources] The source objects.
16 | * @returns {Object} Returns `object`.
17 | * @example
18 | *
19 | * _.defaultsDeep({ 'user': { 'name': 'barney' } }, { 'user': { 'name': 'fred', 'age': 36 } });
20 | * // => { 'user': { 'name': 'barney', 'age': 36 } }
21 | *
22 | */
23 | var defaultsDeep = createDefaults(merge, mergeDefaults);
24 |
25 | module.exports = defaultsDeep;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/object/extend.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./assign');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/object/functions.js:
--------------------------------------------------------------------------------
1 | var baseFunctions = require('../internal/baseFunctions'),
2 | keysIn = require('./keysIn');
3 |
4 | /**
5 | * Creates an array of function property names from all enumerable properties,
6 | * own and inherited, of `object`.
7 | *
8 | * @static
9 | * @memberOf _
10 | * @alias methods
11 | * @category Object
12 | * @param {Object} object The object to inspect.
13 | * @returns {Array} Returns the new array of property names.
14 | * @example
15 | *
16 | * _.functions(_);
17 | * // => ['after', 'ary', 'assign', ...]
18 | */
19 | function functions(object) {
20 | return baseFunctions(object, keysIn(object));
21 | }
22 |
23 | module.exports = functions;
24 |
--------------------------------------------------------------------------------
/node_modules/lodash/object/mapKeys.js:
--------------------------------------------------------------------------------
1 | var createObjectMapper = require('../internal/createObjectMapper');
2 |
3 | /**
4 | * The opposite of `_.mapValues`; this method creates an object with the
5 | * same values as `object` and keys generated by running each own enumerable
6 | * property of `object` through `iteratee`.
7 | *
8 | * @static
9 | * @memberOf _
10 | * @category Object
11 | * @param {Object} object The object to iterate over.
12 | * @param {Function|Object|string} [iteratee=_.identity] The function invoked
13 | * per iteration.
14 | * @param {*} [thisArg] The `this` binding of `iteratee`.
15 | * @returns {Object} Returns the new mapped object.
16 | * @example
17 | *
18 | * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {
19 | * return key + value;
20 | * });
21 | * // => { 'a1': 1, 'b2': 2 }
22 | */
23 | var mapKeys = createObjectMapper(true);
24 |
25 | module.exports = mapKeys;
26 |
--------------------------------------------------------------------------------
/node_modules/lodash/object/methods.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./functions');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/object/pairs.js:
--------------------------------------------------------------------------------
1 | var keys = require('./keys'),
2 | toObject = require('../internal/toObject');
3 |
4 | /**
5 | * Creates a two dimensional array of the key-value pairs for `object`,
6 | * e.g. `[[key1, value1], [key2, value2]]`.
7 | *
8 | * @static
9 | * @memberOf _
10 | * @category Object
11 | * @param {Object} object The object to query.
12 | * @returns {Array} Returns the new array of key-value pairs.
13 | * @example
14 | *
15 | * _.pairs({ 'barney': 36, 'fred': 40 });
16 | * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed)
17 | */
18 | function pairs(object) {
19 | object = toObject(object);
20 |
21 | var index = -1,
22 | props = keys(object),
23 | length = props.length,
24 | result = Array(length);
25 |
26 | while (++index < length) {
27 | var key = props[index];
28 | result[index] = [key, object[key]];
29 | }
30 | return result;
31 | }
32 |
33 | module.exports = pairs;
34 |
--------------------------------------------------------------------------------
/node_modules/lodash/object/values.js:
--------------------------------------------------------------------------------
1 | var baseValues = require('../internal/baseValues'),
2 | keys = require('./keys');
3 |
4 | /**
5 | * Creates an array of the own enumerable property values of `object`.
6 | *
7 | * **Note:** Non-object values are coerced to objects.
8 | *
9 | * @static
10 | * @memberOf _
11 | * @category Object
12 | * @param {Object} object The object to query.
13 | * @returns {Array} Returns the array of property values.
14 | * @example
15 | *
16 | * function Foo() {
17 | * this.a = 1;
18 | * this.b = 2;
19 | * }
20 | *
21 | * Foo.prototype.c = 3;
22 | *
23 | * _.values(new Foo);
24 | * // => [1, 2] (iteration order is not guaranteed)
25 | *
26 | * _.values('hi');
27 | * // => ['h', 'i']
28 | */
29 | function values(object) {
30 | return baseValues(object, keys(object));
31 | }
32 |
33 | module.exports = values;
34 |
--------------------------------------------------------------------------------
/node_modules/lodash/object/valuesIn.js:
--------------------------------------------------------------------------------
1 | var baseValues = require('../internal/baseValues'),
2 | keysIn = require('./keysIn');
3 |
4 | /**
5 | * Creates an array of the own and inherited enumerable property values
6 | * of `object`.
7 | *
8 | * **Note:** Non-object values are coerced to objects.
9 | *
10 | * @static
11 | * @memberOf _
12 | * @category Object
13 | * @param {Object} object The object to query.
14 | * @returns {Array} Returns the array of property values.
15 | * @example
16 | *
17 | * function Foo() {
18 | * this.a = 1;
19 | * this.b = 2;
20 | * }
21 | *
22 | * Foo.prototype.c = 3;
23 | *
24 | * _.valuesIn(new Foo);
25 | * // => [1, 2, 3] (iteration order is not guaranteed)
26 | */
27 | function valuesIn(object) {
28 | return baseValues(object, keysIn(object));
29 | }
30 |
31 | module.exports = valuesIn;
32 |
--------------------------------------------------------------------------------
/node_modules/lodash/string/camelCase.js:
--------------------------------------------------------------------------------
1 | var createCompounder = require('../internal/createCompounder');
2 |
3 | /**
4 | * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).
5 | *
6 | * @static
7 | * @memberOf _
8 | * @category String
9 | * @param {string} [string=''] The string to convert.
10 | * @returns {string} Returns the camel cased string.
11 | * @example
12 | *
13 | * _.camelCase('Foo Bar');
14 | * // => 'fooBar'
15 | *
16 | * _.camelCase('--foo-bar');
17 | * // => 'fooBar'
18 | *
19 | * _.camelCase('__foo_bar__');
20 | * // => 'fooBar'
21 | */
22 | var camelCase = createCompounder(function(result, word, index) {
23 | word = word.toLowerCase();
24 | return result + (index ? (word.charAt(0).toUpperCase() + word.slice(1)) : word);
25 | });
26 |
27 | module.exports = camelCase;
28 |
--------------------------------------------------------------------------------
/node_modules/lodash/string/capitalize.js:
--------------------------------------------------------------------------------
1 | var baseToString = require('../internal/baseToString');
2 |
3 | /**
4 | * Capitalizes the first character of `string`.
5 | *
6 | * @static
7 | * @memberOf _
8 | * @category String
9 | * @param {string} [string=''] The string to capitalize.
10 | * @returns {string} Returns the capitalized string.
11 | * @example
12 | *
13 | * _.capitalize('fred');
14 | * // => 'Fred'
15 | */
16 | function capitalize(string) {
17 | string = baseToString(string);
18 | return string && (string.charAt(0).toUpperCase() + string.slice(1));
19 | }
20 |
21 | module.exports = capitalize;
22 |
--------------------------------------------------------------------------------
/node_modules/lodash/string/kebabCase.js:
--------------------------------------------------------------------------------
1 | var createCompounder = require('../internal/createCompounder');
2 |
3 | /**
4 | * Converts `string` to [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).
5 | *
6 | * @static
7 | * @memberOf _
8 | * @category String
9 | * @param {string} [string=''] The string to convert.
10 | * @returns {string} Returns the kebab cased string.
11 | * @example
12 | *
13 | * _.kebabCase('Foo Bar');
14 | * // => 'foo-bar'
15 | *
16 | * _.kebabCase('fooBar');
17 | * // => 'foo-bar'
18 | *
19 | * _.kebabCase('__foo_bar__');
20 | * // => 'foo-bar'
21 | */
22 | var kebabCase = createCompounder(function(result, word, index) {
23 | return result + (index ? '-' : '') + word.toLowerCase();
24 | });
25 |
26 | module.exports = kebabCase;
27 |
--------------------------------------------------------------------------------
/node_modules/lodash/string/padLeft.js:
--------------------------------------------------------------------------------
1 | var createPadDir = require('../internal/createPadDir');
2 |
3 | /**
4 | * Pads `string` on the left side if it's shorter than `length`. Padding
5 | * characters are truncated if they exceed `length`.
6 | *
7 | * @static
8 | * @memberOf _
9 | * @category String
10 | * @param {string} [string=''] The string to pad.
11 | * @param {number} [length=0] The padding length.
12 | * @param {string} [chars=' '] The string used as padding.
13 | * @returns {string} Returns the padded string.
14 | * @example
15 | *
16 | * _.padLeft('abc', 6);
17 | * // => ' abc'
18 | *
19 | * _.padLeft('abc', 6, '_-');
20 | * // => '_-_abc'
21 | *
22 | * _.padLeft('abc', 3);
23 | * // => 'abc'
24 | */
25 | var padLeft = createPadDir();
26 |
27 | module.exports = padLeft;
28 |
--------------------------------------------------------------------------------
/node_modules/lodash/string/padRight.js:
--------------------------------------------------------------------------------
1 | var createPadDir = require('../internal/createPadDir');
2 |
3 | /**
4 | * Pads `string` on the right side if it's shorter than `length`. Padding
5 | * characters are truncated if they exceed `length`.
6 | *
7 | * @static
8 | * @memberOf _
9 | * @category String
10 | * @param {string} [string=''] The string to pad.
11 | * @param {number} [length=0] The padding length.
12 | * @param {string} [chars=' '] The string used as padding.
13 | * @returns {string} Returns the padded string.
14 | * @example
15 | *
16 | * _.padRight('abc', 6);
17 | * // => 'abc '
18 | *
19 | * _.padRight('abc', 6, '_-');
20 | * // => 'abc_-_'
21 | *
22 | * _.padRight('abc', 3);
23 | * // => 'abc'
24 | */
25 | var padRight = createPadDir(true);
26 |
27 | module.exports = padRight;
28 |
--------------------------------------------------------------------------------
/node_modules/lodash/string/snakeCase.js:
--------------------------------------------------------------------------------
1 | var createCompounder = require('../internal/createCompounder');
2 |
3 | /**
4 | * Converts `string` to [snake case](https://en.wikipedia.org/wiki/Snake_case).
5 | *
6 | * @static
7 | * @memberOf _
8 | * @category String
9 | * @param {string} [string=''] The string to convert.
10 | * @returns {string} Returns the snake cased string.
11 | * @example
12 | *
13 | * _.snakeCase('Foo Bar');
14 | * // => 'foo_bar'
15 | *
16 | * _.snakeCase('fooBar');
17 | * // => 'foo_bar'
18 | *
19 | * _.snakeCase('--foo-bar');
20 | * // => 'foo_bar'
21 | */
22 | var snakeCase = createCompounder(function(result, word, index) {
23 | return result + (index ? '_' : '') + word.toLowerCase();
24 | });
25 |
26 | module.exports = snakeCase;
27 |
--------------------------------------------------------------------------------
/node_modules/lodash/string/startCase.js:
--------------------------------------------------------------------------------
1 | var createCompounder = require('../internal/createCompounder');
2 |
3 | /**
4 | * Converts `string` to [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).
5 | *
6 | * @static
7 | * @memberOf _
8 | * @category String
9 | * @param {string} [string=''] The string to convert.
10 | * @returns {string} Returns the start cased string.
11 | * @example
12 | *
13 | * _.startCase('--foo-bar');
14 | * // => 'Foo Bar'
15 | *
16 | * _.startCase('fooBar');
17 | * // => 'Foo Bar'
18 | *
19 | * _.startCase('__foo_bar__');
20 | * // => 'Foo Bar'
21 | */
22 | var startCase = createCompounder(function(result, word, index) {
23 | return result + (index ? ' ' : '') + (word.charAt(0).toUpperCase() + word.slice(1));
24 | });
25 |
26 | module.exports = startCase;
27 |
--------------------------------------------------------------------------------
/node_modules/lodash/support.js:
--------------------------------------------------------------------------------
1 | /**
2 | * An object environment feature flags.
3 | *
4 | * @static
5 | * @memberOf _
6 | * @type Object
7 | */
8 | var support = {};
9 |
10 | module.exports = support;
11 |
--------------------------------------------------------------------------------
/node_modules/lodash/utility.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | 'attempt': require('./utility/attempt'),
3 | 'callback': require('./utility/callback'),
4 | 'constant': require('./utility/constant'),
5 | 'identity': require('./utility/identity'),
6 | 'iteratee': require('./utility/iteratee'),
7 | 'matches': require('./utility/matches'),
8 | 'matchesProperty': require('./utility/matchesProperty'),
9 | 'method': require('./utility/method'),
10 | 'methodOf': require('./utility/methodOf'),
11 | 'mixin': require('./utility/mixin'),
12 | 'noop': require('./utility/noop'),
13 | 'property': require('./utility/property'),
14 | 'propertyOf': require('./utility/propertyOf'),
15 | 'range': require('./utility/range'),
16 | 'times': require('./utility/times'),
17 | 'uniqueId': require('./utility/uniqueId')
18 | };
19 |
--------------------------------------------------------------------------------
/node_modules/lodash/utility/constant.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Creates a function that returns `value`.
3 | *
4 | * @static
5 | * @memberOf _
6 | * @category Utility
7 | * @param {*} value The value to return from the new function.
8 | * @returns {Function} Returns the new function.
9 | * @example
10 | *
11 | * var object = { 'user': 'fred' };
12 | * var getter = _.constant(object);
13 | *
14 | * getter() === object;
15 | * // => true
16 | */
17 | function constant(value) {
18 | return function() {
19 | return value;
20 | };
21 | }
22 |
23 | module.exports = constant;
24 |
--------------------------------------------------------------------------------
/node_modules/lodash/utility/identity.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This method returns the first argument provided to it.
3 | *
4 | * @static
5 | * @memberOf _
6 | * @category Utility
7 | * @param {*} value Any value.
8 | * @returns {*} Returns `value`.
9 | * @example
10 | *
11 | * var object = { 'user': 'fred' };
12 | *
13 | * _.identity(object) === object;
14 | * // => true
15 | */
16 | function identity(value) {
17 | return value;
18 | }
19 |
20 | module.exports = identity;
21 |
--------------------------------------------------------------------------------
/node_modules/lodash/utility/iteratee.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./callback');
2 |
--------------------------------------------------------------------------------
/node_modules/lodash/utility/noop.js:
--------------------------------------------------------------------------------
1 | /**
2 | * A no-operation function that returns `undefined` regardless of the
3 | * arguments it receives.
4 | *
5 | * @static
6 | * @memberOf _
7 | * @category Utility
8 | * @example
9 | *
10 | * var object = { 'user': 'fred' };
11 | *
12 | * _.noop(object) === undefined;
13 | * // => true
14 | */
15 | function noop() {
16 | // No operation performed.
17 | }
18 |
19 | module.exports = noop;
20 |
--------------------------------------------------------------------------------
/node_modules/lodash/utility/property.js:
--------------------------------------------------------------------------------
1 | var baseProperty = require('../internal/baseProperty'),
2 | basePropertyDeep = require('../internal/basePropertyDeep'),
3 | isKey = require('../internal/isKey');
4 |
5 | /**
6 | * Creates a function that returns the property value at `path` on a
7 | * given object.
8 | *
9 | * @static
10 | * @memberOf _
11 | * @category Utility
12 | * @param {Array|string} path The path of the property to get.
13 | * @returns {Function} Returns the new function.
14 | * @example
15 | *
16 | * var objects = [
17 | * { 'a': { 'b': { 'c': 2 } } },
18 | * { 'a': { 'b': { 'c': 1 } } }
19 | * ];
20 | *
21 | * _.map(objects, _.property('a.b.c'));
22 | * // => [2, 1]
23 | *
24 | * _.pluck(_.sortBy(objects, _.property(['a', 'b', 'c'])), 'a.b.c');
25 | * // => [1, 2]
26 | */
27 | function property(path) {
28 | return isKey(path) ? baseProperty(path) : basePropertyDeep(path);
29 | }
30 |
31 | module.exports = property;
32 |
--------------------------------------------------------------------------------
/node_modules/lodash/utility/propertyOf.js:
--------------------------------------------------------------------------------
1 | var baseGet = require('../internal/baseGet'),
2 | toPath = require('../internal/toPath');
3 |
4 | /**
5 | * The opposite of `_.property`; this method creates a function that returns
6 | * the property value at a given path on `object`.
7 | *
8 | * @static
9 | * @memberOf _
10 | * @category Utility
11 | * @param {Object} object The object to query.
12 | * @returns {Function} Returns the new function.
13 | * @example
14 | *
15 | * var array = [0, 1, 2],
16 | * object = { 'a': array, 'b': array, 'c': array };
17 | *
18 | * _.map(['a[2]', 'c[0]'], _.propertyOf(object));
19 | * // => [2, 0]
20 | *
21 | * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));
22 | * // => [2, 0]
23 | */
24 | function propertyOf(object) {
25 | return function(path) {
26 | return baseGet(object, toPath(path), (path + ''));
27 | };
28 | }
29 |
30 | module.exports = propertyOf;
31 |
--------------------------------------------------------------------------------
/node_modules/lodash/utility/uniqueId.js:
--------------------------------------------------------------------------------
1 | var baseToString = require('../internal/baseToString');
2 |
3 | /** Used to generate unique IDs. */
4 | var idCounter = 0;
5 |
6 | /**
7 | * Generates a unique ID. If `prefix` is provided the ID is appended to it.
8 | *
9 | * @static
10 | * @memberOf _
11 | * @category Utility
12 | * @param {string} [prefix] The value to prefix the ID with.
13 | * @returns {string} Returns the unique ID.
14 | * @example
15 | *
16 | * _.uniqueId('contact_');
17 | * // => 'contact_104'
18 | *
19 | * _.uniqueId();
20 | * // => '105'
21 | */
22 | function uniqueId(prefix) {
23 | var id = ++idCounter;
24 | return baseToString(prefix) + id;
25 | }
26 |
27 | module.exports = uniqueId;
28 |
--------------------------------------------------------------------------------
/node_modules/moment/ender.js:
--------------------------------------------------------------------------------
1 | $.ender({ moment: require('moment') })
2 |
--------------------------------------------------------------------------------
/node_modules/moment/package.js:
--------------------------------------------------------------------------------
1 | var profile = {
2 | resourceTags: {
3 | ignore: function(filename, mid){
4 | // only include moment/moment
5 | return mid != "moment/moment";
6 | },
7 | amd: function(filename, mid){
8 | return /\.js$/.test(filename);
9 | }
10 | }
11 | };
12 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/create/from-object.js:
--------------------------------------------------------------------------------
1 | import { normalizeObjectUnits } from '../units/aliases';
2 | import { configFromArray } from './from-array';
3 | import map from '../utils/map';
4 |
5 | export function configFromObject(config) {
6 | if (config._d) {
7 | return;
8 | }
9 |
10 | var i = normalizeObjectUnits(config._i),
11 | dayOrDate = i.day === undefined ? i.date : i.day;
12 | config._a = map(
13 | [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],
14 | function (obj) {
15 | return obj && parseInt(obj, 10);
16 | }
17 | );
18 |
19 | configFromArray(config);
20 | }
21 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/create/local.js:
--------------------------------------------------------------------------------
1 | import { createLocalOrUTC } from './from-anything';
2 |
3 | export function createLocal(input, format, locale, strict) {
4 | return createLocalOrUTC(input, format, locale, strict, false);
5 | }
6 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/create/parsing-flags.js:
--------------------------------------------------------------------------------
1 | function defaultParsingFlags() {
2 | // We need to deep clone this object.
3 | return {
4 | empty: false,
5 | unusedTokens: [],
6 | unusedInput: [],
7 | overflow: -2,
8 | charsLeftOver: 0,
9 | nullInput: false,
10 | invalidEra: null,
11 | invalidMonth: null,
12 | invalidFormat: false,
13 | userInvalidated: false,
14 | iso: false,
15 | parsedDateParts: [],
16 | era: null,
17 | meridiem: null,
18 | rfc2822: false,
19 | weekdayMismatch: false,
20 | };
21 | }
22 |
23 | export default function getParsingFlags(m) {
24 | if (m._pf == null) {
25 | m._pf = defaultParsingFlags();
26 | }
27 | return m._pf;
28 | }
29 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/create/utc.js:
--------------------------------------------------------------------------------
1 | import { createLocalOrUTC } from './from-anything';
2 |
3 | export function createUTC(input, format, locale, strict) {
4 | return createLocalOrUTC(input, format, locale, strict, true).utc();
5 | }
6 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/duration/abs.js:
--------------------------------------------------------------------------------
1 | var mathAbs = Math.abs;
2 |
3 | export function abs() {
4 | var data = this._data;
5 |
6 | this._milliseconds = mathAbs(this._milliseconds);
7 | this._days = mathAbs(this._days);
8 | this._months = mathAbs(this._months);
9 |
10 | data.milliseconds = mathAbs(data.milliseconds);
11 | data.seconds = mathAbs(data.seconds);
12 | data.minutes = mathAbs(data.minutes);
13 | data.hours = mathAbs(data.hours);
14 | data.months = mathAbs(data.months);
15 | data.years = mathAbs(data.years);
16 |
17 | return this;
18 | }
19 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/duration/add-subtract.js:
--------------------------------------------------------------------------------
1 | import { createDuration } from './create';
2 |
3 | function addSubtract(duration, input, value, direction) {
4 | var other = createDuration(input, value);
5 |
6 | duration._milliseconds += direction * other._milliseconds;
7 | duration._days += direction * other._days;
8 | duration._months += direction * other._months;
9 |
10 | return duration._bubble();
11 | }
12 |
13 | // supports only 2.0-style add(1, 's') or add(duration)
14 | export function add(input, value) {
15 | return addSubtract(this, input, value, 1);
16 | }
17 |
18 | // supports only 2.0-style subtract(1, 's') or subtract(duration)
19 | export function subtract(input, value) {
20 | return addSubtract(this, input, value, -1);
21 | }
22 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/duration/clone.js:
--------------------------------------------------------------------------------
1 | import { createDuration } from './create';
2 |
3 | export function clone() {
4 | return createDuration(this);
5 | }
6 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/duration/duration.js:
--------------------------------------------------------------------------------
1 | // Side effect imports
2 | import './prototype';
3 |
4 | import { createDuration } from './create';
5 | import { isDuration } from './constructor';
6 | import {
7 | getSetRelativeTimeRounding,
8 | getSetRelativeTimeThreshold,
9 | } from './humanize';
10 |
11 | export {
12 | createDuration,
13 | isDuration,
14 | getSetRelativeTimeRounding,
15 | getSetRelativeTimeThreshold,
16 | };
17 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/duration/get.js:
--------------------------------------------------------------------------------
1 | import { normalizeUnits } from '../units/aliases';
2 | import absFloor from '../utils/abs-floor';
3 |
4 | export function get(units) {
5 | units = normalizeUnits(units);
6 | return this.isValid() ? this[units + 's']() : NaN;
7 | }
8 |
9 | function makeGetter(name) {
10 | return function () {
11 | return this.isValid() ? this._data[name] : NaN;
12 | };
13 | }
14 |
15 | var milliseconds = makeGetter('milliseconds'),
16 | seconds = makeGetter('seconds'),
17 | minutes = makeGetter('minutes'),
18 | hours = makeGetter('hours'),
19 | days = makeGetter('days'),
20 | months = makeGetter('months'),
21 | years = makeGetter('years');
22 |
23 | export { milliseconds, seconds, minutes, hours, days, months, years };
24 |
25 | export function weeks() {
26 | return absFloor(this.days() / 7);
27 | }
28 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/locale/calendar.js:
--------------------------------------------------------------------------------
1 | export var defaultCalendar = {
2 | sameDay: '[Today at] LT',
3 | nextDay: '[Tomorrow at] LT',
4 | nextWeek: 'dddd [at] LT',
5 | lastDay: '[Yesterday at] LT',
6 | lastWeek: '[Last] dddd [at] LT',
7 | sameElse: 'L',
8 | };
9 |
10 | import isFunction from '../utils/is-function';
11 |
12 | export function calendar(key, mom, now) {
13 | var output = this._calendar[key] || this._calendar['sameElse'];
14 | return isFunction(output) ? output.call(mom, now) : output;
15 | }
16 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/locale/constructor.js:
--------------------------------------------------------------------------------
1 | export function Locale(config) {
2 | if (config != null) {
3 | this.set(config);
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/locale/invalid.js:
--------------------------------------------------------------------------------
1 | export var defaultInvalidDate = 'Invalid date';
2 |
3 | export function invalidDate() {
4 | return this._invalidDate;
5 | }
6 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/locale/ordinal.js:
--------------------------------------------------------------------------------
1 | var defaultOrdinal = '%d',
2 | defaultDayOfMonthOrdinalParse = /\d{1,2}/;
3 |
4 | export { defaultOrdinal, defaultDayOfMonthOrdinalParse };
5 |
6 | export function ordinal(number) {
7 | return this._ordinal.replace('%d', number);
8 | }
9 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/locale/pre-post-format.js:
--------------------------------------------------------------------------------
1 | export function preParsePostFormat(string) {
2 | return string;
3 | }
4 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/moment/clone.js:
--------------------------------------------------------------------------------
1 | import { Moment } from './constructor';
2 |
3 | export function clone() {
4 | return new Moment(this);
5 | }
6 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/moment/creation-data.js:
--------------------------------------------------------------------------------
1 | export function creationData() {
2 | return {
3 | input: this._i,
4 | format: this._f,
5 | locale: this._locale,
6 | isUTC: this._isUTC,
7 | strict: this._strict,
8 | };
9 | }
10 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/moment/from.js:
--------------------------------------------------------------------------------
1 | import { createDuration } from '../duration/create';
2 | import { createLocal } from '../create/local';
3 | import { isMoment } from '../moment/constructor';
4 |
5 | export function from(time, withoutSuffix) {
6 | if (
7 | this.isValid() &&
8 | ((isMoment(time) && time.isValid()) || createLocal(time).isValid())
9 | ) {
10 | return createDuration({ to: this, from: time })
11 | .locale(this.locale())
12 | .humanize(!withoutSuffix);
13 | } else {
14 | return this.localeData().invalidDate();
15 | }
16 | }
17 |
18 | export function fromNow(withoutSuffix) {
19 | return this.from(createLocal(), withoutSuffix);
20 | }
21 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/moment/moment.js:
--------------------------------------------------------------------------------
1 | import { createLocal } from '../create/local';
2 | import { createUTC } from '../create/utc';
3 | import { createInvalid } from '../create/valid';
4 | import { isMoment } from './constructor';
5 | import { min, max } from './min-max';
6 | import { now } from './now';
7 | import momentPrototype from './prototype';
8 |
9 | function createUnix(input) {
10 | return createLocal(input * 1000);
11 | }
12 |
13 | function createInZone() {
14 | return createLocal.apply(null, arguments).parseZone();
15 | }
16 |
17 | export {
18 | now,
19 | min,
20 | max,
21 | isMoment,
22 | createUTC,
23 | createUnix,
24 | createLocal,
25 | createInZone,
26 | createInvalid,
27 | momentPrototype,
28 | };
29 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/moment/now.js:
--------------------------------------------------------------------------------
1 | export var now = function () {
2 | return Date.now ? Date.now() : +new Date();
3 | };
4 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/moment/to.js:
--------------------------------------------------------------------------------
1 | import { createDuration } from '../duration/create';
2 | import { createLocal } from '../create/local';
3 | import { isMoment } from '../moment/constructor';
4 |
5 | export function to(time, withoutSuffix) {
6 | if (
7 | this.isValid() &&
8 | ((isMoment(time) && time.isValid()) || createLocal(time).isValid())
9 | ) {
10 | return createDuration({ from: this, to: time })
11 | .locale(this.locale())
12 | .humanize(!withoutSuffix);
13 | } else {
14 | return this.localeData().invalidDate();
15 | }
16 | }
17 |
18 | export function toNow(withoutSuffix) {
19 | return this.to(createLocal(), withoutSuffix);
20 | }
21 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/moment/valid.js:
--------------------------------------------------------------------------------
1 | import { isValid as _isValid } from '../create/valid';
2 | import extend from '../utils/extend';
3 | import getParsingFlags from '../create/parsing-flags';
4 |
5 | export function isValid() {
6 | return _isValid(this);
7 | }
8 |
9 | export function parsingFlags() {
10 | return extend({}, getParsingFlags(this));
11 | }
12 |
13 | export function invalidAt() {
14 | return getParsingFlags(this).overflow;
15 | }
16 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/units/aliases.js:
--------------------------------------------------------------------------------
1 | import hasOwnProp from '../utils/has-own-prop';
2 |
3 | var aliases = {};
4 |
5 | export function addUnitAlias(unit, shorthand) {
6 | var lowerCase = unit.toLowerCase();
7 | aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
8 | }
9 |
10 | export function normalizeUnits(units) {
11 | return typeof units === 'string'
12 | ? aliases[units] || aliases[units.toLowerCase()]
13 | : undefined;
14 | }
15 |
16 | export function normalizeObjectUnits(inputObject) {
17 | var normalizedInput = {},
18 | normalizedProp,
19 | prop;
20 |
21 | for (prop in inputObject) {
22 | if (hasOwnProp(inputObject, prop)) {
23 | normalizedProp = normalizeUnits(prop);
24 | if (normalizedProp) {
25 | normalizedInput[normalizedProp] = inputObject[prop];
26 | }
27 | }
28 | }
29 |
30 | return normalizedInput;
31 | }
32 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/units/constants.js:
--------------------------------------------------------------------------------
1 | export var YEAR = 0,
2 | MONTH = 1,
3 | DATE = 2,
4 | HOUR = 3,
5 | MINUTE = 4,
6 | SECOND = 5,
7 | MILLISECOND = 6,
8 | WEEK = 7,
9 | WEEKDAY = 8;
10 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/units/minute.js:
--------------------------------------------------------------------------------
1 | import { makeGetSet } from '../moment/get-set';
2 | import { addFormatToken } from '../format/format';
3 | import { addUnitAlias } from './aliases';
4 | import { addUnitPriority } from './priorities';
5 | import { addRegexToken, match1to2, match2 } from '../parse/regex';
6 | import { addParseToken } from '../parse/token';
7 | import { MINUTE } from './constants';
8 |
9 | // FORMATTING
10 |
11 | addFormatToken('m', ['mm', 2], 0, 'minute');
12 |
13 | // ALIASES
14 |
15 | addUnitAlias('minute', 'm');
16 |
17 | // PRIORITY
18 |
19 | addUnitPriority('minute', 14);
20 |
21 | // PARSING
22 |
23 | addRegexToken('m', match1to2);
24 | addRegexToken('mm', match1to2, match2);
25 | addParseToken(['m', 'mm'], MINUTE);
26 |
27 | // MOMENTS
28 |
29 | export var getSetMinute = makeGetSet('Minutes', false);
30 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/units/priorities.js:
--------------------------------------------------------------------------------
1 | import hasOwnProp from '../utils/has-own-prop';
2 |
3 | var priorities = {};
4 |
5 | export function addUnitPriority(unit, priority) {
6 | priorities[unit] = priority;
7 | }
8 |
9 | export function getPrioritizedUnits(unitsObj) {
10 | var units = [],
11 | u;
12 | for (u in unitsObj) {
13 | if (hasOwnProp(unitsObj, u)) {
14 | units.push({ unit: u, priority: priorities[u] });
15 | }
16 | }
17 | units.sort(function (a, b) {
18 | return a.priority - b.priority;
19 | });
20 | return units;
21 | }
22 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/units/quarter.js:
--------------------------------------------------------------------------------
1 | import { addFormatToken } from '../format/format';
2 | import { addUnitAlias } from './aliases';
3 | import { addUnitPriority } from './priorities';
4 | import { addRegexToken, match1 } from '../parse/regex';
5 | import { addParseToken } from '../parse/token';
6 | import { MONTH } from './constants';
7 | import toInt from '../utils/to-int';
8 |
9 | // FORMATTING
10 |
11 | addFormatToken('Q', 0, 'Qo', 'quarter');
12 |
13 | // ALIASES
14 |
15 | addUnitAlias('quarter', 'Q');
16 |
17 | // PRIORITY
18 |
19 | addUnitPriority('quarter', 7);
20 |
21 | // PARSING
22 |
23 | addRegexToken('Q', match1);
24 | addParseToken('Q', function (input, array) {
25 | array[MONTH] = (toInt(input) - 1) * 3;
26 | });
27 |
28 | // MOMENTS
29 |
30 | export function getSetQuarter(input) {
31 | return input == null
32 | ? Math.ceil((this.month() + 1) / 3)
33 | : this.month((input - 1) * 3 + (this.month() % 3));
34 | }
35 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/units/second.js:
--------------------------------------------------------------------------------
1 | import { makeGetSet } from '../moment/get-set';
2 | import { addFormatToken } from '../format/format';
3 | import { addUnitAlias } from './aliases';
4 | import { addUnitPriority } from './priorities';
5 | import { addRegexToken, match1to2, match2 } from '../parse/regex';
6 | import { addParseToken } from '../parse/token';
7 | import { SECOND } from './constants';
8 |
9 | // FORMATTING
10 |
11 | addFormatToken('s', ['ss', 2], 0, 'second');
12 |
13 | // ALIASES
14 |
15 | addUnitAlias('second', 's');
16 |
17 | // PRIORITY
18 |
19 | addUnitPriority('second', 15);
20 |
21 | // PARSING
22 |
23 | addRegexToken('s', match1to2);
24 | addRegexToken('ss', match1to2, match2);
25 | addParseToken(['s', 'ss'], SECOND);
26 |
27 | // MOMENTS
28 |
29 | export var getSetSecond = makeGetSet('Seconds', false);
30 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/units/timestamp.js:
--------------------------------------------------------------------------------
1 | import { addFormatToken } from '../format/format';
2 | import { addRegexToken, matchTimestamp, matchSigned } from '../parse/regex';
3 | import { addParseToken } from '../parse/token';
4 | import toInt from '../utils/to-int';
5 |
6 | // FORMATTING
7 |
8 | addFormatToken('X', 0, 0, 'unix');
9 | addFormatToken('x', 0, 0, 'valueOf');
10 |
11 | // PARSING
12 |
13 | addRegexToken('x', matchSigned);
14 | addRegexToken('X', matchTimestamp);
15 | addParseToken('X', function (input, array, config) {
16 | config._d = new Date(parseFloat(input) * 1000);
17 | });
18 | addParseToken('x', function (input, array, config) {
19 | config._d = new Date(toInt(input));
20 | });
21 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/units/timezone.js:
--------------------------------------------------------------------------------
1 | import { addFormatToken } from '../format/format';
2 |
3 | // FORMATTING
4 |
5 | addFormatToken('z', 0, 0, 'zoneAbbr');
6 | addFormatToken('zz', 0, 0, 'zoneName');
7 |
8 | // MOMENTS
9 |
10 | export function getZoneAbbr() {
11 | return this._isUTC ? 'UTC' : '';
12 | }
13 |
14 | export function getZoneName() {
15 | return this._isUTC ? 'Coordinated Universal Time' : '';
16 | }
17 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/units/units.js:
--------------------------------------------------------------------------------
1 | // Side effect imports
2 | import './day-of-month';
3 | import './day-of-week';
4 | import './day-of-year';
5 | import './hour';
6 | import './millisecond';
7 | import './minute';
8 | import './month';
9 | import './offset';
10 | import './quarter';
11 | import './second';
12 | import './timestamp';
13 | import './timezone';
14 | import './week-year';
15 | import './week';
16 | import './year';
17 |
18 | import { normalizeUnits } from './aliases';
19 |
20 | export { normalizeUnits };
21 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/abs-ceil.js:
--------------------------------------------------------------------------------
1 | export default function absCeil(number) {
2 | if (number < 0) {
3 | return Math.floor(number);
4 | } else {
5 | return Math.ceil(number);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/abs-floor.js:
--------------------------------------------------------------------------------
1 | export default function absFloor(number) {
2 | if (number < 0) {
3 | // -0 -> 0
4 | return Math.ceil(number) || 0;
5 | } else {
6 | return Math.floor(number);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/abs-round.js:
--------------------------------------------------------------------------------
1 | export default function absRound(number) {
2 | if (number < 0) {
3 | return Math.round(-1 * number) * -1;
4 | } else {
5 | return Math.round(number);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/compare-arrays.js:
--------------------------------------------------------------------------------
1 | import toInt from './to-int';
2 |
3 | // compare two arrays, return the number of differences
4 | export default function compareArrays(array1, array2, dontConvert) {
5 | var len = Math.min(array1.length, array2.length),
6 | lengthDiff = Math.abs(array1.length - array2.length),
7 | diffs = 0,
8 | i;
9 | for (i = 0; i < len; i++) {
10 | if (
11 | (dontConvert && array1[i] !== array2[i]) ||
12 | (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))
13 | ) {
14 | diffs++;
15 | }
16 | }
17 | return diffs + lengthDiff;
18 | }
19 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/defaults.js:
--------------------------------------------------------------------------------
1 | // Pick the first defined of two or three arguments.
2 | export default function defaults(a, b, c) {
3 | if (a != null) {
4 | return a;
5 | }
6 | if (b != null) {
7 | return b;
8 | }
9 | return c;
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/extend.js:
--------------------------------------------------------------------------------
1 | import hasOwnProp from './has-own-prop';
2 |
3 | export default function extend(a, b) {
4 | for (var i in b) {
5 | if (hasOwnProp(b, i)) {
6 | a[i] = b[i];
7 | }
8 | }
9 |
10 | if (hasOwnProp(b, 'toString')) {
11 | a.toString = b.toString;
12 | }
13 |
14 | if (hasOwnProp(b, 'valueOf')) {
15 | a.valueOf = b.valueOf;
16 | }
17 |
18 | return a;
19 | }
20 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/has-own-prop.js:
--------------------------------------------------------------------------------
1 | export default function hasOwnProp(a, b) {
2 | return Object.prototype.hasOwnProperty.call(a, b);
3 | }
4 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/hooks.js:
--------------------------------------------------------------------------------
1 | export { hooks, setHookCallback };
2 |
3 | var hookCallback;
4 |
5 | function hooks() {
6 | return hookCallback.apply(null, arguments);
7 | }
8 |
9 | // This is done to register the method called with moment()
10 | // without creating circular dependencies.
11 | function setHookCallback(callback) {
12 | hookCallback = callback;
13 | }
14 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/index-of.js:
--------------------------------------------------------------------------------
1 | var indexOf;
2 |
3 | if (Array.prototype.indexOf) {
4 | indexOf = Array.prototype.indexOf;
5 | } else {
6 | indexOf = function (o) {
7 | // I know
8 | var i;
9 | for (i = 0; i < this.length; ++i) {
10 | if (this[i] === o) {
11 | return i;
12 | }
13 | }
14 | return -1;
15 | };
16 | }
17 |
18 | export { indexOf as default };
19 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/is-array.js:
--------------------------------------------------------------------------------
1 | export default function isArray(input) {
2 | return (
3 | input instanceof Array ||
4 | Object.prototype.toString.call(input) === '[object Array]'
5 | );
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/is-calendar-spec.js:
--------------------------------------------------------------------------------
1 | import isObjectEmpty from './is-object-empty';
2 | import hasOwnProp from './has-own-prop';
3 | import isObject from './is-object';
4 |
5 | export default function isCalendarSpec(input) {
6 | var objectTest = isObject(input) && !isObjectEmpty(input),
7 | propertyTest = false,
8 | properties = [
9 | 'sameDay',
10 | 'nextDay',
11 | 'lastDay',
12 | 'nextWeek',
13 | 'lastWeek',
14 | 'sameElse',
15 | ],
16 | i,
17 | property;
18 |
19 | for (i = 0; i < properties.length; i += 1) {
20 | property = properties[i];
21 | propertyTest = propertyTest || hasOwnProp(input, property);
22 | }
23 |
24 | return objectTest && propertyTest;
25 | }
26 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/is-date.js:
--------------------------------------------------------------------------------
1 | export default function isDate(input) {
2 | return (
3 | input instanceof Date ||
4 | Object.prototype.toString.call(input) === '[object Date]'
5 | );
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/is-function.js:
--------------------------------------------------------------------------------
1 | export default function isFunction(input) {
2 | return (
3 | (typeof Function !== 'undefined' && input instanceof Function) ||
4 | Object.prototype.toString.call(input) === '[object Function]'
5 | );
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/is-leap-year.js:
--------------------------------------------------------------------------------
1 | export function isLeapYear(year) {
2 | return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
3 | }
4 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/is-number.js:
--------------------------------------------------------------------------------
1 | export default function isNumber(input) {
2 | return (
3 | typeof input === 'number' ||
4 | Object.prototype.toString.call(input) === '[object Number]'
5 | );
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/is-object-empty.js:
--------------------------------------------------------------------------------
1 | import hasOwnProp from './has-own-prop';
2 |
3 | export default function isObjectEmpty(obj) {
4 | if (Object.getOwnPropertyNames) {
5 | return Object.getOwnPropertyNames(obj).length === 0;
6 | } else {
7 | var k;
8 | for (k in obj) {
9 | if (hasOwnProp(obj, k)) {
10 | return false;
11 | }
12 | }
13 | return true;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/is-object.js:
--------------------------------------------------------------------------------
1 | export default function isObject(input) {
2 | // IE8 will treat undefined and null as object if it wasn't for
3 | // input != null
4 | return (
5 | input != null &&
6 | Object.prototype.toString.call(input) === '[object Object]'
7 | );
8 | }
9 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/is-string.js:
--------------------------------------------------------------------------------
1 | export default function isString(input) {
2 | return typeof input === 'string' || input instanceof String;
3 | }
4 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/is-undefined.js:
--------------------------------------------------------------------------------
1 | export default function isUndefined(input) {
2 | return input === void 0;
3 | }
4 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/keys.js:
--------------------------------------------------------------------------------
1 | import hasOwnProp from './has-own-prop';
2 |
3 | var keys;
4 |
5 | if (Object.keys) {
6 | keys = Object.keys;
7 | } else {
8 | keys = function (obj) {
9 | var i,
10 | res = [];
11 | for (i in obj) {
12 | if (hasOwnProp(obj, i)) {
13 | res.push(i);
14 | }
15 | }
16 | return res;
17 | };
18 | }
19 |
20 | export { keys as default };
21 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/map.js:
--------------------------------------------------------------------------------
1 | export default function map(arr, fn) {
2 | var res = [],
3 | i;
4 | for (i = 0; i < arr.length; ++i) {
5 | res.push(fn(arr[i], i));
6 | }
7 | return res;
8 | }
9 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/mod.js:
--------------------------------------------------------------------------------
1 | export default function mod(n, x) {
2 | return ((n % x) + x) % x;
3 | }
4 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/some.js:
--------------------------------------------------------------------------------
1 | var some;
2 | if (Array.prototype.some) {
3 | some = Array.prototype.some;
4 | } else {
5 | some = function (fun) {
6 | var t = Object(this),
7 | len = t.length >>> 0,
8 | i;
9 |
10 | for (i = 0; i < len; i++) {
11 | if (i in t && fun.call(this, t[i], i, t)) {
12 | return true;
13 | }
14 | }
15 |
16 | return false;
17 | };
18 | }
19 |
20 | export { some as default };
21 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/to-int.js:
--------------------------------------------------------------------------------
1 | import absFloor from './abs-floor';
2 |
3 | export default function toInt(argumentForCoercion) {
4 | var coercedNumber = +argumentForCoercion,
5 | value = 0;
6 |
7 | if (coercedNumber !== 0 && isFinite(coercedNumber)) {
8 | value = absFloor(coercedNumber);
9 | }
10 |
11 | return value;
12 | }
13 |
--------------------------------------------------------------------------------
/node_modules/moment/src/lib/utils/zero-fill.js:
--------------------------------------------------------------------------------
1 | export default function zeroFill(number, targetLength, forceSign) {
2 | var absNumber = '' + Math.abs(number),
3 | zerosToFill = targetLength - absNumber.length,
4 | sign = number >= 0;
5 | return (
6 | (sign ? (forceSign ? '+' : '') : '-') +
7 | Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +
8 | absNumber
9 | );
10 | }
11 |
--------------------------------------------------------------------------------
/other/typora-tu-chuang.md:
--------------------------------------------------------------------------------
1 | # Typora图床
2 |
3 |
--------------------------------------------------------------------------------
/sqlite/shu-ju-ku-gai-shu.md:
--------------------------------------------------------------------------------
1 | # 数据库概述
2 |
3 |
--------------------------------------------------------------------------------
/ubuntu/use_notebook.md:
--------------------------------------------------------------------------------
1 | # 使用notebook
2 |
3 |
--------------------------------------------------------------------------------