Necesito Programar Más

    dot-notation-tokenizer
    TypeScript icon, indicating that this package has built-in type declarations

    1.3.0 • Public • Published

    dot-notation-tokenizer

    Convert a dot notation string into a tokenized array.


    GitHub Workflow Status Coverage Status npm JavaScript Style Guide License

    Installation

    yarn

    yarn add dot-notation-tokenizer

    npm

    npm i dot-notation-tokenizer

    Usage

    JavaScript ES / TypeScript

    import { tokenize } from 'dot-notation-tokenizer'
    
    tokenize('dot.notation')

    Browser

    <script src="path/to/script/index.min.js"></script>
    
    <script>
      dotNotationTokenizer.tokenize('dot.notation')
    </script>

    NodeJS

    const { tokenize } = require('dot-notation-tokenizer')
    
    tokenize('dot.notation')

    Explanation

    Dot notation can consist of basic property keys seperated by a . and also array indexes within [x] like the following.

    path.to.array[1]
    

    The above notation would return the following token array.

    [
      {
        "kind": "PROPERTY",
        "value": "path",
        "index": {
          "start": 0,
          "end": 4
        },
        "raw": "path"
      },
      {
        "kind": "PROPERTY",
        "value": "to",
        "index": {
          "start": 5,
          "end": 7
        },
        "raw": "to"
      },
      {
        "kind": "PROPERTY",
        "value": "array",
        "index": {
          "start": 8,
          "end": 13
        },
        "raw": "array"
      },
      {
        "kind": "ARRAY_INDEX",
        "value": 1,
        "index": {
          "start": 14,
          "end": 16
        },
        "text": "[1]"
      }
    ]

    The notation used above would be used to access the second array value in the following object.

    The value returned would be 2.

    {
      "path": {
        "to": {
          "array": [
            1,
            2,
            3
          ]
        }
      }
    }

    You can also chain array indexes for nested arrays like the following notation.

    path.to.deep.array[1][0][4]
    

    Escaping characters

    If you need to include ., [ or ] in your array key you can simply escape it by putting a slash \ in front of the character.

    escaped\\.property\\[0\\].withindex
    

    The above notation would return the following tokens.

    [
      {
        "kind": "PROPERTY",
        "value": "escaped.property[0]",
        "index": {
          "start": 0,
          "end": 22
        },
        "raw": "escaped\\.property\\[0\\]"
      },
      {
        "kind": "PROPERTY",
        "value": "withindex",
        "index": {
          "start": 23,
          "end": 32
        },
        "raw": "withindex"
      }
    ]

    Install

    npm i dot-notation-tokenizer

    DownloadsWeekly Downloads

    50

    Version

    1.3.0

    License

    MIT

    Unpacked Size

    397 kB

    Total Files

    19

    Last publish

    Collaborators

    • hammy2899