1
0
Fork 0
Commit Graph

104 Commits (96909732db7c767f0172e20efb46305c0d535095)

Author SHA1 Message Date
Mike Gerwitz 96909732db Began adding isInstanceOf, starting with prototype chain checks 2010-12-29 21:13:21 -05:00
Mike Gerwitz 0103df3e71 Fixed self-invoking constructor issue in IE 2010-12-29 09:43:00 -05:00
Mike Gerwitz 38a6a4ee6a Added missing semi-colons that would otherwise be inserted via semicolon insertion 2010-12-28 22:10:12 -05:00
Mike Gerwitz 789f2390af All functions are now camelCase 2010-12-28 22:08:30 -05:00
Mike Gerwitz 004ccfa05b Interfaces cannot inherit from Classes 2010-12-28 21:56:55 -05:00
Mike Gerwitz c9d0e027fa Added isClass() and isClassInstance() methods 2010-12-28 20:58:42 -05:00
Mike Gerwitz 928a0ea297 Removed Interface.abstractMethod() in favor of 'abstract' keyword 2010-12-28 20:13:50 -05:00
Mike Gerwitz 44186068b4 Class constructors are now self-invoking
- Permits omitting 'new' keyword, which is a style preferred by some (such as Crockford)
- It's very difficult to use apply() with the 'new' keyword - this method permits a simple way of passing an argument list to the constructor
2010-12-28 19:05:53 -05:00
Mike Gerwitz 828a366f29 Renamed prop_parse.{parse => parseKeywords} 2010-12-27 23:12:37 -05:00
Mike Gerwitz 87e293e33f Property keyword parser now simply checks for spaces (to be flexible enough to support any keywords in the future) 2010-12-27 23:04:50 -05:00
Mike Gerwitz 3277a30d54 Removed now unnecessary abstract keyword check from util.propParse() 2010-12-27 22:32:30 -05:00
Mike Gerwitz 1364d5967f Abstract methods must contain a parameter list as an array 2010-12-27 22:30:28 -05:00
Mike Gerwitz 69391f9b48 Finished correcting assertion tests with new implementation 2010-12-27 22:20:29 -05:00
Mike Gerwitz e789e58000 Removed Class.abstractMethod in favor of property keyword 2010-12-27 22:11:37 -05:00
Mike Gerwitz f705f38640 Began adding prop_parser module and moved existing property keyword parser function into it 2010-12-27 20:56:36 -05:00
Mike Gerwitz 9666a5f80f Began adding property keyword parsing (concept) 2010-12-27 20:49:59 -05:00
Mike Gerwitz 3ef2a28e24 Merge branch 'master' of github.com:mikegerwitz/easejs 2010-12-23 15:59:57 -05:00
Mike Gerwitz f58586fc94 Added tests to ensure constructor is properly applied to subtypes 2010-12-23 15:57:45 -05:00
Mike Gerwitz a93ff61bde If setting a secure property fails, it will force a fallback to prevent performance degredation due to exceptions 2010-12-22 22:17:07 -05:00
Mike Gerwitz 7e7080ccbf util.defineSecureProp() no longer performs fallback check on each invocation 2010-12-21 22:41:50 -05:00
Mike Gerwitz d5f37f294e IE8 does not support Object.defineProperty on non-DOM objects
(see http://stackoverflow.com/questions/3830800/object-defineproperty-in-es5)
2010-12-21 14:37:34 -05:00
Mike Gerwitz e1d7b80d46 Calling hasOwnProperty via Object prototype in case it has been overridden 2010-12-21 10:09:18 -05:00
Mike Gerwitz 3a0972c79d Removed unneeded 'continue' statement 2010-12-20 13:51:44 -05:00
Mike Gerwitz 1f40665e57 Added tests for util.defineSecureProp() 2010-12-20 13:43:12 -05:00
Mike Gerwitz 0d84cd829a util.defineSecureProp was failing in browsers that do not support Object.defineProperty()
- This is untested! Test needed.
2010-12-20 10:04:11 -05:00
Mike Gerwitz cd9ef1ea71 Finished refactoring to remove result_data object in class extend() function 2010-12-19 13:54:31 -05:00
Mike Gerwitz 1ff9408885 Rearranged util.overrideMethod() arguments to match methodOverride propCopy() action (to avoid unnecessary mistakes and confusion) 2010-12-19 00:12:41 -05:00
Mike Gerwitz 600e389b40 Refactored abstract method logic out of util.propCopy() into class extend() 2010-12-19 00:11:39 -05:00
Mike Gerwitz 2789e5fcf9 Abstract map no longer passed to method_override() - it's only used in that method 2010-12-18 10:57:00 -05:00
Mike Gerwitz e39cfea741 Now exporting util's array_shrink() as util.arrayShrink() 2010-12-18 09:38:58 -05:00
Mike Gerwitz 3a2ddbb29b class.js 'extending' var is an argument and shouldn't be declared with var keyword 2010-12-18 08:24:15 -05:00
Mike Gerwitz 2c49e9719f util.propParse() now ignores instance prototype properties 2010-12-18 07:07:27 -05:00
Mike Gerwitz f2baf82100 Removed unneeded var 2010-12-18 06:59:35 -05:00
Mike Gerwitz 755b79725f Corrected attach_prop_init() documentation (__propInit => __initProps) 2010-12-16 23:56:35 -05:00
Mike Gerwitz a06d9a7204 Ensured __initProps() is treated as a reserved method and cannot be declared within Classes 2010-12-16 23:55:56 -05:00
Mike Gerwitz a60fe9c2de Class extend() now implements propCopy's performDefault (see previous commit) 2010-12-16 23:51:22 -05:00
Mike Gerwitz 6b6ffe0134 propCopy() parser function overrides can now invoke default functionality 2010-12-16 23:49:52 -05:00
Mike Gerwitz 591434b82f [*] Previous commit (property cloning per instance) now applied to subtypes as well 2010-12-16 23:37:18 -05:00
Mike Gerwitz fe853b505b [*] Properties are no longer shared between class instances
- Properties were previously shared on the prototype level, acting as though they were static class properties, which can cause some nasty bugs
2010-12-16 23:18:30 -05:00
Mike Gerwitz 6efaba7fc5 Added util.clone(); does not yet support deep cloning 2010-12-16 23:15:42 -05:00
Mike Gerwitz a2c894b6bb Added ability to override propCopy() parser functions 2010-12-16 21:11:07 -05:00
Mike Gerwitz 5126c71a2d Using TypeError instead of Error for property type inconsistiencies 2010-12-10 00:00:47 -05:00
Mike Gerwitz 25dc7e031e Ensured properties cannot be overridden with methods 2010-12-07 20:24:51 -05:00
Mike Gerwitz 459335cf62 attempt_override() within propCopy() no longer needed after previous commit 2010-12-07 00:49:00 -05:00
Mike Gerwitz eced0a7e91 Both concrete and abstract methods now use the same callback in propParse()
- Now uses an is_abstract parameter
- Intended to reduce clutter and duplicate code
2010-12-07 00:46:50 -05:00
Mike Gerwitz 52b1ef657f Resolved failing test (methods may only be overridden with methods) with propParse() 'each' 2010-12-07 00:41:30 -05:00
Mike Gerwitz 994b8e16fa [1 failing test] Added support for 'each' in propParse() 2010-12-07 00:39:25 -05:00
Mike Gerwitz abefb0858b [1 failing test] Crude beginning of implementation of propParse()
- Looks ugly now because it is. Attempting to refactor before doing a proper implementation. Baby steps.
2010-12-07 00:38:51 -05:00
Mike Gerwitz fd2b3ccc6d Added support for getters/setters in propParse() 2010-12-05 20:50:13 -05:00
Mike Gerwitz 20b78ba73a Minor formatting change in propParse test 2010-12-04 14:05:56 -05:00