This repository has been archived by the owner on Sep 3, 2022. It is now read-only.
Version 2.3.0
Update for better type compliance and some minor bug fixes. 1. Updated JSDocs types to pass type checking with Visual Studio Code's JavaScript Language Service enabled. This uses Visual Studio Code's TypeScript Language Service for more accurate type analysis. 2. You can now get live type checking by using the following setting in your user preferences for Visual Studio Code: "javascript.implicitProjectConfig.checkJs": true. This will also flag misspelled types, typos for variables, properties, etc. This also enables features such as "go to definition", "peak definition", "definition on hover", code completion, renaming of symbols across files, etc. 3. Refactored setProp to handle boolean values closer to spec for setAttribute. Now if an attribute value is false, 'false', null, 'null', undefined, 'undefined', 'no' or 'off, the attribute will be removed. Any other value, include "", will result in the attribute being added. 4. Cleaned up requestAnimation polyfill to support modern browsers. Maintaining support for IE9 and later. 5. Refactored getKey to avoid edge cases where it returned the wrong value/type. 6. Refactored createElement to automatically convert numbers to strings before creating text nodes. 7. Refactored custom properties on native objects to use brackets [] to avoid type warnings about properties not existing on target object. 8. Added stubs to Component class for user-defined methods on the extended Component class for render, componentWillMount, componentDidMount, componentWillUpdate, componentDidUpdate and componentWillUnmount. This is to complete type expectations for these properties whether passed in as options during initialization or as methods when extending the Component class. This allows the type checker to identify when they are properties defined on the constructor and when they are methods. 9. Updated tests for component.html for updated behavior of setting attributes with boolean values.