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 |
Mike Gerwitz
|
6fd31a8e76
|
Added abstract method support to propParse()
|
2010-12-04 14:03:26 -05:00 |
Mike Gerwitz
|
4037cc1343
|
Began adding util.propParse() to simplify design (supports scalar, arr and obj props and concrete methods)
|
2010-12-04 13:59:06 -05:00 |
Mike Gerwitz
|
729b977088
|
Fix of unintended global var
|
2010-12-03 07:19:16 -05:00 |
Mike Gerwitz
|
60025bd048
|
Added extend method to Interface
|
2010-12-01 23:27:31 -05:00 |
Mike Gerwitz
|
78e1913eb9
|
Comment spelling correction
|
2010-12-01 23:19:59 -05:00 |
Mike Gerwitz
|
0d45716a43
|
Added missing space to error string
|
2010-12-01 23:04:22 -05:00 |
Mike Gerwitz
|
84dcca35d2
|
Interface prototype contains defined methods
|
2010-12-01 23:01:20 -05:00 |
Mike Gerwitz
|
c910dafb76
|
Interfaces permit only abstract methods
|
2010-12-01 21:39:41 -05:00 |
Mike Gerwitz
|
2e930482d2
|
Abstract methods of subtypes overriding abstract methods must be compatiable with the previous definition
|
2010-12-01 21:34:57 -05:00 |
Mike Gerwitz
|
2e8097e21e
|
Altered abstract method declaration (using strings to represent arguments rather than a function)
|
2010-12-01 21:13:51 -05:00 |
Mike Gerwitz
|
837422c46f
|
Added util.isAbstractMethod
|
2010-12-01 21:00:15 -05:00 |
Mike Gerwitz
|
54432c78fa
|
abstractMethod() moved to util.defineAbstractMethod
|
2010-12-01 20:45:27 -05:00 |
Mike Gerwitz
|
b3c4b757e7
|
util.canFreeze removed, replaced with util.freeze()
|
2010-12-01 20:41:54 -05:00 |
Mike Gerwitz
|
c29bd010b0
|
define_secure_prop moved to util.defineSecureProp
|
2010-12-01 20:38:50 -05:00 |
Mike Gerwitz
|
2edcb8a75e
|
Only methods are permitted within interface declarations
|
2010-12-01 19:38:30 -05:00 |