Sha256: 8bb893414cc7b785bc1e6787af5ae3e8b0a57bbc6621dcd4012bd25f4d9a31da

Contents?: true

Size: 1.12 KB

Versions: 10

Compression:

Stored size: 1.12 KB

Contents

/**
 * The MIT License (MIT)
 * Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
 */

'use strict';

var NFA = require('./nfa/nfa');
var DFA = require('./dfa/dfa');

var nfaFromRegExp = require('./nfa/nfa-from-regexp');
var builders = require('./nfa/builders');

module.exports = {

  /**
   * Export NFA and DFA classes.
   */
  NFA: NFA,
  DFA: DFA,

  /**
   * Expose builders.
   */
  builders: builders,

  /**
   * Builds an NFA for the passed regexp.
   *
   * @param string | AST | RegExp:
   *
   *   a regular expression in different representations: a string,
   *   a RegExp object, or an AST.
   */
  toNFA: function toNFA(regexp) {
    return nfaFromRegExp.build(regexp);
  },


  /**
   * Builds DFA for the passed regexp.
   *
   * @param string | AST | RegExp:
   *
   *   a regular expression in different representations: a string,
   *   a RegExp object, or an AST.
   */
  toDFA: function toDFA(regexp) {
    return new DFA(this.toNFA(regexp));
  },


  /**
   * Returns true if regexp accepts the string.
   */
  test: function test(regexp, string) {
    return this.toDFA(regexp).matches(string);
  }
};

Version data entries

10 entries across 10 versions & 3 rubygems

Version Path
condenser-0.0.8 lib/condenser/processors/node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js
jester-data-8.0.0 node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js
ezii-os-5.2.1 node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js
ezii-os-2.0.1 node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js
ezii-os-1.1.0 node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js
ezii-os-1.0.0 node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js
condenser-0.0.7 lib/condenser/processors/node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js
ezii-os-0.0.0.1.0 node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js
ezii-os-0.0.0.0.1 node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js
condenser-0.0.5 lib/condenser/processors/node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js