├── docs
├── CNAME
├── favicon.png
├── logos
│ ├── logo_128.png
│ ├── logo_256.png
│ ├── logo_32.png
│ ├── logo_384.png
│ ├── logo_512.png
│ ├── logo_64.png
│ ├── logo_128_o.png
│ ├── logo_32_white.png
│ ├── logo_64_white.png
│ ├── logo_128_white.png
│ ├── logo_256_white.png
│ ├── logo_384_white.png
│ └── logo_512_white.png
├── icons
│ ├── chevron-left.svg
│ ├── chevron-right.svg
│ ├── star.svg
│ ├── code.svg
│ └── law.svg
└── clipboard.svg
├── logo.png
├── sponsored_by_DigitalOcean.png
├── glossary
├── Class.md
├── Stream.md
├── CoffeeScript.md
├── SEO.md
├── DNS.md
├── NoSQL.md
├── String.md
├── Integer.md
├── Boolean.md
├── TypeScript.md
├── WebRTC.md
├── Scope.md
├── Repository.md
├── Higher-order-function.md
├── MDN.md
├── Yarn.md
├── Template-literals.md
├── Vue.md
├── Automatic-semicolon-insertion.md
├── Constant.md
├── Pseudo-class.md
├── Pseudo-element.md
├── Module.md
├── Flexbox.md
├── Garbage-collection.md
├── MongoDB.md
├── URI.md
├── UTF-8.md
├── Argument.md
├── SVG.md
├── XHTML.md
├── URL.md
├── Closure.md
├── React.md
├── Variable.md
├── Express.md
├── Hoisting.md
├── Npm.md
├── jQuery.md
├── Factory-functions.md
├── Node-js.md
├── SSL.md
├── WebSockets.md
├── Character-encoding.md
├── SQL-injection.md
├── Git.md
├── Unit-testing.md
├── Constructor.md
├── CORS.md
├── Regular-expressions.md
├── Array.md
├── Callback.md
├── HTML.md
├── XML.md
├── Continuous-Integration.md
├── Currying.md
├── Selector.md
├── Domain-name.md
├── WebGL.md
├── AJAX.md
├── Asynchronous-programming.md
├── CSS.md
├── Element.md
├── Integration-testing.md
├── JSON.md
├── Mutabe-value.md
├── Responsive-web-design.md
├── Viewport.md
├── API.md
├── ES6.md
├── Serialization.md
├── Continuous-Deployment.md
├── Domain-name-registrar.md
├── WebAssembly.md
├── Deserialization.md
├── First-class-function.md
├── Object.md
├── SQL.md
├── PWA.md
├── Cross-site-scripting-xss.md
├── Functor.md
├── Object-oriented-programming.md
├── Prepared-statements.md
├── Promise.md
├── Prototype-based-programming.md
├── MVC.md
├── WebComponents.md
├── Event-loop.md
├── Functional-programming.md
├── CSV.md
├── IP.md
├── Strict-mode.md
├── HTTP-and-HTTPS.md
├── Event-driven-programming.md
├── Function.md
├── Recursion.md
├── ShadowDOM.md
└── DOM.md
├── test
├── defer.test.js
├── hasFlags.test.js
├── redirect.test.js
├── runAsync.test.js
├── setStyle.test.js
├── checkProp.test.js
├── dayOfYear.test.js
├── JSONToFile.test.js
├── hashBrowser.test.js
├── scrollToTop.test.js
├── smoothScroll.test.js
├── httpsRedirect.test.js
├── readFileLines.test.js
├── arrayToHtmlList.test.js
├── detectDeviceType.test.js
├── observeMutations.test.js
├── speechSynthesis.test.js
├── onUserInputChange.test.js
├── UUIDGeneratorBrowser.test.js
├── createDirIfNotExists.test.js
├── recordAnimationFrames.test.js
├── btoa.test.js
├── pipeLog.test.js
├── sleep.test.js
├── kmphToMph.test.js
├── prefix.test.js
├── sum.test.js
├── timeTaken.test.js
├── isBrowser.test.js
├── mphToKmph.test.js
├── sdbm.test.js
├── call.test.js
├── colorize.test.js
├── digitize.test.js
├── heronArea.test.js
├── isDivisible.test.js
├── isSymbol.test.js
├── isUndefined.test.js
├── reverseString.test.js
├── mapKeys.test.js
├── initial.test.js
├── mapNumRange.test.js
├── radsToDegrees.test.js
├── unary.test.js
├── unionBy.test.js
├── RGBToHex.test.js
├── bottomVisible.test.js
├── currentURL.test.js
├── negate.test.js
├── deepFlatten.test.js
├── difference.test.js
├── distance.test.js
├── fibonacci.test.js
├── hammingDistance.test.js
├── powerset.test.js
├── primes.test.js
├── serializeCookie.test.js
├── coalesce.test.js
├── escapeRegExp.test.js
├── findLast.test.js
├── similarity.test.js
├── fibonacciCountUntilNum.test.js
├── fibonacciUntilNum.test.js
├── omit.test.js
├── parseCookie.test.js
├── removeNonASCII.test.js
├── clampNumber.test.js
├── cloneRegExp.test.js
├── defaults.test.js
├── intersection.test.js
├── isBrowserTabFocused.test.js
├── pick.test.js
├── remove.test.js
├── tail.test.js
├── times.test.js
├── truncateString.test.js
├── dropWhile.test.js
├── over.test.js
├── pull.test.js
├── findLastIndex.test.js
├── isEven.test.js
├── nodeListToArray.test.js
├── takeRightWhile.test.js
├── objectToPairs.test.js
├── toDecimalMark.test.js
├── xProd.test.js
├── atob.test.js
├── debounce.test.js
├── hz.test.js
├── objectFromPairs.test.js
├── vectorDistance.test.js
├── ary.test.js
├── forOwn.test.js
├── isNull.test.js
├── unflattenObject.test.js
├── unfold.test.js
├── curry.test.js
├── isPrime.test.js
├── omitBy.test.js
├── forEachRight.test.js
├── pickBy.test.js
├── sortCharactersInString.test.js
├── stripHTMLTags.test.js
├── JSONToDate.test.js
├── dropRightWhile.test.js
├── hasClass.test.js
├── hide.test.js
├── show.test.js
├── stableSort.test.js
├── escapeHTML.test.js
├── get.test.js
├── throttle.test.js
├── pullBy.test.js
├── isBoolean.test.js
├── percentile.test.js
├── unescapeHTML.test.js
├── degreesToRads.test.js
├── delay.test.js
├── getStyle.test.js
├── httpGet.test.js
├── httpPut.test.js
├── isFunction.test.js
├── isSimilar.test.js
├── removeVowels.test.js
├── createElement.test.js
├── flip.test.js
├── forOwnRight.test.js
├── getDaysDiffBetweenDates.test.js
├── httpPost.test.js
├── bifurcate.test.js
├── bifurcateBy.test.js
├── getColonTimeFromDate.test.js
├── palindrome.test.js
├── size.test.js
├── unionWith.test.js
├── differenceWith.test.js
├── rearg.test.js
├── countVowels.test.js
├── httpDelete.test.js
├── lcm.test.js
├── mapValues.test.js
├── partial.test.js
├── solveRPN.test.js
├── attempt.test.js
├── bindAll.test.js
├── flatten.test.js
├── intersectionBy.test.js
├── maxN.test.js
├── minN.test.js
├── spreadOver.test.js
├── toggleClass.test.js
├── cleanObj.test.js
├── compact.test.js
├── composeRight.test.js
├── when.test.js
├── compose.test.js
├── countBy.test.js
├── decapitalize.test.js
├── overArgs.test.js
├── partialRight.test.js
├── splitLines.test.js
├── sumBy.test.js
├── insertAfter.test.js
├── isArmstrongNumber.test.js
├── once.test.js
├── coalesceFactory.test.js
├── extendHex.test.js
├── gcd.test.js
├── hashNode.test.js
├── indexOfAll.test.js
├── insertBefore.test.js
├── pipeFunctions.test.js
├── shallowClone.test.js
├── getURLParameters.test.js
├── isPlainObject.test.js
├── toHash.test.js
├── indentString.test.js
├── maxDate.test.js
├── minDate.test.js
├── takeRight.test.js
├── isNil.test.js
├── runPromisesInSeries.test.js
├── bind.test.js
├── isTravisCI.test.js
├── symmetricDifferenceBy.test.js
├── unzipWith.test.js
├── maxBy.test.js
├── minBy.test.js
├── pullAtIndex.test.js
├── triggerEvent.test.js
├── counter.test.js
├── reduceSuccessive.test.js
├── mostPerformant.test.js
├── pullAtValue.test.js
├── takeWhile.test.js
├── transform.test.js
├── isNumber.test.js
├── isUpperCase.test.js
├── truthCheckCollection.test.js
├── averageBy.test.js
├── differenceBy.test.js
├── findKey.test.js
├── isNegativeZero.test.js
├── isSameDate.test.js
├── renameKeys.test.js
├── bindKey.test.js
├── isArrayLike.test.js
├── countOccurrences.test.js
├── getType.test.js
├── initializeNDArray.test.js
├── isAfterDate.test.js
├── collectInto.test.js
├── flattenObject.test.js
├── merge.test.js
├── elo.test.js
├── findLastKey.test.js
├── isLowerCase.test.js
├── drop.test.js
├── isBeforeDate.test.js
├── squareSum.test.js
├── symmetricDifference.test.js
├── zipWith.test.js
├── UUIDGeneratorNode.test.js
├── intersectionWith.test.js
├── median.test.js
├── functions.test.js
├── luhnCheck.test.js
├── pipeAsyncFunctions.test.js
├── sample.test.js
├── nthArg.test.js
└── reject.test.js
├── .gitignore
├── .github
└── ISSUE_TEMPLATE
│ ├── discussion.md
│ └── feature_request.md
├── .mdlrc.style.rb
├── snippets
├── currentURL.md
├── isSymbol.md
├── isNull.md
├── isString.md
├── distance.md
├── escapeRegExp.md
├── degreesToRads.md
├── head.md
├── isFunction.md
├── negate.md
├── radsToDegrees.md
├── isBoolean.md
├── isDivisible.md
├── nodeListToArray.md
├── removeNonASCII.md
├── stripHTMLTags.md
├── isUndefined.md
├── isAfterDate.md
├── isBeforeDate.md
├── isEven.md
├── shallowClone.md
├── sum.md
├── hide.md
├── everyNth.md
├── getStyle.md
├── objectFromPairs.md
├── isNil.md
├── mapNumRange.md
├── functionName.md
├── getType.md
├── hasClass.md
├── isLowerCase.md
├── randomNumberInRange.md
├── splitLines.md
├── toDecimalMark.md
├── digitize.md
├── isNegativeZero.md
├── show.md
├── isUpperCase.md
├── serializeCookie.md
├── toggleClass.md
├── isBrowserTabFocused.md
├── last.md
├── objectToPairs.md
├── reverseString.md
├── getColonTimeFromDate.md
├── randomIntegerInRange.md
├── round.md
├── untildify.md
├── initial.md
├── isObjectLike.md
├── isSameDate.md
├── isWeekday.md
├── powerset.md
├── getDaysDiffBetweenDates.md
├── setStyle.md
├── isAbsoluteURL.md
├── uniqueElements.md
├── RGBToHex.md
├── createDirIfNotExists.md
├── union.md
├── redirect.md
├── toSafeInteger.md
├── unary.md
├── isStream.md
├── isWeekend.md
├── sleep.md
├── JSONToFile.md
├── coalesce.md
├── insertAfter.md
├── nthArg.md
├── sortCharactersInString.md
├── when.md
├── hammingDistance.md
├── isArrayLike.md
├── isTravisCI.md
├── minDate.md
├── truncateString.md
├── validateNumber.md
├── byteSize.md
├── cloneRegExp.md
├── insertBefore.md
├── isNumber.md
├── pick.md
├── randomHexColorCode.md
├── delay.md
├── maxDate.md
├── drop.md
├── isPlainObject.md
├── midpoint.md
├── partial.md
├── filterNonUnique.md
├── castArray.md
├── filterFalsy.md
├── partialRight.md
├── tail.md
└── take.md
├── snippets_archive
├── collatz.md
├── celsiusToFahrenheit.md
├── fahrenheitToCelsius.md
├── pipeLog.md
├── kmphToMph.md
├── mphToKmph.md
├── countVowels.md
├── squareSum.md
├── removeVowels.md
├── JSONToDate.md
└── fibonacciCountUntilNum.md
├── snippet-template.md
├── .npmignore
└── vscode_snippets
└── README.md
/docs/CNAME:
--------------------------------------------------------------------------------
1 | 30secondsofcode.org
2 |
--------------------------------------------------------------------------------
/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/logo.png
--------------------------------------------------------------------------------
/docs/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/docs/favicon.png
--------------------------------------------------------------------------------
/docs/logos/logo_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/docs/logos/logo_128.png
--------------------------------------------------------------------------------
/docs/logos/logo_256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/docs/logos/logo_256.png
--------------------------------------------------------------------------------
/docs/logos/logo_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/docs/logos/logo_32.png
--------------------------------------------------------------------------------
/docs/logos/logo_384.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/docs/logos/logo_384.png
--------------------------------------------------------------------------------
/docs/logos/logo_512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/docs/logos/logo_512.png
--------------------------------------------------------------------------------
/docs/logos/logo_64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/docs/logos/logo_64.png
--------------------------------------------------------------------------------
/docs/logos/logo_128_o.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/docs/logos/logo_128_o.png
--------------------------------------------------------------------------------
/docs/logos/logo_32_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/docs/logos/logo_32_white.png
--------------------------------------------------------------------------------
/docs/logos/logo_64_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/docs/logos/logo_64_white.png
--------------------------------------------------------------------------------
/docs/logos/logo_128_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/docs/logos/logo_128_white.png
--------------------------------------------------------------------------------
/docs/logos/logo_256_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/docs/logos/logo_256_white.png
--------------------------------------------------------------------------------
/docs/logos/logo_384_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/docs/logos/logo_384_white.png
--------------------------------------------------------------------------------
/docs/logos/logo_512_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/docs/logos/logo_512_white.png
--------------------------------------------------------------------------------
/sponsored_by_DigitalOcean.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WYseven/30-seconds-of-code/HEAD/sponsored_by_DigitalOcean.png
--------------------------------------------------------------------------------
/glossary/Class.md:
--------------------------------------------------------------------------------
1 | ### Class
2 |
3 | In object-oriented programming, a class is a template definition of an object's properties and methods.
4 |
--------------------------------------------------------------------------------
/glossary/Stream.md:
--------------------------------------------------------------------------------
1 | ### Stream
2 |
3 | A stream is a sequence of data made available over time, often due to network transmission or storage access times.
4 |
--------------------------------------------------------------------------------
/glossary/CoffeeScript.md:
--------------------------------------------------------------------------------
1 | ### CoffeeScript
2 |
3 | CoffeeScript is a programming language inspired by Ruby, Python and Haskell that transpiles to JavaScript.
4 |
--------------------------------------------------------------------------------
/glossary/SEO.md:
--------------------------------------------------------------------------------
1 | ### SEO
2 |
3 | SEO stands for Search Engine Optimization and refers to the process of improving a website's search rankings and visibility.
4 |
--------------------------------------------------------------------------------
/test/defer.test.js:
--------------------------------------------------------------------------------
1 | const {defer} = require('./_30s.js');
2 |
3 | test('defer is a Function', () => {
4 | expect(defer).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/glossary/DNS.md:
--------------------------------------------------------------------------------
1 | ### DNS
2 |
3 | A DNS (Domain Name System) translates domain names to the IP addresses needed to find a particular computer service on a network.
4 |
--------------------------------------------------------------------------------
/glossary/NoSQL.md:
--------------------------------------------------------------------------------
1 | ### NoSQL
2 |
3 | NoSQL databases provide a mechanism to create, update, retrieve and calculate data that is stored in models that are non-tabular.
--------------------------------------------------------------------------------
/glossary/String.md:
--------------------------------------------------------------------------------
1 | ### String
2 |
3 | Strings are one of the primitive data types in JavaScript.
4 | They are sequences of characters and are used to represent text.
5 |
--------------------------------------------------------------------------------
/test/hasFlags.test.js:
--------------------------------------------------------------------------------
1 | const {hasFlags} = require('./_30s.js');
2 |
3 | test('hasFlags is a Function', () => {
4 | expect(hasFlags).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/test/redirect.test.js:
--------------------------------------------------------------------------------
1 | const {redirect} = require('./_30s.js');
2 |
3 | test('redirect is a Function', () => {
4 | expect(redirect).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/test/runAsync.test.js:
--------------------------------------------------------------------------------
1 | const {runAsync} = require('./_30s.js');
2 |
3 | test('runAsync is a Function', () => {
4 | expect(runAsync).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/test/setStyle.test.js:
--------------------------------------------------------------------------------
1 | const {setStyle} = require('./_30s.js');
2 |
3 | test('setStyle is a Function', () => {
4 | expect(setStyle).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/glossary/Integer.md:
--------------------------------------------------------------------------------
1 | ### Integer
2 |
3 | Integers are one of the primitive data types in Javascript.
4 | They represent a numerical value that has no fractional component.
5 |
--------------------------------------------------------------------------------
/test/checkProp.test.js:
--------------------------------------------------------------------------------
1 | const {checkProp} = require('./_30s.js');
2 |
3 | test('checkProp is a Function', () => {
4 | expect(checkProp).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/test/dayOfYear.test.js:
--------------------------------------------------------------------------------
1 | const {dayOfYear} = require('./_30s.js');
2 |
3 | test('dayOfYear is a Function', () => {
4 | expect(dayOfYear).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/glossary/Boolean.md:
--------------------------------------------------------------------------------
1 | ### Boolean
2 |
3 | Booleans are one of the primitive data types in JavaScript.
4 | They represent logical data values and can only be `true` or `false`.
5 |
--------------------------------------------------------------------------------
/glossary/TypeScript.md:
--------------------------------------------------------------------------------
1 | ### TypeScript
2 |
3 | TypeScript is a superset of JavaScript, adding optional static typing to the language.
4 | TypeScript compiles to plain JavaScript.
5 |
--------------------------------------------------------------------------------
/glossary/WebRTC.md:
--------------------------------------------------------------------------------
1 | ### WebRTC
2 |
3 | WebRTC stands for Web Real-Time Communication and is an API that can be used for video-chat, voice-calling and P2P-file-sharing web apps.
4 |
--------------------------------------------------------------------------------
/test/JSONToFile.test.js:
--------------------------------------------------------------------------------
1 | const {JSONToFile} = require('./_30s.js');
2 |
3 | test('JSONToFile is a Function', () => {
4 | expect(JSONToFile).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/test/hashBrowser.test.js:
--------------------------------------------------------------------------------
1 | const {hashBrowser} = require('./_30s.js');
2 |
3 | test('hashBrowser is a Function', () => {
4 | expect(hashBrowser).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/test/scrollToTop.test.js:
--------------------------------------------------------------------------------
1 | const {scrollToTop} = require('./_30s.js');
2 |
3 | test('scrollToTop is a Function', () => {
4 | expect(scrollToTop).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | currentSnippet\.js
3 | *.md.temp.js
4 | .idea
5 | test.sh
6 | /*.log
7 | dist/flavor\.min\.css
8 | dist/flavor\.css
9 | test_old/
10 | coverage/
11 |
--------------------------------------------------------------------------------
/glossary/Scope.md:
--------------------------------------------------------------------------------
1 | ### Scope
2 |
3 | Each function has its own scope, and any variable declared within that function is only accessible from that function and any nested functions.
4 |
--------------------------------------------------------------------------------
/test/smoothScroll.test.js:
--------------------------------------------------------------------------------
1 | const {smoothScroll} = require('./_30s.js');
2 |
3 | test('smoothScroll is a Function', () => {
4 | expect(smoothScroll).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/glossary/Repository.md:
--------------------------------------------------------------------------------
1 | ### Repository
2 |
3 | In a version control system, a repository (or repo for short) is a data structure that stores metadata for a set of files (i.e. a project).
4 |
--------------------------------------------------------------------------------
/test/httpsRedirect.test.js:
--------------------------------------------------------------------------------
1 | const {httpsRedirect} = require('./_30s.js');
2 |
3 | test('httpsRedirect is a Function', () => {
4 | expect(httpsRedirect).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/test/readFileLines.test.js:
--------------------------------------------------------------------------------
1 | const {readFileLines} = require('./_30s.js');
2 |
3 | test('readFileLines is a Function', () => {
4 | expect(readFileLines).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/glossary/Higher-order-function.md:
--------------------------------------------------------------------------------
1 | ### Higher-order function
2 |
3 | Higher-order functions are functions that either take other functions as arguments, return a function as a result, or both.
4 |
--------------------------------------------------------------------------------
/glossary/MDN.md:
--------------------------------------------------------------------------------
1 | ### MDN
2 |
3 | MDN Web Docs, formerly known as Mozilla Developer Network, is the official Mozilla website for development documentation of web standards and Mozilla projects.
4 |
--------------------------------------------------------------------------------
/glossary/Yarn.md:
--------------------------------------------------------------------------------
1 | ### Yarn
2 |
3 | Yarn is a package manager made by Facebook.
4 | It can be used as an alternative to the npm package manager and is compatible with the public NPM registry.
5 |
--------------------------------------------------------------------------------
/glossary/Template-literals.md:
--------------------------------------------------------------------------------
1 | ### Template literals
2 |
3 | Template literals are strings that allow embedded expressions.
4 | They support multi-line strings, expression interpolation and nesting.
5 |
--------------------------------------------------------------------------------
/glossary/Vue.md:
--------------------------------------------------------------------------------
1 | ### Vue
2 |
3 | Vue.js is a progressive frontend framework for building user interfaces.
4 | Vue.js separates view and state, utilizing a virtual DOM to update the user interface.
5 |
--------------------------------------------------------------------------------
/test/arrayToHtmlList.test.js:
--------------------------------------------------------------------------------
1 | const {arrayToHtmlList} = require('./_30s.js');
2 |
3 | test('arrayToHtmlList is a Function', () => {
4 | expect(arrayToHtmlList).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/test/detectDeviceType.test.js:
--------------------------------------------------------------------------------
1 | const {detectDeviceType} = require('./_30s.js');
2 |
3 | test('detectDeviceType is a Function', () => {
4 | expect(detectDeviceType).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/test/observeMutations.test.js:
--------------------------------------------------------------------------------
1 | const {observeMutations} = require('./_30s.js');
2 |
3 | test('observeMutations is a Function', () => {
4 | expect(observeMutations).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/test/speechSynthesis.test.js:
--------------------------------------------------------------------------------
1 | const {speechSynthesis} = require('./_30s.js');
2 |
3 | test('speechSynthesis is a Function', () => {
4 | expect(speechSynthesis).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/glossary/Automatic-semicolon-insertion.md:
--------------------------------------------------------------------------------
1 | ### Automatic semicolon insertion
2 |
3 | Automatic semicolon insertion (ASI) is a JavaScript feature that allows developers to omit semicolons in their code.
4 |
--------------------------------------------------------------------------------
/glossary/Constant.md:
--------------------------------------------------------------------------------
1 | ### Constant
2 |
3 | A constant is a value, associated with an identifier.
4 | The value of a constant can be accessed using the identifier and cannot be altered during execution.
5 |
--------------------------------------------------------------------------------
/test/onUserInputChange.test.js:
--------------------------------------------------------------------------------
1 | const {onUserInputChange} = require('./_30s.js');
2 |
3 | test('onUserInputChange is a Function', () => {
4 | expect(onUserInputChange).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/discussion.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Discussion
3 | about: Discuss something with us
4 |
5 | ---
6 |
7 | ## Description
8 |
9 |
--------------------------------------------------------------------------------
/.mdlrc.style.rb:
--------------------------------------------------------------------------------
1 | all
2 | rule 'header-style', :style => "atx"
3 | rule 'ul-style', :style => "asterisk"
4 |
5 | exclude_rule 'first-header-h1'
6 | exclude_rule 'first-line-h1'
7 | exclude_rule 'no-inline-html'
8 |
--------------------------------------------------------------------------------
/glossary/Pseudo-class.md:
--------------------------------------------------------------------------------
1 | ### Pseudo-class
2 |
3 | In CSS, a pseudo-class is used to define a special state of an element and can be used as a selector in combination with an id, element or class selector.
4 |
--------------------------------------------------------------------------------
/glossary/Pseudo-element.md:
--------------------------------------------------------------------------------
1 | ### Pseudo-element
2 |
3 | In CSS, a pseudo-element is used to style specific parts of an element and can be used as a selector in combination with an id, element or class selector.
4 |
--------------------------------------------------------------------------------
/glossary/Module.md:
--------------------------------------------------------------------------------
1 | ### Module
2 |
3 | Modules are independent, self-contained pieces of code that can be incorporated into other pieces of code.
4 | Modules improve maintainability and reusability of the code.
5 |
--------------------------------------------------------------------------------
/docs/icons/chevron-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/glossary/Flexbox.md:
--------------------------------------------------------------------------------
1 | ### Flexbox
2 |
3 | Flexbox is a one-dimensional layout model used to style websites as a property that could advance space distribution between items and provide powerful alignment capabilities.
4 |
--------------------------------------------------------------------------------
/glossary/Garbage-collection.md:
--------------------------------------------------------------------------------
1 | ### Garbage collection
2 |
3 | Garbage collection is a form of automatic memory management.
4 | It attempts to reclaim memory occupied by objects that are no longer used by the program.
5 |
--------------------------------------------------------------------------------
/glossary/MongoDB.md:
--------------------------------------------------------------------------------
1 | ### MongoDB
2 |
3 | MongoDB is a NoSQL database model that stores data in flexible, JSON-like documents, meaning fields can vary from document to document and data structure can be changed over time
4 |
--------------------------------------------------------------------------------
/glossary/URI.md:
--------------------------------------------------------------------------------
1 | ### URI
2 |
3 | URI stands for Uniform Resource Identifier and is a text string referring to a resource.
4 | A common type of URI is a URL, which is used for the identification of resources on the Web.
5 |
--------------------------------------------------------------------------------
/glossary/UTF-8.md:
--------------------------------------------------------------------------------
1 | ### UTF-8
2 |
3 | UTF-8 stands for UCS Transformation Format 8 and is a commonly used character encoding.
4 | UTF-8 is backwards compatible with ASCII and can represent any standard Unicode character.
5 |
--------------------------------------------------------------------------------
/test/UUIDGeneratorBrowser.test.js:
--------------------------------------------------------------------------------
1 | const {UUIDGeneratorBrowser} = require('./_30s.js');
2 |
3 | test('UUIDGeneratorBrowser is a Function', () => {
4 | expect(UUIDGeneratorBrowser).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/test/createDirIfNotExists.test.js:
--------------------------------------------------------------------------------
1 | const {createDirIfNotExists} = require('./_30s.js');
2 |
3 | test('createDirIfNotExists is a Function', () => {
4 | expect(createDirIfNotExists).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/test/recordAnimationFrames.test.js:
--------------------------------------------------------------------------------
1 | const {recordAnimationFrames} = require('./_30s.js');
2 |
3 | test('recordAnimationFrames is a Function', () => {
4 | expect(recordAnimationFrames).toBeInstanceOf(Function);
5 | });
6 |
--------------------------------------------------------------------------------
/docs/icons/chevron-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/glossary/Argument.md:
--------------------------------------------------------------------------------
1 | ### Argument
2 |
3 | An argument is a value passed as an input to a function and can be either a primitive or an object.
4 | In JavaScript, functions can also be passed as arguments to other functions.
5 |
--------------------------------------------------------------------------------
/glossary/SVG.md:
--------------------------------------------------------------------------------
1 | ### SVG
2 |
3 | SVG stands for Scalable Vector Graphics and is a 2D vector image format based on an XML syntax.
4 | SVG images can scale infinitely and can utilize clipping, masking, filters, animations etc.
5 |
--------------------------------------------------------------------------------
/glossary/XHTML.md:
--------------------------------------------------------------------------------
1 | ### XHTML
2 |
3 | XHTML stands for EXtensible HyperText Markup Language and is a language used to structure web pages.
4 | XHTML is a reformulation of the HTML document structure as an application of XML.
5 |
--------------------------------------------------------------------------------
/glossary/URL.md:
--------------------------------------------------------------------------------
1 | ### URL
2 |
3 | URL stands for Uniform Resource Locator and is a text string specifying where a resource can be found on the Internet.
4 | In the HTTP protocol, URLs are the same as web addresses and hyperlinks.
5 |
--------------------------------------------------------------------------------
/glossary/Closure.md:
--------------------------------------------------------------------------------
1 | ### Closure
2 |
3 | A closure is the combination of a function and the lexical environment within which that function was declared.
4 | The closure allows a function to access the contents of that environment.
5 |
--------------------------------------------------------------------------------
/glossary/React.md:
--------------------------------------------------------------------------------
1 | ### React
2 |
3 | React is a frontend framework, that allows developers to create dynamic, component-based user interfaces.
4 | React separates view and state, utilizing a virtual DOM to update the user interface.
5 |
--------------------------------------------------------------------------------
/glossary/Variable.md:
--------------------------------------------------------------------------------
1 | ### Variable
2 |
3 | A variable is a storage location, associated with an identifier and containing a value.
4 | The value of a variable can be referred using the identifier and can be altered during execution.
5 |
--------------------------------------------------------------------------------
/glossary/Express.md:
--------------------------------------------------------------------------------
1 | ### Express
2 |
3 | Express is a backend framework, that provides a layer of fundamental web application features for Node.js.
4 | Some of its key features are routing, middleware, template engines and error handling.
5 |
--------------------------------------------------------------------------------
/glossary/Hoisting.md:
--------------------------------------------------------------------------------
1 | ### Hoisting
2 |
3 | Hoisting is JavaScript's default behavior of adding declarations to memory during the compile phase.
4 | Hoisting allows for JavaScript variables to be used before the line they were declared on.
5 |
--------------------------------------------------------------------------------
/glossary/Npm.md:
--------------------------------------------------------------------------------
1 | ### Npm
2 |
3 | Npm is a package manager for the JavaScript programming language and the default package manager for Node.js.
4 | It consists of a command-line client and the npm registry, an online database of packages.
5 |
--------------------------------------------------------------------------------
/glossary/jQuery.md:
--------------------------------------------------------------------------------
1 | ### jQuery
2 |
3 | jQuery is a frontend JavaScript library, that simplifies DOM manipulation, AJAX calls and Event handling.
4 | jQuery uses its globally defined function, `$()`, to select and manipulate DOM elements.
5 |
--------------------------------------------------------------------------------
/docs/icons/star.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/glossary/Factory-functions.md:
--------------------------------------------------------------------------------
1 | ### Factory functions
2 |
3 | In JavaScript, a factory function is any function, which is not a class or constructor, that returns a new object.
4 | Factory functions don't require the use of the `new` keyword.
5 |
--------------------------------------------------------------------------------
/glossary/Node-js.md:
--------------------------------------------------------------------------------
1 | ### Node.js
2 |
3 | Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine.
4 | Node.js can execute JavaScript code outside of the browser and can be used to develop web backends or standalone applications.
5 |
--------------------------------------------------------------------------------
/glossary/SSL.md:
--------------------------------------------------------------------------------
1 | ### SSL
2 |
3 | Secure Sockets Layer, commonly known as SSL or TLS, is a set of protocols and standards for transferring private data across the Internet.
4 | SSL uses a cryptographic system that uses two keys to encrypt data.
5 |
--------------------------------------------------------------------------------
/glossary/WebSockets.md:
--------------------------------------------------------------------------------
1 | ### WebSockets
2 |
3 | WebSockets is a protocol that allows for a persistent client-server TCP connection.
4 | The WebSocket protocol uses lower overheads, facilitating real-time data transfer between client and server.
5 |
--------------------------------------------------------------------------------
/docs/icons/code.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/glossary/Character-encoding.md:
--------------------------------------------------------------------------------
1 | ### Character encoding
2 |
3 | A character encoding defines a mapping between bytes and text, specifying how the sequenece of bytes should be interpreted.
4 | Two commonly used character encodings are ASCII and UTF-8.
5 |
--------------------------------------------------------------------------------
/glossary/SQL-injection.md:
--------------------------------------------------------------------------------
1 | ### SQL injection
2 |
3 | SQL injection is a code injection technique, used to attack data-driven applications.
4 | SQL injections get their name from the SQL language and mainly target data stored in relational databases.
5 |
--------------------------------------------------------------------------------
/glossary/Git.md:
--------------------------------------------------------------------------------
1 | ### Git
2 |
3 | Git is an open-source version control system, used for source code management.
4 | Git allows users to copy (clone) and edit code on their local machines, before merging it into the main code base (master repository).
5 |
--------------------------------------------------------------------------------
/glossary/Unit-testing.md:
--------------------------------------------------------------------------------
1 | ### Unit testing
2 |
3 | Unit testing is a type of software testing, used to test individual units/components of a software.
4 | The purpose of unit tests are to validate that each individual unit/component performs as designed.
5 |
--------------------------------------------------------------------------------
/glossary/Constructor.md:
--------------------------------------------------------------------------------
1 | ### Constructor
2 |
3 | In class-based object-oriented programming, a constructor is a special type of function called to instantiate an object.
4 | Constructors often accept arguments that are commonly used to set member properties.
5 |
--------------------------------------------------------------------------------
/test/btoa.test.js:
--------------------------------------------------------------------------------
1 | const {btoa} = require('./_30s.js');
2 |
3 | test('btoa is a Function', () => {
4 | expect(btoa).toBeInstanceOf(Function);
5 | });
6 | test('btoa("foobar") equals "Zm9vYmFy"', () => {
7 | expect(btoa('foobar')).toBe('Zm9vYmFy');
8 | });
9 |
--------------------------------------------------------------------------------
/glossary/CORS.md:
--------------------------------------------------------------------------------
1 | ### CORS
2 |
3 | Cross-Origin Resource Sharing (known as CORS) is a mechanism that uses extra HTTP headers to tell a browser to let a web application running at one domain have permission to access resources from a server at a different domain.
4 |
--------------------------------------------------------------------------------
/glossary/Regular-expressions.md:
--------------------------------------------------------------------------------
1 | ### Regular expressions
2 |
3 | Regular expressions (known as regex or regexp) are patterns used to match character combinations in strings.
4 | JavaScript provides a regular expression implementation through the `RegExp` object.
5 |
--------------------------------------------------------------------------------
/test/pipeLog.test.js:
--------------------------------------------------------------------------------
1 | const {pipeLog} = require('./_30s.js');
2 |
3 | test('pipeLog is a Function', () => {
4 | expect(pipeLog).toBeInstanceOf(Function);
5 | });
6 | test('pipeLog returns the given value', () => {
7 | expect(pipeLog('hi')).toBe('hi');
8 | });
9 |
--------------------------------------------------------------------------------
/test/sleep.test.js:
--------------------------------------------------------------------------------
1 | const {sleep} = require('./_30s.js');
2 |
3 | test('sleep is a Function', () => {
4 | expect(sleep).toBeInstanceOf(Function);
5 | });
6 | test('Works as expected', () => {
7 | return expect(sleep(1000)).resolves.toBe(undefined);
8 | });
9 |
--------------------------------------------------------------------------------
/glossary/Array.md:
--------------------------------------------------------------------------------
1 | ### Array
2 |
3 | Arrays are used to store multiple values in a single variable.
4 | Arrays are ordered and each item in an array has a numeric index associated with it.
5 | JavaScript arrays are zero-indexed, meaning the first element's index is 0.
6 |
--------------------------------------------------------------------------------
/glossary/Callback.md:
--------------------------------------------------------------------------------
1 | ### Callback
2 |
3 | A callback function, also known as a high-order function, is a function that is passed into another function as an argument, which is then executed inside the outer function.
4 | Callbacks can be synchronous or asynchronous.
5 |
--------------------------------------------------------------------------------
/glossary/HTML.md:
--------------------------------------------------------------------------------
1 | ### HTML
2 |
3 | HTML stands for HyperText Markup Language and is a language used to structure web pages.
4 | HTML documents are plaintext documents structured with elements, which are surrounded by `<>` tags and optionally extended with attributes.
5 |
--------------------------------------------------------------------------------
/glossary/XML.md:
--------------------------------------------------------------------------------
1 | ### XML
2 |
3 | XML stands for eXtensible Markup Language and is a generic markup language specified by the W3C.
4 | XML documents are plaintext documents structured with user-defined tags, surrounded by `<>` and optionally extended with attributes.
5 |
--------------------------------------------------------------------------------
/test/kmphToMph.test.js:
--------------------------------------------------------------------------------
1 | const {kmphToMph} = require('./_30s.js');
2 |
3 | test('kmphToMph is a Function', () => {
4 | expect(kmphToMph).toBeInstanceOf(Function);
5 | });
6 | test('Returns mph from kph.', () => {
7 | expect(kmphToMph(10)).toBe(6.21371192);
8 | });
9 |
--------------------------------------------------------------------------------
/test/prefix.test.js:
--------------------------------------------------------------------------------
1 | const {prefix} = require('./_30s.js');
2 |
3 | test('prefix is a Function', () => {
4 | expect(prefix).toBeInstanceOf(Function);
5 | });
6 | test('prefix is a Function', () => {
7 | expect(typeof prefix('appearance')).toBe('string');
8 | });
9 |
--------------------------------------------------------------------------------
/test/sum.test.js:
--------------------------------------------------------------------------------
1 | const {sum} = require('./_30s.js');
2 |
3 | test('sum is a Function', () => {
4 | expect(sum).toBeInstanceOf(Function);
5 | });
6 | test('Returns the sum of two or more numbers/arrays.', () => {
7 | expect(sum(...[1, 2, 3, 4])).toBe(10);
8 | });
9 |
--------------------------------------------------------------------------------
/test/timeTaken.test.js:
--------------------------------------------------------------------------------
1 | const {timeTaken} = require('./_30s.js');
2 |
3 | test('timeTaken is a Function', () => {
4 | expect(timeTaken).toBeInstanceOf(Function);
5 | });
6 | test('timeTaken is a Function', () => {
7 | expect(timeTaken(() => 10)).toBe(10);
8 | });
9 |
--------------------------------------------------------------------------------
/glossary/Continuous-Integration.md:
--------------------------------------------------------------------------------
1 | ### Continuous Integration
2 |
3 | Continuous Integration (CI) is the practice of testing each change done to a codebase automatically and as early as possible.
4 | Two popular CI systems that integrate with GitHub are Travis CI and Circle CI.
--------------------------------------------------------------------------------
/glossary/Currying.md:
--------------------------------------------------------------------------------
1 | ### Currying
2 |
3 | Currying is a way of constructing functions that allows partial application of a function's arguments.
4 | Practically, this means that a function is broken down into a series of functions, each one accepting part of the arguments.
5 |
--------------------------------------------------------------------------------
/glossary/Selector.md:
--------------------------------------------------------------------------------
1 | ### Selector
2 |
3 | A CSS selector is a pattern that is used to select and/or style one or more elements in a document, based on certain rules.
4 | The order in which CSS selectors apply styles to elements is based on the rules of CSS specificity.
5 |
--------------------------------------------------------------------------------
/test/isBrowser.test.js:
--------------------------------------------------------------------------------
1 | const {isBrowser} = require('./_30s.js');
2 |
3 | test('isBrowser is a Function', () => {
4 | expect(isBrowser).toBeInstanceOf(Function);
5 | });
6 | test('isBrowser is a Function', () => {
7 | expect(typeof isBrowser()).toBe('boolean');
8 | });
9 |
--------------------------------------------------------------------------------
/test/mphToKmph.test.js:
--------------------------------------------------------------------------------
1 | const {mphToKmph} = require('./_30s.js');
2 |
3 | test('mphToKmph is a Function', () => {
4 | expect(mphToKmph).toBeInstanceOf(Function);
5 | });
6 | test('Returns kph from mph.', () => {
7 | expect(mphToKmph(10)).toBe(16.09344000614692);
8 | });
9 |
--------------------------------------------------------------------------------
/test/sdbm.test.js:
--------------------------------------------------------------------------------
1 | const {sdbm} = require('./_30s.js');
2 |
3 | test('sdbm is a Function', () => {
4 | expect(sdbm).toBeInstanceOf(Function);
5 | });
6 | test('Hashes the input string into a whole number.', () => {
7 | expect(sdbm('name')).toBe(-3521204949);
8 | });
9 |
--------------------------------------------------------------------------------
/glossary/Domain-name.md:
--------------------------------------------------------------------------------
1 | ### Domain name
2 |
3 | A domain name is a website's address on the Internet, used primarily in URLs to identify the server for each webpage.
4 | A domain name consists of a hierarchical sequence of names, separated by dots and ending with an extension.
5 |
--------------------------------------------------------------------------------
/glossary/WebGL.md:
--------------------------------------------------------------------------------
1 | ### WebGL
2 |
3 | WebGL stands for Web Graphics Library and is a JavaScript API that can be used for drawing interactive 2D and 3D graphics.
4 | WebGL is based on OpenGL and can be invoked within HTML `