1/* 2 * Copyright (C) 2025 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 16import { memo, __memo_context_type, __memo_id_type } from "@ohos.arkui.stateManagement" 17 18class Test { 19 @memo lambda_arg(@memo arg: () => void) { 20 21 } 22 23 @memo lambda_arg_with_arg(@memo arg: (value: string) => string) { 24 25 } 26 27 @memo memo_content(@memo content: () => void) { 28 content() 29 } 30 31 @memo compute_test( 32 @memo arg1: (() => void) | undefined, 33 arg2: (() => void) | undefined, 34 content: (() => void) | undefined 35 ): void { 36 37 } 38} 39 40class Use { 41 @memo test() { 42 const test = new Test() 43 44 test.lambda_arg((): void => {}) 45 test.lambda_arg_with_arg((value: string): string => value) 46 47 test.compute_test(() => {}, () => {}, () => {}) 48 } 49}