PHP 8.2.30
Preview: text.mjs Size: 2.05 KB
//proc/thread-self/root/home/byroehnu/.trash/node_modules11/markdown-it/lib/rules_inline/text.mjs

// Skip text characters for text token, place those to pending buffer
// and increment current pos

// Rule to skip pure text
// '{}$%@~+=:' reserved for extentions

// !, ", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \, ], ^, _, `, {, |, }, or ~

// !!!! Don't confuse with "Markdown ASCII Punctuation" chars
// http://spec.commonmark.org/0.15/#ascii-punctuation-character
function isTerminatorChar (ch) {
  switch (ch) {
    case 0x0A/* \n */:
    case 0x21/* ! */:
    case 0x23/* # */:
    case 0x24/* $ */:
    case 0x25/* % */:
    case 0x26/* & */:
    case 0x2A/* * */:
    case 0x2B/* + */:
    case 0x2D/* - */:
    case 0x3A/* : */:
    case 0x3C/* < */:
    case 0x3D/* = */:
    case 0x3E/* > */:
    case 0x40/* @ */:
    case 0x5B/* [ */:
    case 0x5C/* \ */:
    case 0x5D/* ] */:
    case 0x5E/* ^ */:
    case 0x5F/* _ */:
    case 0x60/* ` */:
    case 0x7B/* { */:
    case 0x7D/* } */:
    case 0x7E/* ~ */:
      return true
    default:
      return false
  }
}

export default function text (state, silent) {
  let pos = state.pos

  while (pos < state.posMax && !isTerminatorChar(state.src.charCodeAt(pos))) {
    pos++
  }

  if (pos === state.pos) { return false }

  if (!silent) { state.pending += state.src.slice(state.pos, pos) }

  state.pos = pos

  return true
}

// Alternative implementation, for memory.
//
// It costs 10% of performance, but allows extend terminators list, if place it
// to `ParserInline` property. Probably, will switch to it sometime, such
// flexibility required.

/*
var TERMINATOR_RE = /[\n!#$%&*+\-:<=>@[\\\]^_`{}~]/;

module.exports = function text(state, silent) {
  var pos = state.pos,
      idx = state.src.slice(pos).search(TERMINATOR_RE);

  // first char is terminator -> empty text
  if (idx === 0) { return false; }

  // no terminator -> text till end of string
  if (idx < 0) {
    if (!silent) { state.pending += state.src.slice(pos); }
    state.pos = state.src.length;
    return true;
  }

  if (!silent) { state.pending += state.src.slice(pos, pos + idx); }

  state.pos += idx;

  return true;
}; */

Directory Contents

Dirs: 0 × Files: 15

Name Size Perms Modified Actions
1.96 KB lrw-r--r-- 2026-02-28 00:28:22
Edit Download
1.63 KB lrw-r--r-- 2026-02-28 00:28:26
Edit Download
3.99 KB lrw-r--r-- 2026-02-28 00:28:26
Edit Download
3.44 KB lrw-r--r-- 2026-02-28 00:28:38
Edit Download
1.45 KB lrw-r--r-- 2026-02-28 00:28:38
Edit Download
1.39 KB lrw-r--r-- 2026-02-28 00:28:40
Edit Download
1.24 KB lrw-r--r-- 2026-02-28 00:28:44
Edit Download
1.14 KB lrw-r--r-- 2026-02-28 00:28:54
Edit Download
3.55 KB lrw-r--r-- 2026-02-28 00:28:58
Edit Download
3.64 KB lrw-r--r-- 2026-02-28 00:29:04
Edit Download
1.86 KB lrw-r--r-- 2026-02-28 00:29:06
Edit Download
1.17 KB lrw-r--r-- 2026-02-28 00:29:08
Edit Download
3.41 KB lrw-r--r-- 2026-02-28 00:29:30
Edit Download
2.87 KB lrw-r--r-- 2026-02-28 00:29:32
Edit Download
2.05 KB lrw-r--r-- 2026-02-28 00:29:34
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).