wcslice
TypeScript icon, indicating that this package has built-in type declarations

0.0.2 • Public • Published

wcslice

Luma Style Guide

String slice for wide character sensitive.

npm i wcslice

Wide characters are counted by wcwidth.

Usage

import wcslice from 'wcslice'
// wcslice(str, [start, [end]])
console.log(wcslice('abc', 0, 1)) // a
console.log(wcslice('aあc', 0, 2)) // a
console.log(wcslice('aあc', 0, 3)) // aあ
console.log(wcslice('aあc', 1, 4)) // あc
console.log(wcslice('aあc', 2, 4)) // c

Zero-length chars are treated specially. They are treated as infinitesimal in last positions. You can think last zero-length chars as 0.00...001 size. Float values are supported.

console.log(wcslice('\x00', 0)) // "\x00"
console.log(wcslice('\x00', Number.EPSILON)) // ""
console.log(wcslice('\x00', 0.1)) // ""
console.log(wcslice('\x00', 1)) // ""

Note that negative numbers are treated as negative positions because of zero-length chars. This differs from slice.

console.log(wcslice('abc', -1)) // abc

/wcslice/

    Package Sidebar

    Install

    npm i wcslice

    Weekly Downloads

    1

    Version

    0.0.2

    License

    MIT

    Unpacked Size

    7.17 kB

    Total Files

    6

    Last publish

    Collaborators

    • lumax
    • solufa