1/*
2 * Copyright (c) 2022 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
16exports.source = `
17import
18LinkComponentDefault, {
19  LinkComponent as LinkComponent1Ref,
20  LinkComponent2 as LinkComponent2Ref,
21  LinkComponent3
22} from './test/pages/LinkComponent'
23import DefaultComponent from "./test/pages/DefaultComponent"
24import AMDComponentDefault = require('./test/pages/AMDComponent')
25import TsModule from './test/pages/TsModule'
26
27@Entry
28@Component
29struct ImportTest {
30  @State myState1: any = new TsModule(1).method()
31  @State myState2: number = 0
32  @State myState3: boolean = false
33  @State myState4: string = 'ImportTest'
34
35  build() {
36    Column() {
37      LinkComponent2Ref({
38        LinkComponent2Link1: $myState1,
39        LinkComponent2Link2: $myState2,
40        LinkComponent2Link3: $myState3,
41        LinkComponent2Link4: $myState4,
42        indexState1: { count: 1 },
43        indexState2: 1,
44        indexState3: true,
45        indexState4: 'LinkComponent2'
46      })
47      Text('space')
48        .fontSize(20)
49        .fontColor(Color.Red)
50      LinkComponent1Ref({
51        LinkComponent1Link1: $myState1,
52        LinkComponent1Link2: $myState2,
53        LinkComponent1Link3: $myState3,
54        LinkComponent1Link4: $myState4,
55        indexState1: { count: 1 },
56        indexState2: 1,
57        indexState3: true,
58        indexState4: 'LinkComponent1'
59      })
60      DefaultComponent({
61        DefaultComponentLink1: $myState1,
62        DefaultComponentLink2: $myState2,
63        DefaultComponentLink3: $myState3,
64        DefaultComponentLink4: $myState4,
65        myVar: 100,
66        myVar2: 100
67      })
68      LinkComponentDefault({
69        LinkComponent3Link1: $myState1,
70        LinkComponent3Link2: $myState2,
71        LinkComponent3Link3: $myState3,
72        LinkComponent3Link4: $myState4,
73        indexState1: { count: 1 },
74        indexState2: 1,
75        indexState3: true,
76        indexState4: 'LinkComponent3'
77      })
78      AMDComponentDefault({
79        AMDComponentLink1: $myState1,
80        AMDComponentLink2: $myState2,
81        AMDComponentLink3: $myState3,
82        AMDComponentLink4: $myState4,
83        myVar: 100,
84        myVar2: 100
85      })
86      LinkComponent3({
87        LinkComponent3Link1: $myState1,
88        LinkComponent3Link2: $myState2,
89        LinkComponent3Link3: $myState3,
90        LinkComponent3Link4: $myState4,
91        indexState1: { count: 1 },
92        indexState2: 1,
93        indexState3: true,
94        indexState4: 'LinkComponent1'
95      })
96    }
97  }
98}
99`
100
101exports.expectResult =
102`"use strict";
103var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
104    if (k2 === undefined) k2 = k;
105    var desc = Object.getOwnPropertyDescriptor(m, k);
106    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
107      desc = { enumerable: true, get: function() { return m[k]; } };
108    }
109    Object.defineProperty(o, k2, desc);
110}) : (function(o, m, k, k2) {
111    if (k2 === undefined) k2 = k;
112    o[k2] = m[k];
113}));
114var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
115    Object.defineProperty(o, "default", { enumerable: true, value: v });
116}) : function(o, v) {
117    o["default"] = v;
118});
119var __importStar = (this && this.__importStar) || function (mod) {
120    if (mod && mod.__esModule) return mod;
121    var result = {};
122    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
123    __setModuleDefault(result, mod);
124    return result;
125};
126var __importDefault = (this && this.__importDefault) || function (mod) {
127    return (mod && mod.__esModule) ? mod : { "default": mod };
128};
129Object.defineProperty(exports, "__esModule", { value: true });
130let __generate__Id = 0;
131function generateId() {
132    return "importEts_" + ++__generate__Id;
133}
134const LinkComponent_1 = __importStar(require("./test/pages/LinkComponent"));
135const DefaultComponent_1 = __importDefault(require("./test/pages/DefaultComponent"));
136const AMDComponentDefault = require("./test/pages/AMDComponent");
137const TsModule_1 = __importDefault(require("./test/pages/TsModule"));
138class ImportTest extends View {
139    constructor(compilerAssignedUniqueChildId, parent, params, localStorage) {
140        super(compilerAssignedUniqueChildId, parent, localStorage);
141        this.__myState1 = new ObservedPropertyObject(new TsModule_1.default(1).method(), this, "myState1");
142        this.__myState2 = new ObservedPropertySimple(0, this, "myState2");
143        this.__myState3 = new ObservedPropertySimple(false, this, "myState3");
144        this.__myState4 = new ObservedPropertySimple('ImportTest', this, "myState4");
145        this.updateWithValueParams(params);
146    }
147    updateWithValueParams(params) {
148        if (params.myState1 !== undefined) {
149            this.myState1 = params.myState1;
150        }
151        if (params.myState2 !== undefined) {
152            this.myState2 = params.myState2;
153        }
154        if (params.myState3 !== undefined) {
155            this.myState3 = params.myState3;
156        }
157        if (params.myState4 !== undefined) {
158            this.myState4 = params.myState4;
159        }
160    }
161    aboutToBeDeleted() {
162        this.__myState1.aboutToBeDeleted();
163        this.__myState2.aboutToBeDeleted();
164        this.__myState3.aboutToBeDeleted();
165        this.__myState4.aboutToBeDeleted();
166        SubscriberManager.Get().delete(this.id());
167    }
168    get myState1() {
169        return this.__myState1.get();
170    }
171    set myState1(newValue) {
172        this.__myState1.set(newValue);
173    }
174    get myState2() {
175        return this.__myState2.get();
176    }
177    set myState2(newValue) {
178        this.__myState2.set(newValue);
179    }
180    get myState3() {
181        return this.__myState3.get();
182    }
183    set myState3(newValue) {
184        this.__myState3.set(newValue);
185    }
186    get myState4() {
187        return this.__myState4.get();
188    }
189    set myState4(newValue) {
190        this.__myState4.set(newValue);
191    }
192    render() {
193        Column.create();
194        let earlierCreatedChild_2 = (this && this.findChildById) ? this.findChildById("2") : undefined;
195        if (earlierCreatedChild_2 == undefined) {
196            View.create(new LinkComponent_1.LinkComponent2("2", this, {
197                LinkComponent2Link1: this.__myState1,
198                LinkComponent2Link2: this.__myState2,
199                LinkComponent2Link3: this.__myState3,
200                LinkComponent2Link4: this.__myState4,
201                indexState1: { count: 1 },
202                indexState2: 1,
203                indexState3: true,
204                indexState4: 'LinkComponent2'
205            }));
206        }
207        else {
208            earlierCreatedChild_2.updateWithValueParams({
209                indexState1: { count: 1 },
210                indexState2: 1,
211                indexState3: true,
212                indexState4: 'LinkComponent2'
213            });
214            View.create(earlierCreatedChild_2);
215        }
216        Text.create('space');
217        Text.fontSize(20);
218        Text.fontColor(Color.Red);
219        Text.pop();
220        let earlierCreatedChild_3 = (this && this.findChildById) ? this.findChildById("3") : undefined;
221        if (earlierCreatedChild_3 == undefined) {
222            View.create(new LinkComponent_1.LinkComponent("3", this, {
223                LinkComponent1Link1: this.__myState1,
224                LinkComponent1Link2: this.__myState2,
225                LinkComponent1Link3: this.__myState3,
226                LinkComponent1Link4: this.__myState4,
227                indexState1: { count: 1 },
228                indexState2: 1,
229                indexState3: true,
230                indexState4: 'LinkComponent1'
231            }));
232        }
233        else {
234            earlierCreatedChild_3.updateWithValueParams({
235                indexState1: { count: 1 },
236                indexState2: 1,
237                indexState3: true,
238                indexState4: 'LinkComponent1'
239            });
240            View.create(earlierCreatedChild_3);
241        }
242        let earlierCreatedChild_4 = (this && this.findChildById) ? this.findChildById("4") : undefined;
243        if (earlierCreatedChild_4 == undefined) {
244            View.create(new DefaultComponent_1.default("4", this, {
245                DefaultComponentLink1: this.__myState1,
246                DefaultComponentLink2: this.__myState2,
247                DefaultComponentLink3: this.__myState3,
248                DefaultComponentLink4: this.__myState4,
249                myVar: 100,
250                myVar2: 100
251            }));
252        }
253        else {
254            earlierCreatedChild_4.updateWithValueParams({
255                myVar: 100,
256                myVar2: 100
257            });
258            View.create(earlierCreatedChild_4);
259        }
260        let earlierCreatedChild_5 = (this && this.findChildById) ? this.findChildById("5") : undefined;
261        if (earlierCreatedChild_5 == undefined) {
262            View.create(new LinkComponent_1.default("5", this, {
263                LinkComponent3Link1: this.__myState1,
264                LinkComponent3Link2: this.__myState2,
265                LinkComponent3Link3: this.__myState3,
266                LinkComponent3Link4: this.__myState4,
267                indexState1: { count: 1 },
268                indexState2: 1,
269                indexState3: true,
270                indexState4: 'LinkComponent3'
271            }));
272        }
273        else {
274            earlierCreatedChild_5.updateWithValueParams({
275                indexState1: { count: 1 },
276                indexState2: 1,
277                indexState3: true,
278                indexState4: 'LinkComponent3'
279            });
280            View.create(earlierCreatedChild_5);
281        }
282        let earlierCreatedChild_6 = (this && this.findChildById) ? this.findChildById("6") : undefined;
283        if (earlierCreatedChild_6 == undefined) {
284            View.create(new AMDComponentDefault("6", this, {
285                AMDComponentLink1: this.__myState1,
286                AMDComponentLink2: this.__myState2,
287                AMDComponentLink3: this.__myState3,
288                AMDComponentLink4: this.__myState4,
289                myVar: 100,
290                myVar2: 100
291            }));
292        }
293        else {
294            earlierCreatedChild_6.updateWithValueParams({
295                myVar: 100,
296                myVar2: 100
297            });
298            View.create(earlierCreatedChild_6);
299        }
300        let earlierCreatedChild_7 = (this && this.findChildById) ? this.findChildById("7") : undefined;
301        if (earlierCreatedChild_7 == undefined) {
302            View.create(new LinkComponent_1.LinkComponent3("7", this, {
303                LinkComponent3Link1: this.__myState1,
304                LinkComponent3Link2: this.__myState2,
305                LinkComponent3Link3: this.__myState3,
306                LinkComponent3Link4: this.__myState4,
307                indexState1: { count: 1 },
308                indexState2: 1,
309                indexState3: true,
310                indexState4: 'LinkComponent1'
311            }));
312        }
313        else {
314            earlierCreatedChild_7.updateWithValueParams({
315                indexState1: { count: 1 },
316                indexState2: 1,
317                indexState3: true,
318                indexState4: 'LinkComponent1'
319            });
320            View.create(earlierCreatedChild_7);
321        }
322        Column.pop();
323    }
324}
325loadDocument(new ImportTest("1", undefined, {}));
326`
327