Commit Graph

14 Commits

Author SHA1 Message Date
5c531f718e perf(RecordRange): optimize disable()
There could be no lastEnabledChildRecord when there is no
firstEnabledChildRecord
- saves time by skipping findLastEnabledRecord() when the result is know
to be null,
- saves a test as isPresent(lastEnabledChildRecord) ==
isPresent(firstEnabledChildRecord)
2014-12-04 19:52:43 +01:00
847cefcb7b feat(change_detector): notify directives on property changes 2014-12-03 14:33:52 -08:00
5bdefee6c9 fix(record-range): fixes bug when disabling empty ranges. 2014-12-03 12:04:06 -08:00
0f3134acd4 perf(ProtoRecordRange): re-use a ProtoRecordCreator 2014-12-03 12:10:07 +01:00
f8c070c5e4 perf(ProtoRecord): remove the unused prev field 2014-12-03 12:10:07 +01:00
bf71b94bde feat(Change Detector): Add support for collection content watch 2014-12-03 10:37:13 +01:00
7cb93fd59e feat(Change Detection): Add support for keyed access 2014-12-02 16:15:13 +01:00
1863d50978 feat(parser): adds support for variable bindings 2014-11-26 14:03:05 -08:00
9a28fa8590 refactor(change_detection): make RecordRange responsible for removing iself 2014-11-25 14:33:19 -08:00
2b53a2f353 fix(ChangeDetector): fix issues with handling empty ranges 2014-11-25 14:28:02 -08:00
044625a098 chore: Make field declarations explicit
This used to be valid code:

```
class Foo {
  constructor() {
    this.bar = ‘string’;
  }
}
```

This will now fail since ‘bar’ is not explicitly
defined as a field. We now have to write:

```
class Foo {
  bar:string; // << REQUIRED
  constructor() {
    this.bar = ‘string’;
  }
}
```
2014-11-24 16:35:39 -08:00
ab961b327e feat(RecordRange): Set context for implicit receivers only 2014-11-24 15:32:25 +01:00
69af7ea2c0 feat(ChangeDetection): convert Record.mode to a bit field 2014-11-24 15:18:52 +01:00
2980eb5b0b refactor(ChangeDetector): rename WatchGroup into RecordRange 2014-11-20 10:24:18 -08:00