Skip to content

Commit 6e2ac93

Browse files
chore(all): prepare release 2.1.2
1 parent dfc8af8 commit 6e2ac93

File tree

9 files changed

+105
-34
lines changed

9 files changed

+105
-34
lines changed

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "aurelia-binding",
3-
"version": "2.1.1",
3+
"version": "2.1.2",
44
"description": "A modern databinding library for JavaScript and HTML.",
55
"license": "MIT",
66
"keywords": [

dist/amd/aurelia-binding.js

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2555,6 +2555,7 @@ define(['exports', 'aurelia-logging', 'aurelia-pal', 'aurelia-task-queue', 'aure
25552555
this.nextToken();
25562556
result = this.parseExpression();
25572557
this.expect(T$RParen);
2558+
context = C$Primary;
25582559
break;
25592560
case T$LBracket:
25602561
{
@@ -2567,6 +2568,7 @@ define(['exports', 'aurelia-logging', 'aurelia-pal', 'aurelia-task-queue', 'aure
25672568
}
25682569
this.expect(T$RBracket);
25692570
result = new LiteralArray(_elements);
2571+
context = C$Primary;
25702572
break;
25712573
}
25722574
case T$LBrace:
@@ -2604,23 +2606,28 @@ define(['exports', 'aurelia-logging', 'aurelia-pal', 'aurelia-task-queue', 'aure
26042606
}
26052607
this.expect(T$RBrace);
26062608
result = new LiteralObject(keys, values);
2609+
context = C$Primary;
26072610
break;
26082611
}
26092612
case T$StringLiteral:
26102613
result = new LiteralString(this.val);
26112614
this.nextToken();
2615+
context = C$Primary;
26122616
break;
26132617
case T$TemplateTail:
26142618
result = new LiteralTemplate([this.val]);
26152619
this.nextToken();
2620+
context = C$Primary;
26162621
break;
26172622
case T$TemplateContinuation:
26182623
result = this.parseTemplate(0);
2624+
context = C$Primary;
26192625
break;
26202626
case T$NumericLiteral:
26212627
{
26222628
result = new LiteralPrimitive(this.val);
26232629
this.nextToken();
2630+
26242631
break;
26252632
}
26262633
case T$NullKeyword:
@@ -2629,6 +2636,7 @@ define(['exports', 'aurelia-logging', 'aurelia-pal', 'aurelia-task-queue', 'aure
26292636
case T$FalseKeyword:
26302637
result = new LiteralPrimitive(TokenValues[this.tkn & T$TokenMask]);
26312638
this.nextToken();
2639+
context = C$Primary;
26322640
break;
26332641
default:
26342642
if (this.idx >= this.len) {
@@ -2653,7 +2661,7 @@ define(['exports', 'aurelia-logging', 'aurelia-pal', 'aurelia-task-queue', 'aure
26532661
name = this.val;
26542662
this.nextToken();
26552663

2656-
context = (context & (C$This | C$Scope)) << 1 | context & C$Member | (context & C$Keyed) >> 1;
2664+
context = context & C$Primary | (context & (C$This | C$Scope)) << 1 | context & C$Member | (context & C$Keyed) >> 1 | (context & C$Call) >> 2;
26572665
if (this.tkn === T$LParen) {
26582666
continue;
26592667
}
@@ -2681,12 +2689,12 @@ define(['exports', 'aurelia-logging', 'aurelia-pal', 'aurelia-task-queue', 'aure
26812689
this.expect(T$RParen);
26822690
if (context & C$Scope) {
26832691
result = new CallScope(name, args, result.ancestor);
2684-
} else if (context & C$Member) {
2692+
} else if (context & (C$Member | C$Primary)) {
26852693
result = new CallMember(result, name, args);
26862694
} else {
26872695
result = new CallFunction(result, args);
26882696
}
2689-
context = 0;
2697+
context = C$Call;
26902698
break;
26912699
case T$TemplateTail:
26922700
result = new LiteralTemplate([this.val], [], [this.raw], result);
@@ -2939,8 +2947,10 @@ define(['exports', 'aurelia-logging', 'aurelia-pal', 'aurelia-task-queue', 'aure
29392947
var C$Scope = 1 << 11;
29402948
var C$Member = 1 << 12;
29412949
var C$Keyed = 1 << 13;
2942-
var C$ShorthandProp = 1 << 14;
2943-
var C$Tagged = 1 << 15;
2950+
var C$Call = 1 << 14;
2951+
var C$Primary = 1 << 15;
2952+
var C$ShorthandProp = 1 << 16;
2953+
var C$Tagged = 1 << 17;
29442954

29452955
var C$Ancestor = (1 << 9) - 1;
29462956

dist/aurelia-binding.js

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2397,6 +2397,7 @@ export class ParserImplementation {
23972397
this.nextToken();
23982398
result = this.parseExpression();
23992399
this.expect(T$RParen);
2400+
context = C$Primary;
24002401
break;
24012402
case T$LBracket: // literal array
24022403
{
@@ -2409,6 +2410,7 @@ export class ParserImplementation {
24092410
}
24102411
this.expect(T$RBracket);
24112412
result = new LiteralArray(elements);
2413+
context = C$Primary;
24122414
break;
24132415
}
24142416
case T$LBrace: // object
@@ -2443,23 +2445,29 @@ export class ParserImplementation {
24432445
}
24442446
this.expect(T$RBrace);
24452447
result = new LiteralObject(keys, values);
2448+
context = C$Primary;
24462449
break;
24472450
}
24482451
case T$StringLiteral:
24492452
result = new LiteralString(this.val);
24502453
this.nextToken();
2454+
context = C$Primary;
24512455
break;
24522456
case T$TemplateTail:
24532457
result = new LiteralTemplate([this.val]);
24542458
this.nextToken();
2459+
context = C$Primary;
24552460
break;
24562461
case T$TemplateContinuation:
24572462
result = this.parseTemplate(0);
2463+
context = C$Primary;
24582464
break;
24592465
case T$NumericLiteral:
24602466
{
24612467
result = new LiteralPrimitive(this.val);
24622468
this.nextToken();
2469+
// note: spec says 42.foo() is syntactically correct, so we could set context to C$Primary here but we'd have to add
2470+
// state and rewind the parser after float scanning to accomplish that, and doesn't seem worth it for something so convoluted
24632471
break;
24642472
}
24652473
case T$NullKeyword:
@@ -2468,6 +2476,7 @@ export class ParserImplementation {
24682476
case T$FalseKeyword:
24692477
result = new LiteralPrimitive(TokenValues[this.tkn & T$TokenMask]);
24702478
this.nextToken();
2479+
context = C$Primary;
24712480
break;
24722481
default:
24732482
if (this.idx >= this.len) {
@@ -2492,8 +2501,8 @@ export class ParserImplementation {
24922501
}
24932502
name = this.val;
24942503
this.nextToken();
2495-
// Change $This to $Scope, change $Scope to $Member, keep $Member as-is, change $Keyed to $Member, disregard other flags
2496-
context = ((context & (C$This | C$Scope)) << 1) | (context & C$Member) | ((context & C$Keyed) >> 1);
2504+
// Keep $Primary, Change $This to $Scope, change $Scope to $Member, keep $Member as-is, change $Keyed to $Member, change $Call to $Member, disregard other flags
2505+
context = (context & C$Primary) | ((context & (C$This | C$Scope)) << 1) | (context & C$Member) | ((context & C$Keyed) >> 1) | ((context & C$Call) >> 2);
24972506
if (this.tkn === T$LParen) {
24982507
continue;
24992508
}
@@ -2521,12 +2530,12 @@ export class ParserImplementation {
25212530
this.expect(T$RParen);
25222531
if (context & C$Scope) {
25232532
result = new CallScope(name, args, result.ancestor);
2524-
} else if (context & C$Member) {
2533+
} else if (context & (C$Member | C$Primary)) {
25252534
result = new CallMember(result, name, args);
25262535
} else {
25272536
result = new CallFunction(result, args);
25282537
}
2529-
context = 0;
2538+
context = C$Call;
25302539
break;
25312540
case T$TemplateTail:
25322541
result = new LiteralTemplate([this.val], [], [this.raw], result);
@@ -2795,8 +2804,10 @@ const C$This = 1 << 10;
27952804
const C$Scope = 1 << 11;
27962805
const C$Member = 1 << 12;
27972806
const C$Keyed = 1 << 13;
2798-
const C$ShorthandProp = 1 << 14;
2799-
const C$Tagged = 1 << 15;
2807+
const C$Call = 1 << 14;
2808+
const C$Primary = 1 << 15;
2809+
const C$ShorthandProp = 1 << 16;
2810+
const C$Tagged = 1 << 17;
28002811
// Performing a bitwise and (&) with this value (511) will return only the ancestor bit (is this limit high enough?)
28012812
const C$Ancestor = (1 << 9) - 1;
28022813

dist/commonjs/aurelia-binding.js

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2508,6 +2508,7 @@ var ParserImplementation = exports.ParserImplementation = function () {
25082508
this.nextToken();
25092509
result = this.parseExpression();
25102510
this.expect(T$RParen);
2511+
context = C$Primary;
25112512
break;
25122513
case T$LBracket:
25132514
{
@@ -2520,6 +2521,7 @@ var ParserImplementation = exports.ParserImplementation = function () {
25202521
}
25212522
this.expect(T$RBracket);
25222523
result = new LiteralArray(_elements);
2524+
context = C$Primary;
25232525
break;
25242526
}
25252527
case T$LBrace:
@@ -2557,23 +2559,28 @@ var ParserImplementation = exports.ParserImplementation = function () {
25572559
}
25582560
this.expect(T$RBrace);
25592561
result = new LiteralObject(keys, values);
2562+
context = C$Primary;
25602563
break;
25612564
}
25622565
case T$StringLiteral:
25632566
result = new LiteralString(this.val);
25642567
this.nextToken();
2568+
context = C$Primary;
25652569
break;
25662570
case T$TemplateTail:
25672571
result = new LiteralTemplate([this.val]);
25682572
this.nextToken();
2573+
context = C$Primary;
25692574
break;
25702575
case T$TemplateContinuation:
25712576
result = this.parseTemplate(0);
2577+
context = C$Primary;
25722578
break;
25732579
case T$NumericLiteral:
25742580
{
25752581
result = new LiteralPrimitive(this.val);
25762582
this.nextToken();
2583+
25772584
break;
25782585
}
25792586
case T$NullKeyword:
@@ -2582,6 +2589,7 @@ var ParserImplementation = exports.ParserImplementation = function () {
25822589
case T$FalseKeyword:
25832590
result = new LiteralPrimitive(TokenValues[this.tkn & T$TokenMask]);
25842591
this.nextToken();
2592+
context = C$Primary;
25852593
break;
25862594
default:
25872595
if (this.idx >= this.len) {
@@ -2606,7 +2614,7 @@ var ParserImplementation = exports.ParserImplementation = function () {
26062614
name = this.val;
26072615
this.nextToken();
26082616

2609-
context = (context & (C$This | C$Scope)) << 1 | context & C$Member | (context & C$Keyed) >> 1;
2617+
context = context & C$Primary | (context & (C$This | C$Scope)) << 1 | context & C$Member | (context & C$Keyed) >> 1 | (context & C$Call) >> 2;
26102618
if (this.tkn === T$LParen) {
26112619
continue;
26122620
}
@@ -2634,12 +2642,12 @@ var ParserImplementation = exports.ParserImplementation = function () {
26342642
this.expect(T$RParen);
26352643
if (context & C$Scope) {
26362644
result = new CallScope(name, args, result.ancestor);
2637-
} else if (context & C$Member) {
2645+
} else if (context & (C$Member | C$Primary)) {
26382646
result = new CallMember(result, name, args);
26392647
} else {
26402648
result = new CallFunction(result, args);
26412649
}
2642-
context = 0;
2650+
context = C$Call;
26432651
break;
26442652
case T$TemplateTail:
26452653
result = new LiteralTemplate([this.val], [], [this.raw], result);
@@ -2892,8 +2900,10 @@ var C$This = 1 << 10;
28922900
var C$Scope = 1 << 11;
28932901
var C$Member = 1 << 12;
28942902
var C$Keyed = 1 << 13;
2895-
var C$ShorthandProp = 1 << 14;
2896-
var C$Tagged = 1 << 15;
2903+
var C$Call = 1 << 14;
2904+
var C$Primary = 1 << 15;
2905+
var C$ShorthandProp = 1 << 16;
2906+
var C$Tagged = 1 << 17;
28972907

28982908
var C$Ancestor = (1 << 9) - 1;
28992909

dist/es2015/aurelia-binding.js

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2285,6 +2285,7 @@ export let ParserImplementation = class ParserImplementation {
22852285
this.nextToken();
22862286
result = this.parseExpression();
22872287
this.expect(T$RParen);
2288+
context = C$Primary;
22882289
break;
22892290
case T$LBracket:
22902291
{
@@ -2297,6 +2298,7 @@ export let ParserImplementation = class ParserImplementation {
22972298
}
22982299
this.expect(T$RBracket);
22992300
result = new LiteralArray(elements);
2301+
context = C$Primary;
23002302
break;
23012303
}
23022304
case T$LBrace:
@@ -2331,23 +2333,28 @@ export let ParserImplementation = class ParserImplementation {
23312333
}
23322334
this.expect(T$RBrace);
23332335
result = new LiteralObject(keys, values);
2336+
context = C$Primary;
23342337
break;
23352338
}
23362339
case T$StringLiteral:
23372340
result = new LiteralString(this.val);
23382341
this.nextToken();
2342+
context = C$Primary;
23392343
break;
23402344
case T$TemplateTail:
23412345
result = new LiteralTemplate([this.val]);
23422346
this.nextToken();
2347+
context = C$Primary;
23432348
break;
23442349
case T$TemplateContinuation:
23452350
result = this.parseTemplate(0);
2351+
context = C$Primary;
23462352
break;
23472353
case T$NumericLiteral:
23482354
{
23492355
result = new LiteralPrimitive(this.val);
23502356
this.nextToken();
2357+
23512358
break;
23522359
}
23532360
case T$NullKeyword:
@@ -2356,6 +2363,7 @@ export let ParserImplementation = class ParserImplementation {
23562363
case T$FalseKeyword:
23572364
result = new LiteralPrimitive(TokenValues[this.tkn & T$TokenMask]);
23582365
this.nextToken();
2366+
context = C$Primary;
23592367
break;
23602368
default:
23612369
if (this.idx >= this.len) {
@@ -2380,7 +2388,7 @@ export let ParserImplementation = class ParserImplementation {
23802388
name = this.val;
23812389
this.nextToken();
23822390

2383-
context = (context & (C$This | C$Scope)) << 1 | context & C$Member | (context & C$Keyed) >> 1;
2391+
context = context & C$Primary | (context & (C$This | C$Scope)) << 1 | context & C$Member | (context & C$Keyed) >> 1 | (context & C$Call) >> 2;
23842392
if (this.tkn === T$LParen) {
23852393
continue;
23862394
}
@@ -2408,12 +2416,12 @@ export let ParserImplementation = class ParserImplementation {
24082416
this.expect(T$RParen);
24092417
if (context & C$Scope) {
24102418
result = new CallScope(name, args, result.ancestor);
2411-
} else if (context & C$Member) {
2419+
} else if (context & (C$Member | C$Primary)) {
24122420
result = new CallMember(result, name, args);
24132421
} else {
24142422
result = new CallFunction(result, args);
24152423
}
2416-
context = 0;
2424+
context = C$Call;
24172425
break;
24182426
case T$TemplateTail:
24192427
result = new LiteralTemplate([this.val], [], [this.raw], result);
@@ -2661,8 +2669,10 @@ const C$This = 1 << 10;
26612669
const C$Scope = 1 << 11;
26622670
const C$Member = 1 << 12;
26632671
const C$Keyed = 1 << 13;
2664-
const C$ShorthandProp = 1 << 14;
2665-
const C$Tagged = 1 << 15;
2672+
const C$Call = 1 << 14;
2673+
const C$Primary = 1 << 15;
2674+
const C$ShorthandProp = 1 << 16;
2675+
const C$Tagged = 1 << 17;
26662676

26672677
const C$Ancestor = (1 << 9) - 1;
26682678

0 commit comments

Comments
 (0)