expect(fn('objfoo]')).toBe(false)
expect(fn('obj[arr[0]')).toBe(false)
expect(fn('obj[arr0]]')).toBe(false)
- expect(fn('123[a]')).toBe(false)
expect(fn('a + b')).toBe(false)
expect(fn('foo()')).toBe(false)
expect(fn('a?b:c')).toBe(false)
test('browser', () => {
commonAssertions(isMemberExpressionBrowser)
+ expect(isMemberExpressionBrowser('123[a]')).toBe(false)
})
test('node', () => {
expect(fn(`foo.bar as string`)).toBe(true)
expect(fn(`foo['bar'] as string`)).toBe(true)
expect(fn(`foo[bar as string]`)).toBe(true)
+ expect(fn(`(foo as string)`)).toBe(true)
+ expect(fn(`123[a]`)).toBe(true)
expect(fn(`foo() as string`)).toBe(false)
expect(fn(`a + b as string`)).toBe(false)
})
path: string,
context: TransformContext
): boolean => {
- path = path.trim()
- if (!validFirstIdentCharRE.test(path[0])) {
- return false
- }
try {
let ret: Expression = parseExpression(path, {
plugins: [...context.expressionPlugins, ...babelParserDefaultPlugins]