1.0.0-alpha.28 • Published 8 months ago

@arcjet/sprintf v1.0.0-alpha.28

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
8 months ago

@arcjet/sprintf

Arcjet platform-independent replacement for util.format.

This package is platform-independent in order to support multiple runtimes in varying environments, such as Edge Runtime, Node.js, Bun, Deno, and Cloudflare Workers.

Installation

npm install -S @arcjet/sprintf

Example

import format from "@arcjet/sprintf";

format("Hello %s", "world") === "Hello world";
format("1 %i %d", 2, 3.0) === "1 2 3";

Substitutions

Substitutions will be made for the following character sequences if the matching argument conforms to the type. For example, "%d" will only be replaced by a number, not a string or object.

Object substitution supports any value that is not undefined.

  • %d | %f - Replaced if provided with a number.
  • %i - Replaced if provided with a number after Math.floor is called on it.
  • %O | %o | %j - Replaced if provided with any value after JSON.stringify is called on it. Objects with circular references will be replaced with [Circular]. Functions will be replaced with the function name or <anonymous> if unnamed.
  • %s - Replaced if provided with a string.
  • %% - Replaced by the literal % character.

Implementation

This implementation of this library is based on quick-format-unescaped, which is licensed MIT with licenses included in our source code.

The goal of this library is to be more restrictive than quick-format-unescaped while maintaining as much compatibility as possible, since pino uses it to format strings.

License

Licensed under the Apache License, Version 2.0.

1.0.0-alpha.28

8 months ago

1.0.0-alpha.27

9 months ago

1.0.0-alpha.26

9 months ago

1.0.0-alpha.23

10 months ago

1.0.0-alpha.25

10 months ago

1.0.0-alpha.24

10 months ago

1.0.0-alpha.22

10 months ago

1.0.0-alpha.21

11 months ago

1.0.0-alpha.20

11 months ago

1.0.0-alpha.19

12 months ago

1.0.0-alpha.18

12 months ago

1.0.0-alpha.17

1 year ago

1.0.0-alpha.16

1 year ago

1.0.0-alpha.15

1 year ago

1.0.0-alpha.14

1 year ago