feat(compiler-core): support BigInt in template (#2900)

This commit is contained in:
edison 2021-02-04 02:28:46 +08:00 committed by GitHub
parent dd02cf37d5
commit c9f94fa3cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 1 deletions

View File

@ -3,6 +3,6 @@ import { makeMap } from './makeMap'
const GLOBALS_WHITE_LISTED =
'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' +
'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' +
'Object,Boolean,String,RegExp,Map,Set,JSON,Intl'
'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt'
export const isGloballyWhitelisted = /*#__PURE__*/ makeMap(GLOBALS_WHITE_LISTED)

View File

@ -292,4 +292,13 @@ describe('compiler + runtime integration', () => {
createApp(App).mount(container)
expect(EMPTY_ARR.length).toBe(0)
})
test('BigInt support', () => {
const app = createApp({
template: `<div>{{ BigInt(BigInt(100000111)) + BigInt(2000000000n) * 30000000n }}</div>`
})
const root = document.createElement('div')
app.mount(root)
expect(root.innerHTML).toBe('<div>60000000100000111</div>')
})
})