From: edison Date: Wed, 3 Feb 2021 18:28:46 +0000 (+0800) Subject: feat(compiler-core): support `BigInt` in template (#2900) X-Git-Tag: v3.0.6~50 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9f94fa3cfbe8fcd9ea3d49d523dfb282c468369;p=thirdparty%2Fvuejs%2Fcore.git feat(compiler-core): support `BigInt` in template (#2900) --- diff --git a/packages/shared/src/globalsWhitelist.ts b/packages/shared/src/globalsWhitelist.ts index c6347bf299..f383450c88 100644 --- a/packages/shared/src/globalsWhitelist.ts +++ b/packages/shared/src/globalsWhitelist.ts @@ -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) diff --git a/packages/vue/__tests__/index.spec.ts b/packages/vue/__tests__/index.spec.ts index b425e5de7a..99e3a63a6a 100644 --- a/packages/vue/__tests__/index.spec.ts +++ b/packages/vue/__tests__/index.spec.ts @@ -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: `
{{ BigInt(BigInt(100000111)) + BigInt(2000000000n) * 30000000n }}
` + }) + const root = document.createElement('div') + app.mount(root) + expect(root.innerHTML).toBe('
60000000100000111
') + }) })