Chalarangelo/30-seconds-of-code

View on GitHub
content/snippets/js/s/query-string-to-object.md

Summary

Maintainability
Test Coverage

Line length
Open

Knowing the delimiter, we can use `String.prototype.split()` to get the appropriate part of the string. Then, using the `URLSearchParams()` constructor, we can create an object that we can convert to an array of key-value pairs using the spread operator (`...`). Finally, we can use `Object.fromEntries()` to convert the array of key-value pairs into an object.

MD013 - Line length

Tags: line_length

Aliases: line-length Parameters: linelength, codeblocks, tables (number; default 80, boolean; default true)

This rule is triggered when there are lines that are longer than the configured line length (default: 80 characters). To fix this, split the line up into multiple lines.

This rule has an exception where there is no whitespace beyond the configured line length. This allows you to still include items such as long URLs without being forced to break them in the middle.

You also have the option to exclude this rule for code blocks and tables. To do this, set the code_blocks and/or tables parameters to false.

Code blocks are included in this rule by default since it is often a requirement for document readability, and tentatively compatible with code rules. Still, some languages do not lend themselves to short lines.

Line length
Open

The opposite operation is just as useful. Given an object, we can create a query string that can be appended to a URL. We can use `Object.entries()` to get an array of key-value pairs. Then, we can use `Array.prototype.reduce()` to create the query string from the key-value pairs. Each key-value pair is converted to a string and concatenated to the `queryString`. The delimiters used are `?` and `&`, depending on the **index of the key-value pair**.

MD013 - Line length

Tags: line_length

Aliases: line-length Parameters: linelength, codeblocks, tables (number; default 80, boolean; default true)

This rule is triggered when there are lines that are longer than the configured line length (default: 80 characters). To fix this, split the line up into multiple lines.

This rule has an exception where there is no whitespace beyond the configured line length. This allows you to still include items such as long URLs without being forced to break them in the middle.

You also have the option to exclude this rule for code blocks and tables. To do this, set the code_blocks and/or tables parameters to false.

Code blocks are included in this rule by default since it is often a requirement for document readability, and tentatively compatible with code rules. Still, some languages do not lend themselves to short lines.

Line length
Open

A query string is, in essence, a **list of key-value pairs**. They are separated from the URL with the `?` character and from each other with the `&` character. Given a `URL` object, we can use `URL.prototype.search` or `URL.prototype.searchParams`. However, we might not always be able to use the `URL` object, so it's a safe bet to create a function that can work with **plain strings**.

MD013 - Line length

Tags: line_length

Aliases: line-length Parameters: linelength, codeblocks, tables (number; default 80, boolean; default true)

This rule is triggered when there are lines that are longer than the configured line length (default: 80 characters). To fix this, split the line up into multiple lines.

This rule has an exception where there is no whitespace beyond the configured line length. This allows you to still include items such as long URLs without being forced to break them in the middle.

You also have the option to exclude this rule for code blocks and tables. To do this, set the code_blocks and/or tables parameters to false.

Code blocks are included in this rule by default since it is often a requirement for document readability, and tentatively compatible with code rules. Still, some languages do not lend themselves to short lines.

Line length
Open

As most web developers know, URLs are used for much more than simple navigation between pages, often departing a lot of information in the form of **query strings**. Converting between a query string and its **object representation** is crucial for many web applications. Let's see how we can do that.

MD013 - Line length

Tags: line_length

Aliases: line-length Parameters: linelength, codeblocks, tables (number; default 80, boolean; default true)

This rule is triggered when there are lines that are longer than the configured line length (default: 80 characters). To fix this, split the line up into multiple lines.

This rule has an exception where there is no whitespace beyond the configured line length. This allows you to still include items such as long URLs without being forced to break them in the middle.

You also have the option to exclude this rule for code blocks and tables. To do this, set the code_blocks and/or tables parameters to false.

Code blocks are included in this rule by default since it is often a requirement for document readability, and tentatively compatible with code rules. Still, some languages do not lend themselves to short lines.

First header should be a top level header
Open

## Query string to object

MD002 - First header should be a top level header

Tags: headers

Aliases: first-header-h1

Parameters: level (number; default 1)

This rule is triggered when the first header in the document isn't a h1 header:

## This isn't a H1 header

### Another header

The first header in the document should be a h1 header:

# Start with a H1 header

## Then use a H2 for subsections

There are no issues that match your filters.

Category
Status