1/* 2 * Copyright (c) 2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16let projectIndirectObj = { 17 indirectProp1: 123 18} 19 20let projectShorthand = { 21 projectShorthandProp: 123 22} 23 24module.exports = { 25 // PropertyAssignment 26 projectPropertyAssignment1: 123, 27 'projectPropertyAssignment2': 123, 28 ['projectPropertyAssignment3']: 123, 29 projectPropertyAssignment4: projectIndirectObj, 30 31 // ShorthandPropertyAssignment 32 projectShorthand, 33 34 // MethodDeclaration 35 projectMethod1() {}, 36 'projectMethod2'() {}, 37 ['projectMethod3']() {}, 38 39 // AccessorDeclaration 40 get projectGetProp1() {}, 41 get 'projectGetProp2'() {}, 42 get ['projectGetProp3']() {}, 43 set projectSetProp1(value) {}, 44 set 'projectSetProp2'(value) {}, 45 set ['projectSetProp3'](value) {}, 46} 47 48exports.projectExportElement1 = 1; 49class indirectClass1 { 50 indirectProp2 = 123; 51} 52exports.projectExportElement2 = indirectClass1; 53exports.projectExportElement3 = class indirectClass2 { 54 indirectProp3 = 123; 55} 56exports.projectExportElement4 = class { 57 indirectProp4 = 123; 58} 59 60module.exports.projectExportElement5 = 1; 61module.exports['projectExportElement6'] = 1; 62class indirectClass3 { 63 indirectProp5 = 123; 64} 65module.exports.projectExportElement7 = indirectClass3; 66exports.projectExportElement8 = class indirectClass4 { 67 indirectProp6 = 123; 68} 69module.exports.projectExportElement9 = class { 70 indirectProp7 = 123; 71} 72