Node's Package Magician

    md-attr-parser

    1.3.0 • Public • Published

    md-attr-parser

    A node plugin to parse attributes (custom HTML attributes).

    Syntax

    The syntax is common :

    {#thisIsAnId .thisIsAClass thisKey=thisValue}
     
    {thatKey="value" thisKey='thatValue'}

    Usage

    const parseAttr = require('md-attr-parser');
     
     
    parseAttr('{ width=500px editable=true }');
     
    parseAttr('height=500px');

    The output is an object of the form :

    {
      prop: {               // Keep the key-value attribute
        class: undefined,   // A list of class
        id: undefined,      // The uniq id
      },
      eaten: '',            // Every characters parsed
    }

    For example this code will output :

    parseAttr('{ width=500px editable=true #unicorn .dangerous .cute }');
    {
      prop: {
        class: ['dangerous', 'cute'],
        id: 'unicorn',
        width: '500px',
        editable: 'true',
      },
      eaten: '{ width=500px editable=true #unicorn .dangerous .cute }',
    }

    Advanced usage

    The parsing can start at a positive offset.

    parseAttr('SYNTAX{ width=500px editable=true }', len('SYNTAX'));

    A configuration can also be specified, actualy, there is only one configuration option. The default value of key without value.

    parseAttr('{ width=500px editable }', 0, {defaultValue: true});
    // or
    parseAttr('{ width=500px editable }', 0, {defaultValue: key => 'NO_VALUE_FOR_'+key.toUpperCase()});

    Licence

    MIT

    Install

    npm i md-attr-parser

    DownloadsWeekly Downloads

    2,254

    Version

    1.3.0

    License

    MIT

    Unpacked Size

    39.2 kB

    Total Files

    6

    Last publish

    Collaborators

    • ache