@marko/language-tools 2.5.36 → 2.5.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +4 -5
- package/dist/index.mjs +4 -5
- package/marko.internal.d.ts +13 -9
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2110,17 +2110,16 @@ var ScriptExtractor = class {
|
|
|
2110
2110
|
if (isExternalComponentFile) {
|
|
2111
2111
|
if (this.#scriptLang === "ts" /* ts */) {
|
|
2112
2112
|
this.#extractor.write(
|
|
2113
|
-
`
|
|
2113
|
+
`export interface Component extends ${varShared("ResolveComponent")}<typeof import("${stripExt(
|
|
2114
2114
|
(0, import_relative_import_path.relativeImportPath)(this.#filename, componentFileName)
|
|
2115
|
-
)}"
|
|
2116
|
-
export { type Component }
|
|
2115
|
+
)}")> {}
|
|
2117
2116
|
`
|
|
2118
2117
|
);
|
|
2119
2118
|
} else {
|
|
2120
2119
|
this.#extractor.write(
|
|
2121
|
-
`/** @typedef {${varShared("
|
|
2120
|
+
`/** @typedef {${varShared("ResolveComponent")}<typeof import("${stripExt(
|
|
2122
2121
|
(0, import_relative_import_path.relativeImportPath)(this.#filename, componentFileName)
|
|
2123
|
-
)}")
|
|
2122
|
+
)}")>} Component */
|
|
2124
2123
|
`
|
|
2125
2124
|
);
|
|
2126
2125
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -2073,17 +2073,16 @@ var ScriptExtractor = class {
|
|
|
2073
2073
|
if (isExternalComponentFile) {
|
|
2074
2074
|
if (this.#scriptLang === "ts" /* ts */) {
|
|
2075
2075
|
this.#extractor.write(
|
|
2076
|
-
`
|
|
2076
|
+
`export interface Component extends ${varShared("ResolveComponent")}<typeof import("${stripExt(
|
|
2077
2077
|
relativeImportPath(this.#filename, componentFileName)
|
|
2078
|
-
)}"
|
|
2079
|
-
export { type Component }
|
|
2078
|
+
)}")> {}
|
|
2080
2079
|
`
|
|
2081
2080
|
);
|
|
2082
2081
|
} else {
|
|
2083
2082
|
this.#extractor.write(
|
|
2084
|
-
`/** @typedef {${varShared("
|
|
2083
|
+
`/** @typedef {${varShared("ResolveComponent")}<typeof import("${stripExt(
|
|
2085
2084
|
relativeImportPath(this.#filename, componentFileName)
|
|
2086
|
-
)}")
|
|
2085
|
+
)}")>} Component */
|
|
2087
2086
|
`
|
|
2088
2087
|
);
|
|
2089
2088
|
}
|
package/marko.internal.d.ts
CHANGED
|
@@ -162,15 +162,6 @@ declare global {
|
|
|
162
162
|
export function resolveTemplate<Template>(
|
|
163
163
|
imported: Promise<{ default: Template }>,
|
|
164
164
|
): Template;
|
|
165
|
-
export function resolveComponent<Component>(
|
|
166
|
-
component: Component,
|
|
167
|
-
): CheckNever<
|
|
168
|
-
(Component extends { default: infer Component }
|
|
169
|
-
? Component
|
|
170
|
-
: Component) &
|
|
171
|
-
Marko.Component<unknown, unknown>,
|
|
172
|
-
Marko.Component<unknown, unknown>
|
|
173
|
-
>;
|
|
174
165
|
export function fallbackTemplate<Tag, Template>(
|
|
175
166
|
tag: Tag,
|
|
176
167
|
fallback: Promise<{ default: Template }>,
|
|
@@ -470,6 +461,17 @@ declare global {
|
|
|
470
461
|
(): () => <Input>(input: Input) => ReturnAndScope<Scopes<Input>, void>;
|
|
471
462
|
}
|
|
472
463
|
|
|
464
|
+
export type ResolveComponent<Component> = CheckNever<
|
|
465
|
+
ComponentOf<
|
|
466
|
+
InstanceOf<
|
|
467
|
+
Component extends { default: infer Component }
|
|
468
|
+
? Component
|
|
469
|
+
: Component
|
|
470
|
+
>
|
|
471
|
+
>,
|
|
472
|
+
Marko.Component
|
|
473
|
+
>;
|
|
474
|
+
|
|
473
475
|
export type Relate<A, B> = B extends A ? A : B;
|
|
474
476
|
}
|
|
475
477
|
}
|
|
@@ -631,6 +633,8 @@ type KnownRecordKeys<T> = keyof {
|
|
|
631
633
|
};
|
|
632
634
|
|
|
633
635
|
type CheckNever<T, If, Else = T> = [T] extends [never] ? If : Else;
|
|
636
|
+
type ComponentOf<T> = T extends Marko.Component ? T : T & Marko.Component;
|
|
637
|
+
type InstanceOf<T> = T extends abstract new () => infer R ? R : T;
|
|
634
638
|
|
|
635
639
|
type UnionToIntersection<T> = (T extends any ? (_: T) => any : never) extends (
|
|
636
640
|
_: infer U,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marko/language-tools",
|
|
3
3
|
"description": "Marko Language Tools",
|
|
4
|
-
"version": "2.5.
|
|
4
|
+
"version": "2.5.38",
|
|
5
5
|
"bugs": "https://github.com/marko-js/language-server/issues/new?template=Bug_report.md",
|
|
6
6
|
"peerDependencies": {
|
|
7
7
|
"@marko/compiler": "^5.28.4"
|