Comments (9)
The problem is not with ?:
notation. But with arrays as keys. I'm 100% sure that it was working before, because some JS limitations forced us to explain behavior of arrays as keys in README. In visual example it can be explained as:
var arr = [];
var key = [1,2,3];
arr[key] = 123;
console.log(arr[key]); // -> 123
console.log(arr['1,2,3']); // -> 123
In other words, when you use arrays as key, it become join
ed with ,
(commas) before...
Anyway I'm 100% sure it was working before, so it's a kinda regression.
from js-yaml.
Good that I discovered the regression :)
Your library is not yet fully test covered? What testing library are you using? Couldn't get it by looking at the tests quickly.
from js-yaml.
We are in the progress of porting original tests, so in fact it's a home-brew testing suite, but we are going to switch to vows
in future.
from js-yaml.
Have a look at http://visionmedia.github.com/mocha/ as well. It also works on the browser.
from js-yaml.
Hm. Probably we will use mocha for this project, yes. The day I was choosing testing framework, vows was the only one that was really good.
from js-yaml.
Yeah Mocha is quite new compared to Vows. It's by TJ so the quality is really high.
from js-yaml.
Looks, like we'll need to drop support of arrays or objects as keys due to JavaScript limitations:
> var obj = {};
undefined
> var arr = [1,2,3];
undefined
> var alt = {foo:'bar'};
undefined
> obj[arr] = true;
true
> obj[alt] = true;
true
> obj
{ '1,2,3': true,
'[object Object]': true }
As you can see using non-scalars as keys in JS is absolutely unpredictable.
from js-yaml.
I have asked @clarkevans for clarifications, so until his thoughts - suspending issue...
from js-yaml.
As using arrays/objects as keys of objects in JS is really unpredictable, we will not support it. This will be described in README.
from js-yaml.
Related Issues (20)
- YAML merge tag results in bad indentation of a mapping entry HOT 5
- Some timestamps are not parsed as such
- Query in parsing quotes. HOT 1
- Using Frogbot to scan this repository
- Demo link form NPM readme not available HOT 1
- Convert specific property to hexadecimal while keeping other numbers in base Decimal HOT 1
- Unmatched quotes at the end of a value not caught as issue
- Are schemas broken? HOT 1
- Typescript is not evil HOT 3
- Is it possible to get rid of schema? HOT 2
- How to not lose comments and blank lines when js objects and yaml are converted to each other? HOT 4
- how to remove the unwanted indentation
- Quotes not preserved when reading YAML, then dumping it. HOT 2
- Custom type with the multiple possible kinds HOT 1
- dumpfunction error
- Yaml Parsed Object with position information HOT 1
- Key starting with a colon `:`
- export anchors(refs)
- Don't rely on `Object.prototype.toString` to detect object type. HOT 2
- Blocks made with pipes have a leading new line while dumping
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from js-yaml.