Skip to content

Commit ddfd406

Browse files
committed
wip [skip ci]
1 parent 2944d27 commit ddfd406

File tree

3 files changed

+70
-7
lines changed

3 files changed

+70
-7
lines changed

packages/runtime-core/src/componentOptions.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,10 @@ import {
8080
import type { OptionMergeFunction } from './apiCreateApp'
8181
import { LifecycleHooks } from './enums'
8282
import type { SlotsType } from './componentSlots'
83-
import { type ComponentTypeEmits, normalizePropsOrEmits } from './apiSetupHelpers'
83+
import {
84+
type ComponentTypeEmits,
85+
normalizePropsOrEmits,
86+
} from './apiSetupHelpers'
8487
import { markAsyncBoundary } from './helpers/useId'
8588

8689
/**
@@ -352,9 +355,6 @@ export type InjectToObject<T extends ComponentInjectOptions> =
352355
}
353356
: never
354357

355-
/**
356-
* @deprecated
357-
*/
358358
interface LegacyOptions<
359359
Props,
360360
D,
@@ -368,9 +368,6 @@ interface LegacyOptions<
368368
> {
369369
compatConfig?: CompatConfig
370370

371-
// // allow any custom options
372-
// [key: string]: any
373-
374371
// state
375372
// Limitation: we cannot expose RawBindings on the `this` context for data
376373
// since that leads to some sort of circular inference and breaks ThisType

packages/runtime-core/src/componentPublicInstance.ts

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,67 @@ export interface ComponentPublicInstanceConstructor<T> {
121121
new (...args: any[]): T
122122
}
123123

124+
/**
125+
* @deprecated This is no longer used internally, but exported and relied on by
126+
* existing library types generated by vue-tsc.
127+
*/
128+
export type CreateComponentPublicInstance<
129+
P = {},
130+
B = {},
131+
D = {},
132+
C extends ComputedOptions = {},
133+
M extends MethodOptions = {},
134+
Mixin = {},
135+
Extends = {},
136+
E extends EmitsOptions = {},
137+
PublicProps = P,
138+
Defaults = {},
139+
MakeDefaultsOptional extends boolean = false,
140+
I extends ComponentInjectOptions = {},
141+
S extends SlotsType = {},
142+
PublicP = ExtractMixinProps<Mixin> & ExtractMixinProps<Extends> & P,
143+
PublicB = ExtractMixinSetupBindings<Mixin> &
144+
ExtractMixinSetupBindings<Extends> &
145+
EnsureNonVoid<B>,
146+
PublicD = ExtractMixinData<Mixin> &
147+
ExtractMixinData<Extends> &
148+
EnsureNonVoid<D>,
149+
PublicC extends ComputedOptions = ExtractMixinComputed<Mixin> &
150+
ExtractMixinComputed<Extends> &
151+
C,
152+
PublicM extends MethodOptions = ExtractMixinMethods<Mixin> &
153+
ExtractMixinMethods<Extends> &
154+
M,
155+
PublicDefaults = {} & Defaults,
156+
> = ComponentPublicInstance<
157+
PublicP,
158+
PublicB,
159+
PublicD,
160+
PublicC,
161+
PublicM,
162+
E,
163+
PublicProps,
164+
PublicDefaults,
165+
MakeDefaultsOptional,
166+
ComponentOptionsBase<
167+
P,
168+
B,
169+
D,
170+
C,
171+
M,
172+
Mixin,
173+
Extends,
174+
E,
175+
string,
176+
Defaults,
177+
{},
178+
string,
179+
S
180+
>,
181+
I,
182+
S
183+
>
184+
124185
/**
125186
* This is the same as `CreateComponentPublicInstance` but adds local components,
126187
* global directives, exposed, and provide inference.

packages/runtime-core/src/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,10 @@ export type {
283283
ComputedOptions,
284284
RuntimeCompilerOptions,
285285
ComponentInjectOptions,
286+
// deprecated
287+
ComponentOptionsWithoutProps,
288+
ComponentOptionsWithArrayProps,
289+
ComponentOptionsWithObjectProps,
286290
} from './componentOptions'
287291
export type {
288292
EmitsOptions,
@@ -295,6 +299,7 @@ export type {
295299
ExtractMixinProps,
296300
ComponentPublicInstance,
297301
ComponentCustomProperties,
302+
// CreateComponentPublicInstance,
298303
CreateComponentPublicInstanceWithMixins,
299304
} from './componentPublicInstance'
300305
export type {

0 commit comments

Comments
 (0)