Skip to content

Parse SVG coordinates in JavaScript.

License

Notifications You must be signed in to change notification settings

ppvg/svg-numbers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

svg-numbers

Parser and serializer for lists of coordinates in SVG documents, such as the points attribute of a <polyline> element.

NPM version Build status

Installation

With npm: $ npm install svg-numbers

Usage

Parsing

var parse = require('svg-numbers').parse

var numbers = parse('10, 15.20.8 -11,15-25+75 4.2e3')
console.log(numbers)
// [ 10, 15.2, .8, -11, 15, -25, 75, 4200 ]

Serializing

var serialize = require('svg-numbers').serialize

var numbers = [10, 4.2, .333, -8]
var str = serialize(numbers)
console.log(str)
// '10,4.2.333-8'

Separators (commas and/or spaces) are left out wherever the SVG recommendation allows it. If you'd rather have separators everywhere, just use Array.prototype.join:

var str = numbers.join(', ')
console.log(str)
// '10, 4.2, .333, -8'

Catching syntax errors

If a syntax error is found, an error is thrown. The valid coordinates up to and until the syntax error are available as error.partial:

try {
  var numbers = parse('10, 20, , 30, 40')
} catch (error) {
  console.log(error.partial)
  // [ 10, 20 ]
}

(The W3C SVG recommendation has something to say about error processing.)

Running the tests

$ git clone https://github.com/PPvG/svg-numbers

$ cd svg-numbers

$ npm install

$ npm test

Browser support

Use browserify. All major browsers are supported:

Browser support

License

MIT

About

Parse SVG coordinates in JavaScript.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published