GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - litmit/sprintf-ext-string: String formatting extension for sprintf-js

BranchesTags
Open more actions menu

Latest commit

 

History

3 Commits
3 Commits

Folders and files

NameName
Last commit message
Last commit date
test
test
 
 
.gitignore
.gitignore
 
 
.jshintrc
.jshintrc
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
index.js
index.js
 
 
package.json
package.json
 
 

Repository files navigation

sprintf-ext-string

String formatting extension for 'sprintf-js'

Overview

It's the very experimental module to try the new feature that proposed to sprintf-js by me.

This feature allow to use an user defined type specifiers (any letter) and bind such specifier with an user defined function. This function will be called inside sprintf to format sprintf arguments according desired specification. An additional formatting modifiers may be passed in the sprintf format string if need.

You can use any existing formatting features of sprintf together with such user defined type specifiers (width, precision, padding and aligning). They will be applied to result of user function.

Getting Started

Install featured sprintf-js:

npm install https://github.com/litmit/sprintf.js.git#expandable

Install this extension:

npm install sprintf-ext-string

Now you can code:

var sprintf = require("sprintf-js").sprintf;
require("sprintf-ext-string").bind(sprintf);

var user = { name: "DoLly mollY" };

console.log(sprintf("Hello %(name)-11.5S", user));    // --> Hello DOLLY 
console.log(sprintf("Hello %(name)-11.5[U]S", user)); // --> Hello DOLLY 
console.log(sprintf("Hello %(name)11.5[l]S", user));  // --> Hello       dolly
console.log(sprintf("Hello %(name)11.5[]S", user));   // --> Hello       DoLly

console.log(sprintf("Hello %1$[l]S", user.name));     // --> Hello dolly molly
console.log(sprintf("Hello %1$[C]S", user.name));     // --> Hello DoLly MollY
console.log(sprintf("Hello %1$[Cl]S", user.name));    // --> Hello Dolly Molly

console.log(sprintf("Hello %[F]S", user.name));       // --> Hello DoLly mollY
console.log(sprintf("Hello %[f]S", user.name));       // --> Hello doLly mollY

console.log(sprintf("Hello %[Fl]S", user.name));      // --> Hello Dolly molly
console.log(sprintf("Hello %[fU]S", user.name));      // --> Hello dOLLY MOLLY

String formatting modifiers

  • %S or %[U]S - now yields a string in UPPER CASE
  • %[]S - yields a string as is (like %s)
  • %[l]S - now yields a string in lower case
  • %[F]S - now yields a string with first letter in Upper case
  • %[f]S - now yields a string with first letter in lower case
  • %[Fl]S - now yields a string with first letter in Upper case and others in Lower case
  • %[fU]S - now yields a string with first letter in lower case and others in uPPER CASE
  • %[C]S - now yields a string with first letter in each word in Upper Case
  • %[Cl]S - now yields a string with first letter in each word in Upper Case and others in Lower case

See also

Available extensions for sprintf-js:

  • sprintf-ext-strftime - Date/time formatting extension for sprintf-js (via strftime)
  • sprintf-ext-string - String formatting extension for sprintf-js

About

String formatting extension for sprintf-js

Topics

formatjavascriptnodesprintfstring

Resources

Readme
MIT license
Activity

Stars

1 star

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.