escaper
    TypeScript icon, indicating that this package has built-in type declarations

    3.0.6 • Public • Published

    Escaper

    Escaper is a small JavaScript library to replace string literals, regular expressions, and comments from the JavaScript syntax.

    Russian documentation

    NPM version NPM devDependencies Build Status Coverage Status

    Supports:

    • ' ... '
    • " ... "
    • ` ... `, ` ... ${...} `
    • / ... /
    • // ..., //* ..., //! ..., //# ..., //@ ..., //$ ...
    • /* ... */, /** ... */, /*! ... */, /*# ... */, /*@ ... */, /*$ ... */

    Install

    https://raw.githubusercontent.com/kobezzza/Escaper/master/dist/escaper.min.js

    or

    npm install escaper

    or

    bower install escaper

    or

    git clone https://github.com/kobezzza/Escaper

    Usage

    const
      str = 'Hello "world" and \'friends\'',
      content = [];
    
    // Replaces all found matches
    // 'Hello __ESCAPER_QUOT__0_ and __ESCAPER_QUOT__1_'
    Escaper.replace(str, content)
    
    // Replaces only single quotes
    // 'Hello "world" and __ESCAPER_QUOT__0_'
    Escaper.replace(str, ["'"])
    
    // Cuts all found matches
    // 'Hello and '
    Escaper.replace(str, -1)
    
    // Replaces all and cuts single quotes
    // 'Hello __ESCAPER_QUOT__0_ and '
    Escaper.replace(str, {"'": -1})
    
    // Replaces all but strings
    // 'Hello __ESCAPER_QUOT__0_ and \'friends\''
    Escaper.replace(str, {strings: false})
    
    // Replaces all, but strings can be only single quotes
    // 'Hello "world" and __ESCAPER_QUOT__0_'
    Escaper.replace(str, {strings: ["'"]})
    
    // Replaces all, but strings can be only single quotes and it will be cut
    // 'Hello "world" and '
    Escaper.replace(str, {strings: {"'": -1}})
    
    // Replaces all found escape blocks to a real content
    // 'Hello "world" and \'friends\''
    Escaper.paste(str, content);

    API

    Escaper.replace(str, how?, store?): string

    Replaces all found blocks ' ... ', " ... ", ` ... `, / ... /, // ..., /* ... */ to escape blocks from the specified string and returns a new string.

    Arguments

    • string str — source string;
    • string[] | Record<string, string[] | Record<string, boolean | -1> | false | -1> | false | -1 how? — parameters:

    Possible values

    If a value is set to -1, then all found matches will be removed from the final string. If the value is set to boolean it will be replaced/passed.

    // Label of replacement, by default __ESCAPER_QUOT__${pos}_
    'label'
    
    // Singleline comment
    'singleComments'
    
    // Multiline comments
    'multComments'
    
    // All kinds of comments
    'comments'
    
    // All kinds of strings
    'strings'
    
    // All kinds of literals (except strings and comments)
    'literals'
    
    // Literals
    "'"
    '"'
    '`'
    '/'
    '//'
    '//*'
    '//!'
    '//#'
    '//@'
    '//$'
    '/*'
    '/**'
    '/*!'
    '/*#'
    '/*@'
    '/*$'

    The parameters can be specified as an array (escapes only explicitly specified sequences) or like an object (disables/excludes by a literal or group). Also, if you set the parameter value as -1, then all found sequences will be removed from the string.

    • string[] store = Escaper.content — store for matches.

    Escaper.paste(str, store?, rgxp?): string

    Replaces all found escape blocks to real content from the specified string and returns a new string.

    Arguments

    • string str — source string;
    • string[] store = Escaper.content — store of matches;
    • RegExp rgxp? — RegExp to search, e.g. /__ESCAPER_QUOT__(\d+)_/g.

    License

    The MIT License.

    Install

    npm i escaper

    DownloadsWeekly Downloads

    6,842

    Version

    3.0.6

    License

    MIT

    Unpacked Size

    53 kB

    Total Files

    16

    Last publish

    Collaborators

    • kobezzza