@aurelia/runtime
Advanced tools
Comparing version 2.1.0-dev.202401281151 to 2.1.0-dev.202401310648
@@ -7,6 +7,6 @@ import type { IBinding, IConnectable } from '../observation'; | ||
export { astVisit, IVisitor, Unparser } from './ast.visitor'; | ||
export type ExpressionKind = 'AccessThis' | 'AccessGlobal' | 'AccessScope' | 'ArrayLiteral' | 'ObjectLiteral' | 'PrimitiveLiteral' | 'Template' | 'Unary' | 'CallScope' | 'CallMember' | 'CallFunction' | 'CallGlobal' | 'AccessMember' | 'AccessKeyed' | 'TaggedTemplate' | 'Binary' | 'Conditional' | 'Assign' | 'ArrowFunction' | 'ValueConverter' | 'BindingBehavior' | 'ArrayBindingPattern' | 'ObjectBindingPattern' | 'BindingIdentifier' | 'ForOfStatement' | 'Interpolation' | 'ArrayDestructuring' | 'ObjectDestructuring' | 'DestructuringAssignmentLeaf' | 'Custom'; | ||
export type ExpressionKind = 'AccessThis' | 'AccessGlobal' | 'AccessBoundary' | 'AccessScope' | 'ArrayLiteral' | 'ObjectLiteral' | 'PrimitiveLiteral' | 'Template' | 'Unary' | 'CallScope' | 'CallMember' | 'CallFunction' | 'CallGlobal' | 'AccessMember' | 'AccessKeyed' | 'TaggedTemplate' | 'Binary' | 'Conditional' | 'Assign' | 'ArrowFunction' | 'ValueConverter' | 'BindingBehavior' | 'ArrayBindingPattern' | 'ObjectBindingPattern' | 'BindingIdentifier' | 'ForOfStatement' | 'Interpolation' | 'ArrayDestructuring' | 'ObjectDestructuring' | 'DestructuringAssignmentLeaf' | 'Custom'; | ||
export type UnaryOperator = 'void' | 'typeof' | '!' | '-' | '+'; | ||
export type BinaryOperator = '??' | '&&' | '||' | '==' | '===' | '!=' | '!==' | 'instanceof' | 'in' | '+' | '-' | '*' | '/' | '%' | '<' | '>' | '<=' | '>='; | ||
export type IsPrimary = AccessThisExpression | AccessScopeExpression | AccessGlobalExpression | ArrayLiteralExpression | ObjectLiteralExpression | PrimitiveLiteralExpression | TemplateExpression; | ||
export type IsPrimary = AccessThisExpression | AccessBoundaryExpression | AccessScopeExpression | AccessGlobalExpression | ArrayLiteralExpression | ObjectLiteralExpression | PrimitiveLiteralExpression | TemplateExpression; | ||
export type IsLiteral = ArrayLiteralExpression | ObjectLiteralExpression | PrimitiveLiteralExpression | TemplateExpression; | ||
@@ -86,2 +86,5 @@ export type IsLeftHandSide = IsPrimary | CallGlobalExpression | CallFunctionExpression | CallMemberExpression | CallScopeExpression | AccessMemberExpression | AccessKeyedExpression | TaggedTemplateExpression; | ||
} | ||
export declare class AccessBoundaryExpression { | ||
readonly $kind: 'AccessBoundary'; | ||
} | ||
export declare class AccessScopeExpression { | ||
@@ -88,0 +91,0 @@ readonly name: string; |
import { CustomExpression } from './ast'; | ||
import type { AccessKeyedExpression, AccessMemberExpression, AccessScopeExpression, AccessThisExpression, ArrayBindingPattern, ArrayLiteralExpression, ArrowFunction, AssignExpression, BinaryExpression, BindingBehaviorExpression, BindingIdentifier, CallFunctionExpression, CallMemberExpression, CallScopeExpression, ConditionalExpression, ForOfStatement, Interpolation, ObjectBindingPattern, ObjectLiteralExpression, PrimitiveLiteralExpression, TaggedTemplateExpression, TemplateExpression, UnaryExpression, ValueConverterExpression, DestructuringAssignmentExpression, DestructuringAssignmentSingleExpression, DestructuringAssignmentRestExpression, IsExpressionOrStatement } from './ast'; | ||
import type { AccessKeyedExpression, AccessMemberExpression, AccessScopeExpression, AccessThisExpression, ArrayBindingPattern, ArrayLiteralExpression, ArrowFunction, AssignExpression, BinaryExpression, BindingBehaviorExpression, BindingIdentifier, CallFunctionExpression, CallMemberExpression, CallScopeExpression, ConditionalExpression, ForOfStatement, Interpolation, ObjectBindingPattern, ObjectLiteralExpression, PrimitiveLiteralExpression, TaggedTemplateExpression, TemplateExpression, UnaryExpression, ValueConverterExpression, DestructuringAssignmentExpression, DestructuringAssignmentSingleExpression, DestructuringAssignmentRestExpression, IsExpressionOrStatement, AccessBoundaryExpression } from './ast'; | ||
export interface IVisitor<T = unknown> { | ||
@@ -8,2 +8,3 @@ visitAccessKeyed(expr: AccessKeyedExpression): T; | ||
visitAccessThis(expr: AccessThisExpression): T; | ||
visitAccessBoundary(expr: AccessBoundaryExpression): T; | ||
visitArrayBindingPattern(expr: ArrayBindingPattern): T; | ||
@@ -41,2 +42,3 @@ visitArrayLiteral(expr: ArrayLiteralExpression): T; | ||
visitAccessThis(expr: AccessThisExpression): void; | ||
visitAccessBoundary(expr: AccessBoundaryExpression): void; | ||
visitAccessScope(expr: AccessScopeExpression): void; | ||
@@ -43,0 +45,0 @@ visitArrayLiteral(expr: ArrayLiteralExpression): void; |
@@ -1,2 +0,2 @@ | ||
export { type ExpressionKind, CallFunctionExpression, CustomExpression, BindingBehaviorExpression, ValueConverterExpression, AssignExpression, ConditionalExpression, AccessThisExpression, AccessGlobalExpression, AccessScopeExpression, AccessMemberExpression, AccessKeyedExpression, CallScopeExpression, CallMemberExpression, BinaryExpression, UnaryExpression, PrimitiveLiteralExpression, ArrayLiteralExpression, ObjectLiteralExpression, TemplateExpression, TaggedTemplateExpression, ArrayBindingPattern, ObjectBindingPattern, BindingIdentifier, ForOfStatement, Interpolation, DestructuringAssignmentExpression, DestructuringAssignmentSingleExpression, DestructuringAssignmentRestExpression, ArrowFunction, astVisit, Unparser, type AnyBindingExpression, type BindingBehaviorInstance, type IsPrimary, type IsLiteral, type IsLeftHandSide, type IsUnary, type IsBinary, type IsConditional, type IsAssign, type IsValueConverter, type IsBindingBehavior, type IsAssignable, type IsExpression, type IsExpressionOrStatement, type IVisitor, type BinaryOperator, type BindingIdentifierOrPattern, type UnaryOperator, type IAstEvaluator, type ValueConverterInstance, } from './binding/ast'; | ||
export { type ExpressionKind, CallFunctionExpression, CustomExpression, BindingBehaviorExpression, ValueConverterExpression, AssignExpression, ConditionalExpression, AccessThisExpression, AccessGlobalExpression, AccessScopeExpression, AccessBoundaryExpression, AccessMemberExpression, AccessKeyedExpression, CallScopeExpression, CallMemberExpression, BinaryExpression, UnaryExpression, PrimitiveLiteralExpression, ArrayLiteralExpression, ObjectLiteralExpression, TemplateExpression, TaggedTemplateExpression, ArrayBindingPattern, ObjectBindingPattern, BindingIdentifier, ForOfStatement, Interpolation, DestructuringAssignmentExpression, DestructuringAssignmentSingleExpression, DestructuringAssignmentRestExpression, ArrowFunction, astVisit, Unparser, type AnyBindingExpression, type BindingBehaviorInstance, type IsPrimary, type IsLiteral, type IsLeftHandSide, type IsUnary, type IsBinary, type IsConditional, type IsAssign, type IsValueConverter, type IsBindingBehavior, type IsAssignable, type IsExpression, type IsExpressionOrStatement, type IVisitor, type BinaryOperator, type BindingIdentifierOrPattern, type UnaryOperator, type IAstEvaluator, type ValueConverterInstance, } from './binding/ast'; | ||
export { astAssign, astBind, astEvaluate, astUnbind, } from './binding/ast.eval'; | ||
@@ -3,0 +3,0 @@ export { type IConnectableBinding, connectable, BindingObserverRecord, } from './binding/connectable'; |
{ | ||
"name": "@aurelia/runtime", | ||
"version": "2.1.0-dev.202401281151", | ||
"version": "2.1.0-dev.202401310648", | ||
"main": "dist/cjs/index.cjs", | ||
@@ -56,5 +56,5 @@ "module": "dist/esm/index.mjs", | ||
"dependencies": { | ||
"@aurelia/kernel": "2.1.0-dev.202401281151", | ||
"@aurelia/metadata": "2.1.0-dev.202401281151", | ||
"@aurelia/platform": "2.1.0-dev.202401281151" | ||
"@aurelia/kernel": "2.1.0-dev.202401310648", | ||
"@aurelia/metadata": "2.1.0-dev.202401310648", | ||
"@aurelia/platform": "2.1.0-dev.202401310648" | ||
}, | ||
@@ -61,0 +61,0 @@ "devDependencies": { |
@@ -42,3 +42,4 @@ /* eslint-disable no-fallthrough */ | ||
ekObjectDestructuring, | ||
ekCustom | ||
ekCustom, | ||
ekAccessBoundary | ||
} from './ast'; | ||
@@ -62,2 +63,13 @@ import { IConnectableBinding } from './connectable'; | ||
} | ||
case ekAccessBoundary: { | ||
let currentScope: Scope | null = s; | ||
while ( | ||
currentScope != null | ||
&& !currentScope.isBoundary | ||
) { | ||
currentScope = currentScope.parent; | ||
} | ||
return currentScope ? currentScope.bindingContext : void 0; | ||
} | ||
case ekAccessScope: { | ||
@@ -64,0 +76,0 @@ const obj = getContext(s, ast.name, ast.ancestor) as IBindingContext; |
@@ -16,2 +16,3 @@ import { emptyArray } from '@aurelia/kernel'; | ||
/** @internal */ export const ekAccessThis = 'AccessThis'; | ||
/** @internal */ export const ekAccessBoundary = 'AccessBoundary'; | ||
/** @internal */ export const ekAccessGlobal = 'AccessGlobal'; | ||
@@ -50,2 +51,3 @@ /** @internal */ export const ekAccessScope = 'AccessScope'; | ||
| 'AccessGlobal' | ||
| 'AccessBoundary' | ||
| 'AccessScope' | ||
@@ -84,3 +86,3 @@ | 'ArrayLiteral' | ||
export type IsPrimary = AccessThisExpression | AccessScopeExpression | AccessGlobalExpression | ArrayLiteralExpression | ObjectLiteralExpression | PrimitiveLiteralExpression | TemplateExpression; | ||
export type IsPrimary = AccessThisExpression | AccessBoundaryExpression | AccessScopeExpression | AccessGlobalExpression | ArrayLiteralExpression | ObjectLiteralExpression | PrimitiveLiteralExpression | TemplateExpression; | ||
export type IsLiteral = ArrayLiteralExpression | ObjectLiteralExpression | PrimitiveLiteralExpression | TemplateExpression; | ||
@@ -201,2 +203,6 @@ export type IsLeftHandSide = IsPrimary | CallGlobalExpression | CallFunctionExpression | CallMemberExpression | CallScopeExpression | AccessMemberExpression | AccessKeyedExpression | TaggedTemplateExpression; | ||
export class AccessBoundaryExpression { | ||
public readonly $kind: 'AccessBoundary' = ekAccessBoundary; | ||
} | ||
export class AccessScopeExpression { | ||
@@ -203,0 +209,0 @@ public readonly $kind = ekAccessScope; |
import { createError, isString, safeString } from '../utilities'; | ||
import { CustomExpression, ekAccessKeyed, ekAccessMember, ekAccessScope, ekAccessThis, ekArrayBindingPattern, ekArrayDestructuring, ekArrayLiteral, ekArrowFunction, ekAssign, ekBinary, ekBindingBehavior, ekBindingIdentifier, ekCallFunction, ekCallMember, ekCallScope, ekConditional, ekCustom, ekDestructuringAssignmentLeaf, ekForOfStatement, ekInterpolation, ekObjectBindingPattern, ekObjectDestructuring, ekObjectLiteral, ekPrimitiveLiteral, ekTaggedTemplate, ekTemplate, ekUnary, ekValueConverter } from './ast'; | ||
import { CustomExpression, ekAccessBoundary, ekAccessKeyed, ekAccessMember, ekAccessScope, ekAccessThis, ekArrayBindingPattern, ekArrayDestructuring, ekArrayLiteral, ekArrowFunction, ekAssign, ekBinary, ekBindingBehavior, ekBindingIdentifier, ekCallFunction, ekCallMember, ekCallScope, ekConditional, ekCustom, ekDestructuringAssignmentLeaf, ekForOfStatement, ekInterpolation, ekObjectBindingPattern, ekObjectDestructuring, ekObjectLiteral, ekPrimitiveLiteral, ekTaggedTemplate, ekTemplate, ekUnary, ekValueConverter } from './ast'; | ||
import type { AccessKeyedExpression, AccessMemberExpression, AccessScopeExpression, AccessThisExpression, ArrayBindingPattern, ArrayLiteralExpression, ArrowFunction, AssignExpression, BinaryExpression, BindingBehaviorExpression, BindingIdentifier, CallFunctionExpression, CallMemberExpression, CallScopeExpression, ConditionalExpression, ForOfStatement, Interpolation, ObjectBindingPattern, ObjectLiteralExpression, PrimitiveLiteralExpression, TaggedTemplateExpression, TemplateExpression, UnaryExpression, ValueConverterExpression, DestructuringAssignmentExpression, DestructuringAssignmentSingleExpression, DestructuringAssignmentRestExpression, IsExpressionOrStatement, IsBindingBehavior } from './ast'; | ||
import type { AccessKeyedExpression, AccessMemberExpression, AccessScopeExpression, AccessThisExpression, ArrayBindingPattern, ArrayLiteralExpression, ArrowFunction, AssignExpression, BinaryExpression, BindingBehaviorExpression, BindingIdentifier, CallFunctionExpression, CallMemberExpression, CallScopeExpression, ConditionalExpression, ForOfStatement, Interpolation, ObjectBindingPattern, ObjectLiteralExpression, PrimitiveLiteralExpression, TaggedTemplateExpression, TemplateExpression, UnaryExpression, ValueConverterExpression, DestructuringAssignmentExpression, DestructuringAssignmentSingleExpression, DestructuringAssignmentRestExpression, IsExpressionOrStatement, IsBindingBehavior, AccessBoundaryExpression } from './ast'; | ||
@@ -11,2 +11,3 @@ export interface IVisitor<T = unknown> { | ||
visitAccessThis(expr: AccessThisExpression): T; | ||
visitAccessBoundary(expr: AccessBoundaryExpression): T; | ||
visitArrayBindingPattern(expr: ArrayBindingPattern): T; | ||
@@ -44,2 +45,3 @@ visitArrayLiteral(expr: ArrayLiteralExpression): T; | ||
case ekAccessThis: return visitor.visitAccessThis(ast); | ||
case ekAccessBoundary: return visitor.visitAccessBoundary(ast); | ||
case ekArrayBindingPattern: return visitor.visitArrayBindingPattern(ast); | ||
@@ -108,2 +110,6 @@ case ekArrayDestructuring: return visitor.visitDestructuringAssignmentExpression(ast); | ||
public visitAccessBoundary(expr: AccessBoundaryExpression): void { | ||
this.text += 'this'; | ||
} | ||
public visitAccessScope(expr: AccessScopeExpression): void { | ||
@@ -110,0 +116,0 @@ let i = expr.ancestor; |
@@ -53,2 +53,3 @@ /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */ | ||
ekObjectDestructuring, | ||
AccessBoundaryExpression, | ||
} from './ast'; | ||
@@ -293,46 +294,47 @@ import { createInterface, createLookup, objectAssign } from '../utilities'; | ||
ThisScope = 0b0000000001100_0000_000100, | ||
// HostScope = 0b0000000001100_0000_000101, | ||
ParentScope = 0b0000000001100_0000_000110, | ||
OpenParen = 0b0101001000001_0000_000111, | ||
OpenBrace = 0b0001000000000_0000_001000, | ||
Dot = 0b0000001000000_0000_001001, | ||
DotDot = 0b0000000000000_0000_001010, | ||
DotDotDot = 0b0000000000000_0000_001011, | ||
QuestionDot = 0b0100001000000_0000_001100, | ||
CloseBrace = 0b1110000000000_0000_001101, | ||
CloseParen = 0b1110000000000_0000_001110, | ||
Comma = 0b1100000000000_0000_001111, | ||
OpenBracket = 0b0101001000001_0000_010000, | ||
CloseBracket = 0b1110000000000_0000_010011, | ||
Colon = 0b1100000000000_0000_010100, | ||
Semicolon = 0b1100000000000_0000_010101, | ||
Question = 0b1100000000000_0000_010110, | ||
Ampersand = 0b1100000000000_0000_010111, | ||
Bar = 0b1100000000000_0000_011000, | ||
QuestionQuestion = 0b1100100000000_0010_011001, | ||
BarBar = 0b1100100000000_0011_011010, | ||
AmpersandAmpersand = 0b1100100000000_0100_011011, | ||
EqualsEquals = 0b1100100000000_0101_011100, | ||
ExclamationEquals = 0b1100100000000_0101_011101, | ||
EqualsEqualsEquals = 0b1100100000000_0101_011110, | ||
ExclamationEqualsEquals = 0b1100100000000_0101_011111, | ||
LessThan = 0b1100100000000_0110_100000, | ||
GreaterThan = 0b1100100000000_0110_100001, | ||
LessThanEquals = 0b1100100000000_0110_100010, | ||
GreaterThanEquals = 0b1100100000000_0110_100011, | ||
InKeyword = 0b1100100001000_0110_100100, | ||
InstanceOfKeyword = 0b1100100001000_0110_100101, | ||
Plus = 0b0100110000000_0111_100110, | ||
Minus = 0b0100110000000_0111_100111, | ||
TypeofKeyword = 0b0000010001000_0000_101000, | ||
VoidKeyword = 0b0000010001000_0000_101001, | ||
Asterisk = 0b1100100000000_1000_101010, | ||
Percent = 0b1100100000000_1000_101011, | ||
Slash = 0b1100100000000_1000_101100, | ||
Equals = 0b1000000000000_0000_101101, | ||
Exclamation = 0b0000010000000_0000_101110, | ||
TemplateTail = 0b0100001000001_0000_101111, | ||
TemplateContinuation = 0b0100001000001_0000_110000, | ||
OfKeyword = 0b1000000001010_0000_110001, | ||
Arrow = 0b0000000000000_0000_110010, | ||
AccessBoundary = 0b0000000001100_0000_000101, | ||
// HostScope = 0b0000000001100_0000_000110, | ||
ParentScope = 0b0000000001100_0000_000111, | ||
OpenParen = 0b0101001000001_0000_001000, | ||
OpenBrace = 0b0001000000000_0000_001001, | ||
Dot = 0b0000001000000_0000_001010, | ||
DotDot = 0b0000000000000_0000_001011, | ||
DotDotDot = 0b0000000000000_0000_001100, | ||
QuestionDot = 0b0100001000000_0000_001101, | ||
CloseBrace = 0b1110000000000_0000_001110, | ||
CloseParen = 0b1110000000000_0000_001111, | ||
Comma = 0b1100000000000_0000_010000, | ||
OpenBracket = 0b0101001000001_0000_010011, | ||
CloseBracket = 0b1110000000000_0000_010100, | ||
Colon = 0b1100000000000_0000_010101, | ||
Semicolon = 0b1100000000000_0000_010110, | ||
Question = 0b1100000000000_0000_010111, | ||
Ampersand = 0b1100000000000_0000_011000, | ||
Bar = 0b1100000000000_0000_011001, | ||
QuestionQuestion = 0b1100100000000_0010_011010, | ||
BarBar = 0b1100100000000_0011_011011, | ||
AmpersandAmpersand = 0b1100100000000_0100_011100, | ||
EqualsEquals = 0b1100100000000_0101_011101, | ||
ExclamationEquals = 0b1100100000000_0101_011110, | ||
EqualsEqualsEquals = 0b1100100000000_0101_011111, | ||
ExclamationEqualsEquals = 0b1100100000000_0101_100000, | ||
LessThan = 0b1100100000000_0110_100001, | ||
GreaterThan = 0b1100100000000_0110_100010, | ||
LessThanEquals = 0b1100100000000_0110_100011, | ||
GreaterThanEquals = 0b1100100000000_0110_100100, | ||
InKeyword = 0b1100100001000_0110_100101, | ||
InstanceOfKeyword = 0b1100100001000_0110_100110, | ||
Plus = 0b0100110000000_0111_100111, | ||
Minus = 0b0100110000000_0111_101000, | ||
TypeofKeyword = 0b0000010001000_0000_101001, | ||
VoidKeyword = 0b0000010001000_0000_101010, | ||
Asterisk = 0b1100100000000_1000_101011, | ||
Percent = 0b1100100000000_1000_101100, | ||
Slash = 0b1100100000000_1000_101101, | ||
Equals = 0b1000000000000_0000_101110, | ||
Exclamation = 0b0000010000000_0000_101111, | ||
TemplateTail = 0b0100001000001_0000_110000, | ||
TemplateContinuation = 0b0100001000001_0000_110001, | ||
OfKeyword = 0b1000000001010_0000_110010, | ||
Arrow = 0b0000000000000_0000_110011, | ||
} | ||
@@ -347,2 +349,3 @@ _END_CONST_ENUM(); | ||
const $parent = new AccessThisExpression(1); | ||
const boundary = new AccessBoundaryExpression(); | ||
@@ -563,2 +566,7 @@ const etNone = 'None' as const; | ||
break; | ||
case Token.AccessBoundary: // this | ||
$assignable = false; | ||
nextToken(); | ||
result = boundary; | ||
break; | ||
case Token.OpenParen: | ||
@@ -1706,3 +1714,3 @@ result = parseCoverParenthesizedExpressionAndArrowParameterList(expressionType); | ||
const TokenValues = [ | ||
$false, $true, $null, $undefined, '$this', null/* '$host' */, '$parent', | ||
$false, $true, $null, $undefined, 'this', '$this', null/* '$host' */, '$parent', | ||
@@ -1722,2 +1730,3 @@ '(', '{', '.', '..', '...', '?.', '}', ')', ',', '[', ']', ':', ';', '?', '\'', '"', | ||
undefined: Token.UndefinedKeyword, | ||
this: Token.AccessBoundary, | ||
$this: Token.ThisScope, | ||
@@ -1724,0 +1733,0 @@ $parent: Token.ParentScope, |
@@ -13,2 +13,3 @@ export { | ||
AccessScopeExpression, | ||
AccessBoundaryExpression, | ||
AccessMemberExpression, | ||
@@ -15,0 +16,0 @@ AccessKeyedExpression, |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2103255
39796
+ Added@aurelia/kernel@2.1.0-dev.202401310648(transitive)
+ Added@aurelia/metadata@2.1.0-dev.202401310648(transitive)
+ Added@aurelia/platform@2.1.0-dev.202401310648(transitive)
- Removed@aurelia/kernel@2.1.0-dev.202401281151(transitive)
- Removed@aurelia/metadata@2.1.0-dev.202401281151(transitive)
- Removed@aurelia/platform@2.1.0-dev.202401281151(transitive)