npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@anb98/string-format

v1.1.2

Published

Format string dependency using a specified template

Readme

@anb98/string-format

A TypeScript utility for formatting strings according to a template pattern, with support for custom placeholders and template preservation.

Installation

Using npm:

npm install @anb98/string-format

Using yarn:

yarn add @anb98/string-format

Using pnpm:

pnpm add @anb98/string-format

Features

  • Format strings using customizable templates
  • Support for custom placeholder characters
  • Option to preserve template characters
  • TypeScript support with full type definitions
  • Zero dependencies
  • Lightweight and performant

Usage

import { formatString } from "@anb98/string-format";

// Basic usage
const result = formatString({
  template: "+x (xxx) xxx-xxxx",
  value: "17134719686",
});
console.log(result); // Output: '+1 (713) 471-9686'

// With custom placeholder
const customResult = formatString({
  template: "##-##-##",
  value: "123456",
  placeholder: "#",
});
console.log(customResult); // Output: '12-34-56'

// Preserving template format
const preservedResult = formatString({
  template: "+1 (xxx) xxx-xxxx",
  value: "+1 (713) 47",
  preserveTemplate: true,
});
console.log(preservedResult); // Output: '+1 (713) 47'

// Removing non digits fromm value
const preservedResult = formatString({
  template: "+1 (xxx) xxx-xxxx",
  value: "+1 (713) 47",
  removeNonDigits: true,
});
console.log(preservedResult); // Output: '+1 (713) 47'

API Reference

formatString(options: FormatOptions): string

Formats a string according to a template pattern.

Options

type FormatOptions = {
  template: string; // The template pattern
  value: string; // The value to format
  placeholder?: string; // Custom placeholder character (default: 'x')
  preserveTemplate?: boolean; // Whether to preserve template characters (default: false)
  removeNonDigits?: boolean; // Whether to remove non digits from value property (default: false)
};

Parameters

  • template (required): The template string containing placeholders to be replaced.
  • value (required): The string value to insert into the template.
  • placeholder (optional): The character to use as a placeholder. Defaults to 'x'.
  • preserveTemplate (optional): Whether to preserve existing template characters in the value. Defaults to false.
  • removeNonDigits (optional): Whether to remove non digits from value property. Defaults to false.

Common Use Cases

  • Phone number formatting
  • Social security numbers
  • Credit card numbers
  • Serial numbers
  • Reference codes
  • Any string that needs to follow a specific pattern

TypeScript Support

The package includes TypeScript type definitions. You can import the types as follows:

import type { FormatOptions } from "@anb98/string-format";

License

ISC

Support

If you find a bug or would like to request a feature, please create an issue in the GitHub repository.

Changelog

1.0.0

  • Initial release
  • Basic string formatting functionality
  • Custom placeholder support
  • Template preservation option
  • TypeScript support

1.1.0

  • Added removeNonDigits property