From 475c44e328809f075976664bf0651ed8f1593586 Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Wed, 12 Feb 2025 11:59:05 +0300 Subject: [PATCH 1/7] Handle @BuilderParam. Still WIP: double memo in trivial Signed-off-by: Alexander Gorshenev --- arkoala-arkts/trivial/user/src/ets/page1.ets | 21 +++ arkoala/ets-plugin/src/PropertyTranslators.ts | 50 +++--- arkoala/ets-plugin/src/StructOptions.ts | 25 ++- arkoala/ets-plugin/test/ets/PropertyDeps.ets | 168 ++---------------- 4 files changed, 78 insertions(+), 186 deletions(-) diff --git a/arkoala-arkts/trivial/user/src/ets/page1.ets b/arkoala-arkts/trivial/user/src/ets/page1.ets index 4df805660..c85a9eb52 100644 --- a/arkoala-arkts/trivial/user/src/ets/page1.ets +++ b/arkoala-arkts/trivial/user/src/ets/page1.ets @@ -66,6 +66,26 @@ function makeArray(items: number): Array { return result } +@Component +struct TestBuilderParam { + @Builder builder() { + Button("TestBuilder") + } + @BuilderParam builderParam: () => void = this.builder + @BuilderParam anotherParam: () => void = this.builder + build() { + Column() { + this.builderParam() + this.anotherParam() + } + } +} + +@Builder +function globalBuilder() { + Text("AnotherBuilder") +} + @Component struct Page1 { @State color1: string = '#ff0000' @@ -98,6 +118,7 @@ struct Page1 { .width(200).height(100) TestProvide() TestStructBuilder().width('100%') + TestBuilderParam({anotherParam: globalBuilder}) } .width('100%').height('100%') .backgroundColor(Color.Gray) diff --git a/arkoala/ets-plugin/src/PropertyTranslators.ts b/arkoala/ets-plugin/src/PropertyTranslators.ts index 543fbbf26..841a900f3 100644 --- a/arkoala/ets-plugin/src/PropertyTranslators.ts +++ b/arkoala/ets-plugin/src/PropertyTranslators.ts @@ -74,6 +74,7 @@ import { WatchDecorator, } from "./utils" import { MessageCode, reportError } from "./diagnostics" +import { OptionDescriptor } from "./StructOptions" export class PropertyTranslatorContext { constructor( @@ -339,7 +340,7 @@ export abstract class PropertyTranslator { isOptional ? ts.factory.createAsExpression( createThisFieldAccess(newName), - type + memo ? prependDoubleLineMemoComment(type) : type ) : createThisFieldAccess(newName) ) @@ -423,9 +424,9 @@ export abstract class PropertyTranslator { ) } - public abstract implField(): { name: ts.Identifier; type: ts.TypeNode }[] + public abstract implField(): OptionDescriptor[] - protected stateImplField(impl: StateImplementation): { name: ts.Identifier; type: ts.TypeNode }[] { + protected stateImplField(impl: StateImplementation): OptionDescriptor[] { const originalName = asIdentifier(this.property.name) if (!this.property.type) { reportError( @@ -446,16 +447,16 @@ export abstract class PropertyTranslator { [originalType] ) return [ - { name: backingName, type: backingType }, - { name: originalName, type: originalType }, + new OptionDescriptor(backingName, backingType), + new OptionDescriptor(originalName, originalType) ] } - protected plainImplField(): { name: ts.Identifier; type: ts.TypeNode }[] { + protected plainImplField(needsMemo: boolean): OptionDescriptor[] { const name = asIdentifier(this.property.name) const type = this.typeOrErrorType(this.property, this.property.type) - return [{ name, type }] + return [new OptionDescriptor( name, type, needsMemo)] } } @@ -470,7 +471,7 @@ export function createStateOf(importer: Importer, type: ts.TypeNode | undefined, } class State extends PropertyTranslator { - override implField(): { name: ts.Identifier; type: ts.TypeNode }[] { + override implField(): { name: ts.Identifier; type: ts.TypeNode, isBuilderParam: boolean }[] { return this.stateImplField(StateImplementation.MutableState) } override toInitialization(initializers: ts.Identifier) { @@ -498,7 +499,7 @@ class State extends PropertyTranslator { } export class ClassState extends PropertyTranslator { - override implField(): { name: ts.Identifier; type: ts.TypeNode }[] { + override implField(): OptionDescriptor[] { return this.stateImplField(StateImplementation.MutableState) } @@ -517,7 +518,7 @@ export class ClassState extends PropertyTranslator { } class Prop extends PropertyTranslator { - override implField(): { name: ts.Identifier; type: ts.TypeNode }[] { + override implField(): OptionDescriptor[] { return this.stateImplField(StateImplementation.SyncedProperty) } @@ -542,7 +543,7 @@ class Prop extends PropertyTranslator { } class Link extends PropertyTranslator { - override implField(): { name: ts.Identifier; type: ts.TypeNode }[] { + override implField(): OptionDescriptor[] { return this.stateImplField(StateImplementation.MutableState) } @@ -559,7 +560,7 @@ class Link extends PropertyTranslator { } class ObjectLink extends PropertyTranslator { - override implField(): { name: ts.Identifier; type: ts.TypeNode }[] { + override implField(): OptionDescriptor[] { return this.stateImplField(StateImplementation.SyncedProperty) } @@ -584,7 +585,7 @@ class ObjectLink extends PropertyTranslator { } class Provide extends PropertyTranslator { - override implField(): { name: ts.Identifier; type: ts.TypeNode }[] { + override implField(): OptionDescriptor[] { return this.stateImplField(StateImplementation.MutableState) } @@ -604,7 +605,7 @@ class Provide extends PropertyTranslator { } class Consume extends PropertyTranslator { - override implField(): { name: ts.Identifier; type: ts.TypeNode }[] { + override implField(): OptionDescriptor[] { return this.stateImplField(StateImplementation.MutableState) } @@ -624,7 +625,7 @@ class Consume extends PropertyTranslator { } class StorageLink extends PropertyTranslator { - public implField(): { name: ts.Identifier; type: ts.TypeNode }[] { + public implField(): OptionDescriptor[] { const name = backingFieldName(asIdentifier(this.property.name)) const type = ts.factory.createTypeReferenceNode( this.context.importer.withRuntimeImport("MutableState"), @@ -633,7 +634,10 @@ class StorageLink extends PropertyTranslator { const name1 = asIdentifier(this.property.name) const type1 = this.typeOrErrorType(this.property, this.property.type) - return [{ name, type }, { name: name1, type: type1 }] + return [ + new OptionDescriptor(name, type), + new OptionDescriptor(name1,type1) + ] } override toInitialization(initializers: ts.Identifier) { @@ -650,7 +654,7 @@ class StorageLink extends PropertyTranslator { } class LocalStorageLink extends PropertyTranslator { - override implField(): { name: ts.Identifier; type: ts.TypeNode }[] { + override implField(): OptionDescriptor[] { return this.stateImplField(StateImplementation.MutableState) } @@ -668,7 +672,7 @@ class LocalStorageLink extends PropertyTranslator { } class StorageProp extends PropertyTranslator { - override implField(): { name: ts.Identifier; type: ts.TypeNode }[] { + override implField(): OptionDescriptor[] { return this.stateImplField(StateImplementation.SyncedProperty) } @@ -693,7 +697,7 @@ class StorageProp extends PropertyTranslator { } class LocalStorageProp extends PropertyTranslator { - override implField(): { name: ts.Identifier; type: ts.TypeNode }[] { + override implField(): OptionDescriptor[] { return this.stateImplField(StateImplementation.SyncedProperty) } @@ -718,8 +722,8 @@ class LocalStorageProp extends PropertyTranslator { } export class BuilderParam extends PropertyTranslator { - override implField(): { name: ts.Identifier; type: ts.TypeNode }[] { - return this.plainImplField() + override implField(): OptionDescriptor[] { + return this.plainImplField(true) } override toInitialization(initializers: ts.Identifier) { @@ -744,8 +748,8 @@ export class BuilderParam extends PropertyTranslator { } class PlainProperty extends PropertyTranslator { - override implField(): { name: ts.Identifier; type: ts.TypeNode }[] { - return this.plainImplField() + override implField(): OptionDescriptor[] { + return this.plainImplField(false) } override toInitialization(initializers: ts.Identifier) { diff --git a/arkoala/ets-plugin/src/StructOptions.ts b/arkoala/ets-plugin/src/StructOptions.ts index 957b9e868..1706ddf68 100644 --- a/arkoala/ets-plugin/src/StructOptions.ts +++ b/arkoala/ets-plugin/src/StructOptions.ts @@ -1,10 +1,18 @@ import * as ts from "@koalaui/ets-tsc" import { sourceStructName } from "./ApiUtils" -import { adaptorClassName, isDefined, throwError } from "./utils" +import { adaptorClassName, isDefined, prependMemoComment, throwError } from "./utils" import { PropertyTranslatorContext, classifyProperty } from "./PropertyTranslators" import { Importer } from "./Importer" import { ImportExport } from "./import-export"; +export class OptionDescriptor { + constructor( + public name: ts.Identifier, + public type: ts.TypeNode, + public isBuilderParam: boolean = false + ) {} +} + export class StructOptions { private importExport: ImportExport constructor( @@ -14,7 +22,7 @@ export class StructOptions { this.importExport = new ImportExport(this.typechecker) } - private implProperties(node: ts.StructDeclaration): { name: ts.Identifier, type: ts.TypeNode }[] { + private implProperties(node: ts.StructDeclaration): OptionDescriptor[] { return node.members .map(it => classifyProperty(it, this.context)) .filter(isDefined) @@ -39,13 +47,18 @@ export class StructOptions { [], [], this.implProperties(node) - .map(({ name, type }) => { - return ts.factory.createPropertySignature( + .map(descriptor => { + const property = ts.factory.createPropertySignature( undefined, - ts.idText(name), + ts.idText(descriptor.name), ts.factory.createToken(ts.SyntaxKind.QuestionToken), - type + descriptor.type ) + if (descriptor.isBuilderParam) { + return prependMemoComment(property) + } else { + return property + } }) ) } diff --git a/arkoala/ets-plugin/test/ets/PropertyDeps.ets b/arkoala/ets-plugin/test/ets/PropertyDeps.ets index dbca82780..cc6ba9dda 100644 --- a/arkoala/ets-plugin/test/ets/PropertyDeps.ets +++ b/arkoala/ets-plugin/test/ets/PropertyDeps.ets @@ -85,16 +85,6 @@ struct StateToLocalStorageProp { } } -@Component -struct StateToBuilderParam { - @State state: string = 'Hello World' - @BuilderParam test: string = this.state + "!" - - build() { - Text(this.test) - } -} - @Component struct StateToPlain { @State state: string = 'Hello World' @@ -177,16 +167,6 @@ struct PropToLocalStorageProp { } } -@Component -struct PropToBuilderParam { - @Prop state: string = 'Hello World' - @BuilderParam test: string = this.state + "!" - - build() { - Text(this.test) - } -} - @Component struct PropToPlain { @Prop state: string = 'Hello World' @@ -269,16 +249,6 @@ struct ProvideToLocalStorageProp { } } -@Component -struct ProvideToBuilderParam { - @Provide state: string = 'Hello World' - @BuilderParam test: string = this.state + "!" - - build() { - Text(this.test) - } -} - @Component struct ProvideToPlain { @Provide state: string = 'Hello World' @@ -361,16 +331,6 @@ struct StorageLinkToLocalStorageProp { } } -@Component -struct StorageLinkToBuilderParam { - @StorageLink("key") state: string = 'Hello World' - @BuilderParam test: string = this.state + "!" - - build() { - Text(this.test) - } -} - @Component struct StorageLinkToPlain { @StorageLink("key") state: string = 'Hello World' @@ -453,16 +413,6 @@ struct LocalStorageLinkToLocalStorageProp { } } -@Component -struct LocalStorageLinkToBuilderParam { - @LocalStorageLink("key") state: string = 'Hello World' - @BuilderParam test: string = this.state + "!" - - build() { - Text(this.test) - } -} - @Component struct LocalStorageLinkToPlain { @LocalStorageLink("key") state: string = 'Hello World' @@ -545,16 +495,6 @@ struct StoragePropToLocalStorageProp { } } -@Component -struct StoragePropToBuilderParam { - @StorageProp("key") state: string = 'Hello World' - @BuilderParam test: string = this.state + "!" - - build() { - Text(this.test) - } -} - @Component struct StoragePropToPlain { @StorageProp("key") state: string = 'Hello World' @@ -637,16 +577,6 @@ struct LocalStoragePropToLocalStorageProp { } } -@Component -struct LocalStoragePropToBuilderParam { - @LocalStorageProp("key") state: string = 'Hello World' - @BuilderParam test: string = this.state + "!" - - build() { - Text(this.test) - } -} - @Component struct LocalStoragePropToPlain { @LocalStorageProp("key") state: string = 'Hello World' @@ -660,92 +590,26 @@ struct LocalStoragePropToPlain { // @BuilderParam @Component -struct BuilderParamToState { - @BuilderParam state: string = 'Hello World' - @State test: string = this.state + "!" +struct BuilderToBuilderParam { + @Builder builder() {} + @BuilderParam builderParam: () => void = this.builder + @BuilderParam anotherParam: () => void = this.builder build() { - Text(this.test) - } -} - -@Component -struct BuilderParamToProp { - @BuilderParam state: string = 'Hello World' - @Prop test: string = this.state + "!" - - build() { - Text(this.test) - } -} - -@Component -struct BuilderParamToProvide { - @BuilderParam state: string = 'Hello World' - @Provide test: string = this.state + "!" - - build() { - Text(this.test) - } -} - -@Component -struct BuilderParamToStorageLink { - @BuilderParam state: string = 'Hello World' - @StorageLink("test") test: string = this.state + "!" - - build() { - Text(this.test) - } -} - -@Component -struct BuilderParamToLocalStorageLink { - @BuilderParam state: string = 'Hello World' - @LocalStorageLink("test") test: string = this.state + "!" - - build() { - Text(this.test) - } -} - -@Component -struct BuilderParamToStorageProp { - @BuilderParam state: string = 'Hello World' - @StorageProp("test") test: string = this.state + "!" - - build() { - Text(this.test) - } -} - -@Component -struct BuilderParamToLocalStorageProp { - @BuilderParam state: string = 'Hello World' - @LocalStorageProp("test") test: string = this.state + "!" - - build() { - Text(this.test) + this.builderParam() + BuilderToBuilderParam({builderParam: this.anotherParam}) } } @Component struct BuilderParamToBuilderParam { - @BuilderParam state: string = 'Hello World' - @BuilderParam test: string = this.state + "!" - - build() { - Text(this.test) - } -} - -@Component -struct BuilderParamToPlain { - @BuilderParam state: string = 'Hello World' - test: string = this.state + "!" + @Builder builder() {} + @BuilderParam builderParam: () => void = this.builder + @BuilderParam anotherParam: () => void = this.builderParam build() { - Text(this.test) + this.anotherBuilderParam() + BuilderToBuilderParam({anotherParam: this.anotherParam}) } } @@ -821,16 +685,6 @@ struct PlainToLocalStorageProp { } } -@Component -struct PlainToBuilderParam { - state: string = 'Hello World' - @BuilderParam test: string = this.state + "!" - - build() { - Text(this.test) - } -} - @Component struct PlainToPlain { state: string = 'Hello World' -- Gitee From 2b580b24d144f3a3e0145cec13984247f7733374 Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Wed, 12 Feb 2025 19:04:03 +0300 Subject: [PATCH 2/7] more Signed-off-by: Alexander Gorshenev --- arkoala/ets-plugin/src/ArkExpander.ts | 2 +- arkoala/ets-plugin/src/PropertyTranslators.ts | 20 +++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/arkoala/ets-plugin/src/ArkExpander.ts b/arkoala/ets-plugin/src/ArkExpander.ts index 8441239c3..d45369d72 100644 --- a/arkoala/ets-plugin/src/ArkExpander.ts +++ b/arkoala/ets-plugin/src/ArkExpander.ts @@ -118,7 +118,7 @@ export function arkExpandFile( // const debug = new DebugVisitor(sourceFile, ctx) // debug.visitor(sourceFile) - // resolve identifiers automatically imported from index-full.d.ts + // resolve identifiers automatically imported from index-full.d.ts new EtsIdentifierResolver(sourceFile, ctx, typeChecker, importer) .visitor(sourceFile) diff --git a/arkoala/ets-plugin/src/PropertyTranslators.ts b/arkoala/ets-plugin/src/PropertyTranslators.ts index 841a900f3..8efeee4d2 100644 --- a/arkoala/ets-plugin/src/PropertyTranslators.ts +++ b/arkoala/ets-plugin/src/PropertyTranslators.ts @@ -330,6 +330,19 @@ export abstract class PropertyTranslator { memo: boolean = false, isOptional: boolean = false ): ts.GetAccessorDeclaration { + let returnValue + if (isOptional) { + // const asExpression = ts.factory.createAsExpression( + // createThisFieldAccess(newName), + // type + // ) + const asExpression = ts.factory.createNonNullExpression( + createThisFieldAccess(newName) + ) + returnValue = asExpression // memo ? prependDoubleLineMemoComment(asExpression) : asExpression + } else { + returnValue = createThisFieldAccess(newName) + } const getter = ts.factory.createGetAccessorDeclaration( [Private()], id(originalName), @@ -337,12 +350,7 @@ export abstract class PropertyTranslator { this.propertyType, createBlock( ts.factory.createReturnStatement( - isOptional - ? ts.factory.createAsExpression( - createThisFieldAccess(newName), - memo ? prependDoubleLineMemoComment(type) : type - ) - : createThisFieldAccess(newName) + ts.factory.createParenthesizedExpression(returnValue) ) ) ) -- Gitee From 219ea249e7ebee209165ed2e9a81f0cc15852aea Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Thu, 13 Feb 2025 13:11:45 +0300 Subject: [PATCH 3/7] more Signed-off-by: Alexander Gorshenev --- arkoala/ets-plugin/src/PropertyTranslators.ts | 13 +++++++++++- arkoala/ets-plugin/src/utils.ts | 21 ++++++++++++++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/arkoala/ets-plugin/src/PropertyTranslators.ts b/arkoala/ets-plugin/src/PropertyTranslators.ts index 8efeee4d2..d43077988 100644 --- a/arkoala/ets-plugin/src/PropertyTranslators.ts +++ b/arkoala/ets-plugin/src/PropertyTranslators.ts @@ -37,6 +37,7 @@ import { ConsumeDecorator, consumeVariableName, createBlock, + createFixedNullishCoalescing, createNotNullAccessor, createNullableAccessor, createNullishCoalescing, @@ -751,7 +752,7 @@ export class BuilderParam extends PropertyTranslator { ) } translateToInitialization(): ts.Statement | undefined { - return initializePlainProperty(this.propertyName, this.property.initializer) + return initializeBuilderParamProperty(this.propertyName, this.property.initializer) } } @@ -788,6 +789,16 @@ function initializePlainProperty(name: string, initializer?: ts.Expression): ts. ) } +function initializeBuilderParamProperty(name: string, initializer?: ts.Expression): ts.Statement { + return initializer + ? assignToBackingField(name, createFixedNullishCoalescing(createNullableAccessor(initializers(), name), initializer)) + : ts.factory.createIfStatement( + createNullableAccessor(initializers(), name), + createBlock(assignToBackingField(name, createNullableAccessor(initializers(), name))) + ) +} + + function assignToBackingField(name: string, expression: ts.Expression): ts.Statement { return assignToField(backingField(name), expression) } diff --git a/arkoala/ets-plugin/src/utils.ts b/arkoala/ets-plugin/src/utils.ts index 5ac9f4c70..2dfa48ea1 100644 --- a/arkoala/ets-plugin/src/utils.ts +++ b/arkoala/ets-plugin/src/utils.ts @@ -15,7 +15,7 @@ import * as ts from '@koalaui/ets-tsc' import * as path from 'path' -import { getDeclarationsByNode, getDecorator, hasDecorator, id, isCallDecorator, isDecorator, prependComment, Void } from './ApiUtils' +import { getDeclarationsByNode, getDecorator, hasDecorator, id, isCallDecorator, isDecorator, prependComment, Undefined, undefinedValue, Void } from './ApiUtils' import { Importer } from "./Importer"; export const ComponentDecorator = "Component" @@ -490,6 +490,25 @@ export function createNullishCoalescing(left: ts.Expression, right: ts.Expressio return ts.factory.createBinaryExpression(left, ts.factory.createToken(ts.SyntaxKind.QuestionQuestionToken), ts.factory.createParenthesizedExpression(right)) } +/** @returns a nullish coalescing expression with safe right part: `(left != undefined) ? (left) : (right)` */ +// TODO: Due to es2panda issue #22782 +// (this.foo ?? this.bar) +// is non-compilable. So workaround it with +// (this.foo != undefined ) ? this.foo : this.bar +export function createFixedNullishCoalescing(left: ts.Expression, right: ts.Expression): ts.Expression { + return ts.factory.createParenthesizedExpression( + ts.factory.createBinaryExpression( + left, + ts.factory.createToken(ts.SyntaxKind.ExclamationEqualsToken), + undefinedValue() + )), + ts.factory.createToken(ts.SyntaxKind.QuestionToken), + ts.factory.createNonNullExpression(left), + ts.factory.createToken(ts.SyntaxKind.ColonToken), + right +} + + export function createValueAccessor(expression: ts.Expression): ts.Expression { return ts.factory.createPropertyAccessExpression(expression, "value") } -- Gitee From aba7fbd35f1521b59d1b9ffdb6b09a8948af1b50 Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Thu, 13 Feb 2025 19:53:30 +0300 Subject: [PATCH 4/7] check for undefined directly because of ArkTS Signed-off-by: Sergey Malenkov --- arkoala/ets-plugin/src/StructTransformer.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/arkoala/ets-plugin/src/StructTransformer.ts b/arkoala/ets-plugin/src/StructTransformer.ts index 03a67906f..289e041a3 100644 --- a/arkoala/ets-plugin/src/StructTransformer.ts +++ b/arkoala/ets-plugin/src/StructTransformer.ts @@ -727,9 +727,17 @@ export class StructTransformer extends AbstractVisitor { const field = createThisFieldAccess(backingField(buildParams[0].propertyName)) initializations.push(ts.factory.createIfStatement( ts.factory.createBinaryExpression( - ts.factory.createPrefixUnaryExpression(ts.SyntaxKind.ExclamationToken, field), + ts.factory.createBinaryExpression( + field, + ts.factory.createToken(ts.SyntaxKind.EqualsEqualsEqualsToken), + undefinedValue() + ), ts.factory.createToken(ts.SyntaxKind.AmpersandAmpersandToken), - id("content") + ts.factory.createBinaryExpression( + id("content"), + ts.factory.createToken(ts.SyntaxKind.ExclamationEqualsEqualsToken), + undefinedValue() + ), ), assignment(field, id("content")) )) -- Gitee From 79ffd4852c6ef11d3cb7c36406f09553e91bfab9 Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Thu, 13 Feb 2025 19:55:14 +0300 Subject: [PATCH 5/7] memo is true and isOptional is true for BuilderParam only Signed-off-by: Sergey Malenkov --- arkoala/ets-plugin/src/PropertyTranslators.ts | 30 ++++--------------- arkoala/ets-plugin/src/utils.ts | 21 +------------ 2 files changed, 7 insertions(+), 44 deletions(-) diff --git a/arkoala/ets-plugin/src/PropertyTranslators.ts b/arkoala/ets-plugin/src/PropertyTranslators.ts index d43077988..3b5aa2cda 100644 --- a/arkoala/ets-plugin/src/PropertyTranslators.ts +++ b/arkoala/ets-plugin/src/PropertyTranslators.ts @@ -37,7 +37,6 @@ import { ConsumeDecorator, consumeVariableName, createBlock, - createFixedNullishCoalescing, createNotNullAccessor, createNullableAccessor, createNullishCoalescing, @@ -331,18 +330,11 @@ export abstract class PropertyTranslator { memo: boolean = false, isOptional: boolean = false ): ts.GetAccessorDeclaration { - let returnValue + let returnValue: ts.Expression = createThisFieldAccess(newName) if (isOptional) { - // const asExpression = ts.factory.createAsExpression( - // createThisFieldAccess(newName), - // type - // ) - const asExpression = ts.factory.createNonNullExpression( - createThisFieldAccess(newName) - ) - returnValue = asExpression // memo ? prependDoubleLineMemoComment(asExpression) : asExpression - } else { - returnValue = createThisFieldAccess(newName) + returnValue = memo + ? ts.factory.createNonNullExpression(returnValue) + : ts.factory.createAsExpression(returnValue, type) } const getter = ts.factory.createGetAccessorDeclaration( [Private()], @@ -351,7 +343,7 @@ export abstract class PropertyTranslator { this.propertyType, createBlock( ts.factory.createReturnStatement( - ts.factory.createParenthesizedExpression(returnValue) + returnValue ) ) ) @@ -752,7 +744,7 @@ export class BuilderParam extends PropertyTranslator { ) } translateToInitialization(): ts.Statement | undefined { - return initializeBuilderParamProperty(this.propertyName, this.property.initializer) + return initializePlainProperty(this.propertyName, this.property.initializer) } } @@ -789,16 +781,6 @@ function initializePlainProperty(name: string, initializer?: ts.Expression): ts. ) } -function initializeBuilderParamProperty(name: string, initializer?: ts.Expression): ts.Statement { - return initializer - ? assignToBackingField(name, createFixedNullishCoalescing(createNullableAccessor(initializers(), name), initializer)) - : ts.factory.createIfStatement( - createNullableAccessor(initializers(), name), - createBlock(assignToBackingField(name, createNullableAccessor(initializers(), name))) - ) -} - - function assignToBackingField(name: string, expression: ts.Expression): ts.Statement { return assignToField(backingField(name), expression) } diff --git a/arkoala/ets-plugin/src/utils.ts b/arkoala/ets-plugin/src/utils.ts index 2dfa48ea1..5ac9f4c70 100644 --- a/arkoala/ets-plugin/src/utils.ts +++ b/arkoala/ets-plugin/src/utils.ts @@ -15,7 +15,7 @@ import * as ts from '@koalaui/ets-tsc' import * as path from 'path' -import { getDeclarationsByNode, getDecorator, hasDecorator, id, isCallDecorator, isDecorator, prependComment, Undefined, undefinedValue, Void } from './ApiUtils' +import { getDeclarationsByNode, getDecorator, hasDecorator, id, isCallDecorator, isDecorator, prependComment, Void } from './ApiUtils' import { Importer } from "./Importer"; export const ComponentDecorator = "Component" @@ -490,25 +490,6 @@ export function createNullishCoalescing(left: ts.Expression, right: ts.Expressio return ts.factory.createBinaryExpression(left, ts.factory.createToken(ts.SyntaxKind.QuestionQuestionToken), ts.factory.createParenthesizedExpression(right)) } -/** @returns a nullish coalescing expression with safe right part: `(left != undefined) ? (left) : (right)` */ -// TODO: Due to es2panda issue #22782 -// (this.foo ?? this.bar) -// is non-compilable. So workaround it with -// (this.foo != undefined ) ? this.foo : this.bar -export function createFixedNullishCoalescing(left: ts.Expression, right: ts.Expression): ts.Expression { - return ts.factory.createParenthesizedExpression( - ts.factory.createBinaryExpression( - left, - ts.factory.createToken(ts.SyntaxKind.ExclamationEqualsToken), - undefinedValue() - )), - ts.factory.createToken(ts.SyntaxKind.QuestionToken), - ts.factory.createNonNullExpression(left), - ts.factory.createToken(ts.SyntaxKind.ColonToken), - right -} - - export function createValueAccessor(expression: ts.Expression): ts.Expression { return ts.factory.createPropertyAccessExpression(expression, "value") } -- Gitee From 0c8ffdf47cd756ab08adfd298bef5b0ce5e9d22d Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Thu, 13 Feb 2025 20:33:52 +0300 Subject: [PATCH 6/7] workaround for TypeError: Method used in wrong context Signed-off-by: Sergey Malenkov --- arkoala/ets-plugin/src/PropertyTranslators.ts | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/arkoala/ets-plugin/src/PropertyTranslators.ts b/arkoala/ets-plugin/src/PropertyTranslators.ts index 3b5aa2cda..f8b00b57b 100644 --- a/arkoala/ets-plugin/src/PropertyTranslators.ts +++ b/arkoala/ets-plugin/src/PropertyTranslators.ts @@ -744,7 +744,26 @@ export class BuilderParam extends PropertyTranslator { ) } translateToInitialization(): ts.Statement | undefined { - return initializePlainProperty(this.propertyName, this.property.initializer) + let initializer = this.property.initializer + if (initializer) { + initializer = prependDoubleLineMemoComment( + ts.factory.createArrowFunction( + undefined, + undefined, + [], + undefined, + ts.factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken), + createBlock( + ts.factory.createExpressionStatement( + ts.factory.createCallExpression( + initializer, + undefined, + [] + ))) + ) + ) + } + return initializePlainProperty(this.propertyName, initializer) } } -- Gitee From bd8bfcbfc063a62c14119560a0c09e8b55cf950a Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Thu, 13 Feb 2025 20:41:38 +0300 Subject: [PATCH 7/7] canonize tests for ets-plugin Signed-off-by: Sergey Malenkov --- .../test/golden/arkoala/ets/PropertyDeps.ts | 1041 ++--------------- .../test/golden/arkoala/ets/Rewrite.ts | 5 +- .../user-function-declaration.ts | 5 +- .../test/golden/arkoala/ets/trailing-block.ts | 5 +- .../test/golden/arkoala/spec/@builderParam.ts | 13 +- .../arkoala/spec/test/pages/TestComponent.ts | 5 +- .../test/golden/arkts/ets/PropertyDeps.ts | 1041 ++--------------- .../test/golden/arkts/ets/Rewrite.ts | 5 +- .../user-function-declaration.ts | 5 +- .../test/golden/arkts/ets/trailing-block.ts | 5 +- .../test/golden/arkts/spec/@builderParam.ts | 13 +- .../arkts/spec/test/pages/TestComponent.ts | 5 +- .../test/golden/koala/ets/PropertyDeps.ts | 1041 ++--------------- .../test/golden/koala/ets/Rewrite.ts | 7 +- .../user-function-declaration.ts | 5 +- .../test/golden/koala/ets/trailing-block.ts | 5 +- .../test/golden/koala/spec/@builderParam.ts | 13 +- .../koala/spec/test/pages/TestComponent.ts | 5 +- 18 files changed, 412 insertions(+), 2812 deletions(-) diff --git a/arkoala/ets-plugin/test/golden/arkoala/ets/PropertyDeps.ts b/arkoala/ets-plugin/test/golden/arkoala/ets/PropertyDeps.ts index 4e0aacb41..14f33e15c 100644 --- a/arkoala/ets-plugin/test/golden/arkoala/ets/PropertyDeps.ts +++ b/arkoala/ets-plugin/test/golden/arkoala/ets/PropertyDeps.ts @@ -228,43 +228,6 @@ class ArkStateToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: StateToBuilderParamOptions): void { - this.__backing_state = stateOf(initializers?.state ?? ('Hello World'), this); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: MutableState; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: StateToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkStateToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -544,47 +507,6 @@ class ArkPropToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: PropToBuilderParamOptions): void { - this.__backing_state = propState('Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: SyncedProperty; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __updateStruct(initializers: PropToBuilderParamOptions | undefined): void { - this.__backing_state?.update(initializers?.state); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: PropToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkPropToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -849,43 +771,6 @@ class ArkProvideToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: ProvideToBuilderParamOptions): void { - this.__backing_state = initializers!.__backing_state!; - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: MutableState; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: ProvideToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkProvideToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -1146,43 +1031,6 @@ class ArkStorageLinkToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: StorageLinkToBuilderParamOptions): void { - this.__backing_state = AppStorageLinkState("key", 'Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: MutableState; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: StorageLinkToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkStorageLinkToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -1443,43 +1291,6 @@ class ArkLocalStorageLinkToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: LocalStorageLinkToBuilderParamOptions): void { - this.__backing_state = StorageLinkState(this._entry_local_storage_, "key", 'Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: MutableState; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: LocalStorageLinkToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkLocalStorageLinkToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -1759,47 +1570,6 @@ class ArkStoragePropToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: StoragePropToBuilderParamOptions): void { - this.__backing_state = propState(AppStorageLinkState("key", 'Hello World').value); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: SyncedProperty; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __updateStruct(initializers: StoragePropToBuilderParamOptions | undefined): void { - this.__backing_state?.update(AppStorageLinkState("key", 'Hello World').value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: StoragePropToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkStoragePropToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -2083,15 +1853,13 @@ class ArkLocalStoragePropToLocalStoragePropComponent extends ArkStructBase { +class ArkLocalStoragePropToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ /** @memo */ - content?: () => void, initializers?: LocalStoragePropToBuilderParamOptions): void { + content?: () => void, initializers?: LocalStoragePropToPlainOptions): void { this.__backing_state = propState(StorageLinkState(this._entry_local_storage_, "key", 'Hello World').value); this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; } private __backing_state?: SyncedProperty; private get state(): string { @@ -2100,19 +1868,15 @@ class ArkLocalStoragePropToBuilderParamComponent extends ArkStructBase(this._entry_local_storage_, "key", 'Hello World').value); } /** @memo */ @@ -2120,64 +1884,127 @@ class ArkLocalStoragePropToBuilderParamComponent extends ArkStructBase void) | undefined, /**/ /** @memo */ - content?: () => void, initializers?: LocalStoragePropToBuilderParamOptions) { + content?: () => void, initializers?: LocalStoragePropToPlainOptions) { ArkText(__builder, undefined, this.test); } } -class ArkLocalStoragePropToPlainComponent extends ArkStructBase { +class ArkBuilderToBuilderParamComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ /** @memo */ - content?: () => void, initializers?: LocalStoragePropToPlainOptions): void { - this.__backing_state = propState(StorageLinkState(this._entry_local_storage_, "key", 'Hello World').value); - this.__backing_test = initializers?.test ?? (this.state + "!"); + content?: () => void, initializers?: BuilderToBuilderParamOptions): void { + this.__backing_builderParam = initializers?.builderParam ?? (/**/ + /** @memo */ + () => { + this.builder(); + }); + this.__backing_anotherParam = initializers?.anotherParam ?? (/**/ + /** @memo */ + () => { + this.builder(); + }); + if (this.__backing_builderParam === undefined && content !== undefined) + this.__backing_builderParam = content; } - private __backing_state?: SyncedProperty; - private get state(): string { - return this.__backing_state!.value; + /** @memo */ + private __backing_builderParam?: () => void; + /** @memo */ + private get builderParam(): () => void { + return this.__backing_builderParam!; } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); + private set builderParam(/**/ + /** @memo */ + value: () => void) { + this.__backing_builderParam = value; } - private __backing_test?: string; - private get test(): string { - return this.__backing_test as string; + /** @memo */ + private __backing_anotherParam?: () => void; + /** @memo */ + private get anotherParam(): () => void { + return this.__backing_anotherParam!; } - private set test(value: string) { - this.__backing_test = value; + private set anotherParam(/**/ + /** @memo */ + value: () => void) { + this.__backing_anotherParam = value; } /** @memo */ - __updateStruct(initializers: LocalStoragePropToPlainOptions | undefined): void { - this.__backing_state?.update(StorageLinkState(this._entry_local_storage_, "key", 'Hello World').value); + builder() { } + /** @memo */ + __build(/**/ + /** @memo */ + __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ + /** @memo */ + content?: () => void, initializers?: BuilderToBuilderParamOptions) { + this.builderParam(); + BuilderToBuilderParam(undefined, undefined, { builderParam: this.anotherParam } as BuilderToBuilderParamOptions); + } +} +class ArkBuilderParamToBuilderParamComponent extends ArkStructBase { + private _entry_local_storage_ = new LocalStorage(); + __initializeStruct(/**/ + /** @memo */ + content?: () => void, initializers?: BuilderParamToBuilderParamOptions): void { + this.__backing_builderParam = initializers?.builderParam ?? (/**/ + /** @memo */ + () => { + this.builder(); + }); + this.__backing_anotherParam = initializers?.anotherParam ?? (/**/ + /** @memo */ + () => { + this.builderParam(); + }); + if (this.__backing_builderParam === undefined && content !== undefined) + this.__backing_builderParam = content; + } + /** @memo */ + private __backing_builderParam?: () => void; + /** @memo */ + private get builderParam(): () => void { + return this.__backing_builderParam!; + } + private set builderParam(/**/ + /** @memo */ + value: () => void) { + this.__backing_builderParam = value; + } + /** @memo */ + private __backing_anotherParam?: () => void; + /** @memo */ + private get anotherParam(): () => void { + return this.__backing_anotherParam!; } + private set anotherParam(/**/ + /** @memo */ + value: () => void) { + this.__backing_anotherParam = value; + } + /** @memo */ + builder() { } /** @memo */ __build(/**/ /** @memo */ __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ /** @memo */ - content?: () => void, initializers?: LocalStoragePropToPlainOptions) { - ArkText(__builder, undefined, this.test); + content?: () => void, initializers?: BuilderParamToBuilderParamOptions) { + this.anotherBuilderParam(); + BuilderToBuilderParam(undefined, undefined, { anotherParam: this.anotherParam } as BuilderToBuilderParamOptions); } } -class ArkBuilderParamToStateComponent extends ArkStructBase { +class ArkPlainToStateComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ /** @memo */ - content?: () => void, initializers?: BuilderParamToStateOptions): void { + content?: () => void, initializers?: PlainToStateOptions): void { this.__backing_state = initializers?.state ?? ('Hello World'); this.__backing_test = stateOf(initializers?.test ?? (this.state + "!"), this); - if (!this.__backing_state && content) - this.__backing_state = content; } - /** @memo */ private __backing_state?: string; - /** @memo */ private get state(): string { return this.__backing_state as string; } - private set state(/**/ - /** @memo */ - value: string) { + private set state(value: string) { this.__backing_state = value; } private __backing_test?: MutableState; @@ -2192,29 +2019,23 @@ class ArkBuilderParamToStateComponent extends ArkStructBase void) | undefined, /**/ /** @memo */ - content?: () => void, initializers?: BuilderParamToStateOptions) { + content?: () => void, initializers?: PlainToStateOptions) { ArkText(__builder, undefined, this.test); } } -class ArkBuilderParamToPropComponent extends ArkStructBase { +class ArkPlainToPropComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ /** @memo */ - content?: () => void, initializers?: BuilderParamToPropOptions): void { + content?: () => void, initializers?: PlainToPropOptions): void { this.__backing_state = initializers?.state ?? ('Hello World'); this.__backing_test = propState(this.state + "!"); - if (!this.__backing_state && content) - this.__backing_state = content; } - /** @memo */ private __backing_state?: string; - /** @memo */ private get state(): string { return this.__backing_state as string; } - private set state(/**/ - /** @memo */ - value: string) { + private set state(value: string) { this.__backing_state = value; } private __backing_test?: SyncedProperty; @@ -2225,344 +2046,7 @@ class ArkBuilderParamToPropComponent extends ArkStructBase void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToPropOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToProvideComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToProvideOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = initializers!.__backing_test!; - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: MutableState; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToProvideOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToStorageLinkComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToStorageLinkOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = AppStorageLinkState("test", this.state + "!"); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: MutableState; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToStorageLinkOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToLocalStorageLinkComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToLocalStorageLinkOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = StorageLinkState(this._entry_local_storage_, "test", this.state + "!"); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: MutableState; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToLocalStorageLinkOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToStoragePropOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = propState(AppStorageLinkState("test", this.state + "!").value); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: SyncedProperty; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __updateStruct(initializers: BuilderParamToStoragePropOptions | undefined): void { - this.__backing_test?.update(AppStorageLinkState("test", this.state + "!").value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToStoragePropOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToLocalStoragePropOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = propState(StorageLinkState(this._entry_local_storage_, "test", this.state + "!").value); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: SyncedProperty; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __updateStruct(initializers: BuilderParamToLocalStoragePropOptions | undefined): void { - this.__backing_test?.update(StorageLinkState(this._entry_local_storage_, "test", this.state + "!").value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToLocalStoragePropOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToBuilderParamComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToBuilderParamOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToPlainComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToPlainOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: string; - private get test(): string { - return this.__backing_test as string; - } - private set test(value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToPlainOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkPlainToStateComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: PlainToStateOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = stateOf(initializers?.test ?? (this.state + "!"), this); - } - private __backing_state?: string; - private get state(): string { - return this.__backing_state as string; - } - private set state(value: string) { - this.__backing_state = value; - } - private __backing_test?: MutableState; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: PlainToStateOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkPlainToPropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: PlainToPropOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = propState(this.state + "!"); - } - private __backing_state?: string; - private get state(): string { - return this.__backing_state as string; - } - private set state(value: string) { - this.__backing_state = value; - } - private __backing_test?: SyncedProperty; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __updateStruct(initializers: PlainToPropOptions | undefined): void { + __updateStruct(initializers: PlainToPropOptions | undefined): void { this.__backing_test?.update(initializers?.test); } /** @memo */ @@ -2737,43 +2221,6 @@ class ArkPlainToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: PlainToBuilderParamOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: string; - private get state(): string { - return this.__backing_state as string; - } - private set state(value: string) { - this.__backing_state = value; - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: PlainToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkPlainToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -2892,18 +2339,6 @@ content?: () => void, initializers?: StateToLocalStoragePropOptions): void { ArkStateToLocalStoragePropComponent._instantiate(style, () => new ArkStateToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function StateToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: StateToBuilderParamOptions): void { - const updatedInitializers: StateToBuilderParamOptions = { - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkStateToBuilderParamComponent._instantiate(style, () => new ArkStateToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function StateToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3009,19 +2444,6 @@ content?: () => void, initializers?: PropToLocalStoragePropOptions): void { ArkPropToLocalStoragePropComponent._instantiate(style, () => new ArkPropToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function PropToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: PropToBuilderParamOptions): void { - const updatedInitializers: PropToBuilderParamOptions = { - state: initializers?.state, - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkPropToBuilderParamComponent._instantiate(style, () => new ArkPropToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function PropToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3128,19 +2550,6 @@ content?: () => void, initializers?: ProvideToLocalStoragePropOptions): void { ArkProvideToLocalStoragePropComponent._instantiate(style, () => new ArkProvideToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function ProvideToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: ProvideToBuilderParamOptions): void { - const __provide_state = contextLocalStateOf("state", () => 'Hello World'); - const updatedInitializers: ProvideToBuilderParamOptions = { - __backing_state: __provide_state, - test: initializers?.test - }; - ArkProvideToBuilderParamComponent._instantiate(style, () => new ArkProvideToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function ProvideToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3240,18 +2649,6 @@ content?: () => void, initializers?: StorageLinkToLocalStoragePropOptions): void ArkStorageLinkToLocalStoragePropComponent._instantiate(style, () => new ArkStorageLinkToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function StorageLinkToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: StorageLinkToBuilderParamOptions): void { - const updatedInitializers: StorageLinkToBuilderParamOptions = { - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkStorageLinkToBuilderParamComponent._instantiate(style, () => new ArkStorageLinkToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function StorageLinkToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3350,18 +2747,6 @@ content?: () => void, initializers?: LocalStorageLinkToLocalStoragePropOptions): ArkLocalStorageLinkToLocalStoragePropComponent._instantiate(style, () => new ArkLocalStorageLinkToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function LocalStorageLinkToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: LocalStorageLinkToBuilderParamOptions): void { - const updatedInitializers: LocalStorageLinkToBuilderParamOptions = { - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkLocalStorageLinkToBuilderParamComponent._instantiate(style, () => new ArkLocalStorageLinkToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function LocalStorageLinkToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3460,18 +2845,6 @@ content?: () => void, initializers?: StoragePropToLocalStoragePropOptions): void ArkStoragePropToLocalStoragePropComponent._instantiate(style, () => new ArkStoragePropToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function StoragePropToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: StoragePropToBuilderParamOptions): void { - const updatedInitializers: StoragePropToBuilderParamOptions = { - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkStoragePropToBuilderParamComponent._instantiate(style, () => new ArkStoragePropToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function StoragePropToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3570,18 +2943,6 @@ content?: () => void, initializers?: LocalStoragePropToLocalStoragePropOptions): ArkLocalStoragePropToLocalStoragePropComponent._instantiate(style, () => new ArkLocalStoragePropToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function LocalStoragePropToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: LocalStoragePropToBuilderParamOptions): void { - const updatedInitializers: LocalStoragePropToBuilderParamOptions = { - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkLocalStoragePropToBuilderParamComponent._instantiate(style, () => new ArkLocalStoragePropToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function LocalStoragePropToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3594,90 +2955,16 @@ content?: () => void, initializers?: LocalStoragePropToPlainOptions): void { ArkLocalStoragePropToPlainComponent._instantiate(style, () => new ArkLocalStoragePropToPlainComponent, content, updatedInitializers); } /** @memo */ -export function BuilderParamToState(/**/ +export function BuilderToBuilderParam(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ /** @memo */ -content?: () => void, initializers?: BuilderParamToStateOptions): void { - const updatedInitializers: BuilderParamToStateOptions = { - state: initializers?.state, - __backing_test: initializers?.__backing_test +content?: () => void, initializers?: BuilderToBuilderParamOptions): void { + const updatedInitializers: BuilderToBuilderParamOptions = { + builderParam: initializers?.builderParam, + anotherParam: initializers?.anotherParam }; - ArkBuilderParamToStateComponent._instantiate(style, () => new ArkBuilderParamToStateComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToProp(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToPropOptions): void { - const updatedInitializers: BuilderParamToPropOptions = { - state: initializers?.state, - test: initializers?.test, - __backing_test: initializers?.__backing_test - }; - ArkBuilderParamToPropComponent._instantiate(style, () => new ArkBuilderParamToPropComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToProvide(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToProvideOptions): void { - const __provide_test = contextLocalStateOf("test", () => this.state + "!"); - const updatedInitializers: BuilderParamToProvideOptions = { - state: initializers?.state, - __backing_test: __provide_test - }; - ArkBuilderParamToProvideComponent._instantiate(style, () => new ArkBuilderParamToProvideComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToStorageLink(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToStorageLinkOptions): void { - const updatedInitializers: BuilderParamToStorageLinkOptions = { - state: initializers?.state, - __backing_test: initializers?.__backing_test - }; - ArkBuilderParamToStorageLinkComponent._instantiate(style, () => new ArkBuilderParamToStorageLinkComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToLocalStorageLink(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToLocalStorageLinkOptions): void { - const updatedInitializers: BuilderParamToLocalStorageLinkOptions = { - state: initializers?.state, - __backing_test: initializers?.__backing_test - }; - ArkBuilderParamToLocalStorageLinkComponent._instantiate(style, () => new ArkBuilderParamToLocalStorageLinkComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToStorageProp(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToStoragePropOptions): void { - const updatedInitializers: BuilderParamToStoragePropOptions = { - state: initializers?.state, - __backing_test: initializers?.__backing_test - }; - ArkBuilderParamToStoragePropComponent._instantiate(style, () => new ArkBuilderParamToStoragePropComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToLocalStorageProp(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToLocalStoragePropOptions): void { - const updatedInitializers: BuilderParamToLocalStoragePropOptions = { - state: initializers?.state, - __backing_test: initializers?.__backing_test - }; - ArkBuilderParamToLocalStoragePropComponent._instantiate(style, () => new ArkBuilderParamToLocalStoragePropComponent, content, updatedInitializers); + ArkBuilderToBuilderParamComponent._instantiate(style, () => new ArkBuilderToBuilderParamComponent, content, updatedInitializers); } /** @memo */ export function BuilderParamToBuilderParam(/**/ @@ -3686,24 +2973,12 @@ style?: (__instance: ArkCommonMethodComponent) => void, /**/ /** @memo */ content?: () => void, initializers?: BuilderParamToBuilderParamOptions): void { const updatedInitializers: BuilderParamToBuilderParamOptions = { - state: initializers?.state, - test: initializers?.test + builderParam: initializers?.builderParam, + anotherParam: initializers?.anotherParam }; ArkBuilderParamToBuilderParamComponent._instantiate(style, () => new ArkBuilderParamToBuilderParamComponent, content, updatedInitializers); } /** @memo */ -export function BuilderParamToPlain(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToPlainOptions): void { - const updatedInitializers: BuilderParamToPlainOptions = { - state: initializers?.state, - test: initializers?.test - }; - ArkBuilderParamToPlainComponent._instantiate(style, () => new ArkBuilderParamToPlainComponent, content, updatedInitializers); -} -/** @memo */ export function PlainToState(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3790,18 +3065,6 @@ content?: () => void, initializers?: PlainToLocalStoragePropOptions): void { ArkPlainToLocalStoragePropComponent._instantiate(style, () => new ArkPlainToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function PlainToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: PlainToBuilderParamOptions): void { - const updatedInitializers: PlainToBuilderParamOptions = { - state: initializers?.state, - test: initializers?.test - }; - ArkPlainToBuilderParamComponent._instantiate(style, () => new ArkPlainToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function PlainToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3855,11 +3118,6 @@ export interface StateToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface StateToBuilderParamOptions { - __backing_state?: MutableState; - state?: string; - test?: string; -} export interface StateToPlainOptions { __backing_state?: MutableState; state?: string; @@ -3907,11 +3165,6 @@ export interface PropToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface PropToBuilderParamOptions { - __backing_state?: SyncedProperty; - state?: string; - test?: string; -} export interface PropToPlainOptions { __backing_state?: SyncedProperty; state?: string; @@ -3959,11 +3212,6 @@ export interface ProvideToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface ProvideToBuilderParamOptions { - __backing_state?: MutableState; - state?: string; - test?: string; -} export interface ProvideToPlainOptions { __backing_state?: MutableState; state?: string; @@ -4011,11 +3259,6 @@ export interface StorageLinkToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface StorageLinkToBuilderParamOptions { - __backing_state?: MutableState; - state?: string; - test?: string; -} export interface StorageLinkToPlainOptions { __backing_state?: MutableState; state?: string; @@ -4063,11 +3306,6 @@ export interface LocalStorageLinkToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface LocalStorageLinkToBuilderParamOptions { - __backing_state?: MutableState; - state?: string; - test?: string; -} export interface LocalStorageLinkToPlainOptions { __backing_state?: MutableState; state?: string; @@ -4115,11 +3353,6 @@ export interface StoragePropToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface StoragePropToBuilderParamOptions { - __backing_state?: SyncedProperty; - state?: string; - test?: string; -} export interface StoragePropToPlainOptions { __backing_state?: SyncedProperty; state?: string; @@ -4167,58 +3400,22 @@ export interface LocalStoragePropToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface LocalStoragePropToBuilderParamOptions { - __backing_state?: SyncedProperty; - state?: string; - test?: string; -} export interface LocalStoragePropToPlainOptions { __backing_state?: SyncedProperty; state?: string; test?: string; } -export interface BuilderParamToStateOptions { - state?: string; - __backing_test?: MutableState; - test?: string; -} -export interface BuilderParamToPropOptions { - state?: string; - __backing_test?: SyncedProperty; - test?: string; -} -export interface BuilderParamToProvideOptions { - state?: string; - __backing_test?: MutableState; - test?: string; -} -export interface BuilderParamToStorageLinkOptions { - state?: string; - __backing_test?: MutableState; - test?: string; -} -export interface BuilderParamToLocalStorageLinkOptions { - state?: string; - __backing_test?: MutableState; - test?: string; -} -export interface BuilderParamToStoragePropOptions { - state?: string; - __backing_test?: SyncedProperty; - test?: string; -} -export interface BuilderParamToLocalStoragePropOptions { - state?: string; - __backing_test?: SyncedProperty; - test?: string; +export interface BuilderToBuilderParamOptions { + /** @memo */ + builderParam?: () => void; + /** @memo */ + anotherParam?: () => void; } export interface BuilderParamToBuilderParamOptions { - state?: string; - test?: string; -} -export interface BuilderParamToPlainOptions { - state?: string; - test?: string; + /** @memo */ + builderParam?: () => void; + /** @memo */ + anotherParam?: () => void; } export interface PlainToStateOptions { state?: string; @@ -4255,10 +3452,6 @@ export interface PlainToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface PlainToBuilderParamOptions { - state?: string; - test?: string; -} export interface PlainToPlainOptions { state?: string; test?: string; diff --git a/arkoala/ets-plugin/test/golden/arkoala/ets/Rewrite.ts b/arkoala/ets-plugin/test/golden/arkoala/ets/Rewrite.ts index 418d16573..3e171348b 100644 --- a/arkoala/ets-plugin/test/golden/arkoala/ets/Rewrite.ts +++ b/arkoala/ets-plugin/test/golden/arkoala/ets/Rewrite.ts @@ -239,14 +239,14 @@ class ArkBuilderParamExampleComponent extends ArkStructBase {}; /** @memo */ private get foo(): () => {} { - return this.__backing_foo as () => {}; + return this.__backing_foo!; } private set foo(/**/ /** @memo */ @@ -1009,6 +1009,7 @@ export interface BuilderExampleOptions { export interface GlobalBuilderExampleOptions { } export interface BuilderParamExampleOptions { + /** @memo */ foo?: () => {}; } export interface StylesExampleOptions { diff --git a/arkoala/ets-plugin/test/golden/arkoala/ets/ets-component-call/user-function-declaration.ts b/arkoala/ets-plugin/test/golden/arkoala/ets/ets-component-call/user-function-declaration.ts index 857db147c..d4a937ecd 100644 --- a/arkoala/ets-plugin/test/golden/arkoala/ets/ets-component-call/user-function-declaration.ts +++ b/arkoala/ets-plugin/test/golden/arkoala/ets/ets-component-call/user-function-declaration.ts @@ -49,7 +49,7 @@ export class ArkStructWithContentComponent extends ArkStructBase void; /** @memo */ private get content(): () => void { - return this.__backing_content as () => void; + return this.__backing_content!; } private set content(/**/ /** @memo */ @@ -107,5 +107,6 @@ export interface StructOptions { } export interface StructWithContentOptions { param?: number; + /** @memo */ content?: () => void; } diff --git a/arkoala/ets-plugin/test/golden/arkoala/ets/trailing-block.ts b/arkoala/ets-plugin/test/golden/arkoala/ets/trailing-block.ts index 983d10672..457d0bc5f 100644 --- a/arkoala/ets-plugin/test/golden/arkoala/ets/trailing-block.ts +++ b/arkoala/ets-plugin/test/golden/arkoala/ets/trailing-block.ts @@ -26,14 +26,14 @@ class ArkChildStructComponent extends ArkStructBase void; /** @memo */ private get content(): () => void { - return this.__backing_content as () => void; + return this.__backing_content!; } private set content(/**/ /** @memo */ @@ -72,5 +72,6 @@ content?: () => void, initializers?: ChildStructOptions): void { export interface ParentStructOptions { } export interface ChildStructOptions { + /** @memo */ content?: () => void; } diff --git a/arkoala/ets-plugin/test/golden/arkoala/spec/@builderParam.ts b/arkoala/ets-plugin/test/golden/arkoala/spec/@builderParam.ts index 850861b7a..f176b327c 100644 --- a/arkoala/ets-plugin/test/golden/arkoala/spec/@builderParam.ts +++ b/arkoala/ets-plugin/test/golden/arkoala/spec/@builderParam.ts @@ -14,7 +14,7 @@ class ArkCustomContainerComponent extends ArkStructBase void; /** @memo */ private get content(): () => void { - return this.__backing_content as () => void; + return this.__backing_content!; } private set content(/**/ /** @memo */ @@ -39,7 +39,7 @@ class ArkCustomContainerComponent extends ArkStructBase void; /** @memo */ private get content(): () => void { - return this.__backing_content as () => void; + return this.__backing_content!; } private set content(/**/ /** @memo */ @@ -237,12 +237,15 @@ content?: () => void, initializers?: CustomContainerUserOptions): void { } export interface CustomContainerOptions { header?: string; + /** @memo */ content?: () => void; + /** @memo */ callContent?: any; footer?: string; } export interface CustomContainer2Options { header?: string; + /** @memo */ content?: () => void; } export interface CustomContainerUserOptions { diff --git a/arkoala/ets-plugin/test/golden/arkoala/spec/test/pages/TestComponent.ts b/arkoala/ets-plugin/test/golden/arkoala/spec/test/pages/TestComponent.ts index f625c0f4e..35db9d51b 100644 --- a/arkoala/ets-plugin/test/golden/arkoala/spec/test/pages/TestComponent.ts +++ b/arkoala/ets-plugin/test/golden/arkoala/spec/test/pages/TestComponent.ts @@ -35,7 +35,7 @@ export class ArkCustomContainerExportComponent extends ArkStructBase void; /** @memo */ private get closer(): () => void { - return this.__backing_closer as () => void; + return this.__backing_closer!; } private set closer(/**/ /** @memo */ @@ -99,5 +99,6 @@ export interface TestComponentOptions { } export interface CustomContainerExportOptions { header?: string; + /** @memo */ closer?: () => void; } diff --git a/arkoala/ets-plugin/test/golden/arkts/ets/PropertyDeps.ts b/arkoala/ets-plugin/test/golden/arkts/ets/PropertyDeps.ts index 1eb4f0f68..7329befba 100644 --- a/arkoala/ets-plugin/test/golden/arkts/ets/PropertyDeps.ts +++ b/arkoala/ets-plugin/test/golden/arkts/ets/PropertyDeps.ts @@ -231,43 +231,6 @@ class ArkStateToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: StateToBuilderParamOptions): void { - this.__backing_state = stateOf(initializers?.state ?? ('Hello World'), this); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: MutableState; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: StateToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkStateToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -547,47 +510,6 @@ class ArkPropToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: PropToBuilderParamOptions): void { - this.__backing_state = propState('Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: SyncedProperty; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __updateStruct(initializers: PropToBuilderParamOptions | undefined): void { - this.__backing_state?.update(initializers?.state); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: PropToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkPropToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -852,43 +774,6 @@ class ArkProvideToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: ProvideToBuilderParamOptions): void { - this.__backing_state = initializers!.__backing_state!; - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: MutableState; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: ProvideToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkProvideToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -1149,43 +1034,6 @@ class ArkStorageLinkToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: StorageLinkToBuilderParamOptions): void { - this.__backing_state = AppStorageLinkState("key", 'Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: MutableState; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: StorageLinkToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkStorageLinkToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -1446,43 +1294,6 @@ class ArkLocalStorageLinkToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: LocalStorageLinkToBuilderParamOptions): void { - this.__backing_state = StorageLinkState(this._entry_local_storage_, "key", 'Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: MutableState; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: LocalStorageLinkToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkLocalStorageLinkToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -1762,47 +1573,6 @@ class ArkStoragePropToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: StoragePropToBuilderParamOptions): void { - this.__backing_state = propState(AppStorageLinkState("key", 'Hello World').value); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: SyncedProperty; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __updateStruct(initializers: StoragePropToBuilderParamOptions | undefined): void { - this.__backing_state?.update(AppStorageLinkState("key", 'Hello World').value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: StoragePropToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkStoragePropToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -2086,15 +1856,13 @@ class ArkLocalStoragePropToLocalStoragePropComponent extends ArkStructBase { +class ArkLocalStoragePropToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ /** @memo */ - content?: () => void, initializers?: LocalStoragePropToBuilderParamOptions): void { + content?: () => void, initializers?: LocalStoragePropToPlainOptions): void { this.__backing_state = propState(StorageLinkState(this._entry_local_storage_, "key", 'Hello World').value); this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; } private __backing_state?: SyncedProperty; private get state(): string { @@ -2103,19 +1871,15 @@ class ArkLocalStoragePropToBuilderParamComponent extends ArkStructBase(this._entry_local_storage_, "key", 'Hello World').value); } /** @memo */ @@ -2123,64 +1887,127 @@ class ArkLocalStoragePropToBuilderParamComponent extends ArkStructBase void) | undefined, /**/ /** @memo */ - content?: () => void, initializers?: LocalStoragePropToBuilderParamOptions) { + content?: () => void, initializers?: LocalStoragePropToPlainOptions) { ArkText(__builder, undefined, this.test); } } -class ArkLocalStoragePropToPlainComponent extends ArkStructBase { +class ArkBuilderToBuilderParamComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ /** @memo */ - content?: () => void, initializers?: LocalStoragePropToPlainOptions): void { - this.__backing_state = propState(StorageLinkState(this._entry_local_storage_, "key", 'Hello World').value); - this.__backing_test = initializers?.test ?? (this.state + "!"); + content?: () => void, initializers?: BuilderToBuilderParamOptions): void { + this.__backing_builderParam = initializers?.builderParam ?? (/**/ + /** @memo */ + () => { + this.builder(); + }); + this.__backing_anotherParam = initializers?.anotherParam ?? (/**/ + /** @memo */ + () => { + this.builder(); + }); + if (this.__backing_builderParam === undefined && content !== undefined) + this.__backing_builderParam = content; } - private __backing_state?: SyncedProperty; - private get state(): string { - return this.__backing_state!.value; + /** @memo */ + private __backing_builderParam?: () => void; + /** @memo */ + private get builderParam(): () => void { + return this.__backing_builderParam!; } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); + private set builderParam(/**/ + /** @memo */ + value: () => void) { + this.__backing_builderParam = value; } - private __backing_test?: string; - private get test(): string { - return this.__backing_test as string; + /** @memo */ + private __backing_anotherParam?: () => void; + /** @memo */ + private get anotherParam(): () => void { + return this.__backing_anotherParam!; } - private set test(value: string) { - this.__backing_test = value; + private set anotherParam(/**/ + /** @memo */ + value: () => void) { + this.__backing_anotherParam = value; } /** @memo */ - __updateStruct(initializers: LocalStoragePropToPlainOptions | undefined): void { - this.__backing_state?.update(StorageLinkState(this._entry_local_storage_, "key", 'Hello World').value); + builder() { } + /** @memo */ + __build(/**/ + /** @memo */ + __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ + /** @memo */ + content?: () => void, initializers?: BuilderToBuilderParamOptions) { + this.builderParam(); + BuilderToBuilderParam(undefined, undefined, { builderParam: this.anotherParam } as BuilderToBuilderParamOptions); + } +} +class ArkBuilderParamToBuilderParamComponent extends ArkStructBase { + private _entry_local_storage_ = new LocalStorage(); + __initializeStruct(/**/ + /** @memo */ + content?: () => void, initializers?: BuilderParamToBuilderParamOptions): void { + this.__backing_builderParam = initializers?.builderParam ?? (/**/ + /** @memo */ + () => { + this.builder(); + }); + this.__backing_anotherParam = initializers?.anotherParam ?? (/**/ + /** @memo */ + () => { + this.builderParam(); + }); + if (this.__backing_builderParam === undefined && content !== undefined) + this.__backing_builderParam = content; + } + /** @memo */ + private __backing_builderParam?: () => void; + /** @memo */ + private get builderParam(): () => void { + return this.__backing_builderParam!; + } + private set builderParam(/**/ + /** @memo */ + value: () => void) { + this.__backing_builderParam = value; + } + /** @memo */ + private __backing_anotherParam?: () => void; + /** @memo */ + private get anotherParam(): () => void { + return this.__backing_anotherParam!; } + private set anotherParam(/**/ + /** @memo */ + value: () => void) { + this.__backing_anotherParam = value; + } + /** @memo */ + builder() { } /** @memo */ __build(/**/ /** @memo */ __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ /** @memo */ - content?: () => void, initializers?: LocalStoragePropToPlainOptions) { - ArkText(__builder, undefined, this.test); + content?: () => void, initializers?: BuilderParamToBuilderParamOptions) { + this.anotherBuilderParam(); + BuilderToBuilderParam(undefined, undefined, { anotherParam: this.anotherParam } as BuilderToBuilderParamOptions); } } -class ArkBuilderParamToStateComponent extends ArkStructBase { +class ArkPlainToStateComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ /** @memo */ - content?: () => void, initializers?: BuilderParamToStateOptions): void { + content?: () => void, initializers?: PlainToStateOptions): void { this.__backing_state = initializers?.state ?? ('Hello World'); this.__backing_test = stateOf(initializers?.test ?? (this.state + "!"), this); - if (!this.__backing_state && content) - this.__backing_state = content; } - /** @memo */ private __backing_state?: string; - /** @memo */ private get state(): string { return this.__backing_state as string; } - private set state(/**/ - /** @memo */ - value: string) { + private set state(value: string) { this.__backing_state = value; } private __backing_test?: MutableState; @@ -2195,29 +2022,23 @@ class ArkBuilderParamToStateComponent extends ArkStructBase void) | undefined, /**/ /** @memo */ - content?: () => void, initializers?: BuilderParamToStateOptions) { + content?: () => void, initializers?: PlainToStateOptions) { ArkText(__builder, undefined, this.test); } } -class ArkBuilderParamToPropComponent extends ArkStructBase { +class ArkPlainToPropComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ /** @memo */ - content?: () => void, initializers?: BuilderParamToPropOptions): void { + content?: () => void, initializers?: PlainToPropOptions): void { this.__backing_state = initializers?.state ?? ('Hello World'); this.__backing_test = propState(this.state + "!"); - if (!this.__backing_state && content) - this.__backing_state = content; } - /** @memo */ private __backing_state?: string; - /** @memo */ private get state(): string { return this.__backing_state as string; } - private set state(/**/ - /** @memo */ - value: string) { + private set state(value: string) { this.__backing_state = value; } private __backing_test?: SyncedProperty; @@ -2228,344 +2049,7 @@ class ArkBuilderParamToPropComponent extends ArkStructBase void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToPropOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToProvideComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToProvideOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = initializers!.__backing_test!; - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: MutableState; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToProvideOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToStorageLinkComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToStorageLinkOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = AppStorageLinkState("test", this.state + "!"); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: MutableState; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToStorageLinkOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToLocalStorageLinkComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToLocalStorageLinkOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = StorageLinkState(this._entry_local_storage_, "test", this.state + "!"); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: MutableState; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToLocalStorageLinkOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToStoragePropOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = propState(AppStorageLinkState("test", this.state + "!").value); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: SyncedProperty; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __updateStruct(initializers: BuilderParamToStoragePropOptions | undefined): void { - this.__backing_test?.update(AppStorageLinkState("test", this.state + "!").value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToStoragePropOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToLocalStoragePropOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = propState(StorageLinkState(this._entry_local_storage_, "test", this.state + "!").value); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: SyncedProperty; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __updateStruct(initializers: BuilderParamToLocalStoragePropOptions | undefined): void { - this.__backing_test?.update(StorageLinkState(this._entry_local_storage_, "test", this.state + "!").value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToLocalStoragePropOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToBuilderParamComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToBuilderParamOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToPlainComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToPlainOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: string; - private get test(): string { - return this.__backing_test as string; - } - private set test(value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToPlainOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkPlainToStateComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: PlainToStateOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = stateOf(initializers?.test ?? (this.state + "!"), this); - } - private __backing_state?: string; - private get state(): string { - return this.__backing_state as string; - } - private set state(value: string) { - this.__backing_state = value; - } - private __backing_test?: MutableState; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: PlainToStateOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkPlainToPropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: PlainToPropOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = propState(this.state + "!"); - } - private __backing_state?: string; - private get state(): string { - return this.__backing_state as string; - } - private set state(value: string) { - this.__backing_state = value; - } - private __backing_test?: SyncedProperty; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __updateStruct(initializers: PlainToPropOptions | undefined): void { + __updateStruct(initializers: PlainToPropOptions | undefined): void { this.__backing_test?.update(initializers?.test); } /** @memo */ @@ -2740,43 +2224,6 @@ class ArkPlainToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: PlainToBuilderParamOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: string; - private get state(): string { - return this.__backing_state as string; - } - private set state(value: string) { - this.__backing_state = value; - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: PlainToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkPlainToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -2895,18 +2342,6 @@ content?: () => void, initializers?: StateToLocalStoragePropOptions): void { ArkStateToLocalStoragePropComponent._instantiate(style, () => new ArkStateToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function StateToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: StateToBuilderParamOptions): void { - const updatedInitializers: StateToBuilderParamOptions = { - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkStateToBuilderParamComponent._instantiate(style, () => new ArkStateToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function StateToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3012,19 +2447,6 @@ content?: () => void, initializers?: PropToLocalStoragePropOptions): void { ArkPropToLocalStoragePropComponent._instantiate(style, () => new ArkPropToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function PropToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: PropToBuilderParamOptions): void { - const updatedInitializers: PropToBuilderParamOptions = { - state: initializers?.state, - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkPropToBuilderParamComponent._instantiate(style, () => new ArkPropToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function PropToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3131,19 +2553,6 @@ content?: () => void, initializers?: ProvideToLocalStoragePropOptions): void { ArkProvideToLocalStoragePropComponent._instantiate(style, () => new ArkProvideToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function ProvideToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: ProvideToBuilderParamOptions): void { - const __provide_state = contextLocalStateOf("state", () => 'Hello World'); - const updatedInitializers: ProvideToBuilderParamOptions = { - __backing_state: __provide_state, - test: initializers?.test - }; - ArkProvideToBuilderParamComponent._instantiate(style, () => new ArkProvideToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function ProvideToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3243,18 +2652,6 @@ content?: () => void, initializers?: StorageLinkToLocalStoragePropOptions): void ArkStorageLinkToLocalStoragePropComponent._instantiate(style, () => new ArkStorageLinkToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function StorageLinkToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: StorageLinkToBuilderParamOptions): void { - const updatedInitializers: StorageLinkToBuilderParamOptions = { - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkStorageLinkToBuilderParamComponent._instantiate(style, () => new ArkStorageLinkToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function StorageLinkToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3353,18 +2750,6 @@ content?: () => void, initializers?: LocalStorageLinkToLocalStoragePropOptions): ArkLocalStorageLinkToLocalStoragePropComponent._instantiate(style, () => new ArkLocalStorageLinkToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function LocalStorageLinkToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: LocalStorageLinkToBuilderParamOptions): void { - const updatedInitializers: LocalStorageLinkToBuilderParamOptions = { - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkLocalStorageLinkToBuilderParamComponent._instantiate(style, () => new ArkLocalStorageLinkToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function LocalStorageLinkToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3463,18 +2848,6 @@ content?: () => void, initializers?: StoragePropToLocalStoragePropOptions): void ArkStoragePropToLocalStoragePropComponent._instantiate(style, () => new ArkStoragePropToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function StoragePropToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: StoragePropToBuilderParamOptions): void { - const updatedInitializers: StoragePropToBuilderParamOptions = { - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkStoragePropToBuilderParamComponent._instantiate(style, () => new ArkStoragePropToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function StoragePropToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3573,18 +2946,6 @@ content?: () => void, initializers?: LocalStoragePropToLocalStoragePropOptions): ArkLocalStoragePropToLocalStoragePropComponent._instantiate(style, () => new ArkLocalStoragePropToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function LocalStoragePropToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: LocalStoragePropToBuilderParamOptions): void { - const updatedInitializers: LocalStoragePropToBuilderParamOptions = { - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkLocalStoragePropToBuilderParamComponent._instantiate(style, () => new ArkLocalStoragePropToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function LocalStoragePropToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3597,90 +2958,16 @@ content?: () => void, initializers?: LocalStoragePropToPlainOptions): void { ArkLocalStoragePropToPlainComponent._instantiate(style, () => new ArkLocalStoragePropToPlainComponent, content, updatedInitializers); } /** @memo */ -export function BuilderParamToState(/**/ +export function BuilderToBuilderParam(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ /** @memo */ -content?: () => void, initializers?: BuilderParamToStateOptions): void { - const updatedInitializers: BuilderParamToStateOptions = { - state: initializers?.state, - __backing_test: initializers?.__backing_test +content?: () => void, initializers?: BuilderToBuilderParamOptions): void { + const updatedInitializers: BuilderToBuilderParamOptions = { + builderParam: initializers?.builderParam, + anotherParam: initializers?.anotherParam }; - ArkBuilderParamToStateComponent._instantiate(style, () => new ArkBuilderParamToStateComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToProp(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToPropOptions): void { - const updatedInitializers: BuilderParamToPropOptions = { - state: initializers?.state, - test: initializers?.test, - __backing_test: initializers?.__backing_test - }; - ArkBuilderParamToPropComponent._instantiate(style, () => new ArkBuilderParamToPropComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToProvide(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToProvideOptions): void { - const __provide_test = contextLocalStateOf("test", () => this.state + "!"); - const updatedInitializers: BuilderParamToProvideOptions = { - state: initializers?.state, - __backing_test: __provide_test - }; - ArkBuilderParamToProvideComponent._instantiate(style, () => new ArkBuilderParamToProvideComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToStorageLink(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToStorageLinkOptions): void { - const updatedInitializers: BuilderParamToStorageLinkOptions = { - state: initializers?.state, - __backing_test: initializers?.__backing_test - }; - ArkBuilderParamToStorageLinkComponent._instantiate(style, () => new ArkBuilderParamToStorageLinkComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToLocalStorageLink(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToLocalStorageLinkOptions): void { - const updatedInitializers: BuilderParamToLocalStorageLinkOptions = { - state: initializers?.state, - __backing_test: initializers?.__backing_test - }; - ArkBuilderParamToLocalStorageLinkComponent._instantiate(style, () => new ArkBuilderParamToLocalStorageLinkComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToStorageProp(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToStoragePropOptions): void { - const updatedInitializers: BuilderParamToStoragePropOptions = { - state: initializers?.state, - __backing_test: initializers?.__backing_test - }; - ArkBuilderParamToStoragePropComponent._instantiate(style, () => new ArkBuilderParamToStoragePropComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToLocalStorageProp(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToLocalStoragePropOptions): void { - const updatedInitializers: BuilderParamToLocalStoragePropOptions = { - state: initializers?.state, - __backing_test: initializers?.__backing_test - }; - ArkBuilderParamToLocalStoragePropComponent._instantiate(style, () => new ArkBuilderParamToLocalStoragePropComponent, content, updatedInitializers); + ArkBuilderToBuilderParamComponent._instantiate(style, () => new ArkBuilderToBuilderParamComponent, content, updatedInitializers); } /** @memo */ export function BuilderParamToBuilderParam(/**/ @@ -3689,24 +2976,12 @@ style?: (__instance: ArkCommonMethodComponent) => void, /**/ /** @memo */ content?: () => void, initializers?: BuilderParamToBuilderParamOptions): void { const updatedInitializers: BuilderParamToBuilderParamOptions = { - state: initializers?.state, - test: initializers?.test + builderParam: initializers?.builderParam, + anotherParam: initializers?.anotherParam }; ArkBuilderParamToBuilderParamComponent._instantiate(style, () => new ArkBuilderParamToBuilderParamComponent, content, updatedInitializers); } /** @memo */ -export function BuilderParamToPlain(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToPlainOptions): void { - const updatedInitializers: BuilderParamToPlainOptions = { - state: initializers?.state, - test: initializers?.test - }; - ArkBuilderParamToPlainComponent._instantiate(style, () => new ArkBuilderParamToPlainComponent, content, updatedInitializers); -} -/** @memo */ export function PlainToState(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3793,18 +3068,6 @@ content?: () => void, initializers?: PlainToLocalStoragePropOptions): void { ArkPlainToLocalStoragePropComponent._instantiate(style, () => new ArkPlainToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function PlainToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: PlainToBuilderParamOptions): void { - const updatedInitializers: PlainToBuilderParamOptions = { - state: initializers?.state, - test: initializers?.test - }; - ArkPlainToBuilderParamComponent._instantiate(style, () => new ArkPlainToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function PlainToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3858,11 +3121,6 @@ export interface StateToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface StateToBuilderParamOptions { - __backing_state?: MutableState; - state?: string; - test?: string; -} export interface StateToPlainOptions { __backing_state?: MutableState; state?: string; @@ -3910,11 +3168,6 @@ export interface PropToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface PropToBuilderParamOptions { - __backing_state?: SyncedProperty; - state?: string; - test?: string; -} export interface PropToPlainOptions { __backing_state?: SyncedProperty; state?: string; @@ -3962,11 +3215,6 @@ export interface ProvideToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface ProvideToBuilderParamOptions { - __backing_state?: MutableState; - state?: string; - test?: string; -} export interface ProvideToPlainOptions { __backing_state?: MutableState; state?: string; @@ -4014,11 +3262,6 @@ export interface StorageLinkToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface StorageLinkToBuilderParamOptions { - __backing_state?: MutableState; - state?: string; - test?: string; -} export interface StorageLinkToPlainOptions { __backing_state?: MutableState; state?: string; @@ -4066,11 +3309,6 @@ export interface LocalStorageLinkToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface LocalStorageLinkToBuilderParamOptions { - __backing_state?: MutableState; - state?: string; - test?: string; -} export interface LocalStorageLinkToPlainOptions { __backing_state?: MutableState; state?: string; @@ -4118,11 +3356,6 @@ export interface StoragePropToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface StoragePropToBuilderParamOptions { - __backing_state?: SyncedProperty; - state?: string; - test?: string; -} export interface StoragePropToPlainOptions { __backing_state?: SyncedProperty; state?: string; @@ -4170,58 +3403,22 @@ export interface LocalStoragePropToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface LocalStoragePropToBuilderParamOptions { - __backing_state?: SyncedProperty; - state?: string; - test?: string; -} export interface LocalStoragePropToPlainOptions { __backing_state?: SyncedProperty; state?: string; test?: string; } -export interface BuilderParamToStateOptions { - state?: string; - __backing_test?: MutableState; - test?: string; -} -export interface BuilderParamToPropOptions { - state?: string; - __backing_test?: SyncedProperty; - test?: string; -} -export interface BuilderParamToProvideOptions { - state?: string; - __backing_test?: MutableState; - test?: string; -} -export interface BuilderParamToStorageLinkOptions { - state?: string; - __backing_test?: MutableState; - test?: string; -} -export interface BuilderParamToLocalStorageLinkOptions { - state?: string; - __backing_test?: MutableState; - test?: string; -} -export interface BuilderParamToStoragePropOptions { - state?: string; - __backing_test?: SyncedProperty; - test?: string; -} -export interface BuilderParamToLocalStoragePropOptions { - state?: string; - __backing_test?: SyncedProperty; - test?: string; +export interface BuilderToBuilderParamOptions { + /** @memo */ + builderParam?: () => void; + /** @memo */ + anotherParam?: () => void; } export interface BuilderParamToBuilderParamOptions { - state?: string; - test?: string; -} -export interface BuilderParamToPlainOptions { - state?: string; - test?: string; + /** @memo */ + builderParam?: () => void; + /** @memo */ + anotherParam?: () => void; } export interface PlainToStateOptions { state?: string; @@ -4258,10 +3455,6 @@ export interface PlainToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface PlainToBuilderParamOptions { - state?: string; - test?: string; -} export interface PlainToPlainOptions { state?: string; test?: string; diff --git a/arkoala/ets-plugin/test/golden/arkts/ets/Rewrite.ts b/arkoala/ets-plugin/test/golden/arkts/ets/Rewrite.ts index 49733cdc3..093fc0dce 100644 --- a/arkoala/ets-plugin/test/golden/arkts/ets/Rewrite.ts +++ b/arkoala/ets-plugin/test/golden/arkts/ets/Rewrite.ts @@ -241,14 +241,14 @@ class ArkBuilderParamExampleComponent extends ArkStructBase {}; /** @memo */ private get foo(): () => {} { - return this.__backing_foo as () => {}; + return this.__backing_foo!; } private set foo(/**/ /** @memo */ @@ -1008,6 +1008,7 @@ export interface BuilderExampleOptions { export interface GlobalBuilderExampleOptions { } export interface BuilderParamExampleOptions { + /** @memo */ foo?: () => {}; } export interface StylesExampleOptions { diff --git a/arkoala/ets-plugin/test/golden/arkts/ets/ets-component-call/user-function-declaration.ts b/arkoala/ets-plugin/test/golden/arkts/ets/ets-component-call/user-function-declaration.ts index 4cc2bc3c0..bd3e1aaac 100644 --- a/arkoala/ets-plugin/test/golden/arkts/ets/ets-component-call/user-function-declaration.ts +++ b/arkoala/ets-plugin/test/golden/arkts/ets/ets-component-call/user-function-declaration.ts @@ -50,7 +50,7 @@ export class ArkStructWithContentComponent extends ArkStructBase void; /** @memo */ private get content(): () => void { - return this.__backing_content as () => void; + return this.__backing_content!; } private set content(/**/ /** @memo */ @@ -108,5 +108,6 @@ export interface StructOptions { } export interface StructWithContentOptions { param?: number; + /** @memo */ content?: () => void; } diff --git a/arkoala/ets-plugin/test/golden/arkts/ets/trailing-block.ts b/arkoala/ets-plugin/test/golden/arkts/ets/trailing-block.ts index ce44a95a0..c5700e3b7 100644 --- a/arkoala/ets-plugin/test/golden/arkts/ets/trailing-block.ts +++ b/arkoala/ets-plugin/test/golden/arkts/ets/trailing-block.ts @@ -27,14 +27,14 @@ class ArkChildStructComponent extends ArkStructBase void; /** @memo */ private get content(): () => void { - return this.__backing_content as () => void; + return this.__backing_content!; } private set content(/**/ /** @memo */ @@ -73,5 +73,6 @@ content?: () => void, initializers?: ChildStructOptions): void { export interface ParentStructOptions { } export interface ChildStructOptions { + /** @memo */ content?: () => void; } diff --git a/arkoala/ets-plugin/test/golden/arkts/spec/@builderParam.ts b/arkoala/ets-plugin/test/golden/arkts/spec/@builderParam.ts index 039117e9a..e8655bdeb 100644 --- a/arkoala/ets-plugin/test/golden/arkts/spec/@builderParam.ts +++ b/arkoala/ets-plugin/test/golden/arkts/spec/@builderParam.ts @@ -16,7 +16,7 @@ class ArkCustomContainerComponent extends ArkStructBase void; /** @memo */ private get content(): () => void { - return this.__backing_content as () => void; + return this.__backing_content!; } private set content(/**/ /** @memo */ @@ -41,7 +41,7 @@ class ArkCustomContainerComponent extends ArkStructBase void; /** @memo */ private get content(): () => void { - return this.__backing_content as () => void; + return this.__backing_content!; } private set content(/**/ /** @memo */ @@ -239,12 +239,15 @@ content?: () => void, initializers?: CustomContainerUserOptions): void { } export interface CustomContainerOptions { header?: string; + /** @memo */ content?: () => void; + /** @memo */ callContent?: any; footer?: string; } export interface CustomContainer2Options { header?: string; + /** @memo */ content?: () => void; } export interface CustomContainerUserOptions { diff --git a/arkoala/ets-plugin/test/golden/arkts/spec/test/pages/TestComponent.ts b/arkoala/ets-plugin/test/golden/arkts/spec/test/pages/TestComponent.ts index d3095acd6..f91b1eec5 100644 --- a/arkoala/ets-plugin/test/golden/arkts/spec/test/pages/TestComponent.ts +++ b/arkoala/ets-plugin/test/golden/arkts/spec/test/pages/TestComponent.ts @@ -36,7 +36,7 @@ export class ArkCustomContainerExportComponent extends ArkStructBase void; /** @memo */ private get closer(): () => void { - return this.__backing_closer as () => void; + return this.__backing_closer!; } private set closer(/**/ /** @memo */ @@ -100,5 +100,6 @@ export interface TestComponentOptions { } export interface CustomContainerExportOptions { header?: string; + /** @memo */ closer?: () => void; } diff --git a/arkoala/ets-plugin/test/golden/koala/ets/PropertyDeps.ts b/arkoala/ets-plugin/test/golden/koala/ets/PropertyDeps.ts index 4d9471ab3..ccf7c4664 100644 --- a/arkoala/ets-plugin/test/golden/koala/ets/PropertyDeps.ts +++ b/arkoala/ets-plugin/test/golden/koala/ets/PropertyDeps.ts @@ -230,43 +230,6 @@ class ArkStateToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: StateToBuilderParamOptions): void { - this.__backing_state = stateOf(initializers?.state ?? ('Hello World'), this); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: MutableState; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: StateToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkStateToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -546,47 +509,6 @@ class ArkPropToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: PropToBuilderParamOptions): void { - this.__backing_state = propState('Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: SyncedProperty; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __updateStruct(initializers: PropToBuilderParamOptions | undefined): void { - this.__backing_state?.update(initializers?.state); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: PropToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkPropToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -851,43 +773,6 @@ class ArkProvideToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: ProvideToBuilderParamOptions): void { - this.__backing_state = initializers!.__backing_state!; - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: MutableState; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: ProvideToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkProvideToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -1148,43 +1033,6 @@ class ArkStorageLinkToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: StorageLinkToBuilderParamOptions): void { - this.__backing_state = AppStorageLinkState("key", 'Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: MutableState; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: StorageLinkToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkStorageLinkToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -1445,43 +1293,6 @@ class ArkLocalStorageLinkToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: LocalStorageLinkToBuilderParamOptions): void { - this.__backing_state = StorageLinkState(this._entry_local_storage_, "key", 'Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: MutableState; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: LocalStorageLinkToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkLocalStorageLinkToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -1761,47 +1572,6 @@ class ArkStoragePropToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: StoragePropToBuilderParamOptions): void { - this.__backing_state = propState(AppStorageLinkState("key", 'Hello World').value); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: SyncedProperty; - private get state(): string { - return this.__backing_state!.value; - } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __updateStruct(initializers: StoragePropToBuilderParamOptions | undefined): void { - this.__backing_state?.update(AppStorageLinkState("key", 'Hello World').value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: StoragePropToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkStoragePropToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -2085,15 +1855,13 @@ class ArkLocalStoragePropToLocalStoragePropComponent extends ArkStructBase { +class ArkLocalStoragePropToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ /** @memo */ - content?: () => void, initializers?: LocalStoragePropToBuilderParamOptions): void { + content?: () => void, initializers?: LocalStoragePropToPlainOptions): void { this.__backing_state = propState(StorageLinkState(this._entry_local_storage_, "key", 'Hello World').value); this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; } private __backing_state?: SyncedProperty; private get state(): string { @@ -2102,19 +1870,15 @@ class ArkLocalStoragePropToBuilderParamComponent extends ArkStructBase(this._entry_local_storage_, "key", 'Hello World').value); } /** @memo */ @@ -2122,64 +1886,127 @@ class ArkLocalStoragePropToBuilderParamComponent extends ArkStructBase void) | undefined, /**/ /** @memo */ - content?: () => void, initializers?: LocalStoragePropToBuilderParamOptions) { + content?: () => void, initializers?: LocalStoragePropToPlainOptions) { ArkText(__builder, undefined, this.test); } } -class ArkLocalStoragePropToPlainComponent extends ArkStructBase { +class ArkBuilderToBuilderParamComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ /** @memo */ - content?: () => void, initializers?: LocalStoragePropToPlainOptions): void { - this.__backing_state = propState(StorageLinkState(this._entry_local_storage_, "key", 'Hello World').value); - this.__backing_test = initializers?.test ?? (this.state + "!"); + content?: () => void, initializers?: BuilderToBuilderParamOptions): void { + this.__backing_builderParam = initializers?.builderParam ?? (/**/ + /** @memo */ + () => { + this.builder(); + }); + this.__backing_anotherParam = initializers?.anotherParam ?? (/**/ + /** @memo */ + () => { + this.builder(); + }); + if (this.__backing_builderParam === undefined && content !== undefined) + this.__backing_builderParam = content; } - private __backing_state?: SyncedProperty; - private get state(): string { - return this.__backing_state!.value; + /** @memo */ + private __backing_builderParam?: () => void; + /** @memo */ + private get builderParam(): () => void { + return this.__backing_builderParam!; } - private set state(value: string) { - this.__backing_state!.value = observableProxy(value); + private set builderParam(/**/ + /** @memo */ + value: () => void) { + this.__backing_builderParam = value; } - private __backing_test?: string; - private get test(): string { - return this.__backing_test as string; + /** @memo */ + private __backing_anotherParam?: () => void; + /** @memo */ + private get anotherParam(): () => void { + return this.__backing_anotherParam!; } - private set test(value: string) { - this.__backing_test = value; + private set anotherParam(/**/ + /** @memo */ + value: () => void) { + this.__backing_anotherParam = value; } /** @memo */ - __updateStruct(initializers: LocalStoragePropToPlainOptions | undefined): void { - this.__backing_state?.update(StorageLinkState(this._entry_local_storage_, "key", 'Hello World').value); + builder() { } + /** @memo */ + __build(/**/ + /** @memo */ + __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ + /** @memo */ + content?: () => void, initializers?: BuilderToBuilderParamOptions) { + this.builderParam(); + BuilderToBuilderParam(undefined, undefined, { builderParam: this.anotherParam } as BuilderToBuilderParamOptions); + } +} +class ArkBuilderParamToBuilderParamComponent extends ArkStructBase { + private _entry_local_storage_ = new LocalStorage(); + __initializeStruct(/**/ + /** @memo */ + content?: () => void, initializers?: BuilderParamToBuilderParamOptions): void { + this.__backing_builderParam = initializers?.builderParam ?? (/**/ + /** @memo */ + () => { + this.builder(); + }); + this.__backing_anotherParam = initializers?.anotherParam ?? (/**/ + /** @memo */ + () => { + this.builderParam(); + }); + if (this.__backing_builderParam === undefined && content !== undefined) + this.__backing_builderParam = content; + } + /** @memo */ + private __backing_builderParam?: () => void; + /** @memo */ + private get builderParam(): () => void { + return this.__backing_builderParam!; + } + private set builderParam(/**/ + /** @memo */ + value: () => void) { + this.__backing_builderParam = value; + } + /** @memo */ + private __backing_anotherParam?: () => void; + /** @memo */ + private get anotherParam(): () => void { + return this.__backing_anotherParam!; } + private set anotherParam(/**/ + /** @memo */ + value: () => void) { + this.__backing_anotherParam = value; + } + /** @memo */ + builder() { } /** @memo */ __build(/**/ /** @memo */ __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ /** @memo */ - content?: () => void, initializers?: LocalStoragePropToPlainOptions) { - ArkText(__builder, undefined, this.test); + content?: () => void, initializers?: BuilderParamToBuilderParamOptions) { + this.anotherBuilderParam(); + BuilderToBuilderParam(undefined, undefined, { anotherParam: this.anotherParam } as BuilderToBuilderParamOptions); } } -class ArkBuilderParamToStateComponent extends ArkStructBase { +class ArkPlainToStateComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ /** @memo */ - content?: () => void, initializers?: BuilderParamToStateOptions): void { + content?: () => void, initializers?: PlainToStateOptions): void { this.__backing_state = initializers?.state ?? ('Hello World'); this.__backing_test = stateOf(initializers?.test ?? (this.state + "!"), this); - if (!this.__backing_state && content) - this.__backing_state = content; } - /** @memo */ private __backing_state?: string; - /** @memo */ private get state(): string { return this.__backing_state as string; } - private set state(/**/ - /** @memo */ - value: string) { + private set state(value: string) { this.__backing_state = value; } private __backing_test?: MutableState; @@ -2194,29 +2021,23 @@ class ArkBuilderParamToStateComponent extends ArkStructBase void) | undefined, /**/ /** @memo */ - content?: () => void, initializers?: BuilderParamToStateOptions) { + content?: () => void, initializers?: PlainToStateOptions) { ArkText(__builder, undefined, this.test); } } -class ArkBuilderParamToPropComponent extends ArkStructBase { +class ArkPlainToPropComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ /** @memo */ - content?: () => void, initializers?: BuilderParamToPropOptions): void { + content?: () => void, initializers?: PlainToPropOptions): void { this.__backing_state = initializers?.state ?? ('Hello World'); this.__backing_test = propState(this.state + "!"); - if (!this.__backing_state && content) - this.__backing_state = content; } - /** @memo */ private __backing_state?: string; - /** @memo */ private get state(): string { return this.__backing_state as string; } - private set state(/**/ - /** @memo */ - value: string) { + private set state(value: string) { this.__backing_state = value; } private __backing_test?: SyncedProperty; @@ -2227,344 +2048,7 @@ class ArkBuilderParamToPropComponent extends ArkStructBase void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToPropOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToProvideComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToProvideOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = initializers!.__backing_test!; - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: MutableState; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToProvideOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToStorageLinkComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToStorageLinkOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = AppStorageLinkState("test", this.state + "!"); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: MutableState; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToStorageLinkOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToLocalStorageLinkComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToLocalStorageLinkOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = StorageLinkState(this._entry_local_storage_, "test", this.state + "!"); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: MutableState; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToLocalStorageLinkOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToStoragePropOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = propState(AppStorageLinkState("test", this.state + "!").value); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: SyncedProperty; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __updateStruct(initializers: BuilderParamToStoragePropOptions | undefined): void { - this.__backing_test?.update(AppStorageLinkState("test", this.state + "!").value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToStoragePropOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToLocalStoragePropOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = propState(StorageLinkState(this._entry_local_storage_, "test", this.state + "!").value); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: SyncedProperty; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __updateStruct(initializers: BuilderParamToLocalStoragePropOptions | undefined): void { - this.__backing_test?.update(StorageLinkState(this._entry_local_storage_, "test", this.state + "!").value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToLocalStoragePropOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToBuilderParamComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToBuilderParamOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkBuilderParamToPlainComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToPlainOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_state && content) - this.__backing_state = content; - } - /** @memo */ - private __backing_state?: string; - /** @memo */ - private get state(): string { - return this.__backing_state as string; - } - private set state(/**/ - /** @memo */ - value: string) { - this.__backing_state = value; - } - private __backing_test?: string; - private get test(): string { - return this.__backing_test as string; - } - private set test(value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: BuilderParamToPlainOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkPlainToStateComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: PlainToStateOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = stateOf(initializers?.test ?? (this.state + "!"), this); - } - private __backing_state?: string; - private get state(): string { - return this.__backing_state as string; - } - private set state(value: string) { - this.__backing_state = value; - } - private __backing_test?: MutableState; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: PlainToStateOptions) { - ArkText(__builder, undefined, this.test); - } -} -class ArkPlainToPropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: PlainToPropOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = propState(this.state + "!"); - } - private __backing_state?: string; - private get state(): string { - return this.__backing_state as string; - } - private set state(value: string) { - this.__backing_state = value; - } - private __backing_test?: SyncedProperty; - private get test(): string { - return this.__backing_test!.value; - } - private set test(value: string) { - this.__backing_test!.value = observableProxy(value); - } - /** @memo */ - __updateStruct(initializers: PlainToPropOptions | undefined): void { + __updateStruct(initializers: PlainToPropOptions | undefined): void { this.__backing_test?.update(initializers?.test); } /** @memo */ @@ -2739,43 +2223,6 @@ class ArkPlainToLocalStoragePropComponent extends ArkStructBase { - private _entry_local_storage_ = new LocalStorage(); - __initializeStruct(/**/ - /** @memo */ - content?: () => void, initializers?: PlainToBuilderParamOptions): void { - this.__backing_state = initializers?.state ?? ('Hello World'); - this.__backing_test = initializers?.test ?? (this.state + "!"); - if (!this.__backing_test && content) - this.__backing_test = content; - } - private __backing_state?: string; - private get state(): string { - return this.__backing_state as string; - } - private set state(value: string) { - this.__backing_state = value; - } - /** @memo */ - private __backing_test?: string; - /** @memo */ - private get test(): string { - return this.__backing_test as string; - } - private set test(/**/ - /** @memo */ - value: string) { - this.__backing_test = value; - } - /** @memo */ - __build(/**/ - /** @memo */ - __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ - /** @memo */ - content?: () => void, initializers?: PlainToBuilderParamOptions) { - ArkText(__builder, undefined, this.test); - } -} class ArkPlainToPlainComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -2894,18 +2341,6 @@ content?: () => void, initializers?: StateToLocalStoragePropOptions): void { ArkStateToLocalStoragePropComponent._instantiate(style, () => new ArkStateToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function StateToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: StateToBuilderParamOptions): void { - const updatedInitializers: StateToBuilderParamOptions = { - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkStateToBuilderParamComponent._instantiate(style, () => new ArkStateToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function StateToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3011,19 +2446,6 @@ content?: () => void, initializers?: PropToLocalStoragePropOptions): void { ArkPropToLocalStoragePropComponent._instantiate(style, () => new ArkPropToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function PropToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: PropToBuilderParamOptions): void { - const updatedInitializers: PropToBuilderParamOptions = { - state: initializers?.state, - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkPropToBuilderParamComponent._instantiate(style, () => new ArkPropToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function PropToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3130,19 +2552,6 @@ content?: () => void, initializers?: ProvideToLocalStoragePropOptions): void { ArkProvideToLocalStoragePropComponent._instantiate(style, () => new ArkProvideToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function ProvideToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: ProvideToBuilderParamOptions): void { - const __provide_state = contextLocalStateOf("state", () => 'Hello World'); - const updatedInitializers: ProvideToBuilderParamOptions = { - __backing_state: __provide_state, - test: initializers?.test - }; - ArkProvideToBuilderParamComponent._instantiate(style, () => new ArkProvideToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function ProvideToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3242,18 +2651,6 @@ content?: () => void, initializers?: StorageLinkToLocalStoragePropOptions): void ArkStorageLinkToLocalStoragePropComponent._instantiate(style, () => new ArkStorageLinkToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function StorageLinkToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: StorageLinkToBuilderParamOptions): void { - const updatedInitializers: StorageLinkToBuilderParamOptions = { - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkStorageLinkToBuilderParamComponent._instantiate(style, () => new ArkStorageLinkToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function StorageLinkToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3352,18 +2749,6 @@ content?: () => void, initializers?: LocalStorageLinkToLocalStoragePropOptions): ArkLocalStorageLinkToLocalStoragePropComponent._instantiate(style, () => new ArkLocalStorageLinkToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function LocalStorageLinkToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: LocalStorageLinkToBuilderParamOptions): void { - const updatedInitializers: LocalStorageLinkToBuilderParamOptions = { - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkLocalStorageLinkToBuilderParamComponent._instantiate(style, () => new ArkLocalStorageLinkToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function LocalStorageLinkToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3462,18 +2847,6 @@ content?: () => void, initializers?: StoragePropToLocalStoragePropOptions): void ArkStoragePropToLocalStoragePropComponent._instantiate(style, () => new ArkStoragePropToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function StoragePropToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: StoragePropToBuilderParamOptions): void { - const updatedInitializers: StoragePropToBuilderParamOptions = { - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkStoragePropToBuilderParamComponent._instantiate(style, () => new ArkStoragePropToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function StoragePropToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3572,18 +2945,6 @@ content?: () => void, initializers?: LocalStoragePropToLocalStoragePropOptions): ArkLocalStoragePropToLocalStoragePropComponent._instantiate(style, () => new ArkLocalStoragePropToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function LocalStoragePropToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: LocalStoragePropToBuilderParamOptions): void { - const updatedInitializers: LocalStoragePropToBuilderParamOptions = { - __backing_state: initializers?.__backing_state, - test: initializers?.test - }; - ArkLocalStoragePropToBuilderParamComponent._instantiate(style, () => new ArkLocalStoragePropToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function LocalStoragePropToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3596,90 +2957,16 @@ content?: () => void, initializers?: LocalStoragePropToPlainOptions): void { ArkLocalStoragePropToPlainComponent._instantiate(style, () => new ArkLocalStoragePropToPlainComponent, content, updatedInitializers); } /** @memo */ -export function BuilderParamToState(/**/ +export function BuilderToBuilderParam(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ /** @memo */ -content?: () => void, initializers?: BuilderParamToStateOptions): void { - const updatedInitializers: BuilderParamToStateOptions = { - state: initializers?.state, - __backing_test: initializers?.__backing_test +content?: () => void, initializers?: BuilderToBuilderParamOptions): void { + const updatedInitializers: BuilderToBuilderParamOptions = { + builderParam: initializers?.builderParam, + anotherParam: initializers?.anotherParam }; - ArkBuilderParamToStateComponent._instantiate(style, () => new ArkBuilderParamToStateComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToProp(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToPropOptions): void { - const updatedInitializers: BuilderParamToPropOptions = { - state: initializers?.state, - test: initializers?.test, - __backing_test: initializers?.__backing_test - }; - ArkBuilderParamToPropComponent._instantiate(style, () => new ArkBuilderParamToPropComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToProvide(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToProvideOptions): void { - const __provide_test = contextLocalStateOf("test", () => this.state + "!"); - const updatedInitializers: BuilderParamToProvideOptions = { - state: initializers?.state, - __backing_test: __provide_test - }; - ArkBuilderParamToProvideComponent._instantiate(style, () => new ArkBuilderParamToProvideComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToStorageLink(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToStorageLinkOptions): void { - const updatedInitializers: BuilderParamToStorageLinkOptions = { - state: initializers?.state, - __backing_test: initializers?.__backing_test - }; - ArkBuilderParamToStorageLinkComponent._instantiate(style, () => new ArkBuilderParamToStorageLinkComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToLocalStorageLink(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToLocalStorageLinkOptions): void { - const updatedInitializers: BuilderParamToLocalStorageLinkOptions = { - state: initializers?.state, - __backing_test: initializers?.__backing_test - }; - ArkBuilderParamToLocalStorageLinkComponent._instantiate(style, () => new ArkBuilderParamToLocalStorageLinkComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToStorageProp(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToStoragePropOptions): void { - const updatedInitializers: BuilderParamToStoragePropOptions = { - state: initializers?.state, - __backing_test: initializers?.__backing_test - }; - ArkBuilderParamToStoragePropComponent._instantiate(style, () => new ArkBuilderParamToStoragePropComponent, content, updatedInitializers); -} -/** @memo */ -export function BuilderParamToLocalStorageProp(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToLocalStoragePropOptions): void { - const updatedInitializers: BuilderParamToLocalStoragePropOptions = { - state: initializers?.state, - __backing_test: initializers?.__backing_test - }; - ArkBuilderParamToLocalStoragePropComponent._instantiate(style, () => new ArkBuilderParamToLocalStoragePropComponent, content, updatedInitializers); + ArkBuilderToBuilderParamComponent._instantiate(style, () => new ArkBuilderToBuilderParamComponent, content, updatedInitializers); } /** @memo */ export function BuilderParamToBuilderParam(/**/ @@ -3688,24 +2975,12 @@ style?: (__instance: ArkCommonMethodComponent) => void, /**/ /** @memo */ content?: () => void, initializers?: BuilderParamToBuilderParamOptions): void { const updatedInitializers: BuilderParamToBuilderParamOptions = { - state: initializers?.state, - test: initializers?.test + builderParam: initializers?.builderParam, + anotherParam: initializers?.anotherParam }; ArkBuilderParamToBuilderParamComponent._instantiate(style, () => new ArkBuilderParamToBuilderParamComponent, content, updatedInitializers); } /** @memo */ -export function BuilderParamToPlain(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: BuilderParamToPlainOptions): void { - const updatedInitializers: BuilderParamToPlainOptions = { - state: initializers?.state, - test: initializers?.test - }; - ArkBuilderParamToPlainComponent._instantiate(style, () => new ArkBuilderParamToPlainComponent, content, updatedInitializers); -} -/** @memo */ export function PlainToState(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3792,18 +3067,6 @@ content?: () => void, initializers?: PlainToLocalStoragePropOptions): void { ArkPlainToLocalStoragePropComponent._instantiate(style, () => new ArkPlainToLocalStoragePropComponent, content, updatedInitializers); } /** @memo */ -export function PlainToBuilderParam(/**/ -/** @memo */ -style?: (__instance: ArkCommonMethodComponent) => void, /**/ -/** @memo */ -content?: () => void, initializers?: PlainToBuilderParamOptions): void { - const updatedInitializers: PlainToBuilderParamOptions = { - state: initializers?.state, - test: initializers?.test - }; - ArkPlainToBuilderParamComponent._instantiate(style, () => new ArkPlainToBuilderParamComponent, content, updatedInitializers); -} -/** @memo */ export function PlainToPlain(/**/ /** @memo */ style?: (__instance: ArkCommonMethodComponent) => void, /**/ @@ -3857,11 +3120,6 @@ export interface StateToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface StateToBuilderParamOptions { - __backing_state?: MutableState; - state?: string; - test?: string; -} export interface StateToPlainOptions { __backing_state?: MutableState; state?: string; @@ -3909,11 +3167,6 @@ export interface PropToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface PropToBuilderParamOptions { - __backing_state?: SyncedProperty; - state?: string; - test?: string; -} export interface PropToPlainOptions { __backing_state?: SyncedProperty; state?: string; @@ -3961,11 +3214,6 @@ export interface ProvideToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface ProvideToBuilderParamOptions { - __backing_state?: MutableState; - state?: string; - test?: string; -} export interface ProvideToPlainOptions { __backing_state?: MutableState; state?: string; @@ -4013,11 +3261,6 @@ export interface StorageLinkToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface StorageLinkToBuilderParamOptions { - __backing_state?: MutableState; - state?: string; - test?: string; -} export interface StorageLinkToPlainOptions { __backing_state?: MutableState; state?: string; @@ -4065,11 +3308,6 @@ export interface LocalStorageLinkToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface LocalStorageLinkToBuilderParamOptions { - __backing_state?: MutableState; - state?: string; - test?: string; -} export interface LocalStorageLinkToPlainOptions { __backing_state?: MutableState; state?: string; @@ -4117,11 +3355,6 @@ export interface StoragePropToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface StoragePropToBuilderParamOptions { - __backing_state?: SyncedProperty; - state?: string; - test?: string; -} export interface StoragePropToPlainOptions { __backing_state?: SyncedProperty; state?: string; @@ -4169,58 +3402,22 @@ export interface LocalStoragePropToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface LocalStoragePropToBuilderParamOptions { - __backing_state?: SyncedProperty; - state?: string; - test?: string; -} export interface LocalStoragePropToPlainOptions { __backing_state?: SyncedProperty; state?: string; test?: string; } -export interface BuilderParamToStateOptions { - state?: string; - __backing_test?: MutableState; - test?: string; -} -export interface BuilderParamToPropOptions { - state?: string; - __backing_test?: SyncedProperty; - test?: string; -} -export interface BuilderParamToProvideOptions { - state?: string; - __backing_test?: MutableState; - test?: string; -} -export interface BuilderParamToStorageLinkOptions { - state?: string; - __backing_test?: MutableState; - test?: string; -} -export interface BuilderParamToLocalStorageLinkOptions { - state?: string; - __backing_test?: MutableState; - test?: string; -} -export interface BuilderParamToStoragePropOptions { - state?: string; - __backing_test?: SyncedProperty; - test?: string; -} -export interface BuilderParamToLocalStoragePropOptions { - state?: string; - __backing_test?: SyncedProperty; - test?: string; +export interface BuilderToBuilderParamOptions { + /** @memo */ + builderParam?: () => void; + /** @memo */ + anotherParam?: () => void; } export interface BuilderParamToBuilderParamOptions { - state?: string; - test?: string; -} -export interface BuilderParamToPlainOptions { - state?: string; - test?: string; + /** @memo */ + builderParam?: () => void; + /** @memo */ + anotherParam?: () => void; } export interface PlainToStateOptions { state?: string; @@ -4257,10 +3454,6 @@ export interface PlainToLocalStoragePropOptions { __backing_test?: SyncedProperty; test?: string; } -export interface PlainToBuilderParamOptions { - state?: string; - test?: string; -} export interface PlainToPlainOptions { state?: string; test?: string; diff --git a/arkoala/ets-plugin/test/golden/koala/ets/Rewrite.ts b/arkoala/ets-plugin/test/golden/koala/ets/Rewrite.ts index 3a3d275ca..c05169dbb 100644 --- a/arkoala/ets-plugin/test/golden/koala/ets/Rewrite.ts +++ b/arkoala/ets-plugin/test/golden/koala/ets/Rewrite.ts @@ -1,7 +1,7 @@ import { $r, $rawfile, AppStorage, AppStorageLinkState, ArkButton, ArkButtonComponent, ArkColumn, ArkColumnComponent, ArkCommonMethodComponent, ArkCommonMethodInterface, ArkPageTransitionEnterComponent, ArkPageTransitionExitComponent, ArkStructBase, ArkText, ArkTextComponent, CanvasRenderingContext2D, Color, CustomDialogController, DataChangeListener, DialogAlignment, Environment, ForEach, GestureGroup, IDataSource, LocalStorage, LongPressGesture, PanGesture, PanGestureOptions, PersistentStorage, PinchGesture, RenderingContextSettings, RotationGesture, Scroller, SubscribedAbstractProperty, SwipeGesture, SwiperController, SyncedProperty, TabsController, TapGesture, TextAreaController, VideoController, animateTo, bindCustomDialog, contextLocalStateOf, fp2px, getContext, getInspectorByKey, lpx2px, objectLinkState, propState, px2fp, px2lpx, px2vp, stateOf, vp2px } from "@koalaui/arkui"; -import { Observed, observableProxy } from "@koalaui/common"; import { registerArkuiEntry } from "@koalaui/arkui/ohos.router"; import { MutableState, OnChange, contextLocal } from "@koalaui/runtime"; +import { Observed, observableProxy } from "@koalaui/common"; export class ArkEntryExampleComponent extends ArkStructBase { private _entry_local_storage_ = new LocalStorage(); __initializeStruct(/**/ @@ -241,14 +241,14 @@ class ArkBuilderParamExampleComponent extends ArkStructBase {}; /** @memo */ private get foo(): () => {} { - return this.__backing_foo as () => {}; + return this.__backing_foo!; } private set foo(/**/ /** @memo */ @@ -1007,6 +1007,7 @@ export interface BuilderExampleOptions { export interface GlobalBuilderExampleOptions { } export interface BuilderParamExampleOptions { + /** @memo */ foo?: () => {}; } export interface StylesExampleOptions { diff --git a/arkoala/ets-plugin/test/golden/koala/ets/ets-component-call/user-function-declaration.ts b/arkoala/ets-plugin/test/golden/koala/ets/ets-component-call/user-function-declaration.ts index f89ee50b4..930636e1e 100644 --- a/arkoala/ets-plugin/test/golden/koala/ets/ets-component-call/user-function-declaration.ts +++ b/arkoala/ets-plugin/test/golden/koala/ets/ets-component-call/user-function-declaration.ts @@ -49,7 +49,7 @@ export class ArkStructWithContentComponent extends ArkStructBase void; /** @memo */ private get content(): () => void { - return this.__backing_content as () => void; + return this.__backing_content!; } private set content(/**/ /** @memo */ @@ -107,5 +107,6 @@ export interface StructOptions { } export interface StructWithContentOptions { param?: number; + /** @memo */ content?: () => void; } diff --git a/arkoala/ets-plugin/test/golden/koala/ets/trailing-block.ts b/arkoala/ets-plugin/test/golden/koala/ets/trailing-block.ts index 3bf945d18..15a2960dd 100644 --- a/arkoala/ets-plugin/test/golden/koala/ets/trailing-block.ts +++ b/arkoala/ets-plugin/test/golden/koala/ets/trailing-block.ts @@ -26,14 +26,14 @@ class ArkChildStructComponent extends ArkStructBase void; /** @memo */ private get content(): () => void { - return this.__backing_content as () => void; + return this.__backing_content!; } private set content(/**/ /** @memo */ @@ -72,5 +72,6 @@ content?: () => void, initializers?: ChildStructOptions): void { export interface ParentStructOptions { } export interface ChildStructOptions { + /** @memo */ content?: () => void; } diff --git a/arkoala/ets-plugin/test/golden/koala/spec/@builderParam.ts b/arkoala/ets-plugin/test/golden/koala/spec/@builderParam.ts index c388b318a..fe3d6a4ab 100644 --- a/arkoala/ets-plugin/test/golden/koala/spec/@builderParam.ts +++ b/arkoala/ets-plugin/test/golden/koala/spec/@builderParam.ts @@ -16,7 +16,7 @@ class ArkCustomContainerComponent extends ArkStructBase void; /** @memo */ private get content(): () => void { - return this.__backing_content as () => void; + return this.__backing_content!; } private set content(/**/ /** @memo */ @@ -41,7 +41,7 @@ class ArkCustomContainerComponent extends ArkStructBase void; /** @memo */ private get content(): () => void { - return this.__backing_content as () => void; + return this.__backing_content!; } private set content(/**/ /** @memo */ @@ -239,12 +239,15 @@ content?: () => void, initializers?: CustomContainerUserOptions): void { } export interface CustomContainerOptions { header?: string; + /** @memo */ content?: () => void; + /** @memo */ callContent?: any; footer?: string; } export interface CustomContainer2Options { header?: string; + /** @memo */ content?: () => void; } export interface CustomContainerUserOptions { diff --git a/arkoala/ets-plugin/test/golden/koala/spec/test/pages/TestComponent.ts b/arkoala/ets-plugin/test/golden/koala/spec/test/pages/TestComponent.ts index 41c526c22..b3c4f5f03 100644 --- a/arkoala/ets-plugin/test/golden/koala/spec/test/pages/TestComponent.ts +++ b/arkoala/ets-plugin/test/golden/koala/spec/test/pages/TestComponent.ts @@ -35,7 +35,7 @@ export class ArkCustomContainerExportComponent extends ArkStructBase void; /** @memo */ private get closer(): () => void { - return this.__backing_closer as () => void; + return this.__backing_closer!; } private set closer(/**/ /** @memo */ @@ -99,5 +99,6 @@ export interface TestComponentOptions { } export interface CustomContainerExportOptions { header?: string; + /** @memo */ closer?: () => void; } -- Gitee