Socket
Socket
Sign inDemoInstall

streader

Package Overview
Dependencies
0
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    streader

A simple String Reader for a Convenient way to read through strings


Version published
Maintainers
1
Install size
103 kB
Created

Readme

Source

Streader

A simple String Reader for a convenient way to read through strings

Build Status Coverage Status NPM Version

Basic Overview

Streader is a String Reader which simplifies the way we read through strings.

Library can be used both in Node.js and directly in Browser. It is well-documented and completely covered with test specs (excluding webpack bundling definitions and expressions).

If you want to add some features or to suggest any idea, feel free ? contributions are always welcome.

How to Install

Using NPM

To use Streader with NPM simply call:

npm install --save streader
In Browser

To use Streader directly in browser simply download this repository and copy dist/streader.js into your project. Next, include it on your .html page:

<script src="path/to/your/js/streader.js"></script>

Get Started

You are able to use Streader as the importable npm package or directly in browser.

In Node.js
import Streader from "streader";

var reader = new Streader("example");

while( !reader.eof() ) {
 var char = reader.read();
 // Do something with each char
}
In Browser
<script>
var reader = new Streader("example");

while( !reader.eof() ) {
 var char = reader.read();
 // Do something with each char
}
</script>

API

read(count)

Reads the next characters. Count - optional count of characters to read

var reader = new Streader("Example");

var chars = reader.read(7); // chars => "Example"

peek(count, offset)

Reads the next character without advancing the cursor. Count - optional count of characters to read; Offset - optional offset to start read at

var reader = new Streader("Example");

var chars = reader.peek(3, 2); // chars => "amp"

skip(count)

Skips the next characters. Count - optional count of characters to read.

var reader = new Streader("Example");

var skipped = reader.skip(3); // skipped => 3

readPattern(pattern)

Reads characters that match either string or regexp pattern.

var reader = new Streader("Pattern Example");

var chars = reader.readPattern("Pattern"); // chars => "Pattern"
var index = reader.getIndex(); // index => 7

var chars = reader.readPattern(/\s+/); // chars => " "
var index = reader.getIndex(); // index => 8

peekPattern(pattern, offset)

Reads characters that match either string or regexp pattern without advancing the cursor.

var reader = new Streader("Pattern Example");

var chars = reader.peekPattern("Ex", 8); // chars => "Ex"
var index = reader.getIndex(); // index => 0

var chars = reader.peekPattern(/\w+/); // chars => "Pattern"
var index = reader.getIndex(); // index => 0

skipPattern(pattern)

Skips characters that match either string or regexp.

var reader = new Streader("Pattern Example");

var skipped = reader.skipPattern("Pattern"); // skipped => 7

var skipped = reader.skipPattern(/\s|\n/); // skipped => 1

eof()

Checks if we're at the end of the source

var reader = new Streader("example");
reader.read(100); // Read all characters

var isEof = reader.eof(); // isEof => true

reset()

Resets current cursor position

var reader = new Streader("example");
reader.read(5); // Read 5 characters for example

reader.reset();

var index = reader.getIndex(); // index => 0

getSource()

Gets the current reader's source string.

var reader = new Streader("example");

var source = reader.getSource(); // source => "example"

getIndex()

Gets the current index of the cursor.

var reader = new Streader("example");
reader.read(5); // shift cursor for example

var index = reader.getIndex(); // index => 5

setSource(text)

Loads the new text source to StringReader. Method resets current cursor data. Useful for deferred read.

var reader = new Streader("old");
reader.read(2); // shift cursor for example

reader.setSource("new");

var source = reader.getSource(); // source => "new"
var index = reader.getIndex(); // index => 0

Contributing to Streader

Contributions are always welcome. Before contributing please read the code of conduct & search the issue tracker (your issue may have already been discussed or fixed).

To contribute, follow next steps:

  • Fork Streader
  • Commit your changes
  • Open a Pull Request.

Feature Requests

Feature requests should be submitted in the issue tracker, with a description of the expected behavior & use case, where they?ll remain closed until sufficient interest (e.g. ? reactions). Before submitting a feature request, please search for similar ones in the closed issues.

License

Released under the MIT License

Keywords

FAQs

Last updated on 10 Nov 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc