Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

fast-string-search

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fast-string-search

Fast search substrings in a string by using N-API and boyer-moore-magiclen.

  • 1.4.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
155
increased by203.92%
Maintainers
1
Weekly downloads
 
Created
Source

CI

This module can search substrings in a string by using N-API and boyer-moore-magiclen. The result of benchmark shows that this module is 10 times faster than the indexOf function of a Node.js string.

Initialization

Import this module by using require function.

const fss = require("fast-string-search");

Usage

indexOf

Full text search in a string.

const a = fss.indexOf("coocoocoocoo", "oocoo"); // [1, 4, 7]

You can also set the offset of characters and the number of substrings you want to find.

const a = fss.indexOf(source, pattern, offset, limit);

The default value of offset is 0, and the default value of limit is 1000.

indexOfSkip

Normal text search in a string.

const a = fss.indexOfSkip("coocoocoocoo", "oocoo"); // [1, 7]

lastIndexOf

Full text search from the end of a string.

const a = fss.lastIndexOf("coocoocoocoo", "oocoo"); // [7, 4, 1]

utf16IndexOf/utf16IndexOfSkip/utf16LastIndexOf

const a = fss.utf16IndexOf(Buffer.from("coocoocoocoo", "utf16le"), Buffer.from("oocoo", "utf16le")); // [1, 4, 7]

Tests

To run the test suite, first install the dependencies, then run npm test:

npm install
npm test

Benchmark

To run the benchmark suite, first install the dependencies, then run npm run benchmark:

npm install
npm run benchmark

Here is my result,

Full Text Search
  - 87 milliseconds
  ✓ natively search text(indexOf) (87ms)
  - 7 milliseconds
  ✓ Use FSS to search text

Normal Text Search
  - 35 milliseconds
  ✓ natively search text(indexOf)
  - 46 milliseconds
  ✓ natively search text(RegExp) (46ms)
  - 6 milliseconds
  ✓ Use FSS to search text

License

MIT

Keywords

FAQs

Package last updated on 26 Sep 2023

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc