|
|
|
|
|
by btown
4075 days ago
|
|
When I first saw the readme, I did a double-take at this: xtype(5) === 'positive_integer'; // Value is number, positive and integer
xtype(5) === 'int+'; // 'int+' is same as 'positive_integer'
Unless there's some new ES6 magic I haven't heard about, Javascript does NOT permit operator overloading, so it should be impossible for an object to be === to more than one distinct string!Looking more closely, the library seems to be quite useful, has a test suite, and the real syntax is xtype.is(5, 'int+'). But if that's the case, just say that! Don't pass off some nonworking pseudocode as real JS code in your readme! There's a saying "where there's smoke, there's fire," and if there's this egregious a deception in your documentation, it makes me hesitant to depend on the library! |
|
The library works with type names in two naming modes - default and compact. The default name scheme uses the full type names, such as 'positive_integer', while the compact name scheme uses compact names, such as 'int+' for 'positive_integer'.
You can only be in one mode or the other at any one time. You can switch between the two using the xtype.setOptions method:
See this jsbin I've made for this specific piece of code - http://jsbin.com/kixuko/1/edit?html,js,console.And the documentation for switching between the default and compact name schemes - https://github.com/lucono/xtypejs/blob/master/docs/Usage.md#....