'use client' // Test both server and client compilation of ECMAScript features. import { abc } from './export-as' import json from './file.json' with { type: 'json' } class ClassWithPrivate { #privateField #privateFieldWithInitializer = 11 #privateMethod() { this.#privateField = 10 } static #privateStaticFieldWithInitializer = 12 static #privateStaticMethod() { return this.#privateStaticFieldWithInitializer } constructor() { this.#privateMethod() } getPrivateField() { return this.#privateField } getPrivateFieldWithInitializer() { return this.#privateFieldWithInitializer } getPrivateStaticFieldWithInitializer() { return ClassWithPrivate.#privateStaticFieldWithInitializer } getPrivateStaticMethod() { return ClassWithPrivate.#privateStaticMethod() } isPrivateMethodAvailable() { return #privateField in this } } // Not supported in Node.js yet. // let regex = /abc/v export default function Page() { const instance = new ClassWithPrivate() return ( <>
{JSON.stringify(
{
privateField: instance.getPrivateField(),
privateFieldWithInitializer:
instance.getPrivateFieldWithInitializer(),
privateStaticFieldWithInitializer:
instance.getPrivateStaticFieldWithInitializer(),
privateStaticMethod: instance.getPrivateStaticMethod(),
privateMethodInThis: instance.isPrivateMethodAvailable(),
exportAs: abc,
importWith: json.message,
// Not supported in Node.js yet.
// regex: regex instanceof RegExp
},
null,
2
)}
>
)
}