AlexAegis/avl

View on GitHub

Showing 53 of 53 total issues

Tree has 39 functions (exceeds 20 allowed). Consider refactoring.
Open

@jsonObject
@toJson
export class Tree<
    K extends number | string | V | Comparable<K> | any = number | string,
    V extends number | string | Convertable<K> | any = any
Severity: Minor
Found in src/tree.class.ts - About 5 hrs to fix

    Node has 22 functions (exceeds 20 allowed). Consider refactoring.
    Open

    @jsonObject
    export class Node<
        K extends number | string | V | Comparable<K> | any = number | string,
        V extends number | string | Convertable<K> | any = any
    > {
    Severity: Minor
    Found in src/node.class.ts - About 2 hrs to fix

      Consider simplifying this complex logical expression.
      Open

                  if (((this.l && this.l.l && this.l.l.h) || 0) > ((this.l && this.l.r && this.l.r.h) || 0)) {
                      return this.rrotate();
                  } else return this.lrrotate();
      Severity: Major
      Found in src/node.class.ts - About 1 hr to fix

        Consider simplifying this complex logical expression.
        Open

                    if (((this.r && this.r.r && this.r.r.h) || 0) > ((this.r && this.r.l && this.r.l.h) || 0)) {
                        return this.lrotate();
                    } else return this.rlrotate();
        Severity: Major
        Found in src/node.class.ts - About 1 hr to fix

          Avoid too many return statements within this function.
          Open

                  } else return this;
          Severity: Major
          Found in src/node.class.ts - About 30 mins to fix

            Bare URL used
            Open

            available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
            Severity: Info
            Found in .github/code_of_conduct.md by markdownlint

            MD034 - Bare URL used

            Tags: links, url

            Aliases: no-bare-urls

            This rule is triggered whenever a URL is given that isn't surrounded by angle brackets:

            For more information, see http://www.example.com/.

            To fix this, add angle brackets around the URL:

            For more information, see <http:></http:>.

            Rationale: Without angle brackets, the URL isn't converted into a link in many markdown parsers.

            Note: if you do want a bare URL without it being converted into a link, enclose it in a code block, otherwise in some markdown parsers it will be converted:

            `http://www.example.com`

            Line length
            Open

            But you can use this if you use a regular anonym function. This will act the same as the one you
            Severity: Info
            Found in readme.md by markdownlint

            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

            tree.push(new AnotherValue(1)); // You can do messy things like this without implementing a single interface
            Severity: Info
            Found in readme.md by markdownlint

            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 clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

            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.

            Hard tabs
            Open

                    return this.y === other.y ? this.x - other.x : this.y - other.y;
            Severity: Info
            Found in readme.md by markdownlint

            MD010 - Hard tabs

            Tags: whitespace, hard_tab

            Aliases: no-hard-tabs

            This rule is triggered by any lines that contain hard tab characters instead of using spaces for indentation. To fix this, replace any hard tab characters with spaces instead.

            Example:

            Some text
            
                * hard tab character used to indent the list item

            Corrected example:

            Some text
            
                * Spaces used to indent the list item instead

            Ordered list item prefix
            Open

            4. See error

            MD029 - Ordered list item prefix

            Tags: ol

            Aliases: ol-prefix

            Parameters: style ("one", "ordered"; default "one")

            This rule is triggered on ordered lists that do not either start with '1.' or do not have a prefix that increases in numerical order (depending on the configured style, which defaults to 'one').

            Example valid list if the style is configured as 'one':

            1. Do this.
            1. Do that.
            1. Done.

            Example valid list if the style is configured as 'ordered':

            1. Do this.
            2. Do that.
            3. Done.

            Hard tabs
            Open

                constructor(public key: number) {}
            Severity: Info
            Found in readme.md by markdownlint

            MD010 - Hard tabs

            Tags: whitespace, hard_tab

            Aliases: no-hard-tabs

            This rule is triggered by any lines that contain hard tab characters instead of using spaces for indentation. To fix this, replace any hard tab characters with spaces instead.

            Example:

            Some text
            
                * hard tab character used to indent the list item

            Corrected example:

            Some text
            
                * Spaces used to indent the list item instead

            Header levels should only increment by one level at a time
            Open

            ### Install with NPM
            Severity: Info
            Found in readme.md by markdownlint

            MD001 - Header levels should only increment by one level at a time

            Tags: headers

            Aliases: header-increment

            This rule is triggered when you skip header levels in a markdown document, for example:

            # Header 1
            
            ### Header 3
            
            We skipped out a 2nd level header in this document

            When using multiple header levels, nested headers should increase by only one level at a time:

            # Header 1
            
            ## Header 2
            
            ### Header 3
            
            #### Header 4
            
            ## Another Header 2
            
            ### Another Header 3

            Hard tabs
            Open

                convertTo(): Coord {
            Severity: Info
            Found in readme.md by markdownlint

            MD010 - Hard tabs

            Tags: whitespace, hard_tab

            Aliases: no-hard-tabs

            This rule is triggered by any lines that contain hard tab characters instead of using spaces for indentation. To fix this, replace any hard tab characters with spaces instead.

            Example:

            Some text
            
                * hard tab character used to indent the list item

            Corrected example:

            Some text
            
                * Spaces used to indent the list item instead

            Hard tabs
            Open

                }
            Severity: Info
            Found in readme.md by markdownlint

            MD010 - Hard tabs

            Tags: whitespace, hard_tab

            Aliases: no-hard-tabs

            This rule is triggered by any lines that contain hard tab characters instead of using spaces for indentation. To fix this, replace any hard tab characters with spaces instead.

            Example:

            Some text
            
                * hard tab character used to indent the list item

            Corrected example:

            Some text
            
                * Spaces used to indent the list item instead

            Hard tabs
            Open

                    return this.n;
            Severity: Info
            Found in readme.md by markdownlint

            MD010 - Hard tabs

            Tags: whitespace, hard_tab

            Aliases: no-hard-tabs

            This rule is triggered by any lines that contain hard tab characters instead of using spaces for indentation. To fix this, replace any hard tab characters with spaces instead.

            Example:

            Some text
            
                * hard tab character used to indent the list item

            Corrected example:

            Some text
            
                * Spaces used to indent the list item instead

            Line length
            Open

            This is great when you have a bunch of objects you want to quickly access by keys that are encapsulated within the object.
            Severity: Info
            Found in readme.md by markdownlint

            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

            - [ ] Breaking change (fix or feature that would cause existing functionality to change)

            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 most basic case is that the key is a string or a number, then the value itself can be directly converted to a string or a number (Implicit or explicit, either having a `convertTo(): K` method on the objects prototyle or supply a converter function to the Tree object), and then if the key is an object it has to be comparable (Implicit or explicit, either having a `comparable(a: K, b: K): number` method on the objects prototype or supply a converter function to the Tree object)
            Severity: Info
            Found in readme.md by markdownlint

            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

            Very important, if using a lambda as a comparator you cant use the `this` keyword in it (as usual),
            Severity: Info
            Found in readme.md by markdownlint

            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.

            Severity
            Category
            Status
            Source
            Language