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

breadtags

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

breadtags

A minimal tags parser.

  • 2.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

bread-tags

bread-tags is a minimal and performant tags parser supporting infinitely nested tags.

Usage

const Parser = require('breadtags');

// inside an async function
console.log(await new Parser().parse('A random fruit is {uppercase:{choose:orange;apple;banana}}'))
// A random fruit is ORANGE/APPLE/BANANA

Context

Users can pass in a context to make tags more aware. It is passed into the run function of every tag.

Creating your own tags

All tags (including built-ins) satisfy an interface.

interface Tag {
    aliases: Array<string>;
    name: string;
    run: Function;
}

Users can pass a tag implementing this interface into Parser#load. A synchronous Parser#loadAll is also provided to load all tags from a directory.

Disabling tags

A variadic Parser#remove is provided to remove pre loaded tags.

Error handling

When an error occurs while executing a tag, parsing stops immediately and the error string is returned from Parser#parse. This ensures the application will not crash, and the end user will be able to report the error.

Discord specific tags

Discord specific tags are implemented assuming you are using discord.js master. For all tags to function, ensure your Context satisfies this interface:

interface Context {
    user: discordjs.User;
    guild: discordjs.Guild;
    channel: discordjs.GuildChannel;
}

FAQs

Package last updated on 15 May 2019

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