From 35157b0e81d638e95657591db98b9c8f301b8eab Mon Sep 17 00:00:00 2001 From: Mike Gerwitz Date: Mon, 28 Mar 2011 23:30:36 -0400 Subject: [PATCH] Moved TODO items to GitHub issue tracker --- TODO | 73 ------------------------------------------------------------ 1 file changed, 73 deletions(-) delete mode 100644 TODO diff --git a/TODO b/TODO deleted file mode 100644 index d03912e..0000000 --- a/TODO +++ /dev/null @@ -1,73 +0,0 @@ -# TODOs for ease.js -# -# This is by no means a complete list. - -[ target: 0.1.0 ] - Misc - - Class module is becoming too large; refactor - - Permit binding on class methods - - Move tests to directly test propobj - - Was never done after refactoring. It's tested as a consequence of being - used in the class module. - - Useful error when trying to extend from non-function - (rather than CALL_NON_FUNCTION_AS_CONSTRUCTOR) - - Member Keywords - - Restrictions; throw exceptions when unknown keywords are used - - Abstract keyword cannot be used with private members - - toString() must be public - - Documentation - - Ensure all docblocks contain only valid JSDoc tags - - Begin technical documentation for developers - - Include designs and project decisions - - Wiki, LaTeX, Texinfo? - - API documentation - - Wiki, LaTeX, Texinfo? - - Client-Side - - implement assert.deepEqual() - - -[ future ] - Misc - - Deep cloning level for util.clone() - - Optional preprocessing support - - Ability to disable features that wouldn't impact base functionality - - For example, one may wish to have type checking enabled for development - but may not want the performance hit for their production code. - Disabling type checking, as long as the proper types are passed to the - functions, will not impact function logic. - - Should be able to run source file without preprocessing, so C-style macros - cannot be used (# is not a valid token) - - Member Keywords - - const; immutable properties - - final; methods cannot be overridden by subtypes - - static; method/property accessible via class definition - - event; designates a supported event - - Typing - - Support JSDoc-style type definitions for parameters - - Syntax: - [ 'string', 'number', function( name, age ) {} ] - - Optional; if a function is simply provided, rather than an array, no type - checking will be performed - - For abstract methods, simply leave the function off (last index) - - Provide option to throw errors on any type mismatch - - Auto-cast, unless casting is impossible, then throw error - - Reflection - - Rather than exposing internal data via properties, fully encapsulate - - Classes, not just modules like the rest of ease.js - - Patterns - - Provide automated means to generate classes for common patterns (primarily - GoF) - - Generating classes at runtime gives us the powerful benefit of being able - to generate the classes however we wish. Therefore, we do not need code - generation techniques to generate classes. We can simply call a method. - This will remove repetitive tasks and duplicate code needed to properly - implement the various patterns, and serve as an excellent tool for those - unfamiliar with them. -