chakra-core/ChakraCore

Make number serialization compatible with V8 (and new IETF spec draft)

Open

#149 aberto em 20 de jan. de 2016

Ver no GitHub
 (20 comments) (0 reactions) (0 assignees)JavaScript (1.374 forks)batch import
BugCompatibilitySeverity: 2Suggestionhelp wanted

Métricas do repositório

Stars
 (9.000 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

In order to create signed JavaScript objects, you need to normalize data.

The JCS specification https://cyberphone.github.io/openkeystore/resources/docs/jcs.html#ECMAScript_Compatibility_Mode accomplish this "automatically" by relying on ES6 for property order (which Chakra implements), but also depends on the extended number formatting algorithm used in the Google V8 engine which after testing with 100 million of random and selected values appears to be used by Chrome, Firefox, and Safari as well as "node.js".

Browser test program: http://webpki.org/ietf/es6numberbrowsertest.html

10 million value test file: http://webpki.org/ietf/es6testfile.txt

Although JCS does not (a this stage) represent a standard, the core concept will most likely become a de-facto standard due to its simplicity.

Guia do colaborador