Sha256: 6f4b752744321834c71cfae20ebf1c9e9021bc52d257903fb3d3a0c0a40f90c0

Contents?: true

Size: 1.27 KB

Versions: 23

Compression:

Stored size: 1.27 KB

Contents

'use strict'

var xtend = require('xtend')
var entities = require('parse-entities')

module.exports = factory

// Factory to create an entity decoder.
function factory(ctx) {
  decoder.raw = decodeRaw

  return decoder

  // Normalize `position` to add an `indent`.
  function normalize(position) {
    var offsets = ctx.offset
    var line = position.line
    var result = []

    while (++line) {
      if (!(line in offsets)) {
        break
      }

      result.push((offsets[line] || 0) + 1)
    }

    return {start: position, indent: result}
  }

  // Decode `value` (at `position`) into text-nodes.
  function decoder(value, position, handler) {
    entities(value, {
      position: normalize(position),
      warning: handleWarning,
      text: handler,
      reference: handler,
      textContext: ctx,
      referenceContext: ctx
    })
  }

  // Decode `value` (at `position`) into a string.
  function decodeRaw(value, position, options) {
    return entities(
      value,
      xtend(options, {position: normalize(position), warning: handleWarning})
    )
  }

  // Handle a warning.
  // See <https://github.com/wooorm/parse-entities> for the warnings.
  function handleWarning(reason, position, code) {
    if (code !== 3) {
      ctx.file.message(reason, position)
    }
  }
}

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
trusty-cms-5.0.7 node_modules/remark-parse/lib/decode.js
trusty-cms-5.0.6 node_modules/remark-parse/lib/decode.js
trusty-cms-5.0.5 node_modules/remark-parse/lib/decode.js
trusty-cms-5.0.4 node_modules/remark-parse/lib/decode.js
trusty-cms-5.0.3 node_modules/remark-parse/lib/decode.js
trusty-cms-5.0.2 node_modules/remark-parse/lib/decode.js
trusty-cms-5.0.1 node_modules/remark-parse/lib/decode.js
trusty-cms-4.3.5 node_modules/remark-parse/lib/decode.js
trusty-cms-5.0.0 node_modules/remark-parse/lib/decode.js
trusty-cms-4.3.4 node_modules/remark-parse/lib/decode.js
trusty-cms-4.3.3 node_modules/remark-parse/lib/decode.js
trusty-cms-4.3.2 node_modules/remark-parse/lib/decode.js
trusty-cms-4.3.1 node_modules/remark-parse/lib/decode.js
trusty-cms-4.3 node_modules/remark-parse/lib/decode.js
trusty-cms-4.2.3 node_modules/remark-parse/lib/decode.js
trusty-cms-4.2.2 node_modules/remark-parse/lib/decode.js
trusty-cms-4.2.1 node_modules/remark-parse/lib/decode.js
trusty-cms-4.2 node_modules/remark-parse/lib/decode.js
trusty-cms-4.1.9 node_modules/remark-parse/lib/decode.js
trusty-cms-4.1.8 node_modules/remark-parse/lib/decode.js