Skip to content

Commit 483e324

Browse files
authored
Merge pull request #230 from SgLy/fix-adapter-extra-this-type-misplaced
fix(miniprogram-adapter): extraThisType generic for BehaviorBuilder#behavior misplaced
2 parents ae6e204 + 27f9dbe commit 483e324

File tree

5 files changed

+26
-10
lines changed

5 files changed

+26
-10
lines changed

glass-easel-miniprogram-adapter/src/behavior.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ export type GeneralBehavior = Behavior<
1717
Record<string, any>,
1818
Record<string, any>,
1919
Record<string, any>,
20-
any,
2120
any
2221
>
2322

glass-easel-miniprogram-adapter/src/builder/base_behavior_builder.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ export class BaseBehaviorBuilder<
424424
export: exports,
425425
} = def
426426
behaviors?.forEach((beh) => {
427-
this._$parents.push(beh as GeneralBehavior)
427+
this._$parents.push(beh)
428428
inner.behavior(beh._$)
429429
})
430430
if (rawData !== undefined) {

glass-easel-miniprogram-adapter/src/builder/behavior_builder.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,17 @@ export class BehaviorBuilder<
8585
UProperty extends PropertyList,
8686
UMethod extends MethodList,
8787
UChainingFilter extends ChainingFilterType,
88+
UComponentExport,
8889
UExtraThisFields extends DataList,
8990
>(
90-
behavior: Behavior<UData, UProperty, UMethod, UChainingFilter, UExtraThisFields>,
91+
behavior: Behavior<
92+
UData,
93+
UProperty,
94+
UMethod,
95+
UChainingFilter,
96+
UComponentExport,
97+
UExtraThisFields
98+
>,
9199
): ResolveBehaviorBuilder<
92100
BehaviorBuilder<
93101
TPrevData,

glass-easel-miniprogram-adapter/src/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { type DeepCopyKind, type typeUtils as utils } from 'glass-easel'
2-
import type { Behavior, DefinitionFilter, GeneralBehavior } from './behavior'
2+
import type { DefinitionFilter, GeneralBehavior } from './behavior'
33
import { type GeneralComponent } from './component'
44

55
export { typeUtils as utils } from 'glass-easel'
@@ -44,7 +44,7 @@ export type BehaviorDefinition<
4444
TMethod extends utils.MethodList,
4545
TComponentExport,
4646
> = {
47-
behaviors?: Behavior<any, any, any, any, any>[]
47+
behaviors?: GeneralBehavior[]
4848
properties?: TProperty
4949
data?: TData | (() => TData)
5050
observers?:

glass-easel-miniprogram-adapter/tests/space.test.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1119,27 +1119,36 @@ describe('define', () => {
11191119
.behavior()
11201120
.extraThisFieldsType<{ behDelayedData: string }>()
11211121
.lifetime('created', function () {
1122-
this.behDelayedData = ' World!'
1122+
this.behDelayedData = 'Say hello'
1123+
})
1124+
.register()
1125+
1126+
const beh2 = codeSpace
1127+
.behavior()
1128+
.behavior(beh)
1129+
.extraThisFieldsType<{ beh2DelayedData: string }>()
1130+
.lifetime('created', function () {
1131+
this.beh2DelayedData = `${this.behDelayedData} to`
11231132
})
11241133
.register()
11251134

11261135
codeSpace
11271136
.component('path/to/comp')
1128-
.behavior(beh)
1137+
.behavior(beh2)
11291138
.extraThisFieldsType<{ delayedData: string }>()
11301139
.data(() => ({
11311140
hello: '',
11321141
}))
11331142
.lifetime('created', function () {
1134-
this.delayedData = 'Hello'
1143+
this.delayedData = `${this.beh2DelayedData} glass-easel!`
11351144
this.setData({
1136-
hello: this.delayedData + this.behDelayedData,
1145+
hello: this.delayedData,
11371146
})
11381147
})
11391148
.register()
11401149

11411150
const ab = env.associateBackend()
11421151
const root = ab.createRoot('body', codeSpace, 'path/to/comp')
1143-
expect(domHtml(root.getComponent())).toBe('<div>Hello World!</div>')
1152+
expect(domHtml(root.getComponent())).toBe('<div>Say hello to glass-easel!</div>')
11441153
})
11451154
})

0 commit comments

Comments
 (0)